W drugiej połowie XX wieku, głównie za sprawą fizyka, Richarda Feynmana, pojawiły się koncepcje budowy logiki komputerowej, opartej na zjawiskach znanych z mechaniki kwantowej. W ostatnim czasie liderom rynku udało się pokazać pierwsze udane projekty, będące urzeczywistnieniem tych pomysłów. Tak właśnie pojawiła się nowa jakość w zakresie możliwości przetwarzania – komputery kwantowe. Jak pracują? Jakie mają ograniczenia? Jak daleko jesteśmy od bycia „quantum ready”?

To niezwykle ciekawy moment rozwoju nowoczesnych technologii. Systemy komputerowe czy serwerowe wielu z nas rozpoznaje i ma o nich pewne pojęcie. Generacje procesorów x86 Intela, AMD, a także ARM, RISC (w tym SPARC i Power) – kolejne mikroarchitektury, rdzenie, taktujące zegary i kolejne rekordy w benchmarkach. Czy to wszystko wystarczy jednak do stworzenia rozwiązań, o których teraz tak szeroko się mówi – technologii Big Data, internetu rzeczy, modelowania bardzo złożonych procesów fizycznych i biologicznych, uczenia maszynowego czy sztucznej inteligencji?

 

Obliczenia krzemowe

Najpowszechniejsze systemy są oparte na rozwiązaniach procesorowych, tzw. ogólnego zastosowania, a więc z założenia nieuwzględniających specyficznych wymagań konkretnych zastosowań. Lawinowo narastająca ilość danych różnego typu, wiążąca się ze zróżnicowanymi wymaganiami sposobu ich przetwarzania, a jednocześnie oczekiwanie natychmiastowych wyników tych przetwarzań spowodowały, że wielu użytkowników rozwiązań IT i dostawców usług już dawno dostrzegło dużą nieefektywność platform ogólnego zastosowania w procesie realizowania wspomnianych zadań.

Na wczesnym etapie prób stworzenia architektury specjalizowanej do specyficznych celów popularność zdobyły procesory graficzne GPGPU. Ich architektura, początkowo przeznaczona do przetwarzania grafiki 3D, uelastyczniła się na tyle, że mogą być z powodzeniem wykorzystywane w rozwiązaniach nie tylko HPC (high-performance computing), ale także w uczeniu maszynowym. Wciąż jednak nie można było liczyć na osiągnięcie pożądanych efektów w pewnych zastosowaniach. Powstały więc np.:

  • rozwiązania NVIDII do deep learning – DGX-1 z Tesla Volta100 + Jetson TX2 (Edge AI)
  • Google TPU (Tensor Processor Unit) drugiej generacji do przetwarzań Google Search, Street View, Google Photos i Translate
  • projekt IBM TrueNorth (rozwiązanie inspirowane budową mózgu człowieka)
  • Intel FPGA, Intel Nervana i Intel Movidius (budowa sztucznej inteligencji)
  • Microsoft BrainWave oparte na procesorach FPGA Intela.

Wszystkie wymienione rozwiązania bazują na krzemie, czyli technologii półprzewodnikowej dobrze ugruntowanej i realizowanej przez każdego dostawcę układów scalonych. Wszystko jednak wskazuje na to, że przyszłość należy do technologii kwantowej.

 

Kluczowe elementy fizyki komputerów kwantowych

Kluczowymi elementami, jakie są wykorzystywane w rozwiązaniach procesorów kwantowych, są zjawiska superpozycji, splątania kwantowego oraz tunelowania kwantowego.

Bit, jako jednostka informacji w klasyczny ujęciu, jest w stanie „0” lub „1”. Świat kwantowy, poprzez zjawisko superpozycji, zapewnia nam podstawową jednostkę informacji znaną jako kubit (bit kwantowy), będący jednocześnie w stanach „0” i „1”.

Przykładowo, dla słowa 8-bitowego – w ujęciu klasycznym daje to wartość jedną z 28 permutacji, natomiast w ujęciu kwantowym daje to jednocześnie wszystkie wartości z 28 permutacji. Chcąc zbadać wszystkie możliwe stany słowa 8-bitowego w wydaniu klasycznym musimy wykonać 28operacji, w ujęciu kwantowym wystarczy tylko jedna operacja. To pokazuje, jaki potencjał drzemie w technologii kwantowej, jakie możliwości trafiają w ręce programistów i naukowców, a także, jakie znajdzie ona zastosowanie komercyjne. Należy ją jeszcze tylko techniczne ujarzmić.

