Dostrajanie modelu Gemma

Dostrajanie modelu generatywnej sztucznej inteligencji (AI), takiego jak Gemma, zmienia jego działanie. Zazwyczaj dostosowujesz Gemma, aby poprawić jego skuteczność w określonym zadaniu lub domenie albo aby lepiej spełniał ono swoją rolę, np. obsługę klienta. Modele Gemma są udostępniane z otwartymi współczynnikami, co oznacza, że możesz je modyfikować, co z kolei zmienia zachowanie modelu. Ogólne czynności związane z dostrajaniem modelu Gemma:

Wybieranie ramowego rozwiązania

Modele Gemma są zgodne z różnymi platformami do dostrajania AI. Każda platforma oferuje różne zalety i zazwyczaj jest ograniczona do określonego formatu modelu. Oto przewodniki po dostosowywaniu modeli Gemma za pomocą różnych frameworków:

Upewnij się, że wybrana platforma programistyczna obsługuje format modelu przeznaczony do wdrożenia, np. Keras, Safetensors lub GGUF.

Zbieranie danych

Dostrojenie modelu wymaga danych. Dane do dostrajania zwykle obejmują pary danych wejściowych i oczekiwanej odpowiedzi. W internecie dostępnych jest wiele publicznych zbiorów danych, które można wykorzystać do trenowania modeli na potrzeby różnych zadań lub wyników. Jeśli na przykład chcesz wytrenować model Gemma do tłumaczenia opisów części samochodowych na numery części, Twój zbiór danych może zawierać te elementy:

training_data = [
  {"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
  {"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
  {"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]

Jeśli chcesz, aby model Gemma wykonywał określony zestaw zadań lub ról, musisz zazwyczaj skompilować zbiór danych, który zawiera wiele wersji tego zadania. Potrzebna ilość danych do dostosowania modelu zależy od Twoich celów, a w szczególności od tego, jak dużą zmianę zachowania chcesz wprowadzić w modelu i jak dobrze ma on działać w zależności od zadania do wykonania i poziomu zmienności danych wejściowych.

Zazwyczaj warto zacząć od małego zbioru danych na potrzeby dostosowania zadania, a potem dostosowywać parametry trenowania i dodawać dane, aż osiągniesz zadowalającą wydajność zadania. Niektóre z naszych przykładowych zastosowań pokazują, że na zachowanie modelu Gemma można wpływać za pomocą zaledwie 20 par promptów i odpowiedzi. Więcej informacji znajdziesz w artykułach Tworzenie asystenta AI do obsługi firmowych e-maili za pomocą Gemma i Wykonywanie zadań na mowie za pomocą Gemma.

Dostrajanie i testowanie modelu

Gdy masz już gotową ramę do dostrajania i dane do dostrajania, możesz rozpocząć proces dostrajania modelu w Gemme. Podczas dostrajania masz do wyboru kilka opcji, które wpływają na zasoby potrzebne do jego przeprowadzenia. Powinieneś też mieć plan testowania dopracowanego modelu, aby sprawdzić, czy po dopracowaniu działa on zgodnie z Twoimi oczekiwaniami.

Dostrajanie z uwzględnieniem wydajności

Podczas dokładnego dostrajania modelu z otwartymi wagami, takiego jak Gemma, możesz dostroić wszystkie parametry modelu lub użyć mniej zasobochłonnej techniki dostrajania, która aktualizuje podzbiór parametrów. Pełne dostrojenie oznacza, że podczas stosowania danych do dostrojenia obliczasz nowe wagi dla wszystkich parametrów modelu. To podejście wymaga dużej mocy obliczeniowej i pamięci, ponieważ wykonujesz te obliczenia dla miliardów parametrów. Stosowanie metod dostrajania, które nie wymaga wielu zasobów, takich jak optymalizacja pod kątem wydajności (PEFT), w tym techniki takie jak dostrajanie za pomocą adaptera niskiego rzędu (LoRA), może dawać podobne wyniki przy mniejszym wykorzystaniu zasobów obliczeniowych. Szczegółowe informacje o dostrajaniu przy użyciu mniejszej ilości zasobów za pomocą LoRA znajdziesz w artykułach Dostrojenie modeli Gemma w Keras za pomocą LoRADostrojenie modeli Gemma w Hugging Face.

Testowanie dostrojonych modeli

Po dostrojeniu modelu do konkretnego zadania należy przetestować jego wydajność w przypadku zestawu zadań, które ma wykonywać. Model należy przetestować na zadaniach lub żądaniach, na których nie był on trenowany. Sposób testowania dopracowanego modelu zależy od zadania, które ma wykonywać, oraz od tego, jak ściśle zarządzasz danymi wejściowymi i wyjściowymi modelu. Typowym sposobem zarządzania testowaniem modeli generatywnych jest korzystanie z przypadków powodzenia, niepowodzenia i granicy:

  • Testy powodzenia: żądania, które model dopasowany powinien zawsze wykonywać prawidłowo.
  • Testy niepowodzenia: żądania, aby dostrojony model zawsze nie był w stanie wykonać zadania lub wyraźnie odmówił wykonania zadania na żądanie.
  • Testy graniczne: żądania, które model powinien być w stanie wykonać, jeśli mieszczą się w określonych granicach lub zbiorze granic dopuszczalnego zachowania danych wyjściowych.

Podczas testowania warunków błędów lub warunków granicznych aplikacji generatywnej AI należy też stosować podejścia, techniki i narzędzia do zapewnienia bezpieczeństwa generatywnej AI zgodnie z zestawem narzędzi do odpowiedzialnego stosowania generatywnej AI.

Wdróż model

Po zakończeniu dostrajania i pomyślnym przeprowadzeniu testów możesz wdrożyć model. Informacje o wdrażaniu dostosowanego modelu znajdziesz zwykle w dokumentacji wybranego frameworku.

Jeśli wdrażasz model z dostrojonymi wagami LoRA, pamiętaj, że przy użyciu tej techniki zwykle wdrażasz zarówno oryginalny model, jak i jego wagi z wagami LoRA jako dodatkową warstwę obliczeniową modelu.