211service.com
Małe czterobitowe komputery to wszystko, czego potrzebujesz do trenowania sztucznej inteligencji
Osiem bitów składa się na bajt, więc cztery bity nazywamy nibble. Inżynierowie komputerowi mają zabawne poczucie humoru. Pani Tech | Kolekcja powitalna
Głębokie uczenie to nieefektywna wieprz energetyczna . Wymaga ogromnych ilości danych i obfitych zasobów obliczeniowych, co eksploduje jej zużyciem energii elektrycznej. W ciągu ostatnich kilku lat ogólny trend badawczy pogorszył problem. Modele gigantycznych proporcji — trenowane na miliardach punktów danych przez kilka dni — są modne i prawdopodobnie nie znikną w najbliższym czasie.
Niektórzy badacze pospieszyli, aby znaleźć nowe kierunki, takie jak algorytmy, które mogą trenować mniej danych lub sprzęt, który może uruchom te algorytmy szybciej . Teraz badacze IBM proponują inny. Ich pomysł zmniejszyłby liczbę bitów lub jeden s i 0 s, potrzebne do reprezentowania danych — od 16 bitów, obecnego standardu branżowego, do zaledwie czterech.
ten Praca , który jest prezentowany w tym tygodniu na NeurIPS, największej dorocznej konferencji badawczej poświęconej sztucznej inteligencji, może zwiększyć prędkość i obniżyć koszty energii potrzebne do trenowania głębokiego uczenia się ponad siedmiokrotnie. Może również umożliwić trenowanie potężnych modeli sztucznej inteligencji na smartfonach i innych małych urządzeniach, co poprawiłoby prywatność, pomagając przechowywać dane osobowe na lokalnym urządzeniu. Dzięki temu proces byłby bardziej dostępny dla badaczy spoza dużych, bogatych w zasoby firm technologicznych.
Jak działają bity
Prawdopodobnie słyszałeś wcześniej, że komputery przechowują rzeczy w jeden s i 0 s. Te podstawowe jednostki informacji są znane jako bity . Gdy bit jest włączony, odpowiada a jeden ; kiedy jest wyłączony, zmienia się w 0 . Innymi słowy, każdy bit może przechowywać tylko dwie informacje.
Ale kiedy je połączysz, ilość informacji, które możesz zakodować, rośnie wykładniczo. Dwa bity mogą reprezentować cztery informacje, ponieważ istnieją kombinacje 2^2: 00 , 01 , 10 , oraz jedenaście . Cztery bity mogą reprezentować 2^4 lub 16 informacji. Osiem bitów może reprezentować 2^8 lub 256. I tak dalej.
Właściwa kombinacja bitów może reprezentować typy danych, takie jak liczby, litery i kolory, lub typy operacji, takie jak dodawanie, odejmowanie i porównywanie. Obecnie większość laptopów to komputery 32- lub 64-bitowe. Nie oznacza to, że komputer może zakodować łącznie tylko 2^32 lub 2^64 części informacji. (To byłby bardzo słaby komputer.) Oznacza to, że może użyć wielu bitów złożoności do zakodowania każdego fragmentu danych lub pojedynczej operacji.
4-bitowe głębokie uczenie
Więc co oznacza szkolenie 4-bitowe? Cóż, na początek mamy 4-bitowy komputer, a więc 4 bity złożoności. Jeden sposób myślenia o tym: każda liczba, której używamy podczas procesu uczenia, musi być jedną z 16 liczb całkowitych z zakresu od -8 do 7, ponieważ są to jedyne liczby, które może reprezentować nasz komputer. Dotyczy to punktów danych, które wprowadzamy do sieci neuronowej, liczb, których używamy do reprezentowania sieci neuronowej, oraz liczb pośrednich, które musimy przechowywać podczas uczenia.
Więc jak to robimy? Zastanówmy się najpierw nad danymi treningowymi. Wyobraź sobie, że to cała masa czarno-białych obrazów. Krok pierwszy: musimy przekonwertować te obrazy na liczby, aby komputer mógł je zrozumieć. Robimy to, reprezentując każdy piksel w kategoriach jego wartości skali szarości — 0 dla czerni, 1 dla bieli i ułamków dziesiętnych pomiędzy odcieniami szarości. Nasz obraz jest teraz listą liczb z zakresu od 0 do 1. Ale w 4-bitowej krainie potrzebujemy, aby mieściła się ona w zakresie od -8 do 7. Sztuczka polega na tym, aby liniowo przeskalować naszą listę liczb, więc 0 staje się -8 i 1 staje się 7, a ułamki dziesiętne są odwzorowywane na liczby całkowite w środku. Więc:

