mantium jest globalnym dostawcą platformy chmurowej do tworzenia aplikacji AI i zarządzania nimi na dużą skalę. Kompleksowa platforma programistyczna firmy Mantium umożliwia przedsiębiorstwom i firmom dowolnej wielkości tworzenie aplikacji i automatyzacji AI szybciej i łatwiej niż było to tradycyjnie możliwe. Dzięki Mantium zespoły techniczne i nietechniczne mogą prototypować, rozwijać, testować i wdrażać aplikacje AI, a wszystko to przy użyciu podejścia niskokodowego. Dzięki automatycznemu rejestrowaniu, monitorowaniu i funkcjom bezpieczeństwa, Mantium zwalnia również inżynierów oprogramowania i DevOps od spędzania czasu na odkrywaniu koła na nowo. Na wysokim poziomie Mantium zapewnia:
- Najnowocześniejsza sztuczna inteligencja – Eksperymentuj i rozwijaj z szerokim wyborem modeli open-source i prywatnych dużych języków z prostym interfejsem użytkownika lub interfejsem API.
- Automatyzacja procesów AI – Z łatwością twórz aplikacje oparte na sztucznej inteligencji dzięki rosnącej bibliotece integracji i graficznemu narzędziu AI Builder firmy Mantium.
- Szybkie wdrożenie – Skróć czas produkcji z miesięcy do tygodni, a nawet dni dzięki wdrożeniu jednym kliknięciem. Ta funkcja zamienia aplikacje AI w aplikacje internetowe do udostępniania za pomocą jednego kliknięcia.
- Bezpieczeństwo i regulacja – Zapewnienie bezpieczeństwa i zgodności z politykami zarządzania oraz wsparcie procesów typu „human-in-the-loop”.
Dzięki Mantium AI Builder możesz opracowywać zaawansowane przepływy pracy, które integrują zewnętrzne interfejsy API, operacje logiczne i modele sztucznej inteligencji. Poniższy zrzut ekranu przedstawia przykład aplikacji Mantium AI, która łączy dane wejściowe Twilio, zasady zarządzania, blok AI (który może polegać na modelu typu open source, takim jak GPT-J) i dane wyjściowe Twilio.
Aby obsługiwać tę aplikację, Mantium zapewnia wszechstronny i jednolity dostęp nie tylko do modeli API od dostawców sztucznej inteligencji, takich jak Open AI, Co:here i AI21, ale także do najnowocześniejszych modeli open source. W Mantium wierzymy, że każdy powinien być w stanie tworzyć kompleksowe, nowoczesne aplikacje AI, które posiada, i wspieramy to, zapewniając dostęp bez kodu i z niską ilością kodu do zoptymalizowanych pod względem wydajności modeli open source.
Na przykład jednym z podstawowych modeli open-source Mantium jest GPT-J, najnowocześniejszy model przetwarzania języka naturalnego (NLP) opracowany przez Eleuther AI. Dzięki 6 miliardom parametrów GPT-J jest jednym z największych i najlepiej działających modeli generowania tekstu typu open source. Użytkownicy Mantium mogą zintegrować GPT-J ze swoimi aplikacjami AI za pośrednictwem Mantium AI Builder. W przypadku GPT-J wiąże się to z określeniem podpowiedź (reprezentacja w języku naturalnym tego, co model powinien zrobić) i konfigurowanie niektórych parametrów opcjonalnych.
Na przykład poniższy zrzut ekranu przedstawia skróconą demonstrację monitu analizy nastrojów, który generuje wyjaśnienia i prognozy nastrojów. W tym przykładzie autor napisał, że „jedzenie było wspaniałe” i że „obsługa była niezwykła”. Dlatego ten tekst wyraża pozytywne odczucia.
Jednak jednym z wyzwań związanych z modelami typu open source jest to, że rzadko są one projektowane pod kątem wydajności klasy produkcyjnej. W przypadku dużych modeli, takich jak GPT-J, może to sprawić, że wdrożenie produkcyjne stanie się niepraktyczne, a nawet niemożliwe, w zależności od przypadku użycia.
Aby zapewnić naszym użytkownikom dostęp do najlepszej w swojej klasie wydajności, zawsze szukamy sposobów na zmniejszenie opóźnień naszych podstawowych modeli. W tym poście opisujemy wyniki eksperymentu optymalizacji wnioskowania, w którym używamy silnika wnioskowania DeepSpeed, aby zwiększyć prędkość wnioskowania GPT-J o około 116%. Opisujemy również, w jaki sposób wdrożyliśmy implementację Hugging Face Transformers GPT-J z DeepSpeed w naszym Amazon Sage Maker punkty końcowe wnioskowania.
Przegląd modelu GPT-J
GPT-J jest generatywnym, wstępnie wytrenowanym (GPT) modelem językowym, a pod względem architektury jest porównywalny z popularnymi, prywatnymi, dużymi modelami językowymi, takimi jak GPT-3 Open AI. Jak wspomniano wcześniej, składa się on z około 6 miliardów parametrów i 28 warstw, które składają się z bloku sprzężenia do przodu i bloku samouwagi. Kiedy został wydany po raz pierwszy, GPT-J był jednym z pierwszych dużych modeli językowych do użycia osadzania obrotowe, nowa strategia kodowania pozycji, która ujednolica kodery pozycji bezwzględnych i względnych. Wykorzystuje również innowacyjną strategię równoległości, w której warstwy gęste i wyprzedzające są łączone w jedną warstwę, co minimalizuje obciążenie komunikacyjne.
Chociaż GPT-J może nie kwalifikować się do tak dużych rozmiarów według dzisiejszych standardów — duże modele zwykle składają się z ponad 100 miliardów parametrów — nadal jest imponująco wydajny, a przy szybkiej inżynierii lub minimalnym dostrojeniu można go użyć do rozwiązania wielu problemów. Co więcej, jego stosunkowo skromny rozmiar oznacza, że można go wdrożyć szybciej i przy znacznie niższych kosztach niż większe modele.
To powiedziawszy, GPT-J jest nadal dość duży. Na przykład trening GPT-J w FP32 z pełnymi aktualizacjami wag i optymalizatorem Adama wymaga ponad 200 GB pamięci: 24 GB na parametry modelu, 24 GB na gradienty, 24 GB na gradienty kwadratowe Adama, 24 GB na stany optymalizatora, oraz dodatkowe wymagania dotyczące pamięci do ładowania partii szkoleniowych i przechowywania aktywacji. Oczywiście szkolenie w 16PR zmniejsza te wymagania dotyczące pamięci prawie o połowę, ale ilość pamięci przekraczająca 100 GB nadal wymaga innowacyjnych strategii szkoleniowych. Na przykład, we współpracy z SageMaker, zespół NLP Mantium opracował workflow do szkolenia (dostrajania) GPT-J przy użyciu biblioteki równoległej modelu rozproszonego SageMaker.
Natomiast obsługa GPT-J do wnioskowania ma znacznie mniejsze wymagania dotyczące pamięci — w FP16 wagi modeli zajmują mniej niż 13 GB, co oznacza, że wnioskowanie można łatwo przeprowadzić na pojedynczym 16 GB GPU. Jednak wnioskowanie z gotowymi implementacjami GPT-J, takimi jak Hugging Face Transformers realizacja którego używamy, jest stosunkowo powolny. Aby obsługiwać przypadki użycia, które wymagają wysoce responsywnego generowania tekstu, skupiliśmy się na skróceniu opóźnienia wnioskowania GPT-J.
Wyzwania dotyczące opóźnienia odpowiedzi GPT-J
Opóźnienie odpowiedzi jest podstawową przeszkodą dla generatywnych wstępnie przeszkolonych transformatorów (GPT), takich jak GPT-J, które zasilają współczesne generowanie tekstu. Modele GPT generują tekst poprzez sekwencje kroków wnioskowania. Na każdym etapie wnioskowania model otrzymuje tekst jako dane wejściowe i, w zależności od tych danych wejściowych, pobiera próbkę słowa ze swojego słownika, aby dołączyć do tekstu. Na przykład, biorąc pod uwagę sekwencję żetonów „Potrzebuję parasola, ponieważ jest”, kolejnym tokenem o wysokim prawdopodobieństwie może być „deszcz”. Jednak może być również „słonecznie” lub „związany”, co może być pierwszym krokiem w kierunku sekwencji tekstowej typu „Potrzebuję parasola, bo zaraz zacznie padać”.
Scenariusze takie jak ten stwarzają interesujące wyzwania związane z wdrażaniem modeli GPT, ponieważ rzeczywiste przypadki użycia mogą obejmować dziesiątki, setki, a nawet tysiące kroków wnioskowania. Na przykład generowanie odpowiedzi o wartości 1,000 tokenów wymaga 1,000 kroków wnioskowania! W związku z tym, chociaż model może oferować szybkości wnioskowania, które w izolacji wydają się wystarczająco szybkie, łatwo jest osiągnąć niemożliwy do utrzymania poziom opóźnienia podczas generowania długich tekstów. Zaobserwowaliśmy średnie opóźnienie wynoszące 280 milisekund na krok wnioskowania na GPU V100. Może się to wydawać szybkie w przypadku modelu parametrów o wartości 6.7 miliarda, ale przy takich opóźnieniach wygenerowanie odpowiedzi 30-tokenowej zajmuje około 500 sekund, co nie jest idealne z perspektywy doświadczenia użytkownika.
Optymalizacja prędkości wnioskowania za pomocą funkcji DeepSpeed Inference
Głęboka prędkość to biblioteka do optymalizacji uczenia głębokiego typu open source opracowana przez firmę Microsoft. Chociaż skupia się głównie na optymalizacji uczenia dużych modeli, DeepSpeed zapewnia również strukturę optymalizacji wnioskowania, która obsługuje wybrany zestaw modeli, w tym BERT, Megatron, GPT-Neo, GPT2 i GPT-J. DeepSpeed Inference ułatwia wnioskowanie o wysokiej wydajności z dużymi architekturami opartymi na transformatorach dzięki połączeniu paralelizmu modeli, jąder CUDA zoptymalizowanych pod kątem wnioskowania i kwantyzacji.
Aby przyspieszyć wnioskowanie za pomocą GPT-J, używamy silnika wnioskowania DeepSpeed, aby wstrzyknąć zoptymalizowane jądra CUDA do implementacji Hugging Face Transformers GPT-J.
Aby ocenić korzyści płynące z szybkości silnika wnioskowania DeepSpeed, przeprowadziliśmy serię testów opóźnień, w których mierzyliśmy czas GPT-J w różnych konfiguracjach. W szczególności zmieniliśmy, czy użyto DeepSpeed, sprzęt, długość sekwencji wyjściowej i długość sekwencji wejściowej. Skupiliśmy się zarówno na długości sekwencji wyjściowej, jak i wejściowej, ponieważ oba wpływają na szybkość wnioskowania. Aby wygenerować sekwencję wyjściową 50 tokenów, model musi wykonać 50 kroków wnioskowania. Ponadto czas wymagany do wykonania kroku wnioskowania zależy od rozmiaru sekwencji wejściowej — większe dane wejściowe wymagają dłuższego czasu przetwarzania. Chociaż wpływ rozmiaru sekwencji wyjściowej jest znacznie większy niż wpływ rozmiaru sekwencji wejściowej, nadal konieczne jest uwzględnienie obu czynników.
W naszym eksperymencie zastosowaliśmy następujący projekt:
- Silnik wnioskowania DeepSpeed – wł., wył.
- sprzęt komputerowy – T4 (ml.g4dn.2xduże), V100 (ml.p3.2xduże)
- Długość sekwencji wejściowej – 50, 200, 500, 1000
- Długość sekwencji wyjściowej – 50, 100, 150, 200
W sumie ten projekt ma 64 kombinacje tych czterech czynników, a dla każdej kombinacji przeprowadziliśmy 20 testów opóźnień. Każdy test był uruchamiany na wstępnie zainicjowanym punkcie końcowym wnioskowania SageMaker, zapewniając, że nasze testy opóźnień odzwierciedlają czasy produkcji, w tym wymiany API i wstępne przetwarzanie.
Nasze testy pokazują, że silnik wnioskowania GPT-J DeepSpeed jest znacznie szybszy niż podstawowa implementacja Hugging Face Transformers PyTorch. Poniższy rysunek ilustruje średnie opóźnienia generowania tekstu dla GPT-J z akceleracją DeepSpeed i bez niej w punktach końcowych wnioskowania ml.g4dn.2xlarge i ml.p3.2xlarge SageMaker.
Na instancji ml.g4dn.2xlarge, która jest wyposażona w 16-gigabajtowy procesor graficzny NVIDIA T4, zaobserwowaliśmy średni spadek opóźnień o około 24% [odchylenie standardowe (SD) = 0.05]. Odpowiadało to wzrostowi ze średniej 12.5 (SD = 0.91) żetonów na sekundę do średniej 16.5 (SD = 2.13) żetonów na sekundę. Warto zauważyć, że efekt przyspieszenia DeepSpeed był jeszcze silniejszy na instancji ml.p3.2xlarge, która jest wyposażona w procesor graficzny NVIDIA V100. Na tym sprzęcie zaobserwowaliśmy 53% (SD = .07) średnie zmniejszenie opóźnień. Pod względem liczby tokenów na sekundę odpowiadało to wzrostowi ze średniej 21.9 (SD = 1.97) tokenów na sekundę do średniej 47.5 (SD = 5.8) tokenów na sekundę.
Zaobserwowaliśmy również, że akceleracja oferowana przez DeepSpeed nieco słabła w obu konfiguracjach sprzętowych wraz ze wzrostem rozmiaru sekwencji wejściowych. Jednak we wszystkich warunkach wnioskowanie z optymalizacją GPT-J DeepSpeed było nadal znacznie szybsze niż w przypadku linii bazowej. Na przykład w wystąpieniu g4dn maksymalne i minimalne skrócenie opóźnienia wyniosły odpowiednio 31% (rozmiar sekwencji wejściowej = 50) i 15% (rozmiar sekwencji wejściowej = 1000). A w przypadku p3 maksymalne i minimalne redukcje opóźnień wynosiły odpowiednio 62% (rozmiar sekwencji wejściowej = 50) i 40% (rozmiar sekwencji wejściowej = 1000).
Wdrażanie GPT-J z DeepSpeed w punkcie końcowym wnioskowania SageMaker
Oprócz znacznego zwiększenia szybkości generowania tekstu dla GPT-J, silnik wnioskowania DeepSpeed można łatwo zintegrować z punktem końcowym wnioskowania SageMaker. Przed dodaniem DeepSpeed do naszego stosu wnioskowania nasze punkty końcowe działały na niestandardowym obrazie Dockera opartym na oficjalnym obrazie PyTorch. SageMaker bardzo ułatwia wdrażanie niestandardowych punktów końcowych wnioskowania, a integracja DeepSpeed była tak prosta, jak uwzględnienie zależności i napisanie kilku linijek kodu. Otwarty przewodnik po procesie wdrażania w celu wdrożenia GPT-J z DeepSpeed jest dostępny na GitHub.
Wnioski
Mantium poświęca się wprowadzaniu innowacji, aby każdy mógł szybko budować za pomocą sztucznej inteligencji. Od automatyzacji procesów opartej na sztucznej inteligencji po rygorystyczne ustawienia bezpieczeństwa i zgodności, nasza kompletna platforma zapewnia wszystkie narzędzia niezbędne do opracowywania solidnych, odpowiedzialnych aplikacji AI i zarządzania nimi na dużą skalę i obniża barierę wejścia. SageMaker pomaga firmom takim jak Mantium szybko wejść na rynek.
Aby dowiedzieć się, jak Mantium może pomóc w tworzeniu złożonych przepływów pracy opartych na sztucznej inteligencji dla Twojej organizacji, odwiedź www.mantumai.com.
O autorach
Joego Hoovera jest starszym naukowcem w zespole badawczo-rozwojowym nad sztuczną inteligencją w Mantium. Pasjonuje go opracowywanie modeli, metod i infrastruktury, które pomagają ludziom rozwiązywać rzeczywiste problemy za pomocą najnowocześniejszych systemów NLP. W wolnym czasie lubi podróżować z plecakiem, pracować w ogrodzie, gotować i spędzać czas z rodziną.
Dawal Patel jest głównym architektem uczenia maszynowego w AWS. Pracował z organizacjami od dużych przedsiębiorstw po średniej wielkości start-upy w zakresie problemów związanych z przetwarzaniem rozproszonym i sztuczną inteligencją. Koncentruje się na uczeniu głębokim, w tym w domenach NLP i Computer Vision. Pomaga klientom uzyskać wnioskowanie o wysokiej wydajności modelu w SageMaker.
Sunila Padmanabhana jest Architektem Rozwiązań Startupowych w AWS. Jako były założyciel startupu i dyrektor ds. technologii, pasjonuje się uczeniem maszynowym i koncentruje się na pomaganiu startupom w wykorzystywaniu AI/ML dla ich wyników biznesowych oraz projektowaniu i wdrażaniu rozwiązań ML/AI na dużą skalę.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- O nas
- bezwzględny
- dostęp
- odpowiednio
- Konto
- Osiągać
- w poprzek
- dodatek
- Dodatkowy
- oddziaływać
- AI
- Wszystkie kategorie
- Chociaż
- zawsze
- Amazonka
- analiza
- ktoś
- api
- Pszczoła
- Aplikacja
- aplikacje
- stosowany
- podejście
- w przybliżeniu
- mobilne i webowe
- architektura
- sztuczny
- sztuczna inteligencja
- automatycznie
- Automatyzacja
- dostępny
- średni
- AWS
- bariera
- Baseline
- bo
- zanim
- Korzyści
- Miliard
- Blokować
- budować
- budowniczy
- Budowanie
- biznes
- biznes
- Etui
- wyzwanie
- wyzwania
- Chmura
- Platforma chmurowa
- kod
- współpraca
- połączenie
- kombinacje
- połączony
- Komunikacja
- Firmy
- kompletny
- kompleks
- spełnienie
- wszechstronny
- komputer
- computing
- Warunki
- rdzeń
- mógłby
- CTO
- zwyczaj
- Klientów
- pionierski nowatorski
- dedykowane
- głęboko
- dostarcza
- wykazać
- W zależności
- zależy
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- opisać
- Wnętrze
- zaprojektowany
- rozwijać
- rozwinięty
- rozwijanie
- oprogramowania
- dystrybuowane
- przetwarzanie rozproszone
- Doker
- domeny
- dramatycznie
- z łatwością
- efekt
- zatrudnia
- Umożliwia
- koniec końców
- Punkt końcowy
- silnik
- Inżynieria
- Inżynierowie
- zapewnienie
- przedsiębiorstwa
- wyposażony
- oceniać
- wszyscy
- przykład
- Wymiana
- doświadczenie
- eksperyment
- rozległy
- nadzwyczajny
- Twarz
- Czynniki
- członków Twojej rodziny
- FAST
- szybciej
- Cecha
- Korzyści
- Postać
- i terminów, a
- koncentruje
- koncentruje
- następujący
- Ślad stopy
- założyciel
- Framework
- od
- pełny
- Ponadto
- Generować
- generujący
- generacja
- generatywny
- Globalne
- zarządzanie
- GPU
- Rozwój
- poprowadzi
- sprzęt komputerowy
- pomoc
- pomoc
- pomaga
- tutaj
- Wysoki
- wysoko
- W jaki sposób
- Jednak
- HTTPS
- Setki
- idealny
- obraz
- realizacja
- Włącznie z
- Zwiększać
- wzrastający
- Innowacja
- Innowacyjny
- wkład
- przykład
- integrować
- integracje
- Inteligencja
- izolacja
- IT
- język
- duży
- większe
- największym
- warstwa
- prowadzący
- UCZYĆ SIĘ
- nauka
- poziom
- poziomy
- Dźwignia
- Biblioteka
- linie
- załadunek
- długo
- poszukuje
- maszyna
- uczenie maszynowe
- robić
- WYKONUJE
- zarządzanie
- zarządzający
- rynek
- znaczy
- Pamięć
- metody
- Microsoft
- może
- minimum
- ML
- model
- modele
- monitorowanie
- miesięcy
- jeszcze
- Naturalny
- niezbędny
- Nvidia
- przeszkoda
- oferta
- oferowany
- urzędnik
- koncepcja
- open source
- operacje
- optymalizacja
- zoptymalizowane
- optymalizacji
- organizacja
- organizacji
- własny
- namiętny
- Ludzie
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- perspektywa
- Platforma
- polityka
- polityka
- Popularny
- position
- pozytywny
- możliwy
- power
- Przewidywania
- bardzo
- Główny
- prywatny
- problemy
- wygląda tak
- Automatyzacja procesów
- procesów
- przetwarzanie
- Produkcja
- dostawca
- dostawców
- zapewnia
- że
- kwalifikować
- szybko
- R & D
- podnieść
- nośny
- dosięgnąć
- redukcja
- odzwierciedlić
- wydany
- prasowe
- reprezentacja
- wymagać
- wymagany
- wymagania
- Wymaga
- odpowiedź
- odpowiedzialny
- Efekt
- run
- bieganie
- Bezpieczeństwo
- Powiedział
- Skala
- Naukowiec
- sekund
- wybór
- sentyment
- Serie
- służąc
- zestaw
- Prosty
- pojedynczy
- Rozmiar
- So
- Tworzenie
- Rozwiązania
- ROZWIĄZANIA
- kilka
- wyrafinowany
- swoiście
- prędkość
- prędkości
- Spędzanie
- stos
- standard
- początek
- startup
- Startups
- state-of-the-art
- Zjednoczone
- Nadal
- strategie
- Strategia
- silniejszy
- wsparcie
- podpory
- systemy
- zespół
- Techniczny
- REGULAMIN
- test
- Testy
- Połączenia
- w związku z tym
- tysiące
- Przez
- czas
- czasy
- dzisiaj
- razem
- żeton
- Żetony
- narzędzia
- tradycyjnie
- Trening
- zazwyczaj
- ui
- dla
- Nowości
- posługiwać się
- Użytkownicy
- różnorodny
- wizja
- sposoby
- sieć
- Co
- Koło
- czy
- bez
- pracował
- przepływów pracy
- pisanie
- Twój