Przejdź do Treści
Makro obraz. Na zdje,ciu widoczne dłonie dwóch osób. Jedna trzyma tablet a druga wskazuje na ten teablet.Makro obraz. Na zdje,ciu widoczne dłonie dwóch osób. Jedna trzyma tablet a druga wskazuje na ten teablet.

Quantum Computing od kuchni: sekrety i zastosowania

TechChatter – sezon 3 – odcinek 2.

Quantum Computing od kuchni: sekrety i zastosowania

Czy komputery kwantowe zrewolucjonizują obliczenia? Jakie wyzwania oraz możliwości otwierają przed nami w dziedzinach takich jak chemia, kryptografia czy optymalizacja procesów? Czy czeka nas era kwantowych urządzeń domowych? W tym odcinku rozwiewamy wątpliwości dotyczących komputerów kwantowych i przedstawiamy tę technologię w przystępny sposób.

Zapraszamy do słuchania!

Tematy poruszane w odcinku:

  • Czym są komputery kwantowe i jak działają?
  • Dlaczego Quantum Computing nie trafi do naszych smartfonów?
  • Przykłady praktycznych zastosowań komputerów kwantowych
  • Czym na co dzień zajmuje się programista Quantum Computing?
  • Czy kwantowe obliczenia to science fiction?

Ekspert odcinka:

Data Scientist, Senior Quantum Developer w Capgemini Quantum Lab. Od trzech lat researcher i deweloper algorytmów kwantowych w Capgemini Quantum Labie. Głównym obszarem jego pracy są symulacje chemii kwantowej wykorzystujące komputery kwantowe. Skupia się na skalowaniu wielkości problemów chemicznych symulowanych na komputerach kwantowych przez protokoły redukowania błędów i optymalizację algorytmów kwantowych.

Marek Kowlaik

Prowadzący podcast:

Szymon Głowania

Lider do spraw programowania w Capgemini. Specjalizuje się w projektowaniu kokpitów menedżerskich oraz automatyzacji procesów. Regularnie prowadzi szkolenia, dzieląc się swoją wiedzą i umiejętnościami. Pasjonuje się uczeniem maszynowym, które rozwija w ramach projektu doktorskiego. W wolnym czasie realizuje swoje pasje, takie jak jazda konna, wędkarstwo, słuchanie muzyki oraz gra na instrumentach.

Linki do zagadnień poruszanych w rozmowie:

Aktualny stan rozwoju komputerów kwantowych: https://www.computer.org/publications/tech-news/research/current-state-of-quantum-computing?utm_source=chatgpt.com

Zastosowania komputerów kwantowych w różnych branżach: https://www.nextias.com/blog/quantum-computing/?utm_source=chatgpt.com

Różnice między komputerami klasycznymi a kwantowymi: https://www.ovhcloud.com/pl/learn/what-is-quantum-computing/

Wpływ komputerów kwantowych na kryptografię i bezpieczeństwo danych: https://decrypt.co/resources/from-the-quantum-realm-to-reality-a-beginner-guide-to-the-computer-of-the-future

Edukacja i rozwój kadr w dziedzinie technologii kwantowych: https://porozmawiajmyoit.pl/poit-191-quantum-computing-informatyka-kwantowa/

Przyszłość komputerów kwantowych i ich wpływ na społeczeństwo: https://www.komputerswiat.pl/artykuly/redakcyjne/komputery-kwantowe-zmienia-uklad-sil-na-swiecie-wojny-wygrywaja-matematycy/t9lrzv9

Inicjatywy i projekty związane z komputerami kwantowymi w Polsce: https://odkryjnas.pl/quantum-computing/

Podcast Capgemini Polska

Marek Kowalik
Jeżeli chodzi o przyszłość obliczeń kwantowych, na pewno dużo jeszcze nagłówków przed nami z gazet o tym, że obliczenia kwantowe pokonały kolejny rekord. Potem okaże się, że jest to bezużyteczne. Potem okaże się, że jest w tym ziarno prawdy. Na pewno wraz z rozwojem komputerów kwantowych, ich mniejszym zaszumieniem, będziemy w stanie odblokowywać ich zastosowanie w kolejnych obszarach i na większą skalę, ale też zmniejszać ich koszt, zwiększać ich powszechność. Także na pewno przyszłość buduje się bardzo optymistycznie.
 
Szymon Głowania
Słuchasz trzeciego sezonu podcastu TechChatter, audycji Capgemini Polska, w której zanurzymy się w świecie technologii. Posłuchaj rozmów naszych ekspertek i ekspertów, odkryj projekty realizowane w Polsce i zobacz, jakie innowacje, które współtworzymy, kształtują naszą przyszłość. Przekonajmy się, że praca w sektorze IT może być naprawdę pasjonująca. Gotowi? Zaczynamy!
 
Cześć, dzień dobry. Dzisiaj w naszym programie mamy przyjemność rozmawiać z Markiem Kowalikiem, który jest specjalistą od quantum computingu w Capgemini. Postaramy się nieco rozwikłać czym ten quantum computing jest. Marku, czy komputery kwantowe będą w każdym domu?
 
Marek Kowalik
Tak w każdym smartfonie i u każdego na biurku. Oczywiście nie, jeżeli chodzi o komputery kwantowe. Jak popatrzymy sobie na obecne komputery, albo wymagają one wielkich układów chłodzenia, swoim rozmiarem bardziej przypominające pierwsze komputery zajmujące całe pomieszczenia, albo wymagające całkiem dużej infrastruktury, tak jak np. komputery kwantowe oparte na siatkach atomów. Tutaj potrzeba odpowiedniego podłączenia do prądu, dużej ilości laserów, całej również ciężkiej infrastruktury. Nawet abstrahując od tego, jak komputery kwantowe są zbudowane, zakładając, że komputery kwantowe gdzieś w przyszłości dałoby radę upchnąć w jakiś malutki moduł, który można by np. dodać do smartfona, uważam, że nie miałoby to zbyt dużego sensu, dlatego że obliczenia kwantowe jako takie są bardzo specyficzne w tym co robią i też jeżeli chodzi o algorytmy albo problemy biznesowe, w których mogą dostarczyć jakąś wartość przez szybsze rozwiązanie jakiegoś algorytmu albo dokładniejsze, są to zawsze specyficzne zastosowania i zazwyczaj na dużą skalę, czyli może to być np.  pomoc w przewidywaniu pogody albo wybranie odpowiedniej strategii do inwestowania, odpowiedniego portfolio.
I tutaj patrzymy na te algorytmy, które w przyszłości na pełną skalę, obecnie na dość małych skalach, chcielibyśmy puszczać że tak powiem raz a porządnie, niekoniecznie używać komputera kwantowego jako jakiegoś interfejsu albo jakiegoś tła obliczeniowego w naszych smartfonach.
 
Szymon Głowania
Czyli nie będzie to nowy gadżet, który dodamy do smartfona i zmieści nam się do kieszeni, bo nie takie jego przeznaczenie. Natomiast nie jest to też tak bardzo specyficzny prom kosmiczny, który jest tylko w jednym miejscu na świecie, tylko te rozwiązania stają się coraz bardziej popularne.
 
Marek Kowalik
Dokładnie tak, może powiem też ciekawostkę, swego czasu jedna z firm produkujących smartfony, chcąc w pewien sposób zaznaczyć innowacje, oferowała smartfon, w którym był rzeczywiście układ kwantowy, który nie był komputerem kwantowym, był to kwantowy generator liczb losowych, jest to być może zagadnienie znane już części słuchaczy, to w jaki sposób w większości przypadków, a przynajmniej w klasycznych obliczeniach, uzyskuje się liczbę losowe, tak naprawdę losowe nie jest. W pewnym sensie to jest bardzo nierealistyczne założenie, ale dałoby radę teoretycznie odtworzyć to, co się dzieje w klasycznym generatorze liczb losowych, żeby zawsze przewidzieć to, co będzie na wyjściu, natomiast kwantowy generator liczb losowych jest losowy idealnie, w sensie nie da się przewidzieć, jakie będzie jego wyjście i to nie wynika z trudności tego, jak przewidzieć liczbę losową, tak jak np. jak zamacha skrzydełkami motyl, czy spowoduje to tornado w Chicago, jaka jest droga zderzeń cząsteczkami pomiędzy tymi skrzydłami a tornado. Nie, po prostu te zjawiska kwantowe używane w kwantowym generatorze liczb losowych są losowe z natury. Więc to może taka ciekawostka, rzeczywiście ten układ był.
 