Stany bitów w ujęciu klasycznym oraz kubitów, czyli kwantowych jednostek informacji

Zjawisko splątania kwantowego (ang. entanglement) zapewnia ustalenie stanu kwantowego kubitu w korelacji do stanu innych kubitów, a tym samym stany splątanych kubitów wpływają na siebie nawzajem. Przy określonych warunkach brzegowych stanów początkowych, stanowi to kluczowy czynnik ustalenia stanu końcowego, a tym samym uzyskania rozwiązania określonego problemu.

Zjawisko tunelowania kwantowego umożliwia przejście cząstki przez większą barierę potencjału niż energia samej cząstki. Jest to najistotniejszy element w przechodzeniu do najniższego możliwego stanu energetycznego. Znajdowanie minimum funkcji leży u podstaw funkcjonowania komputerów kwantowych, realizujących zadania optymalizacyjne. Ale do tego wątku jeszcze wrócę.

Rodzaje komputerów kwantowych

W świecie klasycznych rozwiązań informatycznych doskonale znanymi i rozumianymi mechanizmami wykonywania operacji logicznych są bramki logiczne, a na jeszcze niższym poziomie – pojedyncze tranzystory, za pomocą których wysterowanie bramek sygnałem 0/1, powoduje pojawienie się poziomu wyjściowego 1/0. Zatem sterowanie i odczyt stanu daje się sprowadzić do najmniejszych jednostek przełączających. Inaczej jest w przypadku procesorów kwantowych. Ich koncepcje poszły w kierunku dwóch nieco odmiennych architektur: tzw. komputerów wyżarzania kwantowego oraz uniwersalnych komputerów kwantowych.

 

Komputery wyżarzania kwantowego

Pierwsza koncepcja opiera się na wykorzystaniu mechanizmu ustalania się stanów kwantowych w najniższych możliwych stanach energetycznych, co znakomicie działa zwłaszcza przy mechanizmie tunelowania kwantowego, gdy przejście do niższego stanu nie wymaga pokonania wysokiej bariery energetycznej. Jest to grupa komputerów kwantowych nazywanych Annealing Quantum Computers (komputery wyżarzania kwantowego). Algorytm symulowanego wyżarzania, czyli znajdowania rozwiązania optymalnego, korzysta z analogii do procesu wyżarzania w metalurgii – stąd ta osobliwa nazwa algorytmu. Annealing Quantum Computers znakomicie sprawdzają się w rozwiązywaniu zagadnień optymalizacyjnych wszelkich zastosowań, w optymalizacjach adiabatycznych, modelowaniu rozwiązań Hamiltonianów, modelowaniu metodą Monte Carlo i podobnych algorytmów. Nie nadają się jednak do obsługi algorytmu Shora, umożliwiającego rozkład liczby naturalnej na czynniki pierwsze. Algorytm Shora może być wykorzystany do łamania asymetrycznych kluczy kryptograficznych. Klucze symetryczne, według ekspertów, są tu bezpieczne. Jednak upowszechnienie komputerów kwantowych i tak wymusi znaczne zmiany w systemach kryptografii.

Technologia wyżarzania kwantowego jest zatem silnie ukierunkowana na rozwiązywania problemów szczególnej klasy, co jest silnie akcentowane przez zwolenników rozwiązań uniwersalnych jako element deklasujący je. Logika budowy komputerów opartych na wyżarzaniu kwantowym jest bardzo specyficzna i mało uniwersalna. Wielu fizyków i specjalistów IT wątpiło nawet, czy w ogóle mogą one być nazywane komputerami kwantowymi. Komputery kwantowe tej klasy są łatwiejsze w konstruowaniu niż komputery uniwersalne, a osiągają bardzo duże moce obliczeniowe, sięgające aktualnie nawet 2000 kubitów. W ich produkcji specjalizuje się kanadyjska firma D-Wave.

Komputer wyżarzania kwantowego D-Wave 2000Q, dostępny komercyjnie

