Sztuczna inteligencja projektuje układy scalone dla przyszłych generacji sztucznej inteligencji

| Technologia
CC0, Public Domain

Rynkowy sukces lub porażka układu scalonego zależą w dużej mierze od etapu jego projektowania. Wtedy właśnie zostają podjęte decyzje odnośnie umiejscowienia na krzemie modułów pamięci i elementów logicznych. Dotychczas zadania tego nie udawało się zautomatyzować, a etap projektowania zajmuje inżynierom całe tygodnie lub miesiące. Inżynierowie Google'a poinformowali właśnie, że stworzony przez nich system sztucznej inteligencji poradził sobie z częściowym zaprojektowaniem chipa w ciągu godzin.

Współczesne układy scalone składają się z miliardów tranzystorów, dziesiątek milionów bramek logicznych, tysiące bloków logicznych i łączących je kilometrów ścieżek. Lokalizacja poszczególnych układów i bloków logicznych odgrywa kluczową rolę dla przyszłej wydajności chipa. Specjaliści od dziesięcioleci pracują nad rozwiązaniami pozwalającymi zautomatyzować proces projektowania.

Jako że bloki logiczne to duże elementy, tysiące i miliony razy większe od bramek logicznych, bardzo trudno jest jednocześnie umieszczać bloki i bramki. Dlatego współcześni projektanci układów najpierw umieszczają na krzemie bloki, a wolne miejsca zostają zapełnione pozostałymi bramkami logicznymi.

Już samo rozmieszczenie bloków jest niezwykle wymagające. Eksperci Google'a obliczyli, że liczba możliwych kombinacji rozmieszczenia makrobloków, które brali pod uwagę w swoich badaniach, wynosi 102500.

Planując rozmieszczenie bloków, inżynierowie muszą pamiętać o pozostawieniu miejsca na inne elementy i ich łączenie. Azalia Mirhoseini i jej zespół poinformowali na łamach Nature o stworzeniu metody automatycznego wstępnego projektowania chipa w czasie krótszym niż 6 godzin, które swoimi wynikami dorównuje lub nawet przewyższa to, co potrafią doświadczeni inżynierowie.
naukowcy z Google'a wykorzystali techniki maszynowego uczenia się do wytrenowania swojego programu tak, by rozmieszczał na planie makrobloki. Po umieszczeniu każdego z nich program dokonuje oceny całego chipa, a następnie wykorzystuje to, czego się nauczył, do zaplanowania jak najlepszego kolejnego kroku.

Co interesujące, projekty tworzone przez google'owską SI znacząco różnią się od tego, jak projektuje człowiek. Sztuczna inteligencja rozpoczyna od największych makrobloków. Ponadto w jakiś sposób unika ciągłego poprawiania tego, co już zostało zrobione. Inżynierowie, po umieszczeniu kolejnych bloków, bardzo często poprawiają rozmieszczenie następnych. SI tego nie robi. Mimo to udało jej się zaprojektować układy, w których sygnał pomiędzy poszczególnymi elementami biegnie równie sprawnie, co między układami zaprojektowanymi przez ludzi.

Google już stosuje metody opracowane prze Mirhoseini do projektowania układów dla przyszłej generacji systemów sztucznej inteligencji. Tymczasem producenci układów scalonych próbują odtworzyć osiągnięcie Google'a i wdrożyć podobne rozwiązania do własnego procesu projektowania.

sztuczna inteligencja układ scalony projektowanie