Kąt Andersona
Jak utrzymać niską temperaturę smartfonów podczas uruchamiania modeli uczenia maszynowego

Badacze z Uniwersytetu w Austin i Carnegie Mellon zaproponowali nowy sposób uruchamiania obliczeniowo wymagających modeli sztucznej inteligencji na urządzeniach mobilnych, takich jak smartfony, oraz na urządzeniach brzegowych o niższej mocy, bez wywoływania ograniczania wydajności z powodu temperatury – powszechnego mechanizmu ochronnego w profesjonalnych i konsumenckich urządzeniach, zaprojektowanego w celu obniżenia temperatury urządzenia poprzez spowolnienie jego wydajności, aż do uzyskania akceptowalnych temperatur roboczych.
Nowe podejście mogłoby umożliwić uruchamianie bardziej złożonych modeli ML do wnioskowania i różnych innych typów zadań bez zagrażania stabilności, na przykład, hostowanego smartfona.
Pomysł centralny polega na użyciu dynamicznych sieci, w których wagi modelu mogą być dostępne zarówno dla wersji “o niskim obciążeniu”, jak i pełnej intensywności lokalnego modelu sztucznej inteligencji.
W przypadkach, w których działanie lokalnej instalacji modelu sztucznej inteligencji powinno spowodować wzrost temperatury urządzenia, model dynamicznie przełącza się na mniej wymagający model, aż do ustabilizowania temperatury, a następnie przełącza się z powrotem na pełnowartościową wersję.

Zadania testowe składały się z zadania klasyfikacji obrazu i zadania inferencji językowej QNLI – oba rodzaje operacji, które mogą angażować aplikacje sztucznej inteligencji na urządzeniach mobilnych. Źródło: https://arxiv.org/pdf/2206.10849.pdf
Badacze przeprowadzili testy koncepcyjne dla modeli komputerowego widzenia i NLP na smartfonie Honor V30 Pro z 2019 roku oraz na Raspberry Pi 4B 4GB.
Na podstawie wyników (dla smartfona) można zobaczyć na poniższym obrazie, jak temperatura urządzenia wzrasta i spada wraz z użytkowaniem. Czerwone linie reprezentują model, który działa bez Dynamic Shifting.

Chociaż wyniki mogą wyglądać bardzo podobnie, nie są: to, co powoduje wahanie temperatury w przypadku błękitnych linii (tj. korzystających z nowej metody), jest przełączaniem się między prostszymi i bardziej złożonymi wersjami modelu. W żadnym momencie działania nie jest wywoływane ograniczanie wydajności z powodu temperatury.
To, co powoduje wzrost i spadek temperatury w przypadku czerwonych linii, jest automatycznym zaangażowaniem ograniczania wydajności z powodu temperatury w urządzeniu, co spowalnia działanie modelu i zwiększa jego opóźnienie.
Jeśli chodzi o użyteczność modelu, można zobaczyć na poniższym obrazie, że opóźnienie dla modelu bez Dynamic Shifting jest znacznie wyższe, gdy jest on obniżany termicznie:

W tym samym czasie powyższy obraz pokazuje prawie żadnych wahań opóźnienia dla modelu, który jest zarządzany przez Dynamic Shifting, który pozostaje responsywny przez cały czas.
Dla użytkownika końcowego wysokie opóźnienie może oznaczać zwiększony czas oczekiwania, co może powodować porzucenie zadania i niezadowolenie z aplikacji, która go hostuje.
W przypadku systemów NLP (a nie komputerowego widzenia) wysokie czasy odpowiedzi mogą być jeszcze bardziej niepokojące, ponieważ zadania mogą polegać na szybkiej odpowiedzi (takiej jak automatyczne tłumaczenie lub narzędzia pomagające osobom niepełnosprawnym).
Dla prawdziwie krytycznych aplikacji – takich jak renderowanie w czasie rzeczywistym VR/AR – wysokie opóźnienie skutecznie unicestwiłoby podstawową użyteczność modelu.
Badacze stwierdzają:
‘Uważamy, że ograniczanie wydajności z powodu temperatury stanowi poważne zagrożenie dla aplikacji mobilnych sztucznej inteligencji, które są krytyczne pod względem opóźnienia. Na przykład, podczas renderowania wizualnego w czasie rzeczywistym dla transmisji wideo lub gier, nagły wzrost opóźnienia przetwarzania na klatkę będzie miał znaczący negatywny wpływ na doświadczenie użytkownika. Ponadto, nowoczesne systemy operacyjne mobilne często zapewniają specjalne usługi i aplikacje dla osób z niepełnosprawnością wzroku, takie jak VoiceOver w systemie iOS i TalkBack w systemie Android.
‘Użytkownik zwykle wchodzi w interakcję z telefonem komórkowym, polegając całkowicie na mowie, więc jakość tych usług jest wysoce zależna od responsywności lub opóźnienia aplikacji.’

