Przejdź do treści

Lekcja 3 z 6 · 6 min · +100 XP

Jak zmniejszyć duży model językowy, żeby zmieścił się w telefonie?

Model językowy zmniejszają dwie główne sztuczki. Kwantyzacja zapisuje każdą z jego miliardów wag na mniejszej liczbie bitów, np. 4 zamiast 16, więc plik staje się kilka razy mniejszy i szybszy przy niewielkiej stracie jakości, dopóki zaokrąglanie nie pójdzie za daleko. Destylacja uczy mały model-ucznia naśladować odpowiedzi dużego modelu-nauczyciela.

▶ Wypróbuj

Dlaczego to ważne

Największe modele potrzebują całych szaf z chipami. Zmniejszanie ich pozwala uruchomić AI na laptopie lub telefonie, taniej, szybciej, a nawet offline, i wyjaśnia, czemu małe modele też bywają dobre.

W 6 minut nauczysz się

  • Rozmiar modelu to głównie liczba wag razy liczba bitów na zapis każdej z nich.
  • Do ok. 4 bitów jakość zwykle spada tylko trochę; dużo niżej odpowiedzi się sypią.
  • Małe modele na urządzeniu mogą działać offline, a twój tekst zostaje u ciebie.

Co przećwiczysz

  1. Po co zmniejszać model?

    Stuknij każdą kartę.

    📦 Jak duży jest model?
    Model to miliardy liczb zwanych wagami. Po 16 bitów na każdą model z 7 mld wag zajmuje ok. 14 GB.
    📱 Po co uruchamiać go na urządzeniu?
    Działa offline, odpowiada bez wysyłania danych na serwer, a twój tekst może zostać na twoim urządzeniu.
    ⚡ Czemu mniejszy znaczy szybszy?
    Przy każdym tokenie chip musi odczytać wagi z pamięci. Mniej bajtów do odczytu to więcej tokenów na sekundę.
    💸 Czemu to ważne dla laboratoriów?
    Obsługa milionów ludzi kosztuje chipy i prąd. Mniejszy model, który odpowiada prawie tak samo dobrze, jest dużo tańszy w utrzymaniu.
  2. Zmniejsz Vireo do telefonu

    Zmniejszaj precyzję i obserwuj wagi, rozmiar i jakość. Wyślij, gdy model się zmieści i wciąż działa. Rozmiary, prędkości i wyniki są poglądowe.

    Vireo · 7B

    • 32 bit: 28 GB · 2 tok/s · Jakość 100% · Stolicą Australii jest Canberra.
    • 16 bit: 14 GB · 5 tok/s · Jakość 100% · Stolicą Australii jest Canberra.
    • 8 bit: 7 GB · 9 tok/s · Jakość 99% · Stolicą Australii jest Canberra.
    • 4 bit: 3,5 GB · 16 tok/s · Jakość 96% · Stolica Australii to Canberra.
    • 2 bit: 1,75 GB · 21 tok/s · Jakość 38% · Stolicą stolicą Austral jest jest Sydberra berra

    Vireo Mini · 1B

    • 32 bit: 4 GB · 12 tok/s · Jakość 89% · Canberra jest stolicą Australii.
    • 16 bit: 2 GB · 24 tok/s · Jakość 89% · Canberra jest stolicą Australii.
    • 8 bit: 1 GB · 44 tok/s · Jakość 88% · Canberra jest stolicą Australii.
    • 4 bit: 0,5 GB · 70 tok/s · Jakość 85% · Canberra to stolica Australii.
    • 2 bit: 0,25 GB · 84 tok/s · Jakość 31% · Canberra ta ta stolicą Aus Aus
    1. Zmieść Vireo w 4 GB wolnego miejsca w telefonie, przy jakości co najmniej 90%.

      ✓ 4 bity na wagę: jedna ósma pierwotnego rozmiaru i prawie tak samo dobrze. Dlatego modele 4-bitowe są popularne na laptopach i telefonach.

    2. Nawet przy 2 bitach model 7B ma 1,75 GB i nie działa. Jak dostać dużo mniejszy model, który wciąż dobrze odpowiada?

      • ✓ Wytrenuj małego ucznia, by naśladował odpowiedzi dużego modelu: To destylacja. Uczeń uczy się od nauczyciela pełnych szans dla każdego słowa, a nie tylko „dobrze/źle”, więc z małej ilości wiele się uczy.
      • ✗ Usuń losowo większość warstw dużego modelu: Losowe cięcie warstw niszczy to, czego model się nauczył. Destylacja zachowuje wiedzę, celowo ucząc mniejszy model.
      • ✗ Wytrenuj mały model od zera na malutkim zbiorze danych: Mały model trenowany sam na małej ilości danych uczy się dużo mniej. Naśladowanie dużego nauczyciela daje mu przewagę na starcie.

      Tańszy telefon ma tylko 0,8 GB wolnego miejsca. Wyślij ucznia z jakością co najmniej 80%.

      ✓ Najpierw destylacja, potem kwantyzacja: model, który zaczynał od 28 GB, dobrze odpowiada w pół gigabajta. Laboratoria cały czas łączą obie sztuczki.

  3. Która to sztuczka?

    To kwantyzacja, destylacja czy coś, co powiększa model?

    • Zapisywanie każdej wagi na 4 bitach zamiast 16 → Kwantyzacja
    • Model 1B trenowany na odpowiedziach modelu 70B → Destylacja
    • Zaokrąglenie 0,73914 do 0,74 dla każdej wagi → Kwantyzacja
    • Dodanie dwa razy więcej warstw → Powiększa model
    • Kopiowanie szans nauczyciela dla każdego kolejnego słowa → Destylacja
    • Trening na dziesięć razy większej ilości tekstu z większą liczbą wag → Powiększa model

