Poruszanie się po wysokich kosztach obliczeń AI

Poruszanie się po wysokich kosztach obliczeń AI

Radzenie sobie z wysokimi kosztami sztucznej inteligencji Obliczenia inteligencji danych PlatoBlockchain. Wyszukiwanie pionowe. AI.
źródło: midjourney

Boom na generatywną sztuczną inteligencję jest związany z mocą obliczeniową. Ma unikalną właściwość polegającą na tym, że dodanie większej mocy obliczeniowej bezpośrednio skutkuje lepszym produktem. Zwykle inwestycje w badania i rozwój są bardziej bezpośrednio związane z wartością produktu, a zależność ta jest wyraźnie podliniowa. Ale obecnie tak nie jest w przypadku sztucznej inteligencji, w wyniku czego dominującym czynnikiem napędzającym dzisiejszą branżę jest po prostu koszt szkolenia i wnioskowania. 

Chociaż nie znamy prawdziwych liczb, słyszeliśmy z renomowanych źródeł, że podaż mocy obliczeniowej jest tak ograniczona, że ​​popyt przewyższa ją 10(!). dostęp do zasobów obliczeniowych — po najniższych całkowitych kosztach — stał się czynnikiem decydującym o sukcesie firm zajmujących się sztuczną inteligencją.

W rzeczywistości widzieliśmy, jak wiele firm wydaje ponad 80% całego zgromadzonego kapitału na zasoby obliczeniowe!

W tym poście staramy się rozbić czynniki kosztowe dla firmy AI. Liczby bezwzględne będą oczywiście zmieniać się w czasie, ale nie widzimy natychmiastowej ulgi od firm AI związanych z dostępem do zasobów obliczeniowych. Miejmy nadzieję, że jest to pomocne ramy do przemyślenia krajobrazu. 

Dlaczego modele AI są tak drogie obliczeniowo?

Istnieje wiele generatywnych modeli sztucznej inteligencji, a koszty wnioskowania i szkolenia zależą od rozmiaru i typu modelu. Na szczęście najpopularniejsze obecnie modele to głównie architektury oparte na transformatorach, które obejmują popularne modele dużych języków (LLM), takie jak GPT-3, GPT-J lub BERT. Chociaż dokładna liczba operacji wnioskowania i uczenia transformatorów jest specyficzna dla modelu (patrz ten papier), istnieje dość dokładna praktyczna reguła, która zależy tylko od liczby parametrów (tj. wag sieci neuronowych) modelu oraz liczby tokenów wejściowych i wyjściowych. 

Tokeny to zasadniczo krótkie sekwencje kilku znaków. Odpowiadają słowom lub częściom słów. Najlepszym sposobem na poznanie tokenów jest wypróbowanie tokenizacji za pomocą publicznie dostępnych tokenizerów online (np. OpenAI). W przypadku GPT-3 średnia długość tokena ma 4 znaki

Praktyczną zasadą dla transformatorów jest to, że przejście do przodu (tj. wnioskowanie) dla modelu z p parametry dla sekwencji wejściowej i wyjściowej o długości n tokeny każdy, zajmuje ok 2*n*p operacje zmiennoprzecinkowe (JAPKI)¹. Szkolenie dla tego samego modelu trwa ok 6*str FLOPS na token (tj. dodatkowe przejście wstecz wymaga jeszcze czterech operacji²). Całkowity koszt szkolenia można oszacować w przybliżeniu, mnożąc go przez liczbę tokenów w danych szkoleniowych.

Wymagania dotyczące pamięci dla transformatorów zależą również od wielkości modelu. Do wnioskowania potrzebujemy p parametry modelu, aby zmieściły się w pamięci. Do uczenia się (tj. propagacji wstecznej) musimy przechowywać dodatkowe wartości pośrednie dla każdego parametru między przebiegiem do przodu i do tyłu. Zakładając, że używamy 32-bitowych liczb zmiennoprzecinkowych, jest to dodatkowe 8 bajtów na parametr. Aby wytrenować model o 175 miliardach parametrów, musielibyśmy przechowywać ponad terabajt danych w pamięci — to więcej niż jakakolwiek istniejąca obecnie karta graficzna i wymaga od nas podzielenia modelu na karty. Wymagania dotyczące pamięci dla wnioskowania i uczenia można zoptymalizować, stosując wartości zmiennoprzecinkowe o mniejszej długości, przy czym 16-bitowe stają się powszechne, a 8-bitowe przewiduje się w najbliższej przyszłości.