Szymon Głowania
Ale każdy z nas te liczby losowe tak czy inaczej używa, może nieświadomie, ale tworzenie tych liczb losowych, tak? Albo z lamp, które świecą i w określony sposób puszczają bombelek i też jest to ciężko przewidzieć. Spotykamy na co dzień, nie? Słuchając muzyki, odtwarzając dowolne treści w internecie, tak? Te liczby wszędzie się tam muszą pojawiać.
 
Marek Kowalik
To prawda, rzeczywiście tutaj powstaje pytanie, na ile potrzebujemy idealnie losowego procesu, żeby pożonglować sobie piosenkami na playliście. Odpowiedź jest taka, że praktycznie nigdy nie potrzebujemy idealnego generatora losowego. Takie proste procesy, chociażby zobaczyć na zewnątrz danego dnia, czy są chmury za oknem, czy większość nieba jest bezchmurna, już taka losowość nam wystarczy.
 
Szymon Głowania
Wspomniałeś o generatorze liczb losowych, natomiast chcielibyśmy na pewno się dowiedzieć, czym sam komputer kwantowy dla nas jest.
 
Marek Kowalik
Może tutaj małe rozróżnienie, kwantowy generator liczb plusowych jako taki może się wpisywać w szeroką rodzinę technologii kwantowych i główne rozróżnienie technologii kwantowych to wykrywanie kwantowe, połączenia kwantowe i obliczenia kwantowe. Jeżeli chodzi o wykrywanie kwantowe, tutaj jest to cała rodzina technologii skupiona wokół pomiarów na poziomie kwantowym, na bardzo małych skalach, bardzo małych obiektach. Jeżeli chodzi o połączenia kwantowe, możemy tutaj mówić o kryptografii kwantowej, czyli bezpiecznych połączeniach pomiędzy np. dwoma komputerami, opierającymi się głównie na kanale komunikacyjnym czysto kwantowym. Może to być kryptografia post-kwantowa, czyli klasyczne połączenia kryptograficzne pomiędzy dwoma komputerami zaprojektowane w ten sposób, żeby komputery kwantowe nie mogły złamać ich w jakiś łatwy sposób.
I ostatnim obszarem są obliczenia kwantowe. I właśnie tutaj staramy się spożytkować komputery kwantowe. Jeżeli chodzi o same komputery kwantowe, na najbardziej fundamentalnym poziomie działają one w oparciu o kubity a nie bity. W klasycznych komputerach używamy bitów czyli zestawów 0 i 1 żeby następnie budować na nich jakieś abstrakcje czyli np. 0 i 1 układać liczby, potem za pomocą klasycznych bramek, tworzyć algorytmy jak np. dodawanie, mnożenie, a potem dodawać kolejne warstwy abstrakcji i kończyć z interfejsem, gdzie gramy sobie w grę komputerową, przeglądamy internet, działamy na sieciach społecznościowych. Natomiast komputery kwantowe budują na kompletnie innych fundamentach. Zamiast bitów mamy kubity, jak już wspomniałem.
Pojedynczy kubit może być w stanie 0, albo 1, albo w pewnym stanie pomiędzy, np. 20% prawdopodobieństwa, że jest w stanie 0, 80% prawdopodobieństwa, że jest w stanie 1. Komputery kwantowe układamy z tych kubitów i patrzymy, co można z nich zrobić. Natomiast nie jest to cała historia. Komputery kwantowe mające kubity, które mogą być w określonym procencie w takim stanie, w innym procencie w takim stanie, w pewien sposób mogą być zrealizowane na klasycznych komputerach, imitować to zachowanie. Natomiast do komputerów kwantowych dochodzi jeszcze tzw. interferencja i splątanie. Wyobraźmy sobie sytuację, że bierzemy dwie monety, jedną bierzemy my, drugą dajemy naszemu koledze, rozjeżdżamy się, jeden jedzie do Warszawy, drugi jedzie do Krakowa, następnie każdy z nas rzuca monetą.
Ja po rzucie monetą patrzę, że wyszedł mi orzeł, dzwonię do mojego kolegi z Krakowa i mówię mu, że pewnie też ci wyszedł orzeł. I rzeczywiście, zgadłem, powtarzamy to samo tysiąc razy i okazuje się, że za każdym razem mam rację. W skrócie tak wygląda splątanie, natomiast bardzo ważną rzeczą, o której zawsze musimy pamiętać, jest to, żeby przed rozjechaniem się do Warszawy i do Krakowa splątać monety. Czyli zawsze, jeżeli chcemy mieć układ, teraz mówiłem o monetach, natomiast na komputerze kwantowym są to kubity, zawsze musimy zastosować operację, która je splącze. Czyli żeby mieć pewność, że na podstawie mojego wyniku zawsze przewidzę wynik innej monety, nie dzieje się to na odległość, nie dzieje się tak, że jesteśmy tysiąc kilometrów od siebie i tutaj splątujemy.
Zawsze musi być to zrealizowane lokalnie. W skrócie tyle o splątaniu. Jeżeli chodzi o interferencje, tutaj jest to troszkę bardziej skomplikowany temat, natomiast można go łatwo wytłumaczyć analogią fal. Kubity fundamentalnie nie tyle mają prawdopodobieństwa bycia zmierzonym w stanie 0 i 1, co pewne amplitudy, tak jak fale na powierzchni wody. Potem z tych amplitud można policzyć prawdopodobieństwa w łatwy sposób, natomiast algorytmy kwantowe jako takie zmieniają te amplitudy np. z jednego kubitu i drugiego nakładając jedno na drugie, no i amplitudy mogą się konstruktywnie wspierać, zmiana jednej amplitudy na podstawie drugiej może zwiększyć prawdopodobieństwo zmierzenia kubitu w danym stanie, albo dwie amplitudy mogą na siebie działać destruktywnie, czyli zmieniać prawdopodobieństwo zmierzenia naszego układu w jakimś tam stanie.
W skrócie tyle. Biorąc sobie te trzy elementy, biorąc pomysł na to, w jaki sposób zbudować takie urządzenie realizujące obliczenia w ten sposób, mamy komputer kwantowy. W tym momencie wracają quantum developerzy, tak jak ja na moim stanowisku, no i staramy się właśnie na tych komputerach kwantowych budować abstrakcje, które będą w stanie policzyć coś użytecznego. W skrócie tak wyglądają komputery kwantowe.
 
Szymon Głowania
Czyli jest to po prostu kolejna z ewolucji do tego, jak jesteśmy sobie w stanie zorganizować jakieś aspekty techniczne do tego, żeby pewne elementy robiło nam się łatwiej. Tak jak był w pewnym momencie boom na karty graficzne, na których dużo lepiej wykonywało się obliczenia i było to potrzebne. Chociaż z samej zasady były pomyślane po to, żeby ta grafika się lepiej wyświetlała. Natomiast samo działanie pod spodem pozwala też na inne zastosowania, tak tutaj pewną abstrakcją będzie komputer kwantowy, który po prostu pozwoli nam na łatwiejszą optymalizację w innych dziedzinach, tak jak bezpieczeństwo, badania takie chemiczno-medyczne, gdzie będziemy sobie w stanie te obliczenia i te algorytmy odpowiednio wybrać, bo tutaj te algorytmy i podejścia będą też odpowiednio musiały być dopasowane.
 
