Skip to content

Latest commit

 

History

History
105 lines (69 loc) · 14.9 KB

File metadata and controls

105 lines (69 loc) · 14.9 KB

Modele Open Source

Dostosowywanie Twojego LLM

Używanie dużych modeli językowych do budowy aplikacji generujących AI wiąże się z nowymi wyzwaniami. Kluczowym zagadnieniem jest zapewnienie jakości odpowiedzi (dokładności i trafności) generowanych przez model na określone zapytanie użytkownika. W poprzednich lekcjach omawialiśmy techniki takie jak inżynieria podpowiedzi oraz generowanie wspomagane wyszukiwaniem, które starają się rozwiązać problem poprzez modyfikację wejścia podpowiedzi do istniejącego modelu.

W dzisiejszej lekcji omówimy trzecią technikę, dostrajanie, która stara się rozwiązać wyzwanie poprzez ponowne trenowanie samego modelu z dodatkowymi danymi. Zanurzmy się w szczegóły.

Cele nauki

Ta lekcja wprowadza koncepcję dostrajania wstępnie wytrenowanych modeli językowych, bada korzyści i wyzwania takiego podejścia oraz dostarcza wskazówek, kiedy i jak używać dostrajania, aby poprawić wydajność twoich modeli generujących AI.

Po zakończeniu lekcji powinieneś być w stanie odpowiedzieć na następujące pytania:

  • Czym jest dostrajanie modeli językowych?
  • Kiedy i dlaczego dostrajanie jest użyteczne?
  • Jak mogę dostroić wstępnie wytrenowany model?
  • Jakie są ograniczenia dostrajania?

Gotowy? Zaczynajmy.

Ilustrowany przewodnik

Chcesz mieć ogólny obraz tego, co omówimy, zanim zaczniemy? Sprawdź ten ilustrowany przewodnik opisujący ścieżkę nauki dla tej lekcji – od nauki podstawowych pojęć i motywacji do dostrajania, po zrozumienie procesu i najlepszych praktyk realizacji zadania dostrajania. To fascynujący temat do eksploracji, więc nie zapomnij zajrzeć na stronę Zasoby po dodatkowe linki wspierające samodzielną naukę!

Ilustrowany przewodnik do dostrajania modeli językowych

Czym jest dostrajanie modeli językowych?

Z definicji, duże modele językowe są wstępnie wytrenowane na dużych ilościach tekstów pochodzących z różnych źródeł, w tym internetu. Jak dowiedzieliśmy się w poprzednich lekcjach, potrzebujemy technik takich jak inżynieria podpowiedzi i generowanie wspomagane wyszukiwaniem, aby poprawić jakość odpowiedzi modelu na pytania użytkownika („podpowiedzi”).

Popularna technika inżynierii podpowiedzi polega na dostarczaniu modelowi więcej wskazówek co do oczekiwanej odpowiedzi, czy to przez podawanie instrukcji (wskazówek jawnych), czy kilku przykładów (wskazówek niejawnych). Nazywa się to uczeniem z niewielką liczbą przykładów, ale ma dwie ograniczenia:

  • Limity tokenów modelu mogą ograniczać liczbę przykładów, które możesz podać, i zmniejszać skuteczność.
  • Koszty tokenów modelu mogą powodować, że dodawanie przykładów do każdej podpowiedzi stanie się kosztowne i ograniczać elastyczność.

Dostrajanie to powszechna praktyka w systemach uczenia maszynowego, gdzie bierzemy wstępnie wytrenowany model i ponownie go trenujemy z nowymi danymi, aby poprawić jego działanie na określonym zadaniu. W kontekście modeli językowych możemy dostroić wstępnie wytrenowany model za pomocą wyselekcjonowanego zestawu przykładów dla konkretnego zadania lub domeny zastosowania, tworząc model niestandardowy, który może być bardziej dokładny i trafny w tym konkretnym zadaniu lub dziedzinie. Dodatkową korzyścią z dostrajania jest możliwość zmniejszenia liczby przykładów potrzebnych do uczenia z niewielką liczbą przykładów – co redukuje użycie tokenów i powiązane koszty.

Kiedy i dlaczego powinniśmy dostrajać modele?

W tym kontekście, gdy mówimy o dostrajaniu, mamy na myśli nadzorowane dostrajanie, gdzie ponowne trenowanie odbywa się poprzez dodawanie nowych danych, które nie były częścią oryginalnego zbioru treningowego. Różni się to od niesuperwizowanego dostrajania, gdzie model jest trenowany ponownie na oryginalnych danych, lecz z innymi hiperparametrami.

Kluczową rzeczą do zapamiętania jest to, że dostrajanie to zaawansowana technika, która wymaga pewnego poziomu wiedzy, aby osiągnąć oczekiwane rezultaty. Jeśli zostanie źle wykonane, może nie przynieść spodziewanych ulepszeń, a nawet pogorszyć wydajność modelu dla twojej docelowej dziedziny.