Możesz przeskalować listę liczb od 0 do 1, aby rozciągać się od -8 do 7, a następnie zaokrąglić dowolne liczby dziesiętne do liczby całkowitej.
Ten proces nie jest doskonały. Jeśli zaczniesz od liczby 0,3, powiedzmy, skończysz ze skalowaną liczbą -3,5. Ale nasze cztery bity mogą reprezentować tylko liczby całkowite, więc musisz zaokrąglić -3,5 do -4. W końcu tracisz niektóre odcienie szarości, czyli tak zwane precyzja , na Twój obraz. Możesz zobaczyć, jak to wygląda na poniższym obrazku.
Im mniejsza liczba bitów, tym mniej szczegółów ma zdjęcie. To się nazywa strata precyzja .
Ta sztuczka nie jest zbyt odrapana dla danych treningowych. Ale kiedy zastosujemy go ponownie do samej sieci neuronowej, sprawy trochę się komplikują.
Sieć neuronowa.
Często widzimy sieci neuronowe narysowane jako coś z węzłami i połączeniami, jak na powyższym obrazku. Ale dla komputera zamieniają się one również w serię liczb. Każdy węzeł ma tzw aktywacja wartość, która zwykle mieści się w zakresie od 0 do 1, a każde połączenie ma waga , który zwykle mieści się w zakresie od -1 do 1.
Mogliśmy je skalować w taki sam sposób, jak robiliśmy to z naszymi pikselami, ale aktywacje i wagi również zmieniają się z każdą rundą treningu. Na przykład czasami aktywacje wahają się od 0,2 do 0,9 w jednej rundzie i od 0,1 do 0,7 w drugiej. Tak więc grupa IBM wymyśliła nową sztuczkę w 2018 roku: przeskalować te zakresy, aby rozciągały się od -8 do 7 w każdej rundzie (jak pokazano poniżej), co skutecznie zapobiega utracie zbyt dużej precyzji.

Badacze IBM przeskalują aktywacje i wagi w sieci neuronowej dla każdej rundy treningu, aby uniknąć zbytniej utraty precyzji.
Ale pozostaje nam ostatni fragment: jak przedstawić w czterech bitach wartości pośrednie, które pojawiają się podczas treningu. Wyzwaniem jest to, że te wartości mogą obejmować kilka rzędów wielkości, w przeciwieństwie do liczb, które obsługiwaliśmy dla naszych obrazów, wag i aktywacji. Mogą być małe, jak 0,001 lub ogromne, jak 1000. Próba liniowego przeskalowania tego w zakresie od -8 do 7 powoduje utratę całej ziarnistości na malutkim końcu skali.

Liniowe skalowanie liczb, które obejmują kilka rzędów wielkości, traci całą ziarnistość na maleńkim końcu skali. Jak widać tutaj, wszelkie liczby mniejsze niż 100 zostaną przeskalowane do -8 lub -7. Brak precyzji zaszkodziłby ostatecznej wydajności modelu AI.
Po dwóch latach badań naukowcy w końcu rozwiązali zagadkę: zapożyczając istniejący pomysł od innych, skalują te liczby pośrednie logarytmicznie . Aby zobaczyć, co mam na myśli, poniżej znajduje się skala logarytmiczna, którą możesz rozpoznać, z tak zwaną podstawą 10, używającą tylko czterech bitów złożoności. (Naukowcy zamiast tego używają podstawy 4, ponieważ próba i błędy wykazały, że działa to najlepiej). Możesz zobaczyć, jak pozwala to kodować zarówno małe, jak i duże liczby w ramach ograniczeń bitowych.

Skala logarytmiczna o podstawie 10.
Mając wszystkie te elementy na swoim miejscu, ten najnowszy artykuł pokazuje, jak się łączą. Badacze IBM przeprowadzili kilka eksperymentów, w których symulują 4-bitowe szkolenie dla różnych modeli głębokiego uczenia w zakresie widzenia komputerowego, mowy i przetwarzania języka naturalnego. Wyniki pokazują ograniczoną utratę dokładności ogólnej wydajności modeli w porównaniu z 16-bitowym głębokim uczeniem. Proces jest również ponad siedmiokrotnie szybszy i siedmiokrotnie bardziej energooszczędny.
Przyszła praca
Jest jeszcze kilka kroków, zanim 4-bitowe uczenie głębokie stanie się rzeczywistą praktyką. Tylko papier symuluje wyniki tego rodzaju treningu. Robienie tego w prawdziwym świecie wymagałoby nowego 4-bitowego sprzętu. W 2019 r. IBM Research uruchomiło Centrum Sprzętu AI, aby przyspieszyć proces rozwoju i produkcji takiego sprzętu. Kailash Gopalakrishnan, współpracownik IBM i starszy menedżer, który nadzorował te prace, mówi, że spodziewa się, że 4-bitowy sprzęt będzie gotowy do szkolenia głębokiego w ciągu trzech do czterech lat.
Powiązana historia
Małe modele AI mogą doładować autokorektę i asystentów głosowych w telefonie Boris Murmann, profesor Stanforda, który nie był zaangażowany w badania, nazywa wyniki ekscytującymi. Ten postęp otwiera drzwi do szkolenia w środowiskach o ograniczonych zasobach, mówi. Niekoniecznie umożliwiłoby to tworzenie nowych aplikacji, ale sprawiłoby, że istniejące byłyby szybsze i mniej rozładowujące baterię z dobrym marginesem. Na przykład Apple i Google coraz częściej starają się odsunąć proces uczenia swoich modeli AI, takich jak systemy zamiany mowy na tekst i autokorekty. z chmury i na telefony użytkowników . Chroni to prywatność użytkowników, przechowując ich dane na własnym telefonie, jednocześnie poprawiając możliwości sztucznej inteligencji urządzenia.
Ale Murmann zauważa również, że trzeba zrobić więcej, aby zweryfikować rzetelność badań. W 2016 roku jego grupa opublikował artykuł który wykazał 5-bitowe szkolenie. Ale podejście nie utrzymało się przez lata. Nasze proste podejście rozpadło się, ponieważ sieci neuronowe stały się o wiele bardziej wrażliwe, mówi. Nie jest więc jasne, czy taka technika przetrwa próbę czasu.
Niemniej jednak gazeta zmotywuje innych do bardzo uważnego przyjrzenia się temu i pobudzi nowe pomysły – mówi. To bardzo pożądany postęp.