Marek Kowalik
Dokładnie tak. Jest to bardzo dobra analogia. Karty graficzne są używane jako pewien komponent w klasycznych komputerach, żeby właśnie renderować gry, przyśpieszać edycję filmów, głównie obróbkę grafiki, Pewne zmiany w tym jak karty graficzne są produkowane, pewne dostosowanie ich do treningów modeli uczenia maszynowego, bardzo przyspiesza nam zarówno proces treningu modeli uczenia maszynowego, ich mniejsze zapotrzebowanie energetyczne w procesie tego treningu. No i dokładnie tak samo możemy patrzeć na komputery kwantowe. Fakt jest to o wiele bardziej specyficzne. Komputer kwantowy raczej nie będzie modułem, który włożymy do klasycznego komputera. Obecnie raczej wygląda to w ten sposób, że instalujemy komputer kwantowy i naokoło niego budujemy serwerownię albo podłączamy go do klastra obliczeniowego.
Natomiast faktycznie jest to po prostu pewne miejsce, przez które przepuszczamy pewien typ obliczeń, żeby zrealizować je szybciej i efektywniej.
 
Szymon Głowania
Troszkę odczarowaliśmy ten komputer kwantowy, czyli nie jest już to kolejna z postaci Marvela. Natomiast jak wygląda twój codzienny dzień pracy właśnie z tym quantum computingiem?
 
Marek Kowalik
Jeżeli chodzi o mój dzień pracy, w 90% nie różni się niczym od pracy dewelopera albo szerzej osoby zajmującej się researchem nowych zastosowań. Część dnia poświęcam na przeglądanie prac naukowych, przeglądanie też LinkedIna i innych sieci społecznościowych, w poszukiwaniu newsów, ciekawostek, nie tylko algorytmów, ale również update’ów z samych komputerów kwantowych, jak poprawia się ich jakość i jak zwiększa się ilość dostępnych kubitów. Bardzo dużo czasu w ciągu dnia spędzam w kodzie, powiedziałbym, że ponad połowę. Jest to oczywiście związane z tym, że obliczenia kwantowe testuje się na konkretnych algorytmach, biorąc ich implementację, ulepszając je, testując na różne sposoby, patrząc w jaki sposób zachowują się na różnych rozmiarach problemów, na których je puszczamy.
Natomiast powiedziałbym, że praca dewelopera kwantowego różni się od pracy zwykłego dewelopera poziomem skomplikowania, dlatego że do warstwy kwantowej zawsze dochodzi warstwa klasyczna, czyli tak jak ktoś uczący model uczenia maszynowego musi pozyskać dane w jakiś sposób, przygotować je, oczyścić, następnie zmienić ich format tak, żeby nadawało się jako wejście do konkretnego modelu, a następnie biorąc wyjście z tego modelu uczenia maszynowego, przetwarzając je w jakiś sposób, żeby było dla nas w jakiś jasny sposób interpretowalne. Weźmy sobie przykład zdjęć, na których zaznacza się poszczególne obiekty i podpisuje rower jako rower. Tutaj jest ten aspekt przetworzenia tego zdjęcia jako wejście do modelu uczenia maszynowego i wyjście, gdzie zaznaczamy konkretny obiekt i go podpisujemy.
Tak samo jest z komputerem kwantowym, z tym że tutaj owszem bierzemy sobie dane, przygotowujemy je na wyjście do komputera kwantowego, ale musimy też zdefiniować całą instrukcję tego, co będziemy na komputerze kwantowym wykonywać. Zazwyczaj te instrukcje wychodzą dość długie, z racji tego, że obecnie komputery kwantowe są zaszumione. To, co otrzymujemy na wyjściu zawiera bardzo dużą ilość błędów, staramy się z jednej strony odszumić, przygotować protokoły, które pozwolą nam uzyskać rezultaty z jak najmniejszą ilością błędów, ale też optymalizować te algorytmy, na przykład dekomponować je na mniejsze eksperymenty kwantowe, znacznie mniej błędów dostają na wyjściu, potem łączyć je klasycznie.
Jest tu bardzo dużo elementów do poukładania, zarówno po stronie obliczeń klasycznych, przygotowania wejścia do komputera kwantowego i obróbki wyników, jak i samego aspektu puszczania algorytmów kwantowych. Co ciekawe, nie tylko przy testowaniu moich algorytmów puszczam je na prawdziwych komputerach kwantowych, w większości przypadków testuję je na moim laptopie, po prostu puszczam symulacje, używam analitycznych symulacji bezbłędnych, żeby sprawdzić jakie powinno być wyjście z komputera kwantowego, żeby mieć jakieś wartości referencyjne. Ale co ciekawe, z racji tego, że eksperymenty na komputerach kwantowych są dość kosztowne, w wielu przypadkach zanim puszczę eksperyment na prawdziwym komputerze kwantowym, symuluję go sobie z błędami, czyli istnieją modele błędów, modele szumu, jakie występują na komputerach kwantowych i nakładamy sobie te modele szumu na nasze idealne symulacje na klasycznych komputerach, i patrzymy, czego możemy się spodziewać, jakiego poziomu błędów, jakiego poziomu dokładności wyników.
I jest to na pewno połowa mojego dnia. Oczywiście w perspektywie całego projektu, jakiegoś dłuższego okresu są okresy, gdzie skupiam się tylko na podsumowaniu wyników, nie siedzę w kodzie praktycznie w ogóle, piszę raporty techniczne, prace naukowe. Natomiast bardzo dużym aspektem tej pracy jest networking. I tutaj mam na myśli pewną dyskusję wyników tego, co się dzieje. Jak w każdej roli programistycznej warto jest wymienić się informacjami, co robimy, jak podchodzimy do problemu, jak go rozwiązujemy. Oczywiście cały proces dokumentacji, żeby przekazywać wiedzę, przekazywać to, co zostało zrobione w kodzie, jest jedną rzeczą. Natomiast tutaj dochodzi jeszcze aspekt tego, że potrzebujemy przedyskutować to, co zostało zrobione w kodzie, jak zostało to zaimplementowane, ale też z perspektywy biznesu, jaki problem rozwiązaliśmy.
I teraz powiedziałem na początku, że obliczenia kwantowe rozwiązują bardzo specyficzne problemy, stąd potrzebujemy do pokazania konkretnego use-case, konkretnego zastosowania eksperta z obliczeń kwantowych, proponujących jakiś algorytm, proponujących jego ulepszenie, dekompozycję, wyciśnięcie z niego jak najwięcej wycisnąć jak najwięcej z obecnych komputerów kwantowych i eksperta, który zna się na zastosowaniu. Te dwie strony potrzebują przestrzeni, żeby wymienić się informacjami. No i na początku jest to oczywiście realizowane na jakichś konferencjach, pewnych strategicznych dyskusjach, zanim stworzymy plan jakiegoś projektu. Natomiast już z perspektywy projektów, w których ja jestem, jestem właśnie tą osobą, tym deweloperem, który stara się wycisnąć z komputerów kwantowych jak najwięcej, optymalizuje algorytmy kwantowe, stara się realizować je w dość efektywny sposób.
Natomiast reszta osób w moich projektach są to chemicy kwantowi, dlatego że ja ostatnimi czasy, w przeciągu ostatnich dwóch lat zajmuję się tylko i wyłącznie symulacjami chemicznymi. Powiedziałbym, cała reszta mojego dnia, średnio, tak 30% w ciągu dnia, to są właśnie dyskusje na temat tego, co robimy, co to znaczy, w jaki sposób uprościć pewne rzeczy, które wchodzą do komputera kwantowego, z jakich trików możemy skorzystać, żeby jak najwięcej wyciągnąć z komputera kwantowego i jak najmniej obliczeń przeprowadzić. Jest tu multum rzeczy wynikających nie tylko z tego, że w moim przypadku są to symulacje chemiczne. Każde zastosowanie ma aspekt wzięcia problemu biznesowego, przetłumaczenia go na jakiś problem programistyczny, zidentyfikowania, w którym miejscu jest to wąskie gardło, problematyczne, kosztowne dla klasycznych obliczeń, znalezienie odpowiedniej implementacji, o ile istnieje, problemu kwantowego algorytmu, który by to rozwiązał, no i samo puszczenie tego algorytmu albo oszacowanie, jakiej jakości komputer kwantowy jest wymagany i na jaką skalę, żeby dało się zrobić to szybciej i efektywniej, z mniejszą ilością energii niż na komputerze klasycznym.
 