W zakresie porównania wydajności w 2013 roku w specyficznym benchmarku firmy Google uzyskano przy 500 kubitach wydajność wykonania ponad 11000 razy wyższą niż na innych testowanych platformach. W przypadku specjalistycznych obliczeń optymalizacyjnych wydajność była ponad 100 milionów razy lepsza niż na symulatorze.

 

Uniwersalne komputery kwantowe

Druga koncepcja procesorów kwantowych jest bliska koncepcji klasycznych rozwiązań, gdzie zapewnione jest sterowanie pojedynczymi kubitami oraz relacjami między nimi. Daje to pełen wachlarz możliwości programistycznych i najszerszy możliwy zakres zastosowań. To grupa komputerów kwantowych nazywanych Universal Quantum Computer. W tej klasie rozwiązań dominującą rolę odgrywa firma IBM, ze swoim komputerem IBM Q, a także kilku innych producentów z sektora IT, w tym Intel i Google. Funkcjonującymi obecnie rozwiązaniami są IBM Q, poprzez IBM Q Experience, a także chmura firmy Rigetti, Forest API.

Elementy uniwersalnego komputera kwantowego firmy IBM

Jak dotąd w uniwersalnych komputerach kwantowych uzyskano moce obliczeniowe na poziomie około 50 kubitów. To bardzo dużo, bowiem na procesorze kwantowym o mocy 56 kubitów uzyskuje się taką wydajność, że aby zasymulować jego funkcjonowanie na superkomputerach, wymagało to wykorzystania niemal do granic możliwości superkomputera IBM Blue Gene/Q Vulcan z Lawrence Livermore National Laboratory. Porównanie 2000 kubitów komputera D-Wave z 50 kubitami IBM Q zdecydowanie nie ma sensu, gdyż są to zupełnie inne technologiczne światy.

 

Wyzwania technologiczne – temperatura

Technologia procesorów kwantowych wymaga pracy w bardzo niskich temperaturach, na poziomie 15-20 milikelwinów. Jest to związane m.in. z zapewnieniem stanu nadprzewodzącego dla kluczowego elementu technologicznego, czyli pierwiastka niobu, zapewnieniem maksymalnej redukcji szumów kwantowych, a tym samym zmniejszeniem poziomu błędów oraz wydłużeniem czasu stabilności stanów kwantowych, aby umożliwić poprawny ich odczyt. Do tego dochodzi jeszcze np. izolacja od zewnętrznych pól elektromagnetycznych.

Procesor firmy D-Wave – temperatura pracy: około 15 mK

 

IBM Q Experience – bieżąca temperatura pracy procesora: 0,0176 K

Coherence time – czas stabilności stanów

Czas koherencji jest czasem stabilności stanów kwantowych – aby był możliwy jednoznaczny ich odczyt.

Czas koherencji – szybkie rozmywanie się stanów kwantowych w czasie

To jeden z kluczowych parametrów, z jakim zmagają się twórcy procesorów kwantowych. Na przestrzeni lat eksperymentowania z rozwiązaniami wykorzystującymi procesory kwantowe wartości te wzrosły z 10 ns do prawie 100 µs, a więc prawie o cztery rzędy wielkości, co bardzo ułatwiło postęp technologiczny. Czas koherencji często oznaczany jest w literaturze naukowej jako wielkość T2.

Zmiany uzyskiwanych czasów koherencji, T2, wraz w udoskonalaniem technologii kwantowych

 

Procesor IBM Q, grupa 5 kubitów – czasy koherencji: 41 µs do 61 µs

 

Dostępny do obliczeń 5-kubitowy zasób komputera kwantowego IBM Q ma czas koherencji w zakresie 41–61 µs. Ostatnio IBM chwalił się, że dla procesora o mocy 50 kubitów uzyskano rekordowy jak dotąd czas koherencji na poziomie 90 µs.

 

Poziom błędów i ich korekcja

Jak już wspomniałem, stany kwantowe są z jednej strony bardzo niestabilne, z drugiej zaś podatne na wszelkiego rodzaju zakłócenia o podłożu zarówno termicznym jak i elektromagnetycznym. Minimalizacja wszystkich niekorzystnych czynników to nieustanne wyzwanie. Niemniej jednak niełatwo jest je całkowicie wyeliminować. Aby obliczenia kwantowe miały sens, musiały zostać wprowadzone mechanizmy wykrywania i korekcji błędów.

