Kiedy rozmowa między człowiekiem a sztuczną inteligencją obejmuje wiele rund ciągłego dialogu, potężne, wielkojęzykowe modele uczenia maszynowego, które napędzają chatboty takie jak ChatGPT, czasami zaczynają się załamywać, powodując gwałtowne pogorszenie wydajności botów.
Zespół badaczy z MIT i innych uczelni wskazał zaskakującą przyczynę tego problemu i opracował proste rozwiązanie, które umożliwia chatbotowi prowadzenie nieprzerwanej rozmowy bez zawieszania się i spowalniania.
Ich metoda polega na ulepszeniu pamięci podręcznej klucz-wartość (która przypomina pamięć konwersacji) w rdzeniu wielu dużych modeli językowych. W przypadku niektórych metod, gdy pamięć podręczna musi pomieścić więcej informacji, niż jest w stanie pomieścić, pierwsze fragmenty danych są usuwane. Może to spowodować awarię modelu.
Dzięki zapewnieniu, że tych kilka pierwszych punktów danych pozostanie w pamięci, metoda badaczy pozwala chatbotowi kontynuować rozmowę bez względu na to, jak długo trwa rozmowa.
Metoda o nazwie StreamingLLM umożliwia zachowanie wydajności modelu nawet wtedy, gdy rozmowa rozciąga się na ponad 4 miliony słów. W porównaniu z inną metodą, która pozwala uniknąć awarii poprzez ciągłe przeliczanie części poprzednich rozmów, StreamingLLM działa ponad 22 razy szybciej.
Może to pozwolić chatbotowi na prowadzenie długich rozmów przez cały dzień pracy bez konieczności ciągłego ponownego uruchamiania, umożliwiając wydajnym asystentom AI wykonywanie zadań takich jak copywriting, edytowanie lub generowanie kodu.
„Teraz dzięki tej metodzie możemy na stałe wdrażać te duże modele językowe. Tworząc chatbota, z którym zawsze możemy porozmawiać i który zawsze może nam odpowiedzieć na podstawie naszych ostatnich rozmów, moglibyśmy wykorzystać te chatboty w nowych aplikacjach” – mówi Guangxuan Xiao, absolwentka elektrotechniki i informatyki (EECS) i główny autor artykułu na temat StreamingLLM.
Współautorami Xiao są jego doradca, Song Han, profesor nadzwyczajny w EECS, członek laboratorium MIT-IBM Watson AI Lab i wybitny naukowiec firmy NVIDIA; a także Yuandong Tian, pracownik naukowy w Meta AI; Beidi Chen, adiunkt na Uniwersytecie Carnegie Mellon; oraz starszy autor Mike Lewis, pracownik naukowy w Meta AI. Praca zostanie zaprezentowana na Międzynarodowej Konferencji na temat reprezentacji uczenia się.
Duże modele językowe kodują dane, takie jak słowa w zapytaniu użytkownika, w reprezentacje zwane tokenami. Wiele modeli wykorzystuje tak zwany mechanizm uwagi, który wykorzystuje te tokeny do generowania nowego tekstu.
Zwykle chatbot AI zapisuje nowy tekst na podstawie tekstu, który właśnie zobaczył, dlatego przechowuje ostatnie tokeny w pamięci, zwanej pamięcią podręczną KV, do późniejszego wykorzystania. Mechanizm uwagi tworzy siatkę zawierającą wszystkie żetony w pamięci podręcznej, „mapę uwagi”, która odwzorowuje, jak silnie każdy token lub słowo jest powiązane ze sobą.
Zrozumienie tych relacji to jedna z funkcji, która umożliwia dużym modelom językowym generowanie tekstu podobnego do ludzkiego.
Kiedy jednak pamięć podręczna stanie się bardzo duża, mapa uwagi może stać się jeszcze bardziej masywna, co spowalnia obliczenia.
Ponadto, jeśli kodowanie treści wymaga większej liczby tokenów, niż może pomieścić pamięć podręczna, wydajność modelu spada. Na przykład jeden popularny model może przechowywać 4096 tokenów, podczas gdy w artykule akademickim jest około 10 000 tokenów.
Aby obejść te problemy, badacze wykorzystują „przesuwaną pamięć podręczną”, która wyrzuca najstarsze tokeny w celu dodania nowych. Jednak wydajność modelu często gwałtownie spada, gdy tylko pierwszy token zostanie wykluczony, co szybko obniża jakość nowo wygenerowanych słów.
Badacze zdali sobie sprawę, że jeśli zatrzymają pierwszy token w przesuwanej pamięci podręcznej, model utrzyma swoją wydajność nawet w przypadku przekroczenia rozmiaru pamięci podręcznej.
Ale to nie miało żadnego sensu. Pierwsze słowo w powieści prawdopodobnie nie ma nic wspólnego z ostatnim słowem, więc dlaczego pierwsze słowo miałoby być tak ważne, aby model wygenerował najnowsze słowo?
W swoim nowym artykule naukowcy odkryli także przyczynę tego zjawiska.
Niektóre modele wykorzystują w swoim mechanizmie uwagi operację Softmax, która przypisuje każdemu tokenowi ocenę odzwierciedlającą stopień powiązania między sobą. Operacja Softmax wymaga, aby wszystkie wyniki uwagi sumowały się do 1. Ponieważ większość tokenów nie jest silnie powiązana, ich wyniki uwagi są bardzo niskie. Model zrzuca pozostały wynik uwagi na pierwszy token.
Naukowcy nazywają ten pierwszy znak „zasysaniem uwagi”.
– Potrzebujemy elementu przyciągającego uwagę, a model decyduje się wykorzystać pierwszy token jako przyciągający uwagę, ponieważ jest on widoczny globalnie — każdy inny token może go zobaczyć. Odkryliśmy, że aby zachować dynamikę modelu, musimy zawsze skupiać uwagę na sobie – mówi Han.
Tworząc StreamingLLM, badacze odkryli, że posiadanie czterech żetonów pochłaniających uwagę na początku przesuwanej pamięci podręcznej zapewnia optymalną wydajność.
Odkryli również, że kodowanie pozycyjne każdego tokena musi pozostać takie samo, nawet po dodaniu nowych tokenów i usunięciu innych. Jeśli token 5 zostanie wyrzucony, token 6 musi pozostać zakodowany jako 6, nawet jeśli jest to teraz piąty token w pamięci podręcznej.
Łącząc te dwa pomysły, umożliwiono firmie StreamingLLM prowadzenie ciągłej rozmowy, a jednocześnie przewyższa ona popularną metodę wykorzystującą ponowne obliczenia.
Na przykład, jeśli pamięć podręczna zawiera 256 tokenów, metoda ponownego obliczenia zajmuje 63 milisekundy, aby zdekodować nowy token, podczas gdy StreamingLLM zajmuje 31 milisekund. Jeśli jednak rozmiar pamięci podręcznej wzrośnie do 4096 tokenów, ponowne obliczenie wymaga 1411 milisekund dla nowego tokena, podczas gdy StreamingLLM potrzebuje zaledwie 65 milisekund.
– Innowacyjne podejście StreamingLLM, skupione wokół mechanizmu pochłaniania uwagi, zapewnia stabilne wykorzystanie pamięci i wydajność, nawet podczas przetwarzania tekstów o długości do 4 milionów tokenów – mówi Yang You, młody profesor informatyki na Uniwersytecie Narodowym Singapurze, który nie był zaangażowany w tę pracę. „Ta zdolność jest nie tylko imponująca; ma charakter transformacyjny, umożliwiając zastosowanie StreamingLLM w szerokiej gamie aplikacji AI. Wydajność i wszechstronność StreamingLLM sprawiają, że jest to wysoce obiecująca technologia, która może zrewolucjonizować podejście do aplikacji generujących napędzanych sztuczną inteligencją.
Tianqi Chen, adiunkt na wydziałach uczenia maszynowego i informatyki na Uniwersytecie Carnegie Mellon, który również nie był zaangażowany w te badania, zgodził się z tym, mówiąc: „Streaming LLM umożliwia płynne wydłużanie długości konwersacji w przypadku dużych modeli językowych. Używamy go, aby umożliwić wdrażanie modeli Mistral na iPhone’ach z wielkim sukcesem.
Naukowcy zbadali także wykorzystanie pochłaniaczy uwagi podczas uczenia modelu, dodając kilka znaczników zastępczych we wszystkich próbkach szkoleniowych.
Odkryli, że trening z pochłaniaczami uwagi pozwolił modelowi utrzymać wydajność, mając w pamięci podręcznej tylko jeden pochłaniacz uwagi, a nie cztery, które są zwykle potrzebne do ustabilizowania wydajności wstępnie wyszkolonego modelu.
Ale chociaż StreamingLLM umożliwia modelowi prowadzenie ciągłej rozmowy, model nie może zapamiętać słów, które nie są przechowywane w pamięci podręcznej. W przyszłości badacze planują zająć się tym ograniczeniem, badając metody odzyskiwania eksmitowanych tokenów lub umożliwienia modelowi zapamiętywania poprzednich rozmów.
StreamingLLM został włączony do dużej biblioteki optymalizacji modeli językowych firmy NVIDIA, TensorRT-LLM .
Prace te są częściowo finansowane przez laboratorium MIT-IBM Watson AI Lab, MIT Science Hub i amerykańską National Science Foundation.
Zdjęcie zajawka: upklyak/Freepik
Zostaw komentarz
You must be logged in to post a comment.