Szymon Głowania
Czyli smartfona kwantowego nie mamy w naszej kieszeni, ale jesteśmy w stanie sobie na smartfonie zainstalować środowisko, które będzie udawało, że mamy komputer kwantowy.
 
Marek Kowalik
Dokładnie tak.
 
Szymon Głowania
Jakby abstrahując od skali, że to musiała być dużo lepsza maszyna. Natomiast tak czy inaczej quantum computing będzie dla nas jakąś warstwą, czyli dodatkową, która wskakuje do naszego modelu. I tutaj ten research tak jak wygląda w twoim jakimś dniu pracy, czy po prostu też ciągu, bo też to rzeczywiście na okresy na pewno jest podzielone. No trzeba się dogadać, zebrać tą wiedzę i znaleźć tą lukę. Czyli tym razem będziemy dodawali 2 plus 2 czy robili jakąś inną kalkulację i wiemy, że w tej kalkulacji najwięcej zajmuje odczytanie tego pliku. I to odczytanie tego pliku staramy się zrobić teraz komputerem kwantowym, żeby zrobił to szybciej.
Potrzebujemy eksperta takiego jak ty, który się na tych komputerach zna i kogoś kto jest z wiedzą dziedzinową plus znajomością mimo wszystko quantum computingu, żeby wiedzieć jak się między sobą dogadać. Czyli potrzebujemy takie rozwiązanie wtedy dla nas zbudować. Będąc właśnie dalej w tym temacie komputerów kwantowych, były i są one dla nas taką wielką szansą, wielkim przełomem. Jaka jest Twoja opinia w tym względzie? Czy tutaj mamy jakieś możliwości, gdzie będą świetne i rzeczywiście będzie to przełom? Tak jak mówisz, chemia czy z mojej perspektywy właśnie jakieś elementy związane z bezpieczeństwem czy modelami uczenia maszynowego, jakimiś tego typu elementami.
Natomiast czy coś oprócz tego i czy rzeczywiście w tych zastosowaniach one będą miały rację bytu?
 
Marek Kowalik
Bardzo dobre pytanie. Mówiąc o przełomach w obliczeniach kwantowych, pewnie powszechnie wiadomo, że obecnie komputery kwantowe są zaszumione, nie da się na nich zrobić za dużo. Podam taki przykład. Ostatnio Google zaprezentowało 105-kubitowy Chip Willow i twierdziło w nim, że obliczenia, które zostały wykonane na tym komputerze, na klasycznym komputerze zajęłyby jakąś chorą ilość czasu, około 1,1 i 25 zer w latach. Problem jest taki, że to stwierdzenie jest prawdziwe, tylko że ten test, te obliczenia są bezużyteczne. Na zasadzie bierzemy sobie te 105 kubitów, losowo rzucamy na nie bramki kwantowe w różnej konfiguracji, w różnych miejscach, rzucamy tych bramek tysiące, dziesięć tysięcy i tak losowo przygotowany program puszczamy na komputerze kwantowym i zbieramy z niego wyniki.
Przełom to jest żaden, dlatego że te obliczenia nie mają żadnej wartości biznesowej ani nawet jakiejkolwiek wymiernej, jak i również nie da się porównać jak dobrze ten wynik został policzony, dlatego że nie mamy klasycznego komputera, który dostarczyłby wartość referencyjną, czyli ani dokładności do tego porównać na klasycznym komputerze, ani na innym kwantowym komputerze. Natomiast takie głosy, takie testy, takie algorytmy pojawiają się już od dawna. Wciąż wydajemy się czekać na zastosowania, które dostarczą wartość biznesową, ale okazuje się, że takie zastosowania już mamy. Ostatnim przykładem jest praca opublikowana 14 listopada o obliczeniach kwantowych idących w parze z klastrami superobliczeniowymi, dzięki którym możemy przeprowadzać symulacje chemiczne na o wiele większą skalę niż jest to możliwe klasycznie.
I teraz symulacje chemiczne jako takie są bardzo, bardzo szerokim tematem. Dużo technicznych detali tutaj da się dopracować natomiast ja postaram się zarysować skalę mówiąc o kubitach, czyli jeżeli bierzemy sobie nasz laptop zakładając w nim mamy jakiegoś szalonego laptopa z dużą ilością ramu z ogromną kartą graficzną na spokojnie możemy sobie wziąć symulacje chemiczne i wysymulować system chemiczny z dokładnością powiedzmy tak 20, maksymalnie 30 kubitów. Gdzieś na taką skalę możemy sobie zamodelować cząsteczkę. Jeżeli chodzi o takie absolutne rekordy dysponując superkomputerem, klastrem obliczeniowym, na największą skalę jaką udało się wysymulować cząsteczkę, właśnie na kwantowym poziomie, no to było tak 46 kubitów.
Natomiast ostatnio w tej pracy, o której mówiłem, komputer IBM-u w połączeniu z superkomputerem Fugaku tam dało się wysymulować cząsteczkę na poziomie 77 kubitów. I teraz jeżeli chodzi o wydatek energetyczny, ile czasu to zajęło, ile to kosztowało, nawet nie chcę myśleć o budżecie tego projektu, jest to bardziej pokazówka, żeby pokazać jak bardzo to delegowanie pewnych wąskich gardeł na komputery kwantowe się opłaca. No ale właśnie, wszelkie rekordy zostały absolutnie złamane, ale ogromnym kosztem. I teraz jest to słodko-kwaśna informacja, słodka dlatego, że jest dla nas ogromną ulgą jako deweloperów kwantowych, że to co obiecujemy, to co przewidujemy, to co szacujemy, że komputery kwantowe będą szybciej, będą lepiej, będą na większą skalę, udaje się już pokazywać.
Kwaśna informacja jest właśnie tym wydatkiem. Ktoś może kwestionować, dobrze, udało się wysymulować cząsteczkę na większą skalę, ale tak, czy da się to powtórzyć, czy da się zrobić to na skalę przemysłową? Na zasadzie nie symulujemy jednej cząsteczki, symulujemy np. serię leków, żeby zobaczyć, jak się zachowują, czy część z nich odrzucić, będziemy je wprowadzali w testy chemiczne. Oczywiście jest pytanie o to, jak ten koszt zrujnowałby nasz budżet na odciążenie badań klinicznych. Natomiast dobra informacja jest taka, że komputery kwantowe systematycznie zwiększają swoją jakość tego, ile błędów się pojawia po drodze. Przez to możemy budować algorytmy, które coraz większą część mają puszczoną na właściwym komputerze kwantowym, a coraz mniej tego wydatku energetycznego, tego czasu jest potrzebnego na superkomputerze.
W perspektywie lat można to szacować na podstawie road mapów publikowanych przez producentów komputerów kwantowych na zasadzie w 2029 roku, zamiast superkomputera, będziemy potrzebowali tylko jakiegoś klastra obliczeniowego, 8 kart graficznych i tyle, a w 2032 już w ogóle nie będzie to potrzebne.
 
Szymon Głowania
A ile kubitów?
 