Radzenie sobie z wysokimi kosztami sztucznej inteligencji Obliczenia inteligencji danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Powyższa tabela zawiera rozmiary i koszty obliczeniowe dla kilku popularnych modeli. GPT-3 ma około 175 miliardów parametrów, co przy wejściu i wyjściu 1,024 tokenów daje koszt obliczeniowy około 350 bilionów operacji zmiennoprzecinkowych (tj. teraflopów lub TFLOPS). Wytrenowanie modelu takiego jak GPT-3 wymaga około 3.14*10^23 operacji zmiennoprzecinkowych. Inne modele, takie jak LLaMA Meta, mają nawet wyżej wymagania obliczeniowe. Szkolenie takiego modelu jest jednym z najbardziej wymagających obliczeniowo zadań, jakie ludzkość podjęła do tej pory. 

Podsumowując: infrastruktura sztucznej inteligencji jest kosztowna, ponieważ leżące u jej podstaw problemy algorytmiczne są niezwykle trudne obliczeniowo. Algorytmiczna złożoność sortowania tabeli bazy danych z milionem wpisów jest nieznaczna w porównaniu ze złożonością generowania pojedynczego słowa za pomocą GPT-3. Oznacza to, że chcesz wybrać najmniejszy model, który rozwiązuje Twój przypadek użycia. 

Dobrą wiadomością jest to, że w przypadku transformatorów możemy łatwo oszacować, ile mocy obliczeniowej i pamięci zużyje model o określonej wielkości. Tak więc wybór odpowiedniego sprzętu staje się kolejną kwestią. 

Argument czasu i kosztów dla procesorów graficznych

Jak złożoność obliczeniowa przekłada się na czas? Rdzeń procesora może zazwyczaj wykonać 1-2 instrukcje na cykl, a częstotliwość taktowania procesora była stabilna na poziomie około 3 GHz przez ostatnie 15 lat ze względu na koniec Skalowanie Dennarda. Wykonanie pojedynczej operacji wnioskowania GPT-3 bez wykorzystania architektury równoległej zajęłoby około 350 TFLOPS/(3 GHz*1 FLOP) lub 116,000 32 sekund lub XNUMX godziny. Jest to szalenie niepraktyczne; zamiast tego potrzebujemy wyspecjalizowanych chipów, które przyspieszają to zadanie.

W praktyce wszystkie dzisiejsze modele AI działają na kartach, które wykorzystują bardzo dużą liczbę wyspecjalizowanych rdzeni. Na przykład procesor graficzny NVIDIA A100 ma 512 „rdzeni tensorowych”, które mogą wykonać mnożenie macierzy 4×4 (co odpowiada 64 mnożeniom i dodaniom, czyli 128 FLOPSÓW) w jednym cyklu. Karty akceleratorów AI są często określane jako GPU (jednostki przetwarzania grafiki), ponieważ architektura została pierwotnie opracowana z myślą o grach komputerowych. Oczekujemy, że w przyszłości sztuczna inteligencja będzie w coraz większym stopniu stanowić odrębną rodzinę produktów. 

A100 ma nominalną wydajność X TFTPS co teoretycznie ograniczyłoby wnioskowanie dla GPT-3 do około 1 sekundy. Jest to jednak zbyt uproszczone obliczenie z kilku powodów. Po pierwsze, w większości przypadków wąskim gardłem nie jest moc obliczeniowa GPU, ale zdolność do pobierania danych z wyspecjalizowanej pamięci graficznej do rdzeni tensorowych. Po drugie, 175 miliardów wag zajęłoby 700 GB i nie zmieściłoby się w pamięci graficznej żadnego GPU. Należy zastosować techniki takie jak partycjonowanie i strumieniowanie wagi. Po trzecie, istnieje szereg optymalizacji (np. użycie krótszych reprezentacji zmiennoprzecinkowych, takich jak FP16, FP8 lub rzadkie macierze), które są używane do przyspieszania obliczeń. Ale ogólnie rzecz biorąc, powyższa matematyka daje nam intuicyjne wyobrażenie o całkowitym koszcie obliczeniowym dzisiejszych LLM.

Szkolenie modelu transformatora trwa około trzy razy dłużej na token niż wnioskowanie. Jednak biorąc pod uwagę, że zestaw danych uczących jest około 300 milionów razy większy niż monit wnioskowania, uczenie trwa 1 miliard razy dłużej. Na jednym GPU szkolenie zajęłoby dziesięciolecia; w praktyce odbywa się to w dużych klastrach obliczeniowych w dedykowanych centrach danych lub, co bardziej prawdopodobne, w chmurze. Uczenie jest również trudniejsze do zrównoleglenia niż wnioskowanie, ponieważ zaktualizowane wagi muszą być wymieniane między węzłami. Pamięć i przepustowość między procesorami graficznymi często stają się znacznie ważniejszymi czynnikami, ponieważ powszechne są szybkie połączenia i dedykowane tkaniny. W przypadku trenowania bardzo dużych modeli stworzenie odpowiedniej konfiguracji sieci może być głównym wyzwaniem. Patrząc w przyszłość, akceleratory AI będą miały funkcje sieciowe na karcie, a nawet na chipie. 

