Wyzwania obliczeniowe nowoczesnej AI
Duże modele językowe (LLM) stanowią filary współczesnej sztucznej inteligencji, demonstrując niezwykłe zdolności, które przekształcają przemysł i odkrycia naukowe. Ich biegłość w generowaniu tekstu podobnego do ludzkiego, zasilaniu zaawansowanych agentów konwersacyjnych, a nawet wspomaganiu złożonych zadań badawczych uczyniła je niezbędnymi narzędziami. W sercu tych potężnych modeli bije architektura transformer, projekt charakteryzujący się naprzemiennymi warstwami. Dane wejściowe, podzielone na tokeny, przepływają przez sekwencję mechanizmów uwagi, które ważą znaczenie różnych tokenów, a następnie przez sieci feed-forward (FFN), które przetwarzają zebrane informacje. To warstwowe, sekwencyjne przetwarzanie jest fundamentalne dla sposobu, w jaki transformery uczą się i generują wyniki.
Jednak ta sama architektura, choć skuteczna, stanowi rosnące wyzwanie w miarę jak modele rosną pod względem rozmiaru i złożoności. Sekwencyjna natura oznacza, że każda warstwa musi generalnie czekać na zakończenie obliczeń przez poprzednią, zanim sama będzie mogła rozpocząć. To przetwarzanie krok po kroku tworzy nieodłączny wąskie gardło, szczególnie podczas fazy wnioskowania – etapu, w którym wytrenowany model jest faktycznie używany do generowania predykcji lub tekstu. W miarę jak modele takie jak te zasilające zaawansowanych asystentów AI zawierają setki miliardów, a nawet biliony parametrów, zasoby obliczeniowe i czas wymagany do wnioskowania dramatycznie rosną. Ten rosnący popyt przekłada się na znaczące opóźnienia (latency), zmniejszoną przepustowość (throughput - liczba żądań obsłużonych w danym czasie) i rosnące koszty operacyjne, utrudniając powszechne wdrażanie i zastosowanie w czasie rzeczywistym najpotężniejszych LLM. W konsekwencji, zwiększenie efektywności wnioskowania stało się nadrzędnym problemem w społeczności badawczej AI, napędzając poszukiwania innowacyjnych strategii, które mogą usprawnić obliczenia bez uszczerbku dla niezwykłej wydajności oferowanej przez te modele. Główne wyzwanie polega na złagodzeniu ograniczeń narzuconych przez sekwencyjne wykonanie, zwłaszcza w środowiskach rozproszonych, gdzie obliczenia obejmują wiele GPU, dodając narzut komunikacyjny do czasu przetwarzania.
Nawigacja po krajobrazie optymalizacji: Istniejące narzędzia i ich ograniczenia
W ciągłym dążeniu do uczynienia LLM bardziej oszczędnymi i szybszymi, badacze opracowali zestaw narzędzi optymalizacyjnych. Każde z nich oferuje ścieżkę do efektywności, ale często wiąże się z własnym zestawem kompromisów, uniemożliwiając jakiejkolwiek pojedynczej metodzie bycie uniwersalnym rozwiązaniem. Zrozumienie tych kompromisów jest kluczowe dla docenienia potrzeby nowych podejść, takich jak FFN Fusion.
Jedną z prominentnych technik jest kwantyzacja. Polega ona na zmniejszeniu precyzji numerycznej używanej do reprezentowania wag i aktywacji modelu. Zamiast używać standardowych 32-bitowych liczb zmiennoprzecinkowych, modele mogą używać reprezentacji 16-bitowych, 8-bitowych, a nawet o niższej liczbie bitów. Bezpośrednio zmniejsza to zapotrzebowanie modelu na pamięć i może znacznie przyspieszyć obliczenia, ponieważ operacje na liczbach o niższej precyzji są zazwyczaj szybsze i wymagają mniej energii. Jednak kwantyzacja nie jest pozbawiona ryzyka. Zmniejszenie precyzji może prowadzić do utraty informacji, potencjalnie pogarszając dokładność modelu. Ryzyko to staje się bardziej wyraźne przy bardzo niskich szerokościach bitowych, wymagając starannej implementacji, a czasami ponownego treningu, aby złagodzić spadki dokładności. Wyzwanie polega na znalezieniu złotego środka, który maksymalizuje zyski efektywności, utrzymując jednocześnie degradację wydajności w akceptowalnych granicach.
Inną powszechną strategią jest przycinanie (pruning). Technika ta opiera się na zasadzie, że wiele parametrów w dużej sieci neuronowej może być zbędnych lub minimalnie przyczyniać się do końcowego wyniku. Algorytmy przycinania identyfikują i usuwają te mniej ważne połączenia lub neurony, co skutkuje mniejszym, rzadszym modelem. Podobnie jak kwantyzacja, przycinanie zmniejsza wymagania pamięciowe i obciążenie obliczeniowe. Jednak precyzyjne określenie, które parametry są ‘bezpieczne’ do usunięcia, jest złożone. Agresywne przycinanie może nieumyślnie usunąć kluczowe komponenty, prowadząc do znacznej utraty dokładności. Dostrajanie modelu po przycinaniu jest często konieczne, aby odzyskać wydajność, co dodaje złożoności do przepływu pracy. Staranne kalibrowanie jest niezbędne, aby upewnić się, że przycięty model pozostaje skuteczny.
Bardziej odmiennym architektonicznie podejściem jest model Mixture-of-Experts (MoE). Zamiast przetwarzać każde wejście przez całą sieć, modele MoE składają się z wielu ‘eksperckich’ podsieci (zazwyczaj FFN). Dla każdego tokenu wejściowego mechanizm bramkujący dynamicznie wybiera mały podzbiór tych ekspertów do wykonania obliczeń. To warunkowe obliczenie oznacza, że tylko ułamek całkowitej liczby parametrów modelu jest aktywowany dla danego wejścia, co prowadzi do znacznych oszczędności obliczeniowych, zwłaszcza podczas treningu i wnioskowania na bardzo dużych modelach. Modele MoE mogą skalować się do bilionów parametrów, utrzymując rozsądne koszty obliczeniowe. Jednak ich efektywność jest silnie zależna od obciążenia. Doskonale radzą sobie z obsługą bardzo dużych rozmiarów partii (batch sizes), gdzie selektywny wzorzec aktywacji prowadzi do dobrego wykorzystania sprzętu. Przy mniejszych lub pośrednich rozmiarach partii modele MoE mogą cierpieć z powodu niedostatecznego wykorzystania zasobów obliczeniowych, ponieważ równoległy sprzęt może nie być stale zajęty przez rzadko aktywowanych ekspertów. Ponadto implementacja i równoważenie obciążenia modeli MoE może być bardziej złożone niż wdrażanie standardowych ‘gęstych’ architektur.
Chociaż kwantyzacja, przycinanie i modele MoE stanowią cenne postępy w optymalizacji LLM, ich nieodłączne ograniczenia podkreślają potrzebę alternatywnych lub uzupełniających strategii. Poszukiwania trwają w kierunku metod, które mogą zapewnić szerokie usprawnienia efektywności w różnych scenariuszach, idealnie z mniejszą liczbą kompromisów w zakresie dokładności lub złożoności implementacji, szczególnie dla gęstych architektur modeli, które pozostają popularne ze względu na ich względną prostotę w treningu i wdrażaniu.
FFN Fusion: Nowe spojrzenie na równoległość w Transformerach
Wśród tego krajobrazu technik optymalizacyjnych, badacze z NVIDIA wprowadzili przekonujące nowe podejście nazwane FFN Fusion. Technika ta bezpośrednio konfrontuje się z sekwencyjnym wąskim gardłem nieodłącznym dla architektury transformer, nie poprzez zmianę parametrów czy selektywną aktywację części, ale poprzez fundamentalne przemyślenie sposobu, w jaki sekwencje obliczeń mogą być zrównoleglone. Innowacja wynika z kluczowej obserwacji dotyczącej zachowania warstw FFN w głębokich modelach transformer.
Używając narzędzia diagnostycznego o nazwie Puzzle, badacze przeanalizowali wewnętrzne działanie dużych modeli. Kiedy eksperymentalnie usunęli warstwy uwagi, zauważyli, że modele często zachowywały zaskakująco długie sekwencje kolejnych warstw FFN. Co ważniejsze, analiza ujawniła, że obliczenia wykonywane przez te sąsiadujące FFN często wykazywały minimalną wzajemną zależność. W istocie, wyjście jednej FFN w sekwencji często nie zmieniało drastycznie ścieżki kierunkowej ani podstawowych informacji potrzebnych przez bezpośrednio następującą FFN. Sugerowało to, że te FFN, tradycyjnie wykonywane jedna po drugiej, mogą posiadać potencjał do jednoczesnego, równoległego wykonania bez znaczącego zakłócania ogólnej funkcji modelu.
Ta spostrzeżenie stało się fundamentem FFN Fusion. Główna idea jest elegancko prosta, a jednocześnie potężna: zidentyfikować sekwencje kolejnych warstw FFN o niskiej zależności obliczeniowej i połączyć je w jedną, szerszą warstwę FFN, która wykonuje równoważne obliczenia równolegle. Zamiast łańcucha typu Wejście -> FFN1 -> FFN2 -> FFN3 -> Wyjście
, połączona struktura staje się Wejście -> Połączona_FFN (Równoważna FFN1+FFN2+FFN3 równolegle) -> Wyjście
. Ta transformacja architektoniczna skutecznie skraca sekwencyjną głębokość sieci, zastępując wiele kroków jednym, szerszym krokiem obliczeniowym. Celując w te sekwencje FFN o niskiej zależności, FFN Fusion ma na celu zmniejszenie opóźnień i kosztów obliczeniowych przy jednoczesnym zachowaniu mocy reprezentacyjnej i dokładności modelu. Rozwój Ultra-253B-Base z Llama-3.1-405B-Instruct posłużył jako główna demonstracja potencjału tej techniki.
Architektoniczna alchemia: Jak działa FFN Fusion
Magia stojąca za FFN Fusion tkwi w sprytnym manipulowaniu podstawową strukturą matematyczną sieci feed-forward. Nie chodzi tu jedynie o uruchamianie istniejących warstw obok siebie; polega to na stworzeniu nowej, zunifikowanej warstwy, która replikuje zbiorowe zachowanie oryginalnej sekwencji, ale robi to współbieżnie.
Rozważmy sekwencję k kolejnych warstw FFN. W standardowym transformerze, wejście x
przechodzi przez FFN1
, jego wyjście staje się wejściem dla FFN2
, i tak dalej, aż do FFNk
. Każdy krok zależy jawnie od zakończenia poprzedniego. FFN Fusion przerywa ten łańcuch zależności. Matematycznie, FFN zazwyczaj obejmuje dwie transformacje liniowe z nieliniową funkcją aktywacji (jak GeLU lub SwiGLU) pomiędzy nimi: FFN(x) = W_out * Activation(W_in * x)
. FFN Fusion wykorzystuje fakt, że transformacje liniowe często można połączyć.
Proces fuzji działa poprzez konkatenację wag poszczególnych warstw FFN. W szczególności, macierze wag wejściowych (W_in
) kolejnych FFN są łączone (np. blokowo-diagonalnie) w jedną, większą macierz wag wejściowych dla połączonej warstwy. Podobnie, macierze wag wyjściowych (W_out
) są konkatenowane, tworząc jedną, szerszą macierz wag wyjściowych. Funkcja aktywacji jest stosowana elementowo w ramach tej większej struktury. Ta konstrukcja zapewnia, że połączona FFN działa na oryginalnym wejściu x
jednocześnie poprzez równoległe ścieżki odpowiadające oryginalnym FFN. Wyjścia z tych równoległych ścieżek są następnie niejawnie agregowane przez strukturę skonkatenowanych wag wyjściowych.
Podstawy teoretyczne potwierdzają, że ta połączona struktura może zachować tę samą zdolność reprezentacyjną co oryginalna sekwencja FFN, pod warunkiem, że zależności między oryginalnymi warstwami były rzeczywiście niskie. Kluczem jest identyfikacja, które sekwencje nadają się do fuzji. Aby zrobić to systematycznie, badacze z NVIDIA zastosowali technikę analizy zależności. Mierzyli odległość kosinusową między ukrytymi stanami wyjściowymi kolejnych warstw FFN dla reprezentatywnego zestawu tokenów wejściowych. Mała odległość kosinusowa wskazuje, że wektor wyjściowy jednej FFN wskazuje w bardzo podobnym kierunku co wektor wyjściowy następnej FFN w sekwencji. To podobieństwo sugeruje niską zależność funkcjonalną – druga FFN nie zmienia drastycznie reprezentacji informacji ustalonej przez pierwszą. Sekwencje FFN wykazujące konsekwentnie niskie odległości kosinusowe między warstwami zostały zidentyfikowane jako główni kandydaci do fuzji, ponieważ ich połączenie było mniej prawdopodobne, aby zakłócić nauczone reprezentacje modelu i ogólną wydajność. To podejście oparte na danych pozwala na ukierunkowane zastosowanie FFN Fusion do tych części modelu, gdzie będzie ono najbardziej skuteczne i najmniej zakłócające.
Od behemota do sprintera: Transformacja Ultra-253B-Base
Praktyczna moc FFN Fusion została żywo zademonstrowana poprzez jej zastosowanie do jednego z największych publicznie znanych modeli w tamtym czasie, Llama-3.1-405B-Instruct. Model ten, szczycący się 405 miliardami parametrów, stanowił znaczące przedsięwzięcie obliczeniowe pod względem wnioskowania. Badacze rozpoczęli proces udoskonalania architektury, łącząc FFN Fusion ze strategicznym przycinaniem, aby stworzyć nowy, bardziej wydajny model nazwany Ultra-253B-Base.
Proces transformacji obejmował kilka kroków:
- Analiza: Używając swoich narzędzi do analizy zależności (mierząc odległości kosinusowe), badacze zidentyfikowali sekwencje kolejnych warstw FFN w architekturze Llama-405B, które wykazywały niską zależność międzywarstwową.
- Fuzja: Te zidentyfikowane sekwencje FFN zostały następnie połączone w pojedyncze, szersze warstwy FFN, jak opisano wcześniej (konkatenacja wag). Bezpośrednio zmniejszyło to liczbę sekwencyjnych kroków w sieci.
- Przycinanie: Równocześnie lub następnie, parametry uznane za mniej krytyczne (potencjalnie zidentyfikowane za pomocą standardowych technik przycinania lub na podstawie informacji z procesu fuzji) zostały usunięte z modelu.
To połączone podejście zaowocowało Ultra-253B-Base, modelem z 253 miliardami parametrów. Stanowi to znaczną redukcję – ponad 37% mniej parametrów niż oryginalny model 405B. Zmiany architektoniczne osiągnięte dzięki fuzji były kluczowe dla umożliwienia tak znaczącej redukcji rozmiaru przy jednoczesnym dążeniu do zachowania wydajności. Celem był nie tylko mniejszy model, ale fundamentalnie szybszy i bardziej oszczędny obliczeniowo, dzięki zwiększonej równoległości odblokowanej przez FFN Fusion. To studium przypadku posłużyło jako kluczowy dowód koncepcji, pokazując, że modele na dużą skalę mogą być znacząco restrukturyzowane pod kątem efektywności.
Mierzenie korzyści: Wydajność, szybkość i oszczędność zasobów
Prawdziwym testem każdej techniki optymalizacji jest jej mierzalny wpływ. W przypadku Ultra-253B-Base wyniki uzyskane dzięki zastosowaniu FFN Fusion i przycinania do bazowego modelu Llama-405B były przekonujące, demonstrując znaczące ulepszenia w wielu wymiarach bez istotnych kompromisów w zakresie możliwości.
Szybkość i koszt wnioskowania: Najbardziej uderzające zyski zaobserwowano w efektywności wnioskowania. W porównaniu do oryginalnego modelu o 405B parametrach, Ultra-253B-Base osiągnął:
- 1.71x poprawę w opóźnieniu wnioskowania (latency). Oznacza to, że model mógł generować odpowiedzi znacznie szybciej, co jest kluczowe dla aplikacji czasu rzeczywistego.
- 35x redukcję kosztu obliczeniowego na token przy pomiarze dla rozmiaru partii 32. Ten dramatyczny spadek liczby operacji obliczeniowych (FLOPs) na token przekłada się bezpośrednio na niższe zużycie energii i zmniejszone wymagania sprzętowe do obsługi modelu.
Benchmarki wydajności modelu: Co krytyczne, te ulepszenia efektywności nie odbyły się kosztem inteligencji ani możliwości modelu. Ultra-253B-Base został rygorystycznie oceniony na zestawie standardowych benchmarków LLM, osiągając wyniki, które były wysoce konkurencyjne, a w niektórych przypadkach przewyższały oryginalny, znacznie większy model:
- MMLU (Massive Multitask Language Understanding): 85.17%
- MMLU-Pro (Bardziej wymagająca wersja): 72.25%
- Arena Hard (Ocena preferencji ludzkich na trudnych promptach): 84.92%
- HumanEval (Zdolność generowania kodu): 86.58%
- MT-Bench (Jakość konwersacji wieloturowej): 9.19
Te wyniki wskazują, że połączony i przycięty model zachował bardzo wysoki poziom zrozumienia, rozumowania, zdolności kodowania i jakości konwersacyjnej, porównywalny do swojego protoplasty o 405B parametrach, mimo posiadania tylko 253 miliardów parametrów.
Efektywność pamięciowa: Poza szybkością obliczeniową i kosztem, FFN Fusion przyczyniło się również do oszczędności pamięci. Zmiany architektoniczne, potencjalnie połączone z innymi optymalizacjami umożliwionymi przez fuzję, doprowadziły do 2x redukcji rozmiaru pamięci podręcznej klucz-wartość (KV cache) wymaganej podczas wnioskowania. KV cache przechowuje pośrednie aktywacje (klucze i wartości uwagi) i może zużywać znaczną ilość pamięci GPU, zwłaszcza dla długich sekwencji wejściowych. Zmniejszenie tego zapotrzebowania o połowę umożliwia uruchomienie modelu na sprzęcie o mniejszych wymaganiach pamięciowych lub przetwarzanie dłuższych kontekstów w ramach tych samych ograniczeń pamięciowych.
Te wymierne wyniki podkreślają skuteczność FFN Fusion. Pozwoliło to na stworzenie modelu, który był nie tylko mniejszy, ale fundamentalnie bardziej wydajny pod względem szybkości, operacji obliczeniowych i zużycia pamięci, a wszystko to przy zachowaniu najwyższej klasy wydajności na wymagających benchmarkach.
Zachowanie wiedzy: Kluczowa rola treningu i dostrajania
Architektoniczna modyfikacja masywnego, wstępnie wytrenowanego modelu językowego, takiego jak Llama-405B, za pomocą technik takich jak FFN Fusion i przycinanie, nieuchronnie zakłóca delikatną równowagę jego nauczonych parametrów. Chociaż matematyczna równoważność ma na celu zachowanie funkcji lokalnie, globalne zachowanie sieci może ulec zmianie. Aby zapewnić, że wynikowy model Ultra-253B-Base nie tylko stał się bardziej wydajny, ale także zachował swój wysoki poziom wydajności, niezbędny był starannie zaaranżowany proces treningu po modyfikacji.
Proces ten obejmował dwie główne fazy:
Destylacja wiedzy: Pierwszym krokiem było przeniesienie wiedzy z oryginalnego, większego modelu (lub odpowiedniego modelu nauczyciela) z powrotem do zmodyfikowanej architektury. Osiągnięto to poprzez destylację, podczas której model Ultra-253B-Base był trenowany, aby naśladować wyniki lub wewnętrzne reprezentacje modelu nauczyciela. Ta faza wykorzystywała znaczący zbiór danych, konkretnie 54 miliardy tokenów, przetwarzanych z oknem kontekstowym 8k. Destylacja pomaga połączonemu i przyciętemu modelowi odzyskać niuanse i zdolności, które mogły zostać nieznacznie zakłócone podczas zmian architektonicznych.
Etapowe dostrajanie (Fine-Tuning): Po destylacji model przeszedł serię etapów dostrajania specjalnie zaprojektowanych, aby dostosować go do obsługi coraz dłuższych długości kontekstu. Jest to kluczowe dla nowoczesnych LLM, od których często oczekuje się przetwarzania i generowania tekstu na podstawie obszernych danych wejściowych. Dostrajanie przebiegało etapami:
- Dostrajanie przy oknie kontekstowym 16k.
- Dalsze dostrajanie przy oknie kontekstowym 32k.
- Końcowy etap dostrajania przy oknie kontekstowym 128k.
To etapowe podejście pozwala modelowi stopniowo dostosowywać swoje parametry, w tym nowo utworzone połączone warstwy FFN i zoptymalizowane mechanizmy KV cache, do efektywnego zarządzania zależnościami i przepływem informacji w bardzo długich sekwencjach. Każdy etap opiera się na poprzednim, zapewniając stabilność i solidną wydajność przy różnych rozmiarach kontekstu.
Ten skrupulatny reżim treningowy, łączący destylację na dużą skalę z etapowym dostrajaniem do długiego kontekstu, był kluczowy w wypełnieniu luki między efektywnością architektoniczną a wysoką wiernością wydajności. Zapewnił, że korzyści w zakresie szybkości, kosztów i pamięci dostarczone przez FFN Fusion nie wpłynęły negatywnie na dokładność i możliwości modelu w wymagających benchmarkach.
Szersze horyzonty: Możliwość uogólnienia i przyszłe kierunki
Udane przekształcenie Llama-405B w Ultra-253B-Base dostarcza mocnych dowodów na potencjał FFN Fusion, ale jego prawdziwa wartość leży w szerszej stosowalności i wnioskach, jakie oferuje dla przyszłego projektowania LLM. Badania wykazały, że nie była to jedynie jednorazowa sztuczka mająca zastosowanie tylko do ogromnych modeli.
Walidacja w różnych skalach: Badacze NVIDIA wyraźnie przetestowali metodologię FFN Fusion na modelach o różnej wielkości. Z powodzeniem zastosowali tę technikę do modeli o 70B parametrach, osiągając podobne zyski efektywności w stosunku do ich oryginalnych odpowiedników. Zgłosili również walidację w skali 49B, dodatkowo wzmacniając ideę, że niezależność FFN i potencjał fuzji nie są wyłącznymi cechami największych modeli, ale mogą być bardziej ogólną właściwością architektury transformer, potencjalnie stając się bardziej wyraźne w większych skalach, gdzie naturalnie występują głębsze sekwencje FFN. Sugeruje to, że FFN Fusion może stać się standardowym narzędziem w arsenale optymalizacji LLM, stosowanym w szerokim zakresie rozmiarów modeli.
Fuzja FFN vs. Fuzja całych bloków: Badania rzuciły również światło na specyficzną rolę warstw FFN w porównaniu do warstw uwagi w bloku transformera. Podczas gdy kolejne warstwy FFN często wykazywały niską zależność, co czyniło je idealnymi do fuzji, próby zrównoleglenia całych bloków transformera (w tym zarówno warstw uwagi, jak i FFN) okazały się bardziej wymagające. Analiza wskazała na silniejsze wzajemne zależności obejmujące mechanizmy uwagi. Jednoczesne łączenie całych bloków skutkowało bardziej znaczącą degradacją wydajności, co sugeruje, że warstwy uwagi odgrywają bardziej krytyczną, sekwencyjnie zależną rolę w integrowaniu informacji między tokenami. To odkrycie pomaga wyznaczyć granice skutecznej paralelizacji – sekwencje FFN są podatnym gruntem, podczas gdy mechanizmy uwagi mogą wymagać innych strategii optymalizacji.
Implikacje dla architektury LLM: FFN Fusion oferuje więcej niż tylko technikę optymalizacji post-hoc; dostarcza cennych wskazówek do projektowania przyszłych LLM. Odkrycie, że sekwencje FFN często mogą być traktowane jako jednostki możliwe do zrównoleglenia, podważa ściśle sekwencyjne założenie często leżące u podstaw projektowania transformerów. Może to zainspirować nowe architektury, które są z natury bardziej przyjazne dla równoległości od samego początku. Przyszłe modele mogą być projektowane ze strukturami FFN wyraźnie przeznaczonymi do fuzji lub równoległego wykonania, potencjalnie prowadząc do współprojektowania sprzętowo-programowego, gdzie architektury GPU są dalej optymalizowane w celu wykorzystania tego typu równoległości. Systematyczna metoda wykorzystująca odległość kosinusową do kwantyfikacji zależności międzywarstwowej dostarcza również cennego narzędzia analitycznego do zrozumienia i przeprojektowania struktur sieci neuronowych. Demonstrując, że znaczące zyski efektywności są możliwe dzięki przemyślanemu przeprojektowaniu architektonicznemu skoncentrowanemu na zrównolegleniu istniejących komponentów, FFN Fusion toruje drogę do rozwoju LLM, które są zarówno potężne, jak i bardziej zrównoważone obliczeniowo. Podkreśla ścieżkę w kierunku łagodzenia rosnących wymagań zasobowych najnowocześniejszej AI.