Dlatego zanim nauczysz się „jak” dostrajać modele językowe, musisz wiedzieć „dlaczego” warto wybrać tę metodę i „kiedy” rozpocząć proces dostrajania. Zacznij od zadania sobie tych pytań:

  • Przypadek użycia: Jaki jest twój przypadek użycia dostrajania? Jaki aspekt obecnego wstępnie wytrenowanego modelu chcesz poprawić?
  • Alternatywy: Czy próbowałeś innych technik, aby osiągnąć zamierzone cele? Wykorzystaj je, aby stworzyć bazę do porównań.
    • Inżynieria podpowiedzi: Wypróbuj techniki takie jak podpowiedzi z niewielką liczbą przykładów odpowiednich reakcji podpowiedzi. Oceń jakość odpowiedzi.
    • Generowanie wspomagane wyszukiwaniem: Wypróbuj uzupełnianie podpowiedzi wynikami wyszukiwania danych. Oceń jakość odpowiedzi.
  • Koszty: Czy zidentyfikowałeś koszty dostrajania?
    • Możliwość dostrajania – czy wstępnie wytrenowany model jest dostępny do dostrajania?
    • Nakład pracy – na przygotowanie danych treningowych, ocenę i udoskonalanie modelu.
    • Obliczenia – na uruchomienie pracy dostrajania i wdrożenie dostrojonego modelu.
    • Dane – dostęp do wystarczającej jakości przykładów, aby dostrajanie miało wpływ.
  • Korzyści: Czy potwierdziłeś korzyści z dostrajania?
    • Jakość – czy dostrojony model przewyższył bazowy?
    • Koszt – czy zmniejsza użycie tokenów poprzez uproszczenie podpowiedzi?
    • Rozszerzalność – czy możesz ponownie wykorzystać model bazowy dla nowych domen?

Odpowiadając na te pytania, powinieneś być w stanie zdecydować, czy dostrajanie jest właściwym podejściem dla twojego przypadku użycia. Idealnie, podejście jest ważne tylko wtedy, gdy korzyści przewyższają koszty. Gdy zdecydujesz się na kontynuację, czas pomyśleć, jak możesz dostroić wstępnie wytrenowany model.

Chcesz uzyskać więcej informacji o procesie podejmowania decyzji? Obejrzyj To fine-tune or not to fine-tune

Jak możemy dostroić wstępnie wytrenowany model?

Aby dostroić wstępnie wytrenowany model, potrzebujesz:

  • wstępnie wytrenowanego modelu do dostrajania
  • zestawu danych do użycia podczas dostrajania
  • środowiska treningowego do uruchomienia zadania dostrajania
  • środowiska hostingowego do wdrożenia dostrojonego modelu

Dostrajanie w praktyce

Poniższe zasoby oferują tutoriale krok po kroku, które przeprowadzą cię przez rzeczywisty przykład korzystania z wybranego modelu i wyselekcjonowanego zestawu danych. Aby pracować z tymi tutorialami, potrzebujesz konta u konkretnego dostawcy oraz dostępu do odpowiednich modeli i zestawów danych.

Dostawca Tutorial Opis
OpenAI Jak dostroić modele czatu Naucz się dostrajać gpt-35-turbo dla konkretnej domeny („asystent przepisów”) poprzez przygotowanie danych treningowych, uruchomienie zadania dostrajania i użycie dostrojonego modelu do wnioskowania.
Azure OpenAI Poradnik dostrajania GPT 3.5 Turbo Naucz się dostrajać model gpt-35-turbo-0613 na platformie Azure wykonując kroki tworzenia i przesyłania danych treningowych, uruchomienia zadania dostrajania. Wdrożenie i użycie nowego modelu.
Hugging Face Dostrajanie LLM z Hugging Face Ten wpis na blogu prowadzi cię przez dostrajanie otwartego LLM (np. CodeLlama 7B) używając biblioteki transformers i Transformer Reinforcement Learning (TRL) oraz otwartych zbiorów danych Hugging Face.
🤗 AutoTrain Dostrajanie LLM z AutoTrain AutoTrain (lub AutoTrain Advanced) to biblioteka Pythona stworzona przez Hugging Face, która pozwala na dostrajanie dla różnych zadań, w tym dostrajanie LLM. AutoTrain to rozwiązanie bez kodu i dostrajanie można przeprowadzić w twojej chmurze, na Hugging Face Spaces lub lokalnie. Obsługuje zarówno graficzny interfejs sieciowy, CLI, jak i trening przez pliki konfiguracyjne YAML.
🦥 Unsloth Dostrajanie LLM z Unsloth Unsloth to otwartoźródłowy framework wspierający dostrajanie LLM i uczenie przez wzmacnianie (RL). Unsloth ułatwia lokalne trenowanie, ocenę i wdrażanie z gotowymi notatnikami. Obsługuje też modele tekst-na-mowę (TTS), BERT oraz multimodalne. Aby rozpocząć, przeczytaj ich krok po kroku Przewodnik po dostrajaniu LLM.

Zadanie

Wybierz jeden z powyższych tutoriali i przejdź przez niego. Możemy powielić wersję tych tutoriali w Notatnikach Jupyter w tym repozytorium tylko jako odniesienie. Prosimy korzystaj bezpośrednio z oryginalnych źródeł, aby uzyskać najnowsze wersje.

Doskonała robota! Kontynuuj naukę.

Po ukończeniu tej lekcji zajrzyj do naszej kolekcji nauki o generatywnym AI, by dalej podnosić swoje kompetencje w generatywnym AI!

Gratulacje!! Ukończyłeś ostatnią lekcję z serii v2 tego kursu! Nie przestawaj się uczyć i tworzyć. **Sprawdź stronę ZASOBY dla listy dodatkowych sugestii właśnie na ten temat.

Nasza seria lekcji v1 została również zaktualizowana o kolejne zadania i koncepcje. Poświęć chwilę, by odświeżyć swoją wiedzę – i prosimy podziel się swoimi pytaniami i opiniami, aby pomóc nam ulepszyć te lekcje dla społeczności.


Zastrzeżenie:
Niniejszy dokument został przetłumaczony za pomocą automatycznej usługi tłumaczeń AI Co-op Translator. Mimo że dokładamy starań, aby tłumaczenie było jak najdokładniejsze, prosimy mieć na uwadze, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym należy traktować jako źródło wiarygodne. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.