Jak ta złożoność obliczeniowa przekłada się na koszty? Wnioskowanie GPT-3, które, jak widzieliśmy powyżej, zajmuje około 1 sekundy na A100, miałoby surowy koszt obliczeniowy między 0.0002 USD a 0.0014 USD za 1,000 tokenów (w porównaniu z cenami OpenAI wynoszącymi 0.002 USD/1000 tokenów). Użytkownik generujący 100 żądań wnioskowania dziennie kosztowałby około dolarów rocznie. Jest to bardzo niska cena i sprawia, że ​​większość przypadków użycia tekstowej sztucznej inteligencji przez ludzi jest opłacalna finansowo.

Trening Z drugiej strony GPT-3 jest znacznie droższy. Ponownie obliczenie samego kosztu obliczeniowego dla 3.14*10^23 FLOPSów przy powyższych stawkach daje nam szacunkową kwotę 560,000 100 USD na kartach AXNUMX dla pojedynczy bieg treningowy. W praktyce do treningu nie uzyskamy prawie 100% wydajności w GPU; jednak możemy również użyć optymalizacji, aby skrócić czas szkolenia. Inne szacunki kosztów szkolenia GPT-3 wahają się od $500,000 do $ 4.6 milionów, w zależności od założeń sprzętowych. Należy pamiętać, że jest to koszt pojedynczego przebiegu, a nie całkowity koszt. Prawdopodobnie będzie wymaganych wiele uruchomień, a dostawcy chmury będą chcieli długoterminowych zobowiązań (więcej na ten temat poniżej). Szkolenie najlepszych modelek pozostaje drogie, ale w zasięgu dobrze finansowanego start-upu.

Podsumowując, generatywna sztuczna inteligencja wymaga obecnie ogromnych inwestycji w infrastrukturę sztucznej inteligencji. Nie ma powodu sądzić, że w najbliższej przyszłości to się zmieni. Szkolenie modelu takiego jak GPT-3 jest jednym z najbardziej wymagających obliczeniowo zadań, jakie ludzkość kiedykolwiek podjęła. Podczas gdy procesory graficzne stają się coraz szybsze, a my znajdujemy sposoby na optymalizację treningu, szybki rozwój sztucznej inteligencji niweluje oba te efekty.

Uwagi dotyczące infrastruktury AI

Do tego momentu staraliśmy się dać ci pewną intuicję dotyczącą skali wymaganej do trenowania i wnioskowania modeli AI oraz podstawowych parametrów, które je napędzają. W tym kontekście chcemy teraz przedstawić kilka praktycznych wskazówek, jak zdecydować, której infrastruktury sztucznej inteligencji użyć.

Infrastruktura zewnętrzna vs. wewnętrzna

Spójrzmy prawdzie w oczy: procesory graficzne są fajne. Wielu inżynierów i założycieli zorientowanych na inżynierię ma skłonność do dostarczania własnego sprzętu AI, nie tylko dlatego, że daje to precyzyjną kontrolę nad szkoleniem modeli, ale także dlatego, że jest coś zabawnego w wykorzystywaniu dużych ilości mocy obliczeniowej (Eksponat A).

Rzeczywistość jest jednak taka wiele startupów — zwłaszcza firm zajmujących się aplikacjami — nie musi budować własnej infrastruktury AI w dniu 1. Zamiast tego hostowane usługi modelowe, takie jak OpenAI lub Hugging Face (dla języka) i Replicate (dla generowania obrazu), umożliwiają założycielom szybkie wyszukiwanie dopasowania produktu do rynku bez konieczności zarządzania bazową infrastrukturą lub modelami.

Usługi te stały się tak dobre, że wiele firm nigdy ich nie kończy. Deweloperzy mogą uzyskać znaczącą kontrolę nad wydajnością modelu poprzez szybką inżynierię i abstrakcje dostrajania wyższego rzędu (tj. dostrajanie za pomocą wywołań API). Ceny tych usług są oparte na zużyciu, więc często są tańsze niż prowadzenie oddzielnej infrastruktury. Widzieliśmy firmy produkujące aplikacje generujące ponad 50 milionów USD ARR i wycenione na ponad 1 miliard USD, które pod maską udostępniają hostowane usługi modelowe.