Marek Kowalik
No właśnie, dokładnie. Jeżeli chodzi o ilość kubitów, powiedziałbym około setki, może troszkę więcej. Natomiast zahaczyłeś, Szymon, o bardzo ważną rzecz, czyli ile kubitów jest potrzebnych. I teraz podsumowując mój poprzedni wątek, obliczenia kwantowe w tym przypadku udowodniły, że są w stanie zrealizować pewien problem na większą skalę. Obecnie przez jakość tych komputerów kwantowych jest to bardzo kosztowne.
Wraz z postępem jakości komputerów kwantowych będziemy w stanie to odciążać coraz bardziej i bardziej. Jeżeli chodzi o ilość kubitów, ile używamy do rozwiązania problemu, tutaj jest bardzo ważny aspekt. Obecnie mamy komputery kwantowe mające 100 do 1000 kubitów różnej jakości w zależności od konkretnego typu komputera. Natomiast jeżeli chcemy zaimplementować algorytm, puścić go na prawdziwym komputerze, tak żeby był szybszy, bardziej efektywniejszy od klasycznej implementacji, no tutaj myślimy o problemach właśnie takich rozmiarów, stoku bitów i więcej. I teraz, nieważne czy jest to optymalizacja portfolio, gdzie mamy 100 opcji do zainwestowania i zmapujemy to na 100 kubitów, czy to jest cząsteczka, która ma 50 orbitali na około i mapujemy ją na 100 kubitów, okazuje się, że komputer z ilością 100 kubitów na taką implementację i na prawdziwym komputerze bez jakiegoś superkomputera w przyszłości, za parę lat, będzie niewystarczająca.
Będziemy potrzebowali komputera kwantowego, który ma 10 tysięcy, 100 tysięcy albo milion kubitów. I teraz dlaczego, jak to działa? Ano działa to w ten sposób, że komputery kwantowe są bardzo podatne na błędy i te błędy da się wycinać implementując jeden kubit tzw. logiczny, czyli o bardzo wysokiej jakości, ale zakodowany np. w 9, 15 albo 49 fizycznych kubitach, które znajdują się na tym komputerze kwantowym. I teraz przypominając tą pracę naukową od Googla, gdzie zrealizowali jakiś tam test komputera kwantowego na poziomie algorytmu, który klasycznie trzeba przez 1 i 25 zer lat symulować, żeby w ogóle to rozwiązać, tam był jeden wynik, który uciekł głównym nagłówkom, jeżeli chodzi o wiadomości, a był kluczowy.
Chodziło tam o to, że wzięli komputer kwantowy, ichniejszy, wzięli sobie 9, 25 i 49 kubitów i na każdym z tej grupy fizycznych kubitów zaimplementowali ten protokół odszumiania, żeby zaimplementować tam jeden ten logiczny kubit. I co się okazało? Na wyjściu każdego z tych logicznych kubitów, czy on używał 9, czy 25, czy 49 fizycznych kubitów, rezultaty były lepsze, niż używając pojedynczego kubitu. I teraz, dlaczego to jest w ogóle kluczowe? Ano dlatego, że przybliżając to w bardzo prosty sposób, pojedynczy kubit, co na przykład 5 bramek kwantowych, popełnia jakiś błąd, w jakiś widoczny sposób zmienia nam rezultaty. I teraz biorąc 25 kubitów, 49 kubitów, zostało nałożone 150 bramek kwantowych, określonych przez ten protokół odszumiania.
I po zaaplikowaniu tych 150 albo i więcej bramek kwantowych wyjście było lepsze niż po zaimplementowaniu jednego kubitu i jednej bramki kwantowej. Jest to bardzo ważny wynik, bo okazuje się, że im więcej tych fizycznych kubitów dokładamy, tym lepsze jest wyjście komputera kwantowego. I teraz, żeby porównać, jak bardzo niedojrzałą jeszcze technologią są obliczenia kwantowe i obliczenia klasyczne. Na klasycznym komputerze prawdopodobieństwo błędu, z grubsza szacując i mówiąc o jakimś prostym błędzie na przykład, macie bit, macie 0 i 1, z jedynki przeskoczy wam na 0. No prawdopodobieństwo na to to jest 0 przecinek 17 zer i 1. Na komputerze kwantowym prawdopodobieństwo takiego błędu to jest 0 przecienek 3 zera i 1 albo 2 zera i 1 w zależności od komputera kwantowego.
I teraz, żeby popchnąć te szanse, zmniejszyć je radykalnie, oczywiście w perspektywie przyszłości i ogromnej ilości tych fizycznych kubitów, żeby zbliżyć się do tych wartości, szans na błąd, tak jak w komputerze klasycznym no właśnie, potrzebujemy bardzo dużej ilości fizycznych kubitów, ale też pewności, że im więcej tych fizycznych kubitów upchniemy, tym mniejsza jest szansa na błąd. Właśnie z implementacji tego pojedynczego, logicznego kubitu Google’owi udało się to w końcu osiągnąć. Wcześniej to były nasze teoretyczne przewidywania, wiedzieliśmy, że komputer kwantowy musi albo tak efektywnie implementować te protokoły odszumiania, albo być takiej jakości, żeby w końcu udało się to przepchnąć.
Google zrobiło oba i udało się w końcu. Teraz jeżeli chodzi o te wartości, one dalej są wysokie, czyli nie znam dokładnych wartości, ale żeby nakreślić skalę, żeby pojedynczy kubit, ten logiczny, ten składający się z ogromnej ilości fizycznych kubitów, żeby na tej architekturze Google’a miał takie same wartości jak klasyczny komputer, no to ja się domyślam, że tutaj mówimy o jakichś miliardach, o ile nie więcej, fizycznych kubitów. No więc nie do pomyślenia i ogromne ilości tych komputerów kwantowych musiałyby być połączone razem, żeby je odszumić, a mówimy tutaj tylko o pojedynczym kubicie, tym logicznym, podczas gdy, jak już powiedziałem, ta skala obliczeń kwantowych dobrze, żeby brała problemy, które wymagają 100 logicznych kubitów i tak dalej, no rzeczywiście rozmiar tego problemu był bardzo problematyczny do symulacji na klasycznym komputerze.
 
Szymon Głowania
Czyli nie musimy mieć kompleksów, kubity też się mogą mylić. Ogólnie rzecz biorąc, technologia bardzo przyszłościowa, ale na razie jakbyśmy sobie byli w stanie wyobrazić, to jeszcze programujemy na kartce, czyli robimy dziury tam gdzie mają być zera bądź jedynki i wkładamy taki papier, żeby taki program nam zwrócił. Czyli tutaj ta pewność jeszcze potrzebuje trochę czasu i jeszcze jakiegoś impulsu, żeby dać nam takie realne, ciągłe zastosowania.
 
Marek Kowalik
Dokładnie tak, ale powiedziałeś Szymon bardzo ciekawą rzecz, że programujemy na kartkach, robimy dziurki sygnalizując 0 albo 1. Na dobrą sprawę, zwłaszcza w pierwszych miesiącach mojej pracy, a obliczeniami kwantowymi zajmuję się od 5 lat, czułem się jak programista, w pierwszych latach jak powstawały klasyczne komputery. Dlatego, że żeby zrozumieć obliczenie kwantowe, trzeba od tego zacząć. Jakby powiedziałem już, że budujemy abstrakcje pewnych zastosowań, natomiast fundamentalnie zawsze zaczyna się od tych 0 i 1, czy to w przypadku kubitów, tej probabilistycznej mieszanki 0 i 1.
 
Szymon Głowania
Czyli nie możemy zrobić takiego copy-paste i hello world zawsze zadziała, tylko trzeba najpierw tą wiedzę zdobyć, fizycznie to, że tak powiem, przerobić ręcznie i zrozumieć.
 