Wykresy demonstrujące wydajność BERT w50 d50 bez pomocy (czerwony) i z pomocą Dynamic Shifting (niebieski). Zwróć uwagę na równomierność opóźnienia w Dynamic Shifting (niebieski).
Artykuł nosi tytuł Play It Cool: Dynamic Shifting Prevents Thermal Throttling i jest współpracą między dwoma badaczami z UoA; jednym z Carnegie Mellon; i jednym reprezentującym obie instytucje.
AI Mobilny oparty na CPU
Chociaż Dynamic Shifting i architektury wieloskaliowe są ustaloną i aktywną dziedziną badań, większość inicjatyw koncentrowała się na urządzeniach obliczeniowych o wyższej wydajności, a obecny obszar prac jest podzielony między intensywną optymalizację lokalnych (tj. urządzeniowych) sieci neuronowych, zwykle do celów wnioskowania, a nie szkolenia, oraz poprawę dedykowanego mobilnego sprzętu.
Testy przeprowadzone przez badaczy zostały przeprowadzone na procesorach CPU, a nie GPU. Pomimo rosnącego zainteresowania wykorzystaniem lokalnych zasobów GPU w aplikacjach sztucznej inteligencji na urządzeniach mobilnych (i nawet szkolenia bezpośrednio na urządzeniach mobilnych, co mogłoby poprawić jakość końcowego modelu), GPU zwykle pobierają więcej mocy, co jest kluczowym czynnikiem w wysiłkach sztucznej inteligencji, aby być niezależnym (od usług chmurowych) i użytecznym w urządzeniu o ograniczonych zasobach.
Testowanie udostępniania wag
Sieciami testowanymi w ramach projektu były sieci o regulowanej szerokości (slimmable) i DynaBERT, reprezentujące odpowiednio zadanie komputerowego widzenia i zadanie oparte na NLP.
Chociaż były różne inicjatywy, aby uczynić iteracje BERT, które mogą działać wydajnie i ekonomicznie na urządzeniach mobilnych, niektóre z tych prób zostały skrytykowane jako zawiłe rozwiązania zastępcze, a badacze nowego artykułu zauważają, że używanie BERT w przestrzeni mobilnej jest wyzwaniem, i że “modele BERT są ogólnie zbyt obliczeniowo intensywne dla telefonów komórkowych”.
DynaBERT to chińska inicjatywa, aby zoptymalizować potężną ramę NLP/NLU w kontekście środowiska o ograniczonych zasobach; jednak nawet ta implementacja BERT, jak stwierdzili badacze, była bardzo wymagająca.
Pomimo tego, na obu urządzeniach, smartfonie i Raspberry PI, autorzy przeprowadzili dwa eksperymenty. W eksperymencie CV jeden losowo wybrany obraz był przetwarzany ciągle i powtarzalnie w ResNet50 jako zadanie klasyfikacji, i mógł działać stabilnie i bez wywoływania ograniczania wydajności z powodu temperatury przez cały godzinny czas trwania eksperymentu.
Artykuł stwierdza:
‘Chociaż może to poświęcić nieco dokładności, proponowane Dynamic Shifting ma szybszą prędkość wnioskowania. Co najważniejsze, nasze podejście Dynamic Shifting cieszy się stałą inferencją.’

Uruchamianie ResNet50 bez pomocy i z Dynamic Shifting między Slimmable ResNet50 x1.0 a wersją x0.25 na ciągłym zadaniu klasyfikacji obrazu, przez sześćdziesiąt minut.
Dla testów NLP autorzy ustalili eksperyment, aby przełączać się między dwoma najmniejszymi modelami w zestawie DynaBERT, ale stwierdzili, że przy 1,4-krotnym opóźnieniu BERT jest obniżany termicznie przy około 70°. Ustalili więc przełączanie w dół, gdy temperatura robocza osiągnie 65°.
Eksperyment z BERT polegał na nieprzerwanym uruchamianiu wnioskowania na parze pytania/odpowiedzi z zestawu danych ONLI z GLUE.
Wymiany między opóźnieniem a dokładnością były bardziej dotkliwe w przypadku zadania BERT niż w przypadku implementacji komputerowego widzenia, a dokładność przyszła kosztem bardziej dotkliwej potrzeby kontroli temperatury urządzenia, aby uniknąć obniżania wydajności:

Opóźnienie a dokładność dla eksperymentów badaczy w obu zadaniach.
Autorzy obserwują:
‘Dynamic Shifting, ogólnie rzecz biorąc, nie może zapobiec obniżaniu wydajności termicznej modeli BERT, ze względu na ogromną intensywność obliczeniową modelu. Jednak pod pewnymi ograniczeniami, dynamiczne przełączanie może nadal być pomocne przy wdrażaniu modeli BERT na telefonach komórkowych.’
Autorzy stwierdzili, że modele BERT powodują, iż temperatura procesora smartfona Honor V30 wzrasta do 80° w mniej niż 32 sekundy, i wywołują ograniczanie wydajności z powodu temperatury w mniej niż sześć minut działania. Dlatego autorzy użyli tylko półszerokościowych modeli BERT.
Eksperymenty zostały powtórzone na zestawie Raspberry PI, i technika ta była również w stanie zapobiec wywołaniu ograniczania wydajności z powodu temperatury w tym środowisku. Jednak autorzy zauważają, że Raspberry PI nie działa pod takimi samymi ekstremalnymi ograniczeniami termicznymi, jak gęsto upakowany smartfon, i wydają się dodać ten zestaw eksperymentów jako dalszą demonstrację skuteczności metody w środowiskach przetwarzania o umiarkowanym wyposażeniu.
Pierwotnie opublikowane 23 czerwca 2022.