Z drugiej strony, niektóre startupy — zwłaszcza ci, którzy szkolą nowe modele podstawowe lub budują pionowo zintegrowane aplikacje AI — nie mogą uniknąć bezpośredniego uruchamiania własnych modeli na GPU. Albo dlatego, że model jest faktycznie produktem, a zespół szuka „dopasowania modelu do rynku”, albo dlatego, że wymagana jest precyzyjna kontrola nad szkoleniem i/lub wnioskowanie, aby osiągnąć określone możliwości lub obniżyć koszty krańcowe na dużą skalę. Tak czy inaczej, zarządzanie infrastrukturą może stać się źródłem przewagi konkurencyjnej.

Chmura a rozbudowa centrum danych

W większości przypadków chmura jest właściwym miejscem dla Twojej infrastruktury AI. Mniejsze koszty początkowe, możliwość skalowania w górę i w dół, dostępność regionalna i mniejsze rozproszenie uwagi związane z budową własnego centrum danych są atrakcyjne dla większości startupów i większych firm.

Ale jest kilka wyjątków od tej reguły:

  • Jeśli prowadzisz działalność na bardzo dużą skalę, prowadzenie własnego centrum danych może być bardziej opłacalne. Dokładny punkt cenowy różni się w zależności od położenia geograficznego i konfiguracji, ale zwykle wymaga wydatków na infrastrukturę w wysokości ponad 50 milionów USD rocznie.
  • Potrzebujesz bardzo specyficznego sprzętu, którego nie możesz uzyskać od dostawcy usług w chmurze. Na przykład typy GPU, które nie są powszechnie dostępne, a także nietypowe wymagania dotyczące pamięci, pamięci masowej lub sieci.
  • Nie można znaleźć chmury akceptowalnej ze względów geopolitycznych.

Jeśli chcesz zbudować własne centrum danych, dostępna jest kompleksowa analiza ceny i wydajności procesorów graficznych dla Twojej własnej konfiguracji (np. Analiza Tima Dettmera). Oprócz kosztu i wydajności samej karty wybór sprzętu zależy również od mocy, miejsca i chłodzenia. Na przykład dwie karty RTX 3080 Ti razem mają podobną surową moc obliczeniową do A100, ale odpowiedni pobór mocy wynosi 700 W vs. 300 W. Różnica mocy 3,500 kWh przy stawkach rynkowych 0.10 USD/kWh w trzyletnim cyklu życia zwiększa koszt RTX3080 Ti prawie dwukrotnie (około 2 USD).

Biorąc to wszystko pod uwagę, spodziewamy się, że zdecydowana większość startupów będzie korzystać z przetwarzania w chmurze. 

Porównanie dostawców usług w chmurze 

Amazon Web Services (AWS), Microsoft Azure i Google Cloud Platform (GCP) oferują instancje GPU, ale wydaje się, że nowi dostawcy koncentrują się również na obciążeniach AI. Oto schemat, z którego korzysta wielu założycieli przy wyborze dostawcy usług w chmurze:

Cena: Poniższa tabela przedstawia ceny wielu głównych i mniejszych chmur specjalistycznych na dzień 7 kwietnia 2023 r. Te dane są jedynie orientacyjne, ponieważ instancje różnią się znacznie pod względem przepustowości sieci, kosztów wyjścia danych, dodatkowych kosztów procesora i sieci, dostępnych rabaty i inne czynniki.

Radzenie sobie z wysokimi kosztami sztucznej inteligencji Obliczenia inteligencji danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Moc obliczeniowa na określonym sprzęcie jest towarem. Naiwnie oczekiwalibyśmy dość jednolitych cen, ale tak nie jest. I chociaż istnieją znaczne różnice w funkcjach między chmurami, nie są one wystarczające, aby wyjaśnić, że ceny NVIDIA A100 na żądanie różnią się prawie czterokrotnie u różnych dostawców.

Na górnym końcu skali cenowej duże chmury publiczne pobierają opłatę w oparciu o reputację marki, sprawdzoną niezawodność i potrzebę zarządzania szerokim zakresem obciążeń. Mniejsi dostawcy wyspecjalizowanej sztucznej inteligencji oferują niższe ceny, uruchamiając specjalnie zbudowane centra danych (np. Coreweave) lub arbitrażując inne chmury (np. Lambda Labs).

Praktycznie rzecz biorąc, większość większych nabywców negocjuje ceny bezpośrednio z dostawcami chmury, często zobowiązując się do spełnienia minimalnych wymagań dotyczących wydatków, a także minimalnych zobowiązań czasowych (widzieliśmy 1-3 lata). Różnice cenowe między chmurami nieco się zmniejszają po negocjacjach, ale widzieliśmy, że ranking w powyższej tabeli pozostaje względnie stabilny. Należy również zauważyć, że mniejsze firmy mogą uzyskać agresywne ceny z chmur specjalnych bez dużych zobowiązań finansowych.

