Powrót do strony głównej

Dostrajanie Mistral 7B po rosyjsku dla dialogów

Artykuł opisuje dostrajanie Mistral 7B na 5,35 mld rosyjskojęzycznych tokenów do podsumowywania dialogów. Pełne fine-tuning przewyższyło LoRA, dało topowe wyniki na MERA. Architektura z ML Controller i optymalizacje na RTX A6000.

Mistral 7B po rosyjsku: pełny przewodnik po dostrajaniu i wynikach
Advertisement 728x90

Dostrajanie Mistral 7B do języka polskiego: od LoRA do pełnego fine-tuningu w podsumowywaniu dialogów

Mistral 7B wykazuje słabe wyniki w języku polskim: błędy w odmianie, ignorowanie promptów, utrata sensu w długich dialogach. Zespół AiGenda postanowił dostroić model do automatyzacji protokołowania spotkań. Zadanie obejmuje rozpoznawanie mowy, identyfikację mówców, wykrywanie tematów i podsumowywanie za pomocą LLM do 7B parametrów z kontekstem 8192 tokenów.

Architektura została zaprojektowana z myślą o skalowalności, bezpieczeństwie i odporności na awarie. Backend kieruje żądania przez RabbitMQ do usługi ML. ML Controller zarządza modelami, współpracując z bazą danych wektorowej dla embeddingów. Dane są izolowane, magazyn S3 i zapis spotkań przez API OpenStack.

Architektura systemu ML

Łańcuch przetwarzania: interfejs → Backend → RabbitMQ → ML → odpowiedź. ML Controller rozdziela zadania między Whisper (mowa), pyannote/ResNet34 (mówcy), embeddingami dla tematów i Mistral dla tekstu.

Google AdInline article slot

Kluczowe komponenty:

  • Kolejka RabbitMQ: przetwarzanie wsadowe, redukcja opóźnień.
  • ML Controller: routing, dodawanie/zamiana modeli.
  • Baza danych wektorowa: embeddingi mówców i tekstu.
  • Meeting Controller: dynamiczne zasoby do nagrywania.
  • Monitorowanie: Grafana, Sentry.

Zapewnia to elastyczność i bezpieczeństwo bez bezpośredniego dostępu do modeli.

Niepowodzenie LoRA i przejście do pełnego dostrajania

LoRA wygładziła błędy, ale nie wyeliminowała słabej logiki zdań z powodu deficytu danych w języku polskim w modelu bazowym. Przeszliśmy do pełnego fine-tuningu.

Google AdInline article slot

Zebraliśmy zbiór danych 5,35 mld tokenów: teksty, dialogi, instrukcje, tłumaczenie maszynowe. Szkolenie na transformers (Hugging Face) z optymalizacjami:

  • Mixed Precision, bfloat16.
  • Próbnik bez paddingu (przyspieszenie x10).
  • Flash Attention 2 (oszczędność VRAM).
  • ZeRO-2 z odciążaniem na CPU.

Dwie Nvidia RTX A6000 (48 GB) zmieściły się w budżecie. Logi w wandb.ai.

Ocena modelu językowego na MERA

Testowano na Ubuntu 20.04, RTX 4090, 16 rdzeniach Ice Lake, 32 GB RAM. Dostrojony model przewyższył bazowy Mistral 7B, GigaChat i MTS Chat w:

Google AdInline article slot
  • LCS.
  • PARus.
  • SimpleAR.
  • RuHumanEval.
  • ruHH.

Praktyka: redukcja błędów w dialogach, ekstrakcja informacji w 8192 tokenach z niskimi halucynacjami.

Co ważne:

  • Pełne dostrajanie jest kluczowe dla języków z małą ilością danych w modelach wstępnie trenowanych.
  • Optymalizacje (Flash Attention, ZeRO-2) umożliwiają szkolenie 7B na sprzęcie konsumenckim.
  • MERA to wiarygodny benchmark dla języka polskiego.
  • Kontekst 8192 tokenów wystarcza do dialogów spotkań.
  • Integracja z architekturą zapewnia gotowość produkcyjną.

Fine-tuning pod zadanie i Whisper

Ostateczna LoRA na zbiorze dialogowym (podsumowywanie, punkty akcji, tematy). Adnotacje: ręczne + GPT-4 API. BertScore F1 = 0,93 dla podsumowywania.

Whisper dostrojono na 50%+ polskim: wykłady, konferencje, wywiady. Pseudolabeling + sprawdzanie słownikowe (np. "ETMO" → "ITMO"). Redukcja WER na zaszumionych nagraniach spotkań.

Perspektywy rozwoju

Plany: kontekst do 128k tokenów, nowe architektury. Zbieranie feedbacku do iteracji.

— Editorial Team

Advertisement 728x90

Czytaj dalej