Zainteresowanie analizą danych i big data zaprowadziło nas na Data Science Łódź #16. W końcu uczenie maszynowe z użyciem komputerów kwantowych to wciąż przetwarzanie danych, choć na poziomie zaawansowania dotąd nieznanym ludzkości.
Poznaj kluczowe pojęcia związane z kwantowym uczeniem maszynowym (QML).
Maciej Adamiak z SoftwareMill i Uniwersytetu Adama Mickiewicza podczas treściwej prelekcji „Quantum-assisted machine learning” zaprezentował algorytm uczenia maszynowego, łączący działanie klasycznego komputera z komputerem kwantowym. Pokazał także przykłady kodu w Pythonie, uruchomionego wcześniej na komputerze kwantowym. Wykorzystał do tego chmurę IBM i odpowiednie biblioteki.
Pozytywnie zaskoczył nas poziom merytoryczny spotkania. Poza prelegentem, także uczestnicy wykazali się wiedzą – i to nie tylko w ogólnym obszarze data science, ale też w zupełnie świeżym temacie kwantowego uczenia maszynowego.
Jako podsumowanie prelekcji przedstawimy kluczowe pojęcia i ciekawostki, obrazujące obecny stan rozwoju komputerów kwantowych.
Kubity – jednostki komputera kwantowego
1 GB danych w zero-jedynkowych bitach można zapisać z wykorzystaniem ok. 30 kubitów (niepodzielnych jednostek komputera kwantowego). Maszyny operujące kubitami mogą wykonać wiele obliczeń jednocześnie, w przeciwieństwie do klasycznych komputerów. To jednak nie oznacza, że ich powszechne użycie szybko stanie się opłacalne.
Przewiduje się, że komputery kwantowe dopiero za kilka lat przewyższą mocą komputery klasyczne. Pojedyncze, dostępne obecnie maszyny operują zaledwie na ok. 30 kubitach.
Przyspieszenie algorytmu dzięki splątaniu kwantowemu
Maszyny kwantowe pozwalają na szybsze uzyskanie wyniku. Przyjrzyjmy się algorytmowi, działającemu ze złożonością O(n). Przykładowo, taki algorytm musi sprawdzać każdy element w n-elementowym wektorze. Dzięki komputerowi kwantowemu, możemy być pewni wyniku po sprawdzeniu jedynie kilku elementów tego wektora (złożoność stała O(1)). Pozwala na to “splątanie” komórek wektora w komputerze kwantowym, analogiczne do kwantowego splątania dwóch cząstek.
Losowość osiągana przez komputer kwantowy
Komputer kwantowy jest w stanie otrzymać prawdziwą losowość, podczas gdy na powszechnie stosowanych komputerach zawsze występuje jakiś seed. Dzięki maszynom kwantowym wystarczy wprowadzić kubit w stan superpozycji, gdzie prawdopodobieństwo, że kubit jest albo 1 albo 0 rozkłada się po połowie. To oznacza prawdziwy (czyli pochodzący z natury kwantowości), niedeterministyczny wybór.
Trudności w wykonywaniu obliczeń kwantowych
Korzystanie z komputera kwantowego wiąże się współcześnie z wieloma niedogodnościami. Opanowanie skomplikowanej wiedzy o zapisywaniu algorytmów w komputerze kwantowym to jeszcze nie wszystko. Wykonanie obliczeń przy obecnym stanie technologii komputerów kwantowych wymaga skrajnej ostrożności i skrupulatności. Dla przykładu, konieczne jest minimalizowanie użycia bramek kwantowych, by ścieżka nie była zbyt długa. W przeciwnym razie, szum może przeinaczyć rezultat do tego stopnia, że będzie on losowy.
Dostęp do komputera kwantowego
Komputer kwantowy nie jest i jeszcze przez jakiś czas nie będzie dostępny komercyjnie. Można z niego skorzystać poprzez chmurę IBM, łącząc go z klasycznym komputerem. Maszyna kwantowa IBM Q fizycznie pozostanie na terenie firmy producenta. To dlaczego, że do poprawnego wykonywania obliczeń potrzebuje całkowitej izolacji. Znajduje się w szklanej obudowie szerokiej na ok. 2,7 m i temperaturze bliskiej zeru bezwzględnemu (-273°C). Chroniony jest nie tylko przed wahaniami temperatury, ale także innymi czynnikami jak np.: głośne dźwięki, wibracje czy promieniowanie. Najmniejsza zmiana warunków fizycznych wokół komputera kwantowego może pozbawić kubity ich właściwości.
Machine learning i data science to tematy, które przewijają się w projektach IT. Coraz częściej towarzyszyć im będą próby wykorzystania komputerów kwantowych do obliczeń.
Dziś próbę połączenia świata kwantowego ze światem informatyki dobrze oddaje cytat, przytoczony przez Macieja Adamiaka:
„In fact, the mere act of opening the box will determine the state of the cat, although in this case there were three determinate states the cat could be in: these being Alive, Dead, and Bloody Furious”
Terry Pratchett