Dostępność: Najpotężniejsze procesory graficzne (np. Nvidia A100) są stale deficytowe od ponad 12 miesięcy. 

Logiczne byłoby sądzić, że trzej najwięksi dostawcy chmury mają najlepszą dostępność, biorąc pod uwagę ich dużą siłę nabywczą i pulę zasobów. Ale, co nieco zaskakujące, wiele startupów nie uznało tego za prawdziwe. Duże chmury mają dużo sprzętu, ale mają też duże potrzeby klientów do zaspokojenia — np. Azure jest głównym hostem dla ChatGPT — i stale dodają/dzierżawią pojemność, aby sprostać popytowi. Tymczasem Nvidia zobowiązała się do szerokiego udostępnienia sprzętu w całej branży, w tym przydziałów dla nowych wyspecjalizowanych dostawców. (Robią to zarówno po to, by być uczciwymi, jak i po to, by zmniejszyć swoją zależność od kilku dużych klientów, którzy również z nimi konkurują.)

W rezultacie wiele startupów znajduje więcej dostępnych chipów, w tym najnowocześniejsze Nvidia H100, u mniejszych dostawców chmury. Jeśli chcesz pracować z nowszą firmą zajmującą się infrastrukturą, możesz skrócić czas oczekiwania na sprzęt i być może zaoszczędzić pieniądze.

Oblicz model dostarczania: Dzisiejsze duże chmury oferują tylko instancje z dedykowanymi procesorami graficznymi, ponieważ wirtualizacja GPU jest nadal nierozwiązanym problemem. Wyspecjalizowane chmury sztucznej inteligencji oferują inne modele, takie jak kontenery lub zadania wsadowe, które mogą obsługiwać poszczególne zadania bez ponoszenia kosztów uruchomienia i rozbiórki instancji. Jeśli czujesz się komfortowo z tym modelem, może on znacznie obniżyć koszty.

Połączenia sieciowe: W szczególności w przypadku szkoleń przepustowość sieci jest głównym czynnikiem przy wyborze dostawcy. Klastry z dedykowanymi sieciami szkieletowymi między węzłami, takie jak NVLink, są potrzebne do uczenia niektórych dużych modeli. W przypadku generowania obrazu głównym czynnikiem kosztowym mogą być również opłaty za ruch wychodzący.

Pomoc techniczna: Duzi dostawcy usług w chmurze obsługują ogromną pulę klientów w ramach tysięcy jednostek SKU produktów. Zwrócenie uwagi obsługi klienta lub naprawienie problemu może być trudne, chyba że jesteś dużym klientem. Z drugiej strony wiele wyspecjalizowanych chmur sztucznej inteligencji oferuje szybkie i responsywne wsparcie nawet dla małych klientów. Dzieje się tak częściowo dlatego, że działają na mniejszą skalę, ale także dlatego, że ich obciążenia są bardziej jednorodne — dlatego są bardziej zachęcani do skupiania się na funkcjach i błędach specyficznych dla sztucznej inteligencji.

Porównanie GPU 

Przy wszystkich pozostałych parametrach najlepsze procesory graficzne będą działać najlepiej przy prawie wszystkich obciążeniach. Jednak, jak widać w poniższej tabeli, najlepszy sprzęt jest również znacznie droższy. Wybór odpowiedniego typu procesora graficznego do konkretnej aplikacji może znacznie obniżyć koszty i zadecydować o tym, czy model biznesowy jest opłacalny, czy nie.

Radzenie sobie z wysokimi kosztami sztucznej inteligencji Obliczenia inteligencji danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Decyzja o tym, jak daleko posunąć się w dół listy — czyli określenie najbardziej opłacalnego wyboru procesora graficznego dla danej aplikacji — jest w dużej mierze decyzją techniczną, która wykracza poza zakres tego artykułu. Ale poniżej przedstawimy niektóre z kryteriów wyboru, które naszym zdaniem są najważniejsze:

Trening a wnioskowanie: Jak widzieliśmy w pierwszej sekcji powyżej, uczenie modelu Transformer wymaga od nas przechowywania 8 bajtów danych do trenowania oprócz wag modelu. Oznacza to, że typowego konsumenckiego procesora graficznego z wyższej półki z 12 GB pamięci ledwo można było wykorzystać do trenowania modelu o 4 miliardach parametrów. W praktyce trenowanie dużych modeli odbywa się na klastrach maszyn, najlepiej z wieloma procesorami graficznymi na serwer, dużą ilością pamięci VRAM i połączeniami o dużej przepustowości między serwerami (tj. klastry zbudowane przy użyciu procesorów graficznych najwyższej klasy w centrach danych).