Marek Kowalik
Dokładnie tak. Chociaż, porównując teraz a pięć lat temu, przeskok jest ogromny, jest bardzo dużo wysokopoziomowych implementacji, gdzie my tylko na przykład bierzemy algorytm, ustawiamy jego dokładność i zwracane nam są: cały program kwantowy, zwracana jest ilość kubitów, jaka jest potrzebna i tak dalej. Osoby kompletnie nietechniczne mogą do tego usiąść i jednym kliknięciem zobaczyć sobie jakieś dema i programy. Z perspektywy programisty obecnie mam o wiele więcej narzędzi i tych wysokopoziomowych struktur, które jedną czy tam dziesięcioma linijkami kodu załatwiają to, co 5 lat temu bym musiał rozpisać na 10 skryptów. Jest to na pewno o wiele łatwiejsze. Co ciekawe, jestem pewien, rozwój klasycznych komputerów i informatyka w tych klasycznych zastosowaniach, tylko obliczenia klasyczne dały tyle wiedzy na około tego jak tworzyć oprogramowanie, cały rozwój języków programowania, struktur danych itd.
Również myśląc o tym w jaki sposób organizować pracę programisty w jaki sposób dokumentować jego postępy i tak dalej, jest to taki ogrom wiedzy, który obliczenia kwantowe tak samo musiałyby zdobywać na własną rękę, ale przez to, że obliczenia klasyczne wyprzedziły nas o 100 lat, mamy tu całą bazę wiedzy zbudowaną. Gdybyśmy nie mieli tej całej wiedzy jak pisać kod, jak dokumentować, jak działają języki programowania, w jaki sposób menadżer ma mówić do programisty żeby za bardzo go nie zdenerwować, obliczenia kwantowe zajęłyby na pewno setki lat, żeby się rozwinąć. Tym bardziej, że obliczenia kwantowe jest o wiele ciężej wyjaśnić w jaki sposób dostarczają wartość i tak dalej niż obliczenia klasyczne bo oprócz tego że wyjaśniamy problem i jego implementację musimy wytłumaczyć jego różnicę pomiędzy klasycznym analogiem a kwantową implementacją.
Więc jeżeli chodzi o rozwój obliczeń kwantowych, bardzo dużo zawdzięcza obliczeniom klasycznym i tym jak klasyczne komputery utarły drogę techniczną i nie tylko.
 
Szymon Głowania
Czyli nie musimy wymyślać koła na nowo, możemy wziąć z wozu i dać do samochodu i też się na pewno przyda, tak? Czyli mamy tutaj duży background, który pozwoli nam na to, żeby lepiej przez to przechodzić. Myślę, że warto tutaj jeszcze byłoby wspomnieć o tym, czym ta bramka kwantowa jest, poza tym, że potrafi nam zmieniać te stany i operować na kubitach. Czy coś jeszcze tutaj warto, żeby nasi słuchacze wiedzieli?
 
Marek Kowalik
Dobrze, zejdźmy sobie do poziomu najniżej jak się da, do kubitów, 0 i 1. Bramka kwantowa jest to bramka logiczna działająca na stanach kwantowych, a już mówiąc o implementacji, o tym jak działa w algorytmach, to jest coś co jest fizycznie realizowane na prawdziwym komputerze kwantowym. Podam przykład bramki logicznej 1. Bierzemy sobie dwa bity, stan 0 albo 1 jest możliwy, no i bramka 1 może zwrócić nam 0 albo 1 w zależności od tego czy nasze oba bity są w stanie 1 no i w każdym innym przypadku zwróci 0. Bramka kwantowa działa w bardzo podobny sposób – na wyjściu daje nam określoną zmianę stanu kwantowego zamiast stanu właśnie bitu czyli 0 albo 1 zwraca nam stan kwantowy czyli ta mieszanka probabilistyczna zera albo jedynki albo w przypadku większej ilości kubitów będzie to stan dwóch albo i więcej kubitów.
I teraz tak, jakie są przykładowe bramki kwantowe? Jest ich ogrom i żeby zrozumieć w pełni ich działanie, trzeba by tutaj usiąść i zobaczyć od podstaw, rozpocząć swoją przygodę z obliczeniami kwantowymi. Co na dobrą sprawę, myślę, jest bardzo ciekawą rzeczą i nie tak straszną, jak się wielu osobom wydaje. Natomiast trzeba mieć parę dni i parę godzin spokoju i skupienia, żeby zrozumieć jakieś podstawy. Ja opowiem teraz o jednej bramce. Ta bramka nazywa się “kontrolowane nie”, albo z angielskiego “CNOT”. Jeżeli mamy kubit, który ma 50% prawdopodobieństwa bycia w stanie 0 i 50% prawdopodobieństwa bycia w stanie 1, i weźmiemy sobie drugi kubit, który jest 100% prawdopodobieństwa stanu 1, i nałożymy sobie na te dwa kubity bramkę CNOT, to okaże się, że na wejściu, a w zasadzie po zaaplikowaniu tej bramki, te dwa kubity znajdą się w stanie splątania.
I co ciekawe, jeżeli pierwszy kubit miał prawdopodobieństwo bycia w stanie 0 albo 1, 50 na 50, w dalszym ciągu ma to prawdopodobieństwo, natomiast drugi kubit też ma prawdopodobieństwo bycia w stanie 0 albo 1, z tym, że nie jest to prawdopodobieństwo niezależne. To nie jest tak, że najpierw sobie mierzymy pierwszy kubit, on jest w stanie 0, potem mierzymy drugi, no okej, on jest w stanie 1. Zawsze nasz pomiar to jest pierwszy kubit i drugi kubit w stanie 0 albo pierwszy kubit i drugi kubit w stanie 1. Te stany są splątane. Na dobrą sprawę, po aplikacji takiej bramki w tym przypadku wystarczy zmierzyć jeden kubit, żeby wiedzieć, w jakim stanie jest drugi.
I teraz. Na komputerze kwantowym, w zależności od implementacji, ale da się to zrobić pojedynczą operacją. Możemy sobie wyobrazić to jako sygnał z lasera albo w odpowiedni sposób prąd puszczony przez złącze. Nie ma to znaczenia. Natomiast ważne jest to, że na klasycznym komputerze, żeby wziąć te dwa kubity, rozpisać ich stan kwantowy, a potem rozpisać tą bramkę kwantową, ta bramka kwantowa działa na dwa kubity, więc ona ma dwa do potęgi drugiej, bo dwa kubity, ilość rzędów i kolumn. Czyli to jest macierz 4 na 4. No okej, to jest do zrobienia. Jakoś to wysymulujemy na klasycznym komputerze. Weźmiemy sobie stan kwantowy, przedstawimy go w postaci jakiejś tam listy albo wektora, pomnożymy wektor przez macierz i mamy.
Teraz o co chodzi? Bierzemy sobie ten sam przykład, bierzemy trzy kubity i teraz kubit drugi i kubit trzeci są w stanie 0 i aplikujemy naszą bramkę CNOT na kubit pierwszy i drugi, a potem na drugi i trzeci. I co się okazuje, żeby wysymulować to zachowanie na klasycznym komputerze, te dwie bramki musimy przedstawić za pomocą macierzy 8×8. No to teraz wyobraźcie sobie 10 kubitów, nam się robi 1000×1000, 1024×1024 i tak dalej. Im więcej kubitów dodamy, tym większą macierzą, po prostu tablicą z ogromną ilością elementów musimy to przedstawić. I teraz przedstawiłem akurat przykład, który w skompresowanej formie da się o wiele efektywniej przedstawić, natomiast w ogólności wszystkie transformacje wywołane przez bramki kwantowe no niestety tutaj skalują się, czyli każdy kolejny kubit podwaja albo mnoży razy 4 to, ile współczynników musimy zapisać, żeby przedstawić ten stan kwantowy.
Jest to troszkę problematyczne do symulacji, ale też jest to ta cała obietnica, jaką składają obliczenia kwantowe, jeżeli chodzi o pewne wąskie gardła w obliczeniach klasycznych, żeby je zrealizować. Obliczenia kwantowe są specyficzne, bramki kwantowe realizują pewne specyficzne operacje, ale jeżeli mamy klasyczny algorytm i znajdziemy efektywny sposób, jak przetłumaczyć, zmapować go na algorytm kwantowy, jesteśmy w domu, bo w tym momencie możemy użyć tej ogromnej mocy obliczeniowej, specyficznej, bo specyficznej, ale jednak, żeby zrealizować szybciej i efektywniej algorytm, który dało się zmapować.
 
