Was es ist
Ein Basismodell hat sein Wissen im Pre-Training erworben: durch die Vorhersage des nächsten Wortes über eine riesige Menge an öffentlichen Texten. Das Continued pre-training führt denselben Prozess ein zweites Mal durch, und zwar mit Ihrem Text. Es gibt keine Prompts, keine Antworten und keinen Bewerter; das Modell liest Ihre Dokumentation und wird besser darin, vorherzusagen, wie sie weitergeht, was bedeutet, dass es deren Vokabular, Entitäten und Fakten aufnimmt.
Das Konzept ist fest etabliert. Gururangan et al. (2020) zeigten in vier Domänen (biomedizinische und informatikbezogene Arbeiten, Nachrichten und Rezensionen) und bei acht Aufgaben, dass eine zweite Phase des Pre-Trainings mit domänenspezifischem Text die Ergebnisse verbesserte und dass das Pre-Training mit dem aufgabeneigenen, ungelabelten Text selbst danach noch hilfreich war.
Wie der Text aufbereitet wird
- Passagen von etwa 700 Wörtern, die an Absatzumbrüchen getrennt werden, damit keine Passage mitten im Gedanken endet. Sehr kurze Dokumente können übersprungen werden.
- Personenbezogene Daten werden geschwärzt, wie bei jeder Datenaufbereitung.
- Etwa 5 % der Passagen werden zurückgehalten, sodass der Verlust an Texten gemessen werden kann, mit denen das Modell nie trainiert wurde.
Wie jeder Anbieter es trainiert
Hugging Face: Jeder Abschnitt ist eine text-Zeile. Der Loss umfasst jedes Token, im Gegensatz zum überwachten Training, bei dem nur die Antwort zählt. Kurze Abschnitte werden zu Sequenzen voller Länge zusammengepackt, sodass keine Rechenleistung für das Padding aufgewendet wird.
{"text": "Sharing reports\n\nAny report can be shared with a client from the Share menu. The client receives an email with a link that opens without an account…"}Offene Modelle von Vertex AI (Gemma, Llama, Qwen): Es gibt keinen reinen Textmodus, daher wird jeder Abschnitt als Prompt und Completion eingegeben, wobei der Titel des Dokuments als Prompt dient. Vertex lernt die Completion, also den Abschnitt. Vertex zeigt für diese Art von Aufgabe möglicherweise keine Loss-Kurve an.
{"prompt": "Sharing reports",
"completion": "Any report can be shared with a client from the Share menu. The client receives an email with a link that opens without an account…"}texteine Zeile pro Abschnitt→lernt jedes Tokenpromptder Titel des Dokuments+completionder Abschnitt→lernt den AbschnittAnderswo nicht verfügbar. Gemini, Azure, Fireworks und aktuelle Bedrock-Modelle bieten kein Continued pre-training an; Bedrock tat dies nur für Titan Text, das eingestellt wurde. Bei diesen Anbietern werden Dokumente stattdessen zu generierten Q&A.
Wissen, nicht Verhalten
Nach dem Continued pre-training weiß das Modell mehr, antwortet aber nicht zwangsläufig besser: Es wurde darauf trainiert, Text fortzusetzen, nicht auf eine Frage zu antworten. Allen-Zhu & Li (2023) stellten fest, dass Wissen, das ein Modell auswendig gelernt hat, nicht immer durch Fragen extrahierbar ist und dass erst unterschiedliche Formulierungen desselben Fakts dieses abrufbar machen. Das übliche Vorgehen ist also zunächst ein Continued pre-training und dann ein überwachter Durchlauf mit Chats oder generierten Q&A, der auf dem trainierten Modell aufbaut.
- Ein Helpcenter mit 120.000 Wörtern wird in etwa 170 Abschnitte von jeweils rund 700 Wörtern unterteilt.
- Etwa 5 % (9 Abschnitte) werden zurückbehalten; mit 161 wird trainiert, was etwa 113.000 Wörtern entspricht.
- Bei etwa 1,3 Token pro Wort sind das rund 150.000 Token pro Epoche. Zwei Epochen trainieren mit etwa 300.000 Token.
- Gepackt in Sequenzen von 2.048 Token entspricht eine Epoche etwa 72 Sequenzen. Mit einem LoRA-Rang von 32 bei einem kleinen offenen Modell ist dies ein kurzer, kostengünstiger Vorgang.
- Ein überwachter Durchlauf mit den Support-Chats sowie generierten Q&A baut anschließend darauf auf und wird dagegen evaluiert.
- Im Gegensatz dazu liefert ein Pilotprojekt mit einem Dokument von 2.000 Wörtern drei Abschnitte: Dies beweist zwar, dass die Pipeline funktioniert, ist aber viel zu wenig Text, um das Modell zu verändern.
Wann Sie dies wählen sollten
- Wählen Sie diese Option, wenn Sie über eine umfangreiche Dokumentation verfügen (Zehntausende von Wörtern oder mehr), ein offenes Modell trainieren und im Anschluss einen überwachten Durchlauf planen.
- Wählen Sie generierte Q&A, wenn Sie zeitnah bessere Antworten wünschen, weniger Dokumente haben oder bei einem Anbieter trainieren, der kein fortgesetztes Pre-Training anbietet.
- Ziehen Sie beides in Betracht: fortgesetztes Pre-Training, um die Dokumentation aufzunehmen, und anschließend generierte Q&A und Chats, um dem Modell beizubringen, daraus Antworten zu generieren.
Einstellungen
Wie lang jeder Trainingsabschnitt ist. Etwa 700 Wörter, getrennt an Absatzumbrüchen, sodass jeder Abschnitt ein zusammenhängender Text ist und bequem in eine Trainingssequenz passt. Sehr kurze Dokumente werden möglicherweise übersprungen, da sie zu kurz sind, um etwas zu vermitteln.
Wie oft das Modell alle Abschnitte liest. Halten Sie diesen Wert niedrig: Viele Durchgänge führen dazu, dass das Modell Abschnitte Wort für Wort rezitiert, anstatt das Wissen zu nutzen. Jede Epoche verursacht zudem in etwa die Kosten einer weiteren Epoche.
Die Größe des Adapters, der speichert, was das Modell lernt. Neues Wissen erfordert einen größeren Adapter als eine bloße Stiländerung. Daher verwendet Scalata für das fortgesetzte Pre-Training den Rang 32 und für die anderen Methoden den Rang 16. Biderman et al. (2024) stellten bei Code und Mathematik fest, dass ein vollständiges Fine-Tuning Änderungen eines Rangs erlernt, der 10- bis 100-mal größer ist als bei typischen LoRA-Konfigurationen – ein wahrscheinlicher Grund dafür, dass niedrige Ränge nicht ausreichen, wenn das Ziel neues Wissen ist.
Häufige Fehler
- Es auf einigen wenigen Seiten auszuführen und eine Veränderung zu erwarten. Es werden Zehntausende von Wörtern oder mehr benötigt.
- Nach dem Continued pre-training aufzuhören. Das Modell weiß mehr, benötigt aber dennoch einen überwachten Durchlauf, um gut zu antworten.
- Die Verwendung vieler Epochen. Das Modell beginnt, Abschnitte zu rezitieren, anstatt deren Inhalt zu nutzen.
- Einen niedrigen LoRA-Rang beizubehalten. Wissen erfordert mehr Adapterkapazität als Stil.
- Danach bei Gemini, Azure, Fireworks oder Bedrock zu suchen. Verwenden Sie dort generierte Q&A.
Quellen und weiterführende Literatur
Externe Quellen werden in einem neuen Tab geöffnet.
- 01Don't Stop Pretraining: Adapt Language Models to Domains and TasksGururangan et al., 2020 · arXiv · arxiv.orgDie klassische Studie zum domänen- und aufgabenadaptiven Pre-Training.
- 02LoRA Learns Less and Forgets LessBiderman et al., 2024 · arXiv · arxiv.orgLoRA im Vergleich zum vollständigen Fine-Tuning für das Continued pre-training und warum der Rang wichtig ist.
- 03Synthetic continued pretrainingYang et al., 2024 · arXiv · arxiv.orgWarum ein kleiner Korpus für sich genommen wenig lehrt und wie synthetische Variationen helfen.
- 04SFT TrainerHugging Face TRL docs · huggingface.coTraining mit reinem Text und das Packen von Sequenzen mit Hugging Face TRL.
- 05Supervised and distillation fine-tuning for open modelsGoogle Cloud docs · cloud.google.comTuning offener Modelle wie Gemma, Llama und Qwen auf Vertex AI.