Konkretnie, wiele modeli będzie najbardziej opłacalnych na NVIDIA H100, ale na dzień dzisiejszy jest to trudne do znalezienia i zwykle wymaga długoterminowego zaangażowania na dłużej niż rok. NVIDIA A100 przeprowadza obecnie większość szkoleń modelowych; jest łatwiejszy do znalezienia, ale w przypadku dużych klastrów może również wymagać długoterminowego zaangażowania.

Wymagania dotyczące pamięci: Duże LLM mają liczbę parametrów, które są zbyt wysokie, aby zmieściły się na jakiejkolwiek karcie. Muszą być podzielone na wiele kart i wymagają konfiguracji podobnej do treningu. Innymi słowy, prawdopodobnie potrzebujesz H100 lub A100 nawet do wnioskowania LLM. Ale mniejsze modele (np. stabilna dyfuzja) wymagają znacznie mniej pamięci VRAM. Chociaż A100 jest nadal popularny, widzieliśmy, jak startupy używają kart A10, A40, A4000, A5000 i A6000, a nawet kart RTX. 

Wsparcie sprzętowe: Podczas gdy zdecydowana większość obciążeń w firmach, z którymi rozmawialiśmy, działa na NVIDIA, kilka zaczęło eksperymentować z innymi dostawcami. Najpopularniejszy jest Google TPU, ale wydaje się, że Gaudi 2 Intela również zyskuje na popularności. Wyzwanie związane z tymi dostawcami polega na tym, że wydajność Twojego modelu często w dużym stopniu zależy od dostępności optymalizacji oprogramowania dla tych układów. Prawdopodobnie będziesz musiał wykonać PoC, aby zrozumieć wydajność.

Wymagania dotyczące opóźnienia: Ogólnie rzecz biorąc, obciążenia mniej wrażliwe na opóźnienia (np. przetwarzanie danych wsadowych lub aplikacje, które nie wymagają interaktywnych odpowiedzi interfejsu użytkownika) mogą korzystać z mniej wydajnych procesorów graficznych. Może to obniżyć koszty obliczeniowe nawet 3-4-krotnie (np. porównanie A100 z A10 w AWS). Z drugiej strony aplikacje skierowane do użytkownika często wymagają kart z najwyższej półki, aby zapewnić wciągające wrażenia użytkownika w czasie rzeczywistym. Optymalizacja modeli jest często konieczna, aby obniżyć koszty do rozsądnego zakresu.

Kolczastość: Firmy zajmujące się generatywną sztuczną inteligencją często odnotowują dramatyczny wzrost popytu, ponieważ technologia jest tak nowa i ekscytująca. Nie jest niczym niezwykłym, że liczba żądań wzrasta 10-krotnie w ciągu dnia, w oparciu o wydanie nowego produktu, lub stale rośnie o 50% tygodniowo. Obsługa tych skoków jest często łatwiejsza w przypadku procesorów graficznych niższej klasy, ponieważ prawdopodobnie więcej węzłów obliczeniowych jest dostępnych na żądanie. Często sensowne jest też obsługiwanie tego rodzaju ruchu za pomocą tańszych zasobów — kosztem wydajności — jeśli pochodzi on od mniej zaangażowanych lub mniej retencyjnych użytkowników.

Optymalizacja i planowanie modeli

Optymalizacje oprogramowania mogą znacząco wpłynąć na czas działania modeli — a 10-krotny wzrost nie jest niczym niezwykłym. Musisz jednak określić, które metody będą najskuteczniejsze w przypadku konkretnego modelu i systemu.

Niektóre techniki działają z dość szeroką gamą modeli. Używając krótszych reprezentacji zmiennoprzecinkowych (tj. FP16 lub FP8 w porównaniu z oryginalnym FP32) lub kwantyzacji (INT8, INT4, INT2) uzyskuje się przyspieszenie, które często jest liniowe wraz z redukcją bitów. Czasami wymaga to modyfikacji modelu, ale coraz częściej dostępne są technologie automatyzujące pracę z mieszaną lub krótszą precyzją. Przycinanie sieci neuronowych zmniejsza liczbę wag poprzez ignorowanie wag o niskich wartościach. W połączeniu z wydajnym mnożeniem macierzy rzadkich może to zapewnić znaczne przyspieszenie nowoczesnych procesorów graficznych. Inny zestaw technik optymalizacyjnych rozwiązuje problem wąskiego gardła przepustowości pamięci (np. poprzez przesyłanie strumieniowe wag modeli).