Szymon Głowania
Wspomniałeś wcześniej jak wygląda twój dzień pracy i o tym, że rozpocząć tą naukę, rozpocząć tą przygodę możemy już zrobić, bo ten rozwój dziedziny się naprawdę bardzo fajnie pogłębił. Czy mógłbyś nam przybliżyć jak rzeczywiście wyglądałby taki start z quantum computingiem dla nowej osoby?
 
Marek Kowalik
Jasne. Jeżeli chodzi o entuzjastów, osoby zainteresowane, materiałów jest ogrom, co cieszy. Bardzo dużo wartościowych materiałów jest w dokumentacjach oprogramowań do obsługi komputerów kwantowych. Mam tu na myśli Qiskit albo Pennylane. Jest tam ogrom tutoriali i wprowadzeń, też demonstracji jak działają komputery kwantowe. Kod jest napisany w Pythonie. Jest to bardzo proste do ustawienia, wystarczy zainstalować te biblioteki do Pythona, no i potem pobrać sobie kod, spróbować puścić go, wysymulować na naszym laptopie, więc próg wejścia jest bardzo niski w tym sensie, jeżeli naszym celem jest podglądnięcie kodu, zobaczenie jakiegoś algorytmu i jego zastosowania i zobaczenie, wysymulowanie wyjścia, jest to do zrobienia praktycznie w 15 minut.
Natomiast dłuższa droga, żeby w pełni zrozumieć teorię przetwarzania kwantowych informacji, to są tematy na doktoryzowanie się. Tutaj można spędzić 20-30 lat życia i wciąż mieć coś nowego do odkrycia, do powiedzenia. Mimo że same obliczenia kwantowe jako takie mają dopiero około 50 lat, Bardzo dużo rzeczy jest jeszcze do odkrycia, właśnie przez pryzmat tego, że komputery kwantowe mają dopiero naście lat, a w takiej formie przebijającej się do mainstreamu powiedziałbym dopiero parę lat. Ogrom rzeczy jest jeszcze do odkrycia, nie tylko na gruncie teoretycznym, ale też jeżeli chodzi o implementację, optymalizację algorytmów itd. Od czego zacząć? Na pewno algebra liniowa, podstawy matematyczne są bardzo ważne, dlatego że nawet jeżeli ja jestem w stanie w intuicyjny sposób oddać jak działa algorytm albo pewne zjawisko kwantowe, nic nie zastąpi gruntownego zrozumienia podstaw matematycznych.
I żeby myśleć sobie o jakimś algorytmie jego implementacji i zastosowaniu na dłuższą metę w różnych kontekstach, matematycznie trzeba to jednak zrozumieć, więc tutaj algebra liniowa. Na pewno liczby zespolone albo inne niuanse matematyczne, które się pojawią w procesie nauki. Tutaj te rzeczy też trzeba nadrobić, jeżeli nie jest się z nimi zaznajomionymi. I teraz dobrze, ale ktoś na przykład nie ma czasu, żeby godzinami ślęczeć nad książkami, czytać jakieś opracowanie z obliczeń kwantowych, bardziej myśli o tym, na jakie studia pójść albo czy z jego wykształceniem jest sens przekwalifikowywać się na obliczenia kwantowe. Na jakie studia pójść? Najlepiej na studia z informatyki kwantowej.
W Polsce, z tego co pamiętam, takie kierunki są w Gdańsku, Szczecinie i Warszawie. A następnie zrobić studia z obszarów, w którym się specjalizuje. Chemia kwantowa, finanse. Jest to idealne wyjście, natomiast nie zawsze się da. Do zrozumienia obliczeń kwantowych trzeba posiedzieć troszkę i zrozumieć obliczenie kwantowe, mieć te matematyczne podstawy, a dalej też kształcić się w obszarze, w którym chcemy stosować obliczenia kwantowe. Jeżeli ktoś ma zapał do nauki, cierpliwość do zgłębienia tematów technicznych, nie ma znaczenia, czy ma background z obliczeń klasycznych, matematyki stosowanej, obliczeń kwantowych, fizyki teoretycznej czy finansów. Jeżeli to są tylko jedne studia, w jednej rzeczy się specjalizował, myślę, że da się nadrobić tą drugą rzecz bez problemu.
Patrząc na mnie, ja studiowałem inżynierię kwantową o obliczeniach kwantowych w kontekście symulacji chemicznych. Nie miałem zielonego pojęcia, musiałem się tego douczyć, poświęcić godzinę nad zrozumieniem pewnych tematów, natomiast zawsze jest to do zrobienia i wydaje mi się, że w przypadku 99% osób pracujących w obliczeniach kwantowych właśnie tak to wyglądało. Zaczęli od pracy albo nauki w jakimś obszarze obliczeń kwantowych albo obszarze, w którym chcieliby stosować, a następnie douczyli się tego drugiego.
 
Szymon Głowania
Kilka zastosowań quantum computingu już poznaliśmy, ale jednym z takich bardziej niedostrzeganych przez nas jest to bezpieczeństwo, czyli kryptografia cała, która też w internecie jest niezbędna. Czy w tym względzie komputery kwantowe są nam w stanie pomóc?
 
Marek Kowalik
Zaczynając od pierwszej rzeczy, która przychodzi do głowy, jak poruszamy temat obliczeń kwantowych i kryptografii, większość tematów krąży wokół zagrożenia, jakie stwarzają komputery kwantowe. I faktem jest, że istnieje efektywny algorytm na komputerach kwantowych do tak zwanej faktoryzacji liczb. Implementacja tej rutyny pozwala na złamanie większości protokołów zabezpieczeń, jakie są stosowane w zasadzie wszędzie w internecie, szyfrowanie stron banków itd. Nie da się obecnie tego przeprowadzić na taką skalę, żeby zagrozić zabezpieczeniem na stronach banków, na stronach rządów itd. Mało tego, ostatnie prace naukowe pokazują, że to co było przewidywane 2, 3, 4, lata temu, albo kiedy właśnie ten algorytm, zwany algorytmem Grovera, został skonstruowany.
Te przewidywania są bardzo optymistyczne, jakiej jakości komputera kwantowego potrzebujemy, żeby złamać te zabezpieczenia banków. Okazuje się, że ten algorytm jest o wiele bardziej problematyczny, żeby przetłumaczyć go na prawdziwy komputer kwantowy. Potrzebuje o wiele większej ilości bramek, przez to z jednej strony potrzebujemy komputera kwantowego o jakości, zamiast np. 5 lat do przodu od teraz, no to tak bardziej 10-15 lat do przodu niż teraz. Oprócz tego będzie po prostu dłużej się liczył. I teraz zakładając scenariusz, że obecne zabezpieczenia dadzą się złamać komputerem kwantowym za 5, 10, 15 lat, dlaczego o tym w ogóle myśleć? Głosem, który pojawia się za tym, żeby zmieniać zabezpieczenia newralgicznych danych już teraz, jest to, że część z tych danych będzie stwarzała zagrożenie w niepowołanych rękach, nawet jeżeli zostanie odkodowana za 5 czy 10 lat.
To podejście nazywa się “ukradnij dane teraz, zdeszyfruj je później”. Nie wiem, czy to dobre tłumaczenie na polski, ale w gruncie rzeczy polega to na tym, że dane finansowe, poufne dane rządów są w stanie być przechwycone, będą bezużyteczne, bo nie da się ich odkodować, ale dysponując komputerem kwantowym za 10 lat już się będzie dało. I teraz pytanie, czy takie dane za te 10 lat będą stwarzały zagrożenieJ jest to odpowiedź do rozważenia w przypadku każdej instytucji osobno. Natomiast tak, jak powiedziałem, banki, urzędy czy całe rządy, instytucje muszą być świadome tego zagrożenia. Nawet jeżeli nie jest to zagrożenie w perspektywie najbliższych 5 lat, bardziej 15 lat, w dalszym ciągu dla pewnych danych może sprawiać to zagrożenie.
 
