Feinabstimmung von Mistral 7B für Russisch: Von LoRA zur Vollständigen Feinabstimmung für Dialogzusammenfassung
Mistral 7B schneidet auf Russisch schlecht ab: Fehler in Deklinationen, Ignorieren von Prompts und Bedeutungsverlust in langen Dialogen. Das AiGenda-Team beschloss, das Modell für die Automatisierung von Besprechungsprotokollen fein abzustimmen. Die Aufgabe umfasst Spracherkennung, Sprecheridentifikation, Themenerkennung und Zusammenfassung mit einem LLM mit bis zu 7B Parametern und einem Kontext von 8192 Tokens.
Die Architektur ist auf Skalierbarkeit, Sicherheit und Fehlertoleranz ausgelegt. Das Backend leitet Anfragen über RabbitMQ an den ML-Dienst weiter. Der ML-Controller verwaltet Modelle und interagiert mit einer Vektordatenbank für Embeddings. Daten sind isoliert, mit S3-Speicher und Besprechungsaufzeichnung über die OpenStack-API.
ML-Systemarchitektur
Verarbeitungspipeline: Schnittstelle → Backend → RabbitMQ → ML → Antwort. Der ML-Controller verteilt Aufgaben zwischen Whisper (Sprache), pyannote/ResNet34 (Sprecher), Embeddings für Themen und Mistral für Text.
Wichtige Komponenten:
- RabbitMQ-Warteschlange: Stapelverarbeitung, Reduzierung der Latenz.
- ML-Controller: Routing, Hinzufügen/Austauschen von Modellen.
- Vektordatenbank: Sprecher- und Text-Embeddings.
- Besprechungs-Controller: Dynamische Ressourcen für Aufzeichnungen.
- Monitoring: Grafana, Sentry.
Dies gewährleistet Flexibilität und Sicherheit ohne direkten Zugriff auf Modelle.
LoRA-Versagen und Wechsel zur Vollständigen Feinabstimmung
LoRA glättete Fehler, behebt aber nicht die schwache Satzlogik aufgrund eines Mangels an russischen Daten im Basismodell. Wir wechselten zur vollständigen Feinabstimmung.
Wir erstellten einen Datensatz von 5,35 Milliarden Tokens: Texte, Dialoge, Anweisungen, maschinelle Übersetzungen. Training auf Transformers (Hugging Face) mit Optimierungen:
- Gemischte Präzision, bfloat16.
- Padding-freier Sampler (10-fache Beschleunigung).
- Flash Attention 2 (VRAM-Einsparung).
- ZeRO-2 mit Auslagerung auf CPU.
Zwei Nvidia RTX A6000 (48 GB) passten ins Budget. Logs auf wandb.ai.
Bewertung des Sprachmodells auf MERA
Getestet auf Ubuntu 20.04, RTX 4090, 16 Ice Lake-Kernen, 32 GB RAM. Das fein abgestimmte Modell übertraf Basis-Mistral 7B, GigaChat und MTS Chat bei:
- LCS.
- PARus.
- SimpleAR.
- RuHumanEval.
- ruHH.
In der Praxis: Reduzierte Fehler in Dialogen, Informationsextraktion innerhalb von 8192 Tokens mit geringen Halluzinationen.
Wichtige Erkenntnisse:
- Vollständige Feinabstimmung ist entscheidend für Sprachen mit begrenzten Daten in vortrainierten Modellen.
- Optimierungen (Flash Attention, ZeRO-2) ermöglichen das Training von 7B-Modellen auf Consumer-Hardware.
- MERA ist ein zuverlässiger Benchmark für Russisch.
- Ein Kontext von 8192 Tokens reicht für Besprechungsdialoge aus.
- Integration in die Architektur gewährleistet Produktionsreife.
Aufgabenbezogene Feinabstimmung und Whisper
Finale LoRA auf einem Dialogdatensatz (Zusammenfassung, Aktionspunkte, Themen). Annotationen: manuell + GPT-4-API. BertScore F1 = 0,93 für Zusammenfassung.
Whisper fein abgestimmt auf 50 %+ Russisch: Vorlesungen, Konferenzen, Interviews. Pseudo-Labeling + Wörterbuchprüfungen (z.B. "ETMO" → "ITMO"). Reduzierte WER bei verrauschten Besprechungsaufnahmen.
Zukünftige Entwicklung
Pläne: Kontext bis zu 128k Tokens, neue Architekturen. Sammeln von Feedback für Iterationen.
— Editorial Team
Noch keine Kommentare.