Zapamiętaj

Kwantyzacja zaokrągla każdą wagę do mniejszej liczby bitów, a destylacja uczy mały model naśladować duży. Obie sprawiają, że AI mieści się na mniejszych urządzeniach.

Zaokrąglenie wag do mniejszej liczby bitów mocno zmniejsza model przy niewielkiej stracie, dopóki nie pójdzie za daleko. Model-uczeń może uczyć się od nauczyciela.

Najważniejsze fakty

  • Destylacja wiedzy, czyli trenowanie małego modelu na „zmiękczonych” wynikach dużego, stała się popularna dzięki pracy z 2015 roku. · Źródło: Hinton, Vinyals and Dean, Distilling the Knowledge in a Neural Network, Google, 2015
  • DistilBERT był o 40% mniejszy i o 60% szybszy od modelu BERT, od którego się uczył, zachowując 97% jego rozumienia języka. · Źródło: Sanh et al., DistilBERT, Hugging Face, 2019
  • Zapis wag na 8 bitach pozwolił badaczom uruchamiać modele mające do 175 mld parametrów bez spadku wydajności. · Źródło: Dettmers et al., LLM.int8(), 2022
  • Dzięki 4-bitowym wagom badacze dostroili model z 65 mld parametrów na jednej karcie graficznej z 48 GB pamięci. · Źródło: Dettmers et al., QLoRA, 2023
  • Model z 7 mld wag potrzebuje ok. 14 GB przy 16 bitach na wagę i ok. 3,5 GB przy 4 bitach.

Aktualizacja:

Częste pytania

Co to jest kwantyzacja w LLM?

Kwantyzacja zapisuje wagi modelu na mniejszej liczbie bitów, np. 4 zamiast 16. Model staje się kilka razy mniejszy i szybszy, zwykle przy niewielkim spadku jakości.

Co to jest destylacja modelu?

Destylacja uczy mały model-ucznia naśladować wyniki dużego modelu-nauczyciela, łącznie z tym, jak prawdopodobne jest według niego każde możliwe kolejne słowo. Uczeń wypada dużo lepiej niż mały model trenowany samodzielnie.

Czy da się uruchomić LLM na telefonie?

Tak. Małe modele z kilkoma miliardami wag lub mniej, często skwantyzowane do 4 bitów, działają na nowoczesnych telefonach i laptopach, nawet bez internetu.

Czy kwantyzacja pogarsza model?

Trochę. Do ok. 8 lub 4 bitów strata jest zwykle niewielka, ale przy bardzo niskiej precyzji, np. 2 bitach, błędy zaokrągleń się kumulują i odpowiedzi mogą się sypać.

Powiązane pojęcia