Intel Labs podsumowało badania z kilku obszarów, zintegrowana fotonika, komputeryzacja kwantowa, programowanie maszynowe i układy neuromorficzne. Brzmi jak science-fiction?
Za każdym razem gdy przyjdzie mi śledzić osiągnięcia Intel Labs, a więc badawczo-rozwojowej części Intela, odnoszę wrażenie, że właśnie siadłem do dobrej książki lub filmu z jednego z moich ulubionych gatunków, czyli science-fiction. Tyle, że te futurystyczne koncepcje to realne osiągnięcia. Zatem tylko „science”, bez „fiction”.
Intel przedstawił ostatnio zakres swoich nowych osiągnięć naukowych, dzieląc je na kilka grup i wyjaśniając nieco detali nt. każdej z nich. I tak poznaliśmy ostatnie osiągnięcia giganta z Santa Clara z zakresów komputeryzacji kwantowej, programowania maszynowego, budowy układów neuromorficznych i zintegrowanej fotoniki. I ktoś może stwierdzić, że przecież Intel to firma, która produkuje procesory – po co więc te wszystkie, nieco tajemnicze obszary? Odpowiedź jest prosta – to przyszłość komputeryzacji, a Intel od początku istnienia komputerów osobistych jest w ścisłej awangardzie rozwoju – nawet jeśli na polu produktowym w ostatnim czasie miał małą zadyszkę.
Wydarzenie zatytułowane „W pogoni za 1000x: przełomowe badania na następną dekadę informatyki” poprowadził Rich Uhlig, dyrektor Intel Labs. Chodzi o skalę zmian – Intel Labs nie ukrywa, że chodzi o sposoby, w jakie rozwiną się komputery w najbliższej przyszłości.
Zintegrowana fotonika lub fotonika krzemowa
Zacznijmy od kwestii, która jest nie tylko ciekawa, ale też zdaje się być dość bliska zastosowaniu praktycznemu w najbliższym czasie. Podczas Intel Labs Day 2020 firma zaprezentowała swoje badania nad fotoniką krzemu nowej generacji. Intel bada ten temat od lat. Już kilkanście lat temu pojawiła się koncepcja komunikacji międzyukładowej realizowanej za pomocą optyki, a nie elektryczności. Dlaczego jest to tak ważne? Otóż elektryczna komunikacja jest bardziej wydajna przy krótszych zasięgach. Przy większych odległościach interferencje i przetwarzanie sygnału sprawiają, że połączenia optyczne są lepszym wyborem. Oparte na elektryczności przesyłanie danych jest także bardziej angażujące energetycznie na dłuższych odległościach.
Rozwiązaniem może być fotonika krzemowa. Zamiast tradycyjnych transceiverów optycznych zastosowanie fotoniki krzemowej ze zintegrowanymi źródłami światła, detektorami i innymi komponentami oznacza, że interfejsy I/O mogą być projektowane i wytwarzane na poziomie krzemu, a nie przy użyciu dodatkowych modułów np. QSFP. Do tej pory pewnym ograniczeniem była kwestia fotonicznych właściwości krzemu oraz możliwości skutecznego przełączania sygnału z optyczny na elektryczny. Zintegrowanie tego elementu ułatwiłoby produkcję i wdrożenie, nie wspominając już o niższych kosztach.
Podczas Intel Labs Day 2020 firma zaprezentowała nowy prototyp integracji fotoniki w krzemie. Zastosowanie masowej komunikacji optycznej w centrach danych miało by w ten sposób znaczące ułatwienie – redukcję zużywanego prądu i wydzielanego ciepła. Intel podał też, że już wysyła swoje krzemowe transceivery fotoniczne i wykazują one wyższą niezawodność w terenie niż ich tradycyjne odpowiedniki. Chociaż Intel nie podaje nazwy swojego największego klienta na ten produkt, to lista potencjalnych klientów jest dość krótka. Muszą to być firmy, które przetwarzają olbrzymie ilości danych w bardzo krótkim czasie i korzystają z własnej infrastruktury. Microsoft, Google, Facebook czy Amazon to naturalne domysły.
Programowanie maszynowe – koniec programisty?
Intel podjął też tematykę tzw. programowania maszynowego. Założenie jest, na poziomie koncepcji, dość proste – czy AI nie mogłoby zająć się programowaniem? Teoretycznie tak, ale najpierw trzeba by bardzo precyzyjnie podać sztucznej inteligencji jakiego efektu, sposobu działania etc. oczekujemy od powstałego programu. W praktyce byłoby to nadal w pewnym stopniu programowanie, więc czynnika ludzkiego w pełni nie wyeliminujemy. Co innego debugowanie. Szukanie błędów, niedoskonałości, niepotrzebnych linii – tym AI może się zająć bez konieczności ludzkiej ingerencji.
„Jeśli odniesiemy sukces w programowaniu maszynowym, cała przestrzeń debugowania przestanie istnieć” – wyjaśnił Justin Gottschlich, główny naukowiec oraz dyrektor i założyciel badań nad programowaniem maszynowym w Intel Labs. – „Debugowanie spowalnia naszych programistów (…) Następuje utrata produktywności. A debugowanie z natury oznacza, że jakość oprogramowania jest nie do przyjęcia, w przeciwnym razie nie debugowalibyśmy. Więc w pewnym sensie właśnie to chcemy naprawić”.
I zapewne ma rację. Zresztą koncepcja programowania zmieniała się z czasem i dziś specjalistów w językach niskopoziomowych jest niewielu, podczas gdy programistów znających np. Pythona – wielokrotnie więcej. To nie tylko kwestia przydatności na rynku pracy, ale też progu wejścia. I to właśnie ten próg może obniżyć programowanie maszynowe według koncepcji Intela. Gottschlich opisał taką wizję jako koncepcję „błękitnego nieba”. Założenie byłoby takie, że niewiele osób faktycznie robiłoby to, co obecnie uważamy za programowanie. W większości przypadków ludzie po prostu opisywaliby pomysł sztucznej inteligencji, uzupełnialiby pewne luki, a potem tylko czekali aż oparty na sztucznej inteligencji system wygeneruje żądaną aplikację. To oczywiście stan idealny, a do niego jeszcze długa droga.
„Podstawową zasadą programowania maszyn jest to, że gdy człowiek wyrazi swoje zamiary maszynie, maszyna automatycznie obsługuje tworzenie całego oprogramowania, które jest wymagane do realizacji tego zamiaru” – powiedział Justin Gottschlich.
Podoba mi się to, jak Intel opisuje przejście od dzisiejszego programowania, do tego, które wykorzysta AI. Firma odwołała się tu do… malarza, który aby obraz namalować musi najpierw stworzyć pędzel, płótno, sztalugę, ramę i samą farbę. Zamiast tego może korzystać przecież z gotowych narzędzi. Gottschlich zwrócił uwagę, że tylko 1 procent z 7,8 miliarda ludzi na świecie potrafi programować. Jak przyznał, badania nad programowaniem maszyn mają na celu zmianę tego 1% na 100%.
Gottschlich powiedział, że Intel opracował kilkanaście systemów programowania maszyn i opisał trzy z nich. Pierwszy może automatycznie wykrywać błędy w wydajności. Samodzielnie pisze testy automatyczne i może je dostosować do różnych architektur sprzętowych. System, zwany AutoPerf, jest opisany w artykule przedstawionym w NeurIPS, „A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions”. Drugi nazywa się MISIM (Machine Inferred Code Similarity). System stara się zidentyfikować, fragmenty kodu, które pełnią tę samą funkcję, nawet jeśli robią to na różne sposoby. Trzeci to kolejny system wyszukiwania błędów o nazwie ControlFlag, który opisaliśmy osobno tutaj. Programiści mogą być nadal spokojni o pracę – mniej spokojni mogą być natomiast, ale i to w dość długiej perspektywie, testerzy oprogramowania. Kiedyś ich stanowisko zostanie „przejęte przez AI”.
Układy neuromorficzne
Intel poinformował także o postępach społeczności Intel Neuromorphic Research Community (INRC). Istnieje ona już dwa lata i stale dołączają do niej nowe firmy, teraz m.in. Lenovo, Logitech, Mercedes-Benz i Prophesee. Intel podsumował też rosnącą liczbę wyników badań członków INRC, którzy wykorzystali neuromorficzny chip Loihi.
„W ciągu dwóch krótkich lat stworzyliśmy tętniącą życiem społeczność składającą się z setek naukowców z całego świata, zainspirowanych obietnicą, że obliczenia neuromorficzne przyniosą rzędy wielkości wzrost wydajności, szybkości i inteligentnych funkcji obliczeniowych. Po raz pierwszy widzimy ilościowy obraz, który potwierdza tę obietnicę. Wraz z naszymi partnerami INRC planujemy wykorzystać te spostrzeżenia, aby umożliwić szeroko zakrojone, przełomowe zastosowania komercyjne dla tej powstającej technologii ”.
– Mike Davies, dyrektor Neuromorphic Computing Lab firmy Intel
Obliczenia neuromorficzne nadal się rozwijają, ale w końcu mają miejsce rzeczywiste przypadki użycia technologii neuromorficznej. Przykłady to m.in. zastosowanie w robotyce, szybkie przeszukiwanie dużych baz danych pod kątem podobnych treści (np. obrazów) oraz umożliwienie urządzeniom brzegowym podejmowania trudnych decyzji dotyczących planowania i optymalizacji w czasie rzeczywistym.
Wśród zastosowań podanych przez Intela, pojawiło się użycie układów Loihi przez Accenture, do badania zdolności rozpoznawania poleceń głosowych w porównaniu ze standardową jednostką przetwarzania grafiki (GPU). Firma uznała, że Loihi nie tylko osiągnął podobną dokładność, ale reagował nawet o 200 milisekund szybciej, a przy tym pobierał łącznie, bagatela, 1000 razy mniej prądu. Firma podała także przykład rozpoznawania gestów, których używamy nieco nieświadomie w komunikacji. To pozwoli w przyszłości na lepsze „rozmawianie” z maszyną. Poniekąd widać to już teraz w obszarach takich jak np. interakcja bezdotykowymi systemami w przestrzeni publicznej.
Komputeryzacja kwantowa
„Jeśli sądzisz, że rozumiesz mechanikę kwantową, to nie rozumiesz mechaniki kwantowej” – powiedział kiedyś Richard Feynman. Intel z całą pewnością jednak rozumie. Firma od lat prowadzi badania w zakresie komputerów kwantowych, czego skutkiem w ubiegłym roku było zaprezentowanie kontrolera Horse Ridge. Teraz Intel przedstawił Horse Ridge II, który ma większe możliwości i wyższy poziom integracji w celu kontrolowania komputera kwantowego, co pozostaje długoterminowym celem firmy.
Na początku projektu naukowcy Intela zaprojektowali skalowalny system na chipie (SOC) do pracy w temperaturach kriogenicznych, upraszczając elektronikę sterującą i połączenia niezbędne do skalowania i obsługi dużych, kwantowych systemów obliczeniowych. Większość systemów kwantowych działa naprawdę tylko w temperaturach bliskich zera. Intel próbuje to zmienić, ale w międzyczasie układ sterujący eliminuje konieczność umieszczania setek przewodów w chłodzonej obudowie, w której znajduje się komputer kwantowy.
Badacze kwantowi pracują tylko z niewielką liczbą kubitów lub bitów kwantowych, używając mniejszych, specjalnie zaprojektowanych systemów otoczonych złożonymi mechanizmami kontroli i połączeń. Zastosowanie obliczeń kwantowych do rozwiązywania problemów w świecie rzeczywistym zależy przede wszystkim od możliwości skalowania i kontrolowania tysięcy kubitów jednocześnie.
Wzrost liczby kubitów wywołuje inne problemy, które stanowią wyzwanie dla działania systemu kwantowego. Jednym z takich potencjalnych skutków jest spadek żywotności i wydajności kubitów. Opracowując oryginalną wersję Horse Ridge, Intel zoptymalizował technologię multipleksowania, która umożliwia systemowi skalowanie i redukcję błędów wynikających z „przesunięcia fazowego” – zjawiska, które może wystąpić podczas kontrolowania wielu kubitów na różnych częstotliwościach. Inżynierowie mogą dostroić różne częstotliwości wykorzystywane przez Horse Ridge z dużą precyzją, umożliwiając systemowi kwantowemu dostosowanie i automatyczną korektę przesunięcia fazowego podczas sterowania wieloma kubitami z tą samą linią częstotliwości radiowej (RF), poprawiając wierność bramki kubitowej.
W Horse Ridge II badacze Intela dodali możliwość manipulowania stanami kubitów i odczytywania ich oraz kontrolowania potencjału kilku bram wymaganych do splątania wielu kubitów.
https://itreseller.pl/itrnewnowe-narzedzie-do-programowania-maszynowego-wykrywa-bledy-w-kodzie/