Inne optymalizacje są wysoce specyficzne dla modelu. Na przykład firma Stable Diffusion dokonała znacznych postępów w zakresie ilości pamięci VRAM wymaganej do wnioskowania. Jeszcze inna klasa optymalizacji jest specyficzna dla sprzętu. TensorML firmy NVIDIA zawiera szereg optymalizacji, ale będzie działać tylko na sprzęcie NVIDIA. Wreszcie, planowanie zadań AI może powodować ogromne wąskie gardła wydajności lub ulepszenia. Powszechne techniki to przydzielanie modeli do procesorów graficznych w taki sposób, aby zminimalizować zamianę ciężarów, wybieranie najlepszego procesora graficznego do zadania, jeśli dostępnych jest ich wiele, oraz minimalizowanie przestojów poprzez grupowanie obciążeń z wyprzedzeniem.

Ostatecznie optymalizacja modeli to wciąż trochę czarna magia, a większość startupów, z którymi rozmawiamy, współpracuje z osobami trzecimi, aby pomóc w niektórych aspektach oprogramowania. Często nie są to tradycyjni dostawcy MLops, ale firmy specjalizujące się w optymalizacjach dla określonych modeli generatywnych (np. OctoML lub SegMind).

Jak będą ewoluować koszty infrastruktury AI?

W ciągu ostatnich kilku lat obserwowaliśmy wykładniczy wzrost obu parametry modelu i Moc obliczeniowa GPU. Nie wiadomo, czy ten trend się utrzyma.

Obecnie powszechnie przyjmuje się, że istnieje zależność między optymalną liczbą parametrów a wielkością zbioru danych treningowych (zob. Szynszyla popracować więcej na ten temat). Najlepsi LLM są dziś szkoleni w zakresie Wspólne indeksowanie (zbiór 4.5 miliarda stron internetowych, czyli około 10% wszystkich istniejących stron internetowych). Korpus szkoleniowy obejmuje również Wikipedię i zbiór książek, chociaż oba są znacznie mniejsze (całkowitą liczbę istniejących książek szacuje się na ok. tylko około 100 mln). Zasugerowano inne pomysły, takie jak transkrypcja treści wideo lub audio, ale żaden z nich nie zbliża się rozmiarem. Nie jest jasne, czy moglibyśmy uzyskać niesyntetyczny zestaw danych szkoleniowych, który jest 10 razy większy niż to, co zostało już wykorzystane.

Wydajność GPU będzie nadal rosła, ale również w wolniejszym tempie. Prawo Moore'a jest nadal nienaruszone, co pozwala na zastosowanie większej liczby tranzystorów i większej liczby rdzeni, ale moc i wejścia/wyjścia stają się czynnikami ograniczającymi. Ponadto wybrano wiele nisko wiszących owoców do optymalizacji. 

Jednak nic z tego nie oznacza, że ​​nie spodziewamy się wzrostu zapotrzebowania na moc obliczeniową. Nawet jeśli wzrost modeli i zestawów treningowych spowalnia, rozwój branży sztucznej inteligencji i wzrost liczby programistów sztucznej inteligencji będą napędzać popyt na więcej i szybszych procesorów graficznych. Duża część pojemności procesora graficznego jest wykorzystywana do testowania przez programistów w fazie opracowywania modelu, a to zapotrzebowanie skaluje się liniowo wraz z liczbą pracowników. Nic nie wskazuje na to, że obecny niedobór GPU zmniejszy się w najbliższej przyszłości.

Czy ten utrzymujący się wysoki koszt infrastruktury sztucznej inteligencji stworzy fosę, która uniemożliwi nowym podmiotom dogonienie dobrze finansowanych operatorów o ugruntowanej pozycji? Nie znamy jeszcze odpowiedzi na to pytanie. Koszt szkolenia LLM może dziś wyglądać jak fosa, ale modele open source, takie jak Alpaca lub Stable Diffusion, pokazały, że rynki te są wciąż na wczesnym etapie i mogą szybko się zmienić. Z biegiem czasu struktura kosztów powstającego stosu oprogramowania AI (zobacz nasz poprzedni post) może zacząć wyglądać bardziej jak tradycyjna branża oprogramowania. 

Ostatecznie byłoby to dobre: ​​historia pokazuje, że prowadzi to do tętniących życiem ekosystemów z szybkimi innowacjami i wieloma możliwościami dla przedsiębiorczych założycieli.

Podziękowania dla Moin Nadeem i Shangda Xu za ich wkład i wskazówki podczas procesu pisania.


