Sztuczna inteligencja projektuje układy scalone dla przyszłych generacji sztucznej inteligencji
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.
Komentarze (3)
peceed, 10 czerwca 2021, 15:57
Powinno być "poprawiają rozmieszczenie poprzednich".
Brzmi jak bug, a nie feature, ale:
To akurat ma sens - w miarę postępu pracy powstają coraz bardziej skomplikowane dziury, które w oczywisty sposób łatwiej wypełniać coraz mniejszymi blokami.
Jeśli ludzie robią inaczej, to łatwiej wpaść w pułapkę że nie da się wsadzić albo skomunikować dużego elementu. Do tego AI może precyzyjniej szacować, człowiek zawsze będzie robił więcej błędów niż maszyna.
Ludzie w pewnym sensie są bez szans - podobnie jak w szachach, ilość przykładów uczących mózg jest bardzo mała w porównaniu do ilości używanych do trenowania sieci neuronowych.
Ravn7, 13 czerwca 2021, 22:36
Gdyby to był bug, wtedy jego wyeliminowanie przyniosłoby zauważalny wzrost wydajności, a to już - odnosząc się do ich twierdzeń - przekroczyłoby możliwości człowieka. Bylibyśmy więc u progu osobliwości technologicznej. Czyli, właściwie, nowej ery.
GROSZ-ek, 14 czerwca 2021, 12:12
To nie przyzwoite: komputery projektują komputery