Szymon Głowania
Czyli musimy myśleć z perspektywą, że za kilka lat takie dane mogą zostać wykorzystane. No nie każdy przelew bankowy, który wykonujemy teraz, będzie nas, że tak powiem, bolał, jeśli ktoś o nim się dowie za 5 czy 10 lat, no ale niektóre informacje, zwłaszcza o firmach, mogą rzeczywiście zostać wykorzystane w niepowołany sposób, więc tutaj też trzeba myśleć na pewno perspektywicznie.
 
Marek Kowalik
Dokładnie tak. Teraz jaka jest alternatywa do tego? Z jednej strony te protokoły możemy bardziej komplikować, używać dłuższych ciągów znaków do zaszyfrowania i deszyfrowywania, odciągać w czasie jakość komputera kwantowego, który pozwoli to złamać. Natomiast istnieje cała gałąź technologii kwantowych pod połączeniami kwantowymi, zwana kryptografią postkwantową. Czyli jak projektować protokoły komunikacji, podpisów, jak szyfrować dane, mając na względzie to, że komputery kwantowe potencjalnie są w stanie złamać te zabezpieczenia oparte na problemie faktoryzacji liczb. Amerykański Narodowy Instytut Norm i Technologii wziął się za ten temat ustandaryzowania algorytmów odpornych na złamanie ze strony komputerów kwantowych. Przez długi okres czasu był to otwarty problem, natomiast w ostatnim roku dwóch klaryfikują nam się tutaj algorytmy, które są w stanie szyfrować dane w bezpieczny sposób. Mają swoje plusy, minusy, na pewno w pewnym sensie są wolniejsze od niektórych implementacji dotychczas stosowanych protokołów, natomiast na pewno są bezpieczniejsze. Jeżeli chodzi o implementację takich algorytmów, niekoniecznie tutaj potrzebujemy eksperta kwantowego, żeby się tym zajął, na pewno o taką ekspertyzę warto się pokusić, żeby zidentyfikować luki w bezpieczeństwie, przeanalizować obecne zabezpieczenia i pomyśleć o zastosowaniu tych protokołów postkwantowych. Natomiast implementacje tych protokołów już są dostępne przez szereg stron, przez Google. Ich implementacje są zrealizowane w różnych językach, w Javie, w Pythonie, także już teraz bez zrozumienia zasady działania tych protokołów można je implementować i stosować na stronach czy aplikacjach, które budujemy.
 
Szymon Głowania
Coś już o quantum computingu wiemy, teraz chcielibyśmy zobaczyć jak to może wyglądać w przyszłości. Czy tutaj w tej kwestii będzie jakaś kolejna rewolucja? Jesteśmy w stanie coś wymyślić?
 
Marek Kowalik
Jeżeli chodzi o przyszłość obliczeń kwantowych, na pewno dużo jeszcze nagłówków przed nami z gazet o tym, że obliczenia kwantowe pokonały kolejny rekord. Potem okaże się, że jest to bezużyteczne, potem okaże się, że jest w tym ziarno prawdy. Na pewno tutaj musimy się uzbroić w cierpliwość, tak jak w przypadku każdej technologii. Warto jest mieć z tyłu głowy, że już obecnie pokazaliśmy, że komputery kwantowe są w stanie zwiększać skalę, na jaką puszczamy pewne symulacje obliczenia. Przychodzi to z ogromnym kosztem, na pewno wraz z rozwojem komputerów kwantowych, ich mniejszym zaszumieniem, będziemy w stanie odblokowywać ich zastosowanie w kolejnych obszarach i na większą skalę, ale też zmniejszać ich koszt, zwiększać ich powszechność, zastosowanie w różnych obszarach, także na pewno przyszłość buduje się bardzo optymistycznie.
Pytanie o to, czy te wizje, które snujemy na temat zastosowań obliczeń kwantowych, czy to w symulacjach chemicznych, w finansach, w uczeniu maszynowym, czy to wszystko jest mrzonką, pojawiają się takie głosy, że kurczę, jest to bardzo podobne do tego, co obliczenia optyczne obiecywały, komputery biologiczne, spintronika, te wszystkie trendy się pojawiały i znikały. Natomiast obliczenia kwantowe z perspektywy osoby technicznej, ktoś, kto rozumie te algorytmy, stara się je zaaplikować. Naturalnie widzę w nich potencjał. Natomiast myślę, że to ile budżetu jest ładowane w te obliczenia, a następnie patrząc na to, co zostało zrobione z tym budżetem, jak plany rozwoju komputerów kwantowych publikowane przez różnych dostawców komputerów kwantowych są budowane, a następnie odhaczane, realizowane, konsekwentnie rok za rokiem, buduje to pewien optymizm na to, że nasze szacunki nie są tylko szacunkami z grubsza, opartymi na optymizmie, ale pewnym przepisem, technicznymi decyzjami, które konsekwentnie są realizowane zarówno przez osoby budujące komputery kwantowe, jak i osoby projektujące algorytmy kwantowe.
Także czas pokaże, gdzie i na jaką skalę obliczenie kwantowe stosować będziemy, natomiast według mnie pewne jest, że komputery kwantowe zostaną z nami na dłużej.
 
Szymon Głowania
Przechodząc do krótkiego podsumowania mam nadzieję, że udało nam się trochę odczarować quantum computing i wyobrazić sobie kubit i do czego może nam się przydać. Ja ci serdecznie dziękuję. Czy coś jeszcze na koniec ważnego oprócz właśnie tego wyobrażenia jak nasz dzień z quantum computingiem może wyglądać i że rzeczywiście warto i jest to możliwe żeby zacząć taką przygodę chciałbyś dodać na końcu?
 
Marek Kowalik
Nie bójcie pytać się o techniczne aspekty obliczeń kwantowych, drążyć temat, sprawdzać jak działają różne rzeczy. Obliczenia kwantowe to jest technologia jak każda inna. Obliczenia klasyczne też były jakąś nowostką, czasem czarną magią, a są z nami na każdym kroku. Obliczenia kwantowe może nie będą z nami na każdym kroku. To też jest technologia, która wydaje się egzotyczna, ale w zamierzeniu ma działać, ma pomagać, wnosić jakiś wkład, więc nie bójcie się sprawdzać. Sam fakt, że jesteście na tym podcaście i spędziliście trochę czasu słuchając mnie i moich gawęd na ten temat, już pokazuje dobry kierunek, w którym idziecie. I może jeszcze taka ostatnia rzecz, nie zawsze warto ufać nagłówkom gzetę o obliczeniach kwantowych, zarówno tych optymistycznych, jak i zupełnie pesymistycznych.
 
Szymon Głowania
Dziękujemy Marku za cały ogrom wiedzy, którym się z nami podzieliłeś. Na pewno chętnie przeczytamy coś więcej niż nagłowki o quantum computingu i czekamy na nowe możliwości, nowe zastosowania, które usprawnią jakieś elementy w naszym życiu.
 
Marek Kowalik
Dziękuję bardzo za rozmowę.
 
Szymon Głowania
Aby nie przegapić kolejnych odcinków, zasubskrybuj podcast TechChatter w swojej ulubionej aplikacji. A jeśli spodobał Ci się ten odcinek, daj nam znać wystawiając ocenę na Spotify lub Apple Podcasts. Wszystkie linki do zagadnień poruszonych w odcinku znajdziesz w jego opisie.