¹ Intuicja jest taka, że ​​dla każdego parametru (tj. wagi) w sieci neuronowej operacja wnioskowania (tj. przejście w przód) musi wykonać dwie operacje zmiennoprzecinkowe na parametr. Najpierw mnoży wartość węzła wejściowego sieci neuronowej przez parametr. Po drugie, dodaje wynik sumowania do węzła wyjściowego sieci neuronowej. Parametry w koderze są używane raz na token wejściowy, a parametry w dekoderze są używane raz na token wyjściowy. Jeśli założymy, że model ma p parametry oraz wejście i wyjście mają długość n tokeny, całkowita liczba operacji zmiennoprzecinkowych wynosi n * str. W modelu jest wiele innych operacji (np. normalizacja, kodowanie/dekodowanie osadzania), ale czas potrzebny na ich wykonanie jest w porównaniu z tym niewielki. 

² Nauka wymaga najpierw przejścia przez transformator do przodu, jak opisano powyżej, a następnie przejścia do tyłu, które obejmuje cztery dodatkowe operacje na parametr w celu obliczenia nachylenia i dostosowania ciężaru. Należy pamiętać, że obliczenie gradientu wymaga zachowania obliczonych wartości węzłów z przejścia w przód. dla GPT-3, Modele językowe są mało uczącymi się omawia koszty szkolenia.

* * *

Wyrażone tutaj poglądy są poglądami poszczególnych cytowanych pracowników AH Capital Management, LLC („a16z”) i nie są poglądami a16z ani jej podmiotów stowarzyszonych. Niektóre informacje w nim zawarte zostały pozyskane ze źródeł zewnętrznych, w tym od spółek portfelowych funduszy zarządzanych przez a16z. Chociaż pochodzi ze źródeł uważanych za wiarygodne, a16z nie zweryfikowała niezależnie takich informacji i nie składa żadnych oświadczeń dotyczących trwałej dokładności informacji lub ich adekwatności w danej sytuacji. Ponadto treści te mogą zawierać reklamy osób trzecich; a16z nie przeglądał takich reklam i nie popiera żadnych zawartych w nich treści reklamowych.

Te treści są udostępniane wyłącznie w celach informacyjnych i nie należy ich traktować jako porady prawnej, biznesowej, inwestycyjnej lub podatkowej. Powinieneś skonsultować się w tych sprawach z własnymi doradcami. Odniesienia do jakichkolwiek papierów wartościowych lub aktywów cyfrowych służą wyłącznie celom ilustracyjnym i nie stanowią rekomendacji inwestycyjnej ani oferty świadczenia usług doradztwa inwestycyjnego. Ponadto treść ta nie jest skierowana ani przeznaczona do użytku przez jakichkolwiek inwestorów lub potencjalnych inwestorów iw żadnym wypadku nie można na nich polegać przy podejmowaniu decyzji o zainwestowaniu w jakikolwiek fundusz zarządzany przez a16z. (Oferta inwestycji w fundusz a16z zostanie złożona wyłącznie na podstawie memorandum dotyczącego oferty prywatnej, umowy subskrypcyjnej i innej odpowiedniej dokumentacji takiego funduszu i należy ją przeczytać w całości.) Wszelkie inwestycje lub spółki portfelowe wymienione, wymienione lub opisane nie są reprezentatywne dla wszystkich inwestycji w pojazdy zarządzane przez a16z i nie można zapewnić, że inwestycje będą opłacalne lub że inne inwestycje dokonane w przyszłości będą miały podobne cechy lub wyniki. Lista inwestycji dokonanych przez fundusze zarządzane przez Andreessena Horowitza (z wyłączeniem inwestycji, w przypadku których emitent nie wyraził zgody na publiczne ujawnienie przez a16z oraz niezapowiedzianych inwestycji w aktywa cyfrowe będące w obrocie publicznym) jest dostępna pod adresem https://a16z.com/investments /.

Wykresy i wykresy zamieszczone w niniejszym dokumencie służą wyłącznie celom informacyjnym i nie należy na nich polegać przy podejmowaniu jakichkolwiek decyzji inwestycyjnych. Wyniki osiągnięte w przeszłości nie wskazują na przyszłe wyniki. Treść mówi dopiero od wskazanej daty. Wszelkie prognozy, szacunki, prognozy, cele, perspektywy i/lub opinie wyrażone w tych materiałach mogą ulec zmianie bez powiadomienia i mogą się różnić lub być sprzeczne z opiniami wyrażanymi przez innych. Dodatkowe ważne informacje można znaleźć na stronie https://a16z.com/disclosures.

Znak czasu:

Więcej z Andreessen Horowitz