Naukowcy z Sandia National Laboratories, Infineon Technologies i Arizona State University pokazali, jak liczyć duże transformaty Fouriera na analogowym układzie zbudowanym z macierzy pamięci. Ich chip obsłużył 65 536 punktów, podczas gdy wcześniejsze podobne konstrukcje dochodziły do 128. Wyniki opisano w czasopiśmie Nature Electronics.
Do czego służy transformata Fouriera
Transformata Fouriera pozwala rozłożyć sygnał na częstotliwości składowe i sprawdzić, jaki wkład ma każda z nich. Dzięki temu wyłapuje się wzorce w dźwięku czy obrazie, od powolnych zmian natężenia po drobne, powtarzalne detale.
Komputery cyfrowe wykonują te obliczenia algorytmem szybkiej transformaty Fouriera (FFT). Dzieli on duże zadanie na coraz mniejsze, co daje ogromne przyspieszenie. Układy analogowe, które operują na ciągłych wielkościach fizycznych, takich jak napięcie, są za to z natury energooszczędne. Do tej pory trudno było jednak połączyć jedno z drugim przy dużych transformatach.
Jak połączono FFT z pamięcią
Analogowe układy pamięciowe dobrze radzą sobie z mnożeniem macierzy, a to podstawa większości obliczeń w sztucznej inteligencji. Problem w tym, że macierz ma fizyczny rozmiar, a klasyczne FFT dzieli zadanie na jak najmniejsze kawałki.
Zespół zastosował jedną z pierwotnych wersji algorytmu, która rozbija transformatę na dwie mniejsze, i powtarzał ten podział tylko do momentu, gdy podzadanie zmieściło się w fizycznej macierzy pamięci. Kluczowe operacje liczy równolegle układ analogowy, a pozostałe etapy wykonuje się cyfrowo. Dla efektywności energetycznej warto dzielić zadanie jak najmniej razy, więc większe macierze sprawdzają się lepiej niż małe.
Chip wykorzystuje pamięć flash typu SONOS, w której ładunek uwięziony w cienkiej warstwie izolatora pozwala zachować wartość bez zasilania. W komórkach zapisano współczynniki dyskretnej transformaty Fouriera, czyli liczby zespolone. Jednocześnie pracowało ponad pół miliona elementów, a ich precyzyjne sterowanie ogranicza narastanie błędów. Jak ujął to pierwszy autor pracy, T. Patrick Xiao: „Ze względu na sposób skalowania FFT dużo łatwiej niż wcześniej zwiększać rozmiar transformat”.
Możliwe zastosowania
Autorzy widzą potencjał głównie tam, gdzie liczy się mały pobór energii i niewielka powierzchnia układu, czyli w tzw. przetwarzaniu brzegowym (edge computing), gdzie dane obrabia się na miejscu, bez wysyłania ich do centrum danych. Chodzi na przykład o czujniki bez dostępu do sieci energetycznej. Według modelowania zespołu metoda mogłaby zmniejszyć energię potrzebną do przetwarzania sygnałów.
Christopher Bennett, ostatni autor pracy, wskazuje na satelity z cyfrowym procesorem i analogowym koprocesorem, które mogłyby tworzyć obrazy optyczne lub radarowe o rozdzielczości wyższej nawet o rząd wielkości. Wymienia też wykrywanie pożarów lasów, monitorowanie zmian użytkowania terenu, poszukiwanie surowców oraz drony, które wykonywałyby analizy w czasie rzeczywistym podczas długich lotów.
Ograniczenia i znaczenie w praktyce
To na razie wczesny etap. Metodę przetestowano na jednowymiarowych sygnałach audio i dwuwymiarowych obrazach. Analogowe obliczenia wprowadzają niewielkie błędy, które można zmniejszać dokładniejszymi układami i korektami algorytmicznymi. Zespół musi jeszcze sprawdzić, jak wpływają one na wyniki w realnych zadaniach, a następnie przetestować chip na złożonych obciążeniach, łączących FFT z innymi obliczeniami, np. z algorytmami AI.
Dla polskiego czytelnika to na razie ciekawostka technologiczna, a nie produkt, który wkrótce pojawi się w sklepach. Pokazuje jednak kierunek, w jakim idzie część branży: zamiast stale zwiększać moc serwerów, szuka się sposobów, by sprzęt w telefonach, czujnikach czy dronach wykonywał trudne obliczenia na baterii. Jeśli podejście się sprawdzi, może to w przyszłości ułatwić m.in. analizę dźwięku i obrazu w urządzeniach brzegowych, także w europejskich projektach monitoringu środowiska. Na razie nie ma jednak informacji o planach komercjalizacji.
Źródło: Tech Xplore – „Team unlocks large-scale Fourier transforms for analog in-memory computing”