Błędy pojawiające się w kubitach są dwojakiego rodzaju: błędy bitowe (tzw. bit-flip-errors) oraz błędy fazy (phase errors), związane ze zjawiskiem superpozycji. Wykrywanie tych błędów wymaga, aby np. na 2 kubity danych głównych, przypadały kolejne 2 kubity odpowiedzialne za wykrywanie błędów obu rodzajów. Dochodzi jeszcze ich korekcja, co jest już kolejną trudnością. Prace badawcze w tym zakresie prowadzą m.in. IBM i Google.

Twórca algorytmu rozkładu na czynniki pierwsze liczby naturalnej, Peter Shor, opracował parę lat temu tzw. Kod Shora, zapewniający korekcję błędu 1 kubitu na bazie dziewięciu innych. Dalszy rozwój i modyfikacja tego podejścia doprowadziła do kodowania CSS, które zapewnia korekcję błędu 1 kubitu na bazie pięciu innych. Prace nad rozwiązaniem problemu i dalszą optymalizacją korekcji błędów wciąż trwają. A o ich skali świadczy fakt, że absorbują znaczne moce procesorów kwantowych.

W prezentacjach firmy IBM można znaleźć obrazowe przedstawienie kwestii poziomu błędów. Przy znacznym poziomie błędów zwiększenie liczby kubitów może okazać się bezcelowe, natomiast znaczne zmniejszenie poziomu błędów przy niezmienionej liczbie kubitów może wydatnie zwiększyć moc obliczeniową procesora kwantowego. Jest to dość oczywiste, gdy zdamy sobie sprawę, jak dużym obciążeniem dla procesora kwantowego jest wykrywanie i korekcja błędów, zwłaszcza jeśli jest ich bardzo wiele. IBM wprowadziło parametr nazwany Quantum Volume, który jest funkcją liczby kubitów, poziomu błędów oraz kilku innych zmiennych. Nie wiadomo, czy ten wskaźnik szeroko się przyjmie, ale jak na razie, praktycznie tylko IBM Q jest gotowym do użycia komputerem kwantowym ogólnego zastosowania, dlatego firma łatwiej może narzucać globalne standardy.

Opracowane przez firmę IBM oszacowania zdolności obliczeniowej Quantum Volume w relacji do liczby kubitów oraz poziomu błędów

Alternatywne technologie – procesory kwantowe na bazie krzemu

Pod koniec 2017 roku Uniwersytet Nowej Południowej Walii w Australii ogłosił swoje prace, przedstawiające funkcjonowanie procesora kwantowego na bazie technologii CMOS, z wykorzystaniem domieszkowanego krzemu 28Si. Opracowany moduł zawiera 480 kubitów i pracuje w temperaturze 100 mK. Badacze przewidują, że przy spełnieniu pewnych warunków jego działanie będzie możliwe nawet przy temperaturze otoczenia przekraczającej 10 K. Ta wstępna faza budowy krzemowego procesora kwantowego jest jednocześnie bardzo obiecująca. Z jednej strony otwierają się możliwości tworzenia procesorów kwantowych na bazie klasycznych, bardzo dobrze znanych technologii krzemowych, z drugiej zaś jest zapowiedzią możliwości znacznego podniesienia temperatury pracy samego procesora. Co przyniesie przyszłość, oczywiście nie wiadomo – widać jednak, że trwają intensywne prace badawcze nad alternatywami technologicznymi dla nadprzewodzącego niobu i złączy Josephsona.

Koncepcja procesora kwantowego na bazie krzemu – Uniwersytet Nowej Południowej Walii

MOSFET z Riken

Kolejnym alternatywnym rozwiązaniem są prace prowadzone przez japoński ośrodek badawczy w Riken (Rikagaku Kenkyūjo), gdzie dokonano próby zaadaptowania tranzystorów krzemowych MOSFET do uzyskania mechanizmów kubitów. Ochłodzenie tranzystora MOSFET do 1,6 K oraz oddziaływanie na niego polem magnetycznym i mikrofalowym wykazało generację kubitów, zapewniając kontrolę nad nimi. Badacze będą sprawdzać, do jakiej temperatury zjawisko to będzie występowało. Wydaje się im jednak, że wyznacza to kierunek przyszłych badań, prowadzących do pracy w temperaturze 10 lub 100 K, a może nawet w temperaturze pokojowej.

Alternatywa uzyskania stabilnych kubitów – technologia tranzystorów krzemowych MOSFET

Kwantowo, ale bez procesora kwantowego

Kolejnym sposobem na przeniesienie świata obliczeń kwantowych do technologii powszechnie stosowanych jest propozycja Fujitsu Laboratories z USA oraz Uniwersytetu w Toronto. Pomysł dotyczy rozwiązań optymalizacyjnych, opartych na logice komputerów wyżarzania kwantowego. Platforma ta została nazwana Fujitsu Digital Annealer. Rozwiązanie dąży do odtworzenia komputera tego typu poprzez „zrównoleglenie” obliczeń cząstkowych na bazie wielu układów FPGA, a jednocześnie optymalizacji algorytmów obliczeniowych, wzorując je na algorytmach kwantowych (współpraca z firmą kanadyjską 1QBit.

Koncepcja rozwiązania Fujitsu Digital Annealer na bazie technologii FPGA

Chodzi tu przede wszystkim o oparcie rozwiązania o technologie powszechnie dostępne, bez angażowania się w drogie, unikatowe technologie kwantowe, a także o ogromne przyśpieszenie działania obliczeń optymalizacyjnych. Aktualnie uzyskano przyśpieszenie okło 17000-krotne, a przewiduje się uzyskanie wzrostu wydajności nawet do 100000 razy i to na konwencjonalnych procesorach. Nie trzeba podkreślać, że technologia ta jest dużo tańsza od technologii komputerów kwantowych, a jednocześnie jest gotowa na przeniesienie na platformy kwantowe, gdy będą one znacznie powszechniejsze i mniej kosztowne.

Aktualny horyzont przetwarzania kwantowego

Dotychczas koncentrowałem się głównie na technologii komputerów kwantowych i problemach blisko z tym związanymi. Należy jednak spojrzeć na kwantowe przetwarzanie z nieco szerszej perspektywy. Realna wizja pojawienia się dostępnej do przetwarzania technologii komputerów kwantowych, pomimo na razie niewielkiej skali, spowodowała ogromny apetyt na jej szerokie możliwości. Od razu dostrzeżono ogromny potencjał i niejako automatycznie wyznaczony został kierunek rozwoju platform programistycznych na potrzeby najbardziej wizjonerskich rozwiązań takich jak: deep neural network, deep learning, machine learning, sztucznej inteligencji, zadań optymalizacyjnych czy symulacji złożonych procesów z różnych dziedzin życia.

Dostępne w chmurze przetwarzania kwantowe IBM Q Experience i Rigetti (Forest API), zapewniające środowiska kwantowe o mocy 5- 20 kubitów (a w najbliżej przyszłości nawet 50 kubitów), oferują oczywiście fizyczne platformy procesorów kwantowych, ale nie tylko i nie zawsze. Intencją tych usług jest głównie udostępnienie narzędzi programistycznych odpowiednich dla przetwarzania kwantowego, tak aby użytkownicy, programiści w miarę szybko odnaleźli się w nowych formułach przetwarzania. Jeśli w ramach IBM Q Experience piszemy prosty program w logice kubitów i chcemy go wykonać, to nie jest on od razu kierowany na zasoby fizycznego procesora kwantowego. Jeśli jest to typowy program (np. z bazy programów szkoleniowych dostępnych z tutorialu), to możliwe jest pobranie wyników już wcześniej uzyskanych rezultatów. Sugerowane jest także wykonanie symulacji naszego kodu kwantowego (oczywiście na jakimś symulatorze na platformie x86). Jeśli się upieramy i oczekujemy wykonania kodu na fizycznym procesorze kwantowym, trafiamy w system kolejkowania (scheduler), jaki zwykle można znaleźć w rozwiązaniach HPC, a więc czekamy na przydzielony nam slot czasowy na procesorze.

Wiele firm związanych z technologią procesorów kwantowych proponuje rozbudowane środowiska programistyczne, np. IBM QISKit (Quantum Information Software Kit), Microsoft Quantum Development Kit, a także integrację komputerowych obliczeń kwantowych w Visual Studio, D-Wave, biblioteki C/C++, Pyton, MATLAB, Rigetti Forest API (Quil – Quantum Instruction Language, pyQuil – Pyton Quil), itd. Ciekawą inicjatywą jest Open-Source Software Framework for Quantum Computing – ProjectQ, zainicjowany przez politechnikę w Zurychu. Projekt ten współpracuje z zespołami IBM Q, Google, Microsoftu oraz Intela.

Istnieją także firmy, które zdając sobie sprawę z pojawiającej się szansy zaistnienia w obszarze komputerów kwantowych, nawet jeśli nie dysponują i może nie planują uruchomienia fizycznie u siebie tej technologii, to jednak oferują symulatory procesorów kwantowych na bazie technologii klasycznych układów krzemowych. Towarzyszy temu oczywiście cała otoczka środowiska programistycznego dla technologii kwantowych. Przykładem takiej firmy jest Atos, firma oferująca handlowo dostępne symulatory kwantowe ATOS QLM o mocy symulacji od 30 do 40 kubitów, zbudowane na bazie platform procesorów x86. Innym przykładem jest Fujitsu, pracujące nad rozwiązaniem komputera wyżarzania kwantowego, opartego o krzemowe układy FPGA.

Efektem popularyzacji środowisk programistycznych, związanych z technologiami kwantowymi, jest powstawanie wielu aplikacji, które są „quantum ready”, nawet jeśli są aktualnie wykonywane na symulatorach kwantowych.

 

Podsumowanie

Rozwiązania technologii komputerów kwantowych są na razie na wczesnym etapie rozwoju. To co już teraz są w stanie pokazać, daje przedsmak tego, co będzie działo się w najbliższych latach. Wizje ich wykorzystania są niemal nieograniczone. Dzięki dostępom chmurowym do wydzielonych zasobów komputerów kwantowych, technologia daje się dotknąć każdemu zainteresowanemu użytkownikowi. Stworzenie zadowalającej skali rozwiązań komputerów kwantowych wciąż stanowi technologiczny problem i wymaga ogromnych nakładów badawczych na wielu płaszczyznach. Procesory kwantowe, poza firmami D-Wave, IBM i Rigetti, mają już Google (we współpracy z University of California Santa Barbara) oraz Intel (49-kubitowy testowy procesor), ale na razie nie ma łatwo dostępnych komputerów na bazie tych procesorów.

Wciąż pojawiają się doniesienia o próbach znalezienia technologii kwantowych mniej restrykcyjnych niż aktualnie stosowane, np. na bazie wysokotemperaturowych materiałów nadprzewodzących. Jako alternatywa dla platform kwantowych powstają symulatory, umożliwiające testowanie koncepcji kwantowych rozwiązań programistycznych, a także rozwiązywanie konkretnych problemów. Realność świata komputerów kwantowych pomimo ograniczonej na razie ich skali zaowocowała powstaniem różnorodnych narzędzi programistycznych, skierowanych na obliczenia kwantowe. Daje to duże możliwości opracowywania zastosowań przetwarzania kwantowego, które wraz ze wzrostem skali platform sprzętowych, doprowadzą do rozwiązywania bardzo złożonych problemów, jakie na nawet największych dostępnych klasycznych systemach komputerowych nie są możliwe do pokonania.

Śledzenie rozwoju tej technologii samo w sobie jest fascynujące, a dodatkową zachętą może być poczucie, że na naszych oczach rodzi się przyszłość.

 

 

O autorze:

Marek Gardziński jest związany z branżą IT od ponad 30 lat. Od blisko 15 pracuje w Fujitsu Technology Solutions, od 10 lat jako Solution Architect. Jest specjalistą w zakresie systemów fizyki doświadczalnej, technik mikrofalowych i badawczych technik izotopów promieniotwórczych. Zajmuje się też technologiami transmisji danych, wirtualizacji środowisk IT, rozwiązaniami High Performance Computing, technologiami IT klasy business continuity, mission-critical oraz platformami serwerowymi x86 i RISC.

 

Źródła:

Źródło: Chip