Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite
Derzeitige Position:Abb. Anfang " KI-Wissen

Meta: Ein Adaptionsansatz (praktische Anwendung) für große Sprachmodelle

2024-09-11 1.2 K

Ursprünglicher Text:

https://ai.meta.com/blog/adapting-large-language-models-llms/

https://ai.meta.com/blog/when-to-fine-tune-llms-vs-other-techniques/

https://ai.meta.com/blog/how-to-fine-tune-llms-peft-dataset-curation/

 

Meta:大语言模型的适配(实际应用)方法-1

Dies ist der erste Teil einer dreiteiligen Serie von Blogbeiträgen über die Anpassung von quelloffenen Large Language Models (LLMs). In diesem Artikel lernen wir die verschiedenen Methoden kennen, die für die Anpassung von LLMs an Domänendaten zur Verfügung stehen.

  • existieren Teil 2Wir werden erörtern, wie Sie feststellen können, ob die Feinabstimmung für Ihren Anwendungsfall geeignet ist.
  • existieren Teil 3werden wir einige Faustregeln für die Zusammenstellung hochwertiger Trainingsdatensätze untersuchen.

Einführung

Große Sprachmodelle (LLMs) in einem breiten Spektrum von Sprachaufgaben und natürlicher Sprachverarbeitung (NLP) Benchmarking中展现了卓越的能力。基于这些”通用”模型的产品用例正在增加。在这篇博客文章中,我们将为希望适应和整合 LLMs 到项目中的小型 AI 产品团队提供指导。让我们从澄清 LLMs 周围的 (通常令人困惑的) 术语开始,然后简要比较可用的不同适应方法,最后推荐一个逐步流程图来确定适合您用例的正确方法。

LLM-Anpassungsmethode

vor der Ausbildung

Pre-Training ist die Verwendung von Billionen von Daten Token Der Prozess der Ausbildung des LLM von Grund auf. Die Modelle werden mit selbstüberwachenden Algorithmen trainiert. In der Regel wird beim Training durch Autoregression die nächste Token durchzuführen (auch bekannt als kausale Sprachmodellierung). Für das Pre-Training werden in der Regel Tausende von GPU-Stunden benötigt (105 - 107 [Quelle1Quelle2]) werden auf mehrere GPUs verteilt. Das vortrainierte Ausgabemodell wird als Grundmodell.

Kontinuierliche Vorschulung

Beim kontinuierlichen Pre-Training (auch als zweistufiges Pre-Training bezeichnet) wird das Basismodell anhand neuer, ungesehener Domänendaten weiter trainiert. Es wird derselbe selbstüberwachte Algorithmus wie beim ersten Pre-Training verwendet. Normalerweise werden alle Modellgewichte berücksichtigt und ein Teil der ursprünglichen Daten mit den neuen Daten gemischt.

Feintuning

Unter Feinabstimmung versteht man den Prozess der Anpassung eines vorab trainierten Sprachmodells unter Verwendung eines kommentierten Datensatzes auf überwachte Weise oder mit Hilfe von Techniken des verstärkten Lernens. Im Vergleich zum Pre-Training gibt es zwei wesentliche Unterschiede:

  1. Überwachtes Training auf kommentierten Datensätzen - mit korrekten Bezeichnungen/Antworten/Präferenzen - kein selbstüberwachtes Training
  2. Es werden weniger Token benötigt (Tausende oder Millionen anstelle der Milliarden oder Billionen, die für das Vortraining benötigt werden), wobei das Hauptziel darin besteht, die Befolgung von Befehlen, die Ausrichtung des Menschen, die Aufgabenleistung usw. zu verbessern.

Das Verständnis des aktuellen Feinabstimmungsrasters hat zwei Dimensionen: den Prozentsatz der geänderten Parameter und die durch die Feinabstimmung hinzugekommenen neuen Fähigkeiten.

Prozentsatz der geänderten Parameter

Es gibt zwei Arten von Algorithmen, je nach Anzahl der geänderten Parameter:

  1. Völlige Feinabstimmung: Wie der Name schon sagt, geht es dabei um die Änderung aller Parameter des Modells, einschließlich der traditionellen Feinabstimmung kleinerer Modelle wie XLMR und BERT (100 - 300 Millionen Parameter), sowie um die Lama 2Die Feinabstimmung großer Modelle wie GPT3 (über 1 Milliarde Parameter).
  2. Parametereffiziente Feinabstimmung (PEFT): Im Gegensatz zur Feinabstimmung aller LLM-Gewichte wird beim PEFT-Algorithmus nur eine kleine Anzahl zusätzlicher Parameter feinabgestimmt oder eine Teilmenge der Pre-Training-Parameter aktualisiert, in der Regel 1 - 6% der Gesamtparameter.

Möglichkeit, das Basismodell zu erweitern

Der Zweck der Feinabstimmung besteht darin, den bereits trainierten Modellen weitere Fähigkeiten hinzuzufügen, z. B. die Einhaltung von Anweisungen, die Anpassung an den Menschen usw. Llama 2 für die Dialogabstimmung ist ein feinabgestimmtes Modell mit der Möglichkeit, die Einhaltung von Anweisungen und die Ausrichtung hinzuzufügen. typisches Beispiel.

Suche - Erweiterte Generierung (RAG)

企业还可以通过添加特定领域知识库来适应 LLMs。RAG 本质上是”搜索驱动的 LLM 文本生成”。RAG 于 2020 年推出,使用根据用户问题检索并注入 LLM 提示的动态提示上下文,以引导它使用检索到的内容而不是预训练的—可能过时的—知识。Chat LangChain ist ein beliebtes Beispiel für einen RAG-gesteuerten LangChain-Dokument-Q&A-Chatbot.

Kontextuelles Lernen (ICL)

通过 ICL,我们通过在提示中放置原型示例来适应 LLM。多项研究表明,”通过示例演示”是有效的。这些示例可以包含不同类型的信息:

  • Nur Eingabe- und Ausgabetext - d. h. weniger Lernbeispiele
  • Argumentationsspuren: Hinzufügen von Zwischenschritten bei der Argumentation; vgl. Gedankenkette (CoT) Tipps
  • Planungs- und Reflexionspfad: Fügen Sie Informationen hinzu, die LLM lehren, seine Problemlösungsstrategie zu planen und zu reflektieren; siehe ReACT

Es gibt eine Reihe anderer Strategien zur Änderung von Aufforderungen, dieTip Engineering LeitfadenEin umfassender Überblick ist enthalten.

Die Wahl der richtigen Anpassungsmethode

Um zu entscheiden, welche der oben genannten Methoden für eine bestimmte Anwendung geeignet ist, sollten Sie verschiedene Faktoren berücksichtigen: die für die jeweilige Aufgabe erforderlichen Modellfähigkeiten, die Trainingskosten, die Inferenzkosten, die Art des Datensatzes usw. Das folgende Flussdiagramm fasst unsere Empfehlungen zusammen, die Ihnen bei der Auswahl der richtigen LLM-Anpassungsmethode helfen sollen.

Meta:大语言模型的适配(实际应用)方法-1

❌ Vorschulung

Das Vortraining ist ein wichtiger Teil des LLM-Trainings, wobei Token-Vorhersagevarianten als Verlustfunktionen verwendet werden. Sein selbstüberwachender Charakter ermöglicht das Training auf großen Datenmengen. Zum Beispiel wurde Llama 2 auf 2 Billionen Token trainiert. Dies erfordert eine massive Recheninfrastruktur: Llama 2 70B kostet 1.720.320 GPU-Stunden. Daher empfehlen wir die Vorschulung nicht als praktikable Methode zur LLM-Anpassung für Teams mit begrenzten Ressourcen.

Da das Vortraining rechenintensiv ist, kann die Aktualisierung der Gewichte eines bereits trainierten Modells eine wirksame Methode zur Anpassung des LLM an eine bestimmte Aufgabe sein. Jeder Ansatz zur Aktualisierung von vortrainierten Modellgewichten ist anfällig für das Phänomen des katastrophalen Vergessens, ein Begriff, der verwendet wird, um ein Modell zu beschreiben, das zuvor gelernte Fähigkeiten und Wissen vergisst. Zum Beispiel.diese Studiezeigt, dass Modelle, die auf den medizinischen Bereich abgestimmt sind, bei der Befolgung von Anweisungen und bei allgemeinen Frage- und Antwortaufgaben schlechter abschneiden. Andere Studien haben auch gezeigt, dass allgemeines Wissen, das durch das Vortraining erworben wurde, während des nachfolgenden Trainings vergessen werden kann. Zum Beispiel.diese StudieEinige Belege für das Vergessen von LLM-Wissen werden aus der Perspektive des Fachwissens, des logischen Denkens und des Leseverständnisses geliefert.

❌ Kontinuierliche Vorschulung

In Anbetracht des katastrophalen Vergessens deuten die jüngsten Entwicklungen darauf hin, dass das kontinuierliche Vortraining (Continuous Pre-Training, CPT) die Leistung zu einem Bruchteil der für das Vortraining erforderlichen Rechenkosten weiter verbessern kann. CPT kann für Aufgaben von Vorteil sein, bei denen das LLM neue Umwandlungsfähigkeiten erwerben muss. Zum Beispiel.Es wird berichtet, dass...Die kontinuierliche Vorschulung hat erfolgreich zur Mehrsprachigkeit beigetragen.

CPT ist jedoch nach wie vor ein teurer Prozess, der erhebliche Daten- und Rechenressourcen erfordert. So durchlief die Pythia-Suite beispielsweise eine zweite Stufe des Pre-Trainings, die zur Erstellung der FinPythia-6.9BDieses Modell ist für Finanzdaten konzipiert. Dieses Modell, das speziell für Finanzdaten entwickelt wurde, wurde 18 Tage lang einem CPT unterzogen, wobei ein Datensatz mit 24 Milliarden Token verwendet wurde. Daher empfehlen wir kontinuierliches Vortraining nicht als praktikablen Ansatz zur LLM-Anpassung für Teams mit begrenzten Ressourcen.

Zusammenfassend lässt sich sagen, dass die Verwendung von selbstüberwachten Algorithmen und unmarkierten Datensätzen zur Anpassung von LLMs (wie beim Pre-Training und kontinuierlichen Pre-Training) ressourcenintensiv und kostspielig ist und daher nicht als praktikabler Ansatz empfohlen wird.

Vollständige Feinabstimmung und parametrisch-effiziente Feinabstimmung (PEFT)

Die Feinabstimmung mit kleineren gelabelten Datensätzen ist ein kostengünstigerer Ansatz als das Vortraining mit nicht gelabelten Datensätzen. Durch die Anpassung des vortrainierten Modells an eine bestimmte Aufgabe erzielt das fein abgestimmte Modell nachweislich Spitzenergebnisse in einer Vielzahl von Anwendungen und Fachgebieten (z. B. Recht, Medizin oder Finanzen).

Die Feinabstimmung, insbesondere die Parameter-effiziente Feinabstimmung (PEFT), erfordert nur einen Bruchteil der Rechenressourcen, die für das Vortraining/kontinuierliche Vortraining erforderlich sind. Daher ist dies eine praktikable LLM-Anpassungsmethode für Teams mit begrenzten Ressourcen. In dieser Reihe vonTeil 3Darin gehen wir auf die Details der Feinabstimmung ein, einschließlich der vollständigen Feinabstimmung, PEFT und einem praktischen Leitfaden für die Durchführung.

✅ Abrufen der erweiterten Generation (RAG)

RAG ist eine weitere beliebte LLM-Anpassungsmethode. Wenn Ihre Anwendung Informationen aus einer dynamischen Wissensbasis extrahieren muss (z. B. ein Quiz-Bot), kann RAG eine gute Lösung sein. Die Komplexität eines RAG-basierten Systems liegt vor allem in der Implementierung der Abfragemaschine. Die Argumentationskosten solcher Systeme können höher sein, da die Hinweise die abgerufenen Dokumente enthalten und die meisten Anbieter ein tokenbasiertes Modell verwenden. In dieser Reihe vonTeil 2in dem wir die RAG allgemeiner erörtern und sie mit der Feinabstimmung vergleichen.

✅ Kontextuelles Lernen (ICL)

Dies ist die kosteneffektivste Art, LLM anzupassen. ICL erfordert keine zusätzlichen Trainingsdaten oder Rechenressourcen, was es zu einem kosteneffektiven Ansatz macht. Ähnlich wie bei RAG können jedoch die Kosten und die Latenzzeit der Inferenz durch die Verarbeitung von mehr Token zur Inferenzzeit steigen.

Zusammenfassungen

Die Entwicklung eines LLM-basierten Systems ist ein iterativer Prozess. Wir empfehlen, mit einem einfachen Ansatz zu beginnen und die Komplexität schrittweise zu erhöhen, bis Sie Ihr Ziel erreicht haben. Das obige Flussdiagramm skizziert diesen iterativen Prozess und bietet eine solide Grundlage für Ihre LLM-Anpassungsstrategie.

ein Dankeschön-Schreiben

Wir möchten Suraj Subramanian und Varun Vontimitta für ihr konstruktives Feedback zur Organisation und Vorbereitung dieses Blogbeitrags danken.

Teil II: Feinabstimmung oder nicht Feinabstimmung

这是关于适应开源大语言模型 (LLMs) 系列博客文章中的第二篇。在这篇文章中,我们将讨论以下问题:”我们什么时候应该微调,什么时候应该考虑其他技术?”

  • existieren Teil Ihaben wir uns die gängigen Ansätze zur Anpassung von Sprachmodellen an Domänendaten angesehen.
  • existieren Teil IIIerkunden Sie einige Faustregeln für die Zusammenstellung hochwertiger Trainingsdatensätze.

Einführung

在大语言模型兴起之前,微调常用于较小规模的模型 (1 亿 – 3 亿参数)。最先进的领域应用是使用监督微调 (SFT) 构建的—即使用你自己领域和下游任务的标注数据进一步训练预训练模型。然而,随着更大模型 (> 10 亿参数) 的出现,微调的问题变得更加微妙。最重要的是,大型模型需要更多资源和商业硬件进行微调。下面的表 1 提供了在三种情况下微调 Llama 2 7B 和 Llama 2 13B 模型的峰值 GPU 内存使用情况列表。你可能会注意到,像 QLoRA Solche Algorithmen erleichtern die Feinabstimmung großer Modelle mit begrenzten Ressourcen. Tabelle 1 zeigt beispielsweise den Spitzen-GPU-Speicher für drei Feinabstimmungsszenarien (vollständige Feinabstimmung, LoRA und QLoRA) auf Llama 2 7B. Ähnliche Speicherreduzierungen als Ergebnis der parametrischen effizienten Feinabstimmung (PEFT) oder der Quantisierung sind auch für Llama 1 dargestellt. Berichterstattung Ende. Zusätzlich zu den Computerressourcen ist das katastrophale Vergessen (weitere Informationen finden Sie in dieser Reihe von Teil IDas PEFT-Verfahren zielt darauf ab, diese Unzulänglichkeiten durch das Training einer kleinen Anzahl von Parametern zu beheben.

Meta:大语言模型的适配(实际应用)方法-1Tabelle 1: Speicher (GB) auf LLama 2 7B für verschiedene Feinabstimmungsmethoden (Quelle (von Informationen usw.)QLoRA wird mit einem 4-Bit-NormalFloat quantifiziert.

Prototypen, die von einer Feinabstimmung profitieren könnten

Wir haben die folgenden Szenarien als häufige Anwendungsfälle identifiziert, die von einer Feinabstimmung profitieren könnten:

  1. Anpassung von Farbton, Stil und Format: Anwendungsfälle können ein Big-Language-Modell erfordern, das eine bestimmte Persönlichkeit widerspiegelt oder ein bestimmtes Publikum bedient. Durch die Feinabstimmung des Biglanguage-Modells mithilfe eines benutzerdefinierten Datensatzes können wir die Antworten des Chatbots so gestalten, dass sie besser auf die spezifischen Anforderungen oder die beabsichtigte Erfahrung der Zielgruppe abgestimmt sind. Möglicherweise möchten wir die Ausgabe auch auf eine bestimmte Art und Weise strukturieren, beispielsweise im JSON-, YAML- oder Markdown-Format.
  2. Verbesserung der Genauigkeit und Bewältigung von Grenzfällen: Die Feinabstimmung kann eingesetzt werden, um Täuschungen oder Fehler zu korrigieren, die durch Cue-Engineering und kontextbezogenes Lernen schwer zu beheben sind. Es kann auch die Fähigkeit eines Modells verbessern, neue Fähigkeiten oder Aufgaben auszuführen, die sich nur schwer in Hinweisen ausdrücken lassen. Dieser Prozess kann dazu beitragen, Fehler zu korrigieren, bei denen Modelle nicht in der Lage sind, komplexen Hinweisen zu folgen, und ihre Zuverlässigkeit bei der Produktion der gewünschten Ergebnisse zu verbessern. Wir geben zwei Beispiele:
    • Genauigkeit von Phi-2 bei der Sentimentanalyse von Finanzdaten Aufgerüstet von 34% auf 85%.
    • ChatGPT Genauigkeit der Reddit-Kommentar-Sentiment-Analyse Anstieg um 25 Prozentpunkte (von 48% bis 73%), wobei nur 100 Beispiele verwendet wurden.
      Bei kleineren anfänglichen Genauigkeitszahlen (< 50%) führt die Feinabstimmung mit einigen hundert Beispielen in der Regel zu erheblichen Verbesserungen.
  3. Bekämpfung der Unterrepräsentation: Obwohl große Sprachmodelle auf großen Mengen von Allzweckdaten trainiert werden, sind sie nicht immer mit dem nuancierten Jargon, der Terminologie oder den Eigenheiten der einzelnen Nischenbereiche vertraut. Es hat sich gezeigt, dass eine Feinabstimmung in verschiedenen Bereichen wie Recht, Gesundheitswesen oder Finanzen die Genauigkeit der nachgelagerten Aufgaben verbessern kann. Wir geben zwei Beispiele:
    • Da diese Schriftstücke Es wurde darauf hingewiesen, dass die Krankenakte eines Patienten hochsensible Daten enthält, die normalerweise nicht in der Öffentlichkeit zu finden sind. Daher müssen Systeme, die auf großen Sprachmodellen für die Zusammenfassung von Krankenakten basieren, fein abgestimmt werden.
    • Feinabstimmung unterrepräsentierter Sprachen, wie z. B. der indischen Sprachen, mit Hilfe von PEFT-Techniken Hilfreich bei allen Aufgaben.
  4. Kostensenkung: Die Feinabstimmung ermöglicht es, Fähigkeiten von größeren Modellen wie dem Llama 2 70B/GPT-4 auf kleinere Modelle wie das Llama 2 7B zu übertragen, wodurch Kosten und Latenzzeiten ohne Qualitätseinbußen reduziert werden. Darüber hinaus reduziert die Feinabstimmung den Bedarf an langen oder spezifischen Cues (wie sie im Cue Engineering verwendet werden), wodurch Token eingespart und die Kosten weiter gesenkt werden. Zum Beispiel kann diedieser Artikel Zeigt, wie Kosteneinsparungen durch die Verfeinerung des teureren GPT-4-Modells zur Feinabstimmung des GPT-3.5-Richters erzielt werden können.
  5. Neue Aufgaben/Fähigkeiten: Oft können neue Fähigkeiten durch Feinabstimmung erreicht werden. Wir nennen drei Beispiele:

Vergleich mit Technologien zur Anpassung in anderen Bereichen

Feinabstimmung vs. kontextuelles Lernen (weniger Beispiele)

Kontextuelles Lernen (ICL) ist eine leistungsstarke Methode zur Verbesserung der Leistung von Systemen, die auf großen Sprachmodellen basieren. Aufgrund seiner Einfachheit sollten Sie ICL ausprobieren, bevor Sie mit der Feinabstimmung beginnen. Darüber hinaus können Sie mit ICL-Experimenten beurteilen, ob die Feinabstimmung die Leistung nachgelagerter Aufgaben verbessert. Allgemeine Überlegungen bei der Verwendung von ICL sind:

  • Mit zunehmender Anzahl der zu zeigenden Beispiele steigen auch die Kosten und die Latenzzeit für die Inferenz.
  • Mit immer mehr Beispielen wird das große Sprachmodell Oft übersehen werden einige der. Das bedeutet, dass Sie möglicherweise ein RAG-basiertes System benötigen, das auf der Grundlage der Eingaben die relevantesten Beispiele findet.
  • Große Sprachmodelle können Wissen ausspucken, das ihnen als Beispiele geliefert wird. Dieses Problem besteht auch bei der Feinabstimmung.

Feintuning vs. und RAG

普遍共识是,当大语言模型的基础性能不令人满意时,你可能会”从 RAG 开始,评估其性能,如果发现不足,就转向微调”,或者”RAG 可能具有优势”超过微调 (Quelle (von Informationen usw.)). Wir sind jedoch der Meinung, dass dieses Paradigma eine zu starke Vereinfachung darstellt, da die RAG in vielen Fällen nicht nur keine Alternative zur Feinabstimmung darstellt, sondern vielmehr einen ergänzenden Ansatz zur Feinabstimmung. Je nach den Merkmalen des Problems sollte einer oder möglicherweise beide Ansätze ausprobiert werden. Übernahme von dieser Artikel Im Folgenden finden Sie einige Fragen, die Sie stellen können, um festzustellen, ob Feinabstimmung oder RAG (oder möglicherweise beides) für Ihr Problem geeignet ist:

  • Braucht Ihre Anwendung externes Wissen? Die Feinabstimmung bezieht sich in der Regel nicht auf das Einbringen von neuem Wissen.
  • Benötigt Ihre Anwendung einen eigenen Ton/Verhaltensweisen/Vokabular oder Stil? Für diese Art von Anforderungen ist die Feinabstimmung in der Regel der richtige Ansatz.
  • Wie tolerant ist Ihre Anwendung gegenüber Halluzinationen? Bei Anwendungen, bei denen die Unterdrückung von Unwahrheiten und Phantasiegebilden entscheidend ist, bietet das RAG-System eingebaute Mechanismen zur Minimierung von Halluzinationen.
  • Wie viele gelabelte Trainingsdaten sind verfügbar?
  • Wie statisch/dynamisch sind die Daten? Wenn das Problem den Zugang zu einem dynamischen Datenkorpus erfordert, ist die Feinabstimmung möglicherweise nicht der richtige Ansatz, da das Wissen über das große Sprachmodell sehr schnell veraltet.
  • Wie viel Transparenz/Interpretierbarkeit ist für große Sprachmodellierungsanwendungen erforderlich? die RAG kann im Wesentlichen Referenzen liefern, die für die Interpretation großer Sprachmodellierungsergebnisse nützlich sind.
  • Kosten und Komplexität: Verfügt das Team über Fachwissen beim Aufbau von Suchsystemen oder über Erfahrung bei der Feinabstimmung?
  • Wie vielfältig sind die Aufgaben in Ihrer App?

In den meisten Fällen wird eine Hybridlösung aus Feinabstimmung und RAG die besten Ergebnisse liefern - und dann stellt sich die Frage nach den Kosten, dem Zeitaufwand und den zusätzlichen Einzelgewinnen, wenn beides gleichzeitig durchgeführt wird. Ziehen Sie die obigen Fragen heran, um zu entscheiden, ob RAG und/oder Feinabstimmung erforderlich sind, und führen Sie interne Experimente durch, indem Sie Fehler analysieren, um mögliche Gewinne bei den Metriken zu verstehen. Schließlich erfordert die Erkundung der Feinabstimmung eine solide Strategie zur Datenerfassung und -verbesserung, die wir als Voraussetzung für den Beginn der Feinabstimmung empfehlen.

ein Dankeschön-Schreiben

Wir möchten Suraj Subramanian und Varun Vontimitta für ihr konstruktives Feedback zur Organisation und Vorbereitung dieses Blogbeitrags danken.

Teil III: Die Feinabstimmung: Konzentration auf effektive Datensätze

Meta:大语言模型的适配(实际应用)方法-1

Dies ist der dritte Beitrag in einer Reihe von Blogs über die Anpassung von Open Source Large Language Models (LLMs). In diesem Artikel befassen wir uns mit einigen Faustregeln für die Zusammenstellung qualitativ hochwertiger Trainingsdatensätze.

  • existieren Teil I Darin geben wir einen Überblick über die wichtigsten Ansätze zur Anpassung von Sprachmodellen an Domänendaten.
  • existieren Teil II Unter , haben wir erörtert, wie Sie feststellen können, ob eine Feinabstimmung für Ihren Anwendungsfall geeignet ist.

Einführung

Die Feinabstimmung von LLMs ist eine Kombination aus Kunst und Wissenschaft, und es entstehen immer wieder neue Best Practices in diesem Bereich. In diesem Blog-Beitrag konzentrieren wir uns auf die Designvariablen der Feinabstimmung und bieten eine Anleitung zu den besten Praktiken für die Feinabstimmung von Modellen in ressourcenbeschränkten Umgebungen. Wir schlagen die folgenden Informationen als Ausgangspunkt für die Entwicklung einer Strategie für Feinabstimmungsexperimente vor.

Vollständige Feinabstimmung vs. Parametrisch Effiziente Feinabstimmung (PEFT)

Der volle Umfang der Feinabstimmung und PEFT in akademie im Gesang antworten praktische Anwendung Es hat sich gezeigt, dass alle diese Verfahren die nachgelagerte Leistung verbessern, wenn sie in neuen Bereichen eingesetzt werden. Die Entscheidung für eine dieser Methoden hängt letztlich von den verfügbaren Rechenressourcen (in Form von GPU-Stunden und GPU-Speicher), der Leistung bei anderen Aufgaben als der angestrebten nachgelagerten Aufgabe (der Kompromiss zwischen Lernen und Vergessen) und den Kosten für die manuelle Annotation ab.

Bei der Feinabstimmung in vollem Umfang treten eher zwei Probleme auf:Modell-Crash im Gesang antworten katastrophales Vergessen. Ein Modellkollaps liegt vor, wenn die Modellausgabe zu einer endlichen Menge von Ausgaben konvergiert und die Schwänze der ursprünglichen Inhaltsverteilung verschwinden. Katastrophisches Vergessen, wie in dieser Serie Teil I erörtert, würde das Modell seine Aussagekraft verlieren. Einige frühe empirische Studien haben gezeigt, dassIm Vergleich zum PEFT-Verfahren ist das Verfahren der Vollvolumen-Feinabstimmung anfälliger für diese Problemeobwohl weitere Forschung erforderlich ist.

PEFT 技术在设计上可以作为微调的自然正则化器。PEFT 通常需要相对较少的计算资源来训练下游模型,并且在数据集规模有限的资源受限场景中更易于使用。在某些情况下,全量微调在特定任务上表现更好,但通常会以遗忘原始模型的某些能力为代价。这种特定下游任务性能与其他任务性能之间的”学习-遗忘”权衡在 Dieses Papier. Ein eingehender Vergleich von LoRA und vollständiger Feinabstimmung wird in diesem Dokument vorgestellt.

In Anbetracht der eingeschränkten Ressourcen kann die PEFT-Technik ein besseres Verhältnis zwischen Leistung und Kosten bieten als die vollständige Feinabstimmung. Wenn die Downstream-Leistung in einer ressourcenbeschränkten Situation entscheidend ist, ist eine vollständige Feinabstimmung am effektivsten. In jedem Fall ist es wichtig, die folgenden Grundprinzipien zu beachten, um qualitativ hochwertige Datensätze zu erstellen.

Zusammenstellung des Datensatzes

在文献中的微调实验中,数据集对于获得微调的好处至关重要。这里的细微之处不仅仅是”更好的质量和更多的示例”,您可以明智地投资于数据集收集,以在资源受限的微调实验中提高性能。

Datenqualität/Quantität

  • Qualität ist entscheidend: Die allgemeine Tendenz, die wir festgestellt haben, ist, dass die Qualität wichtiger ist als die Quantität - d. h. es ist besser, einen kleinen Satz hochwertiger Daten zu haben als einen großen Satz Daten von geringer Qualität. Die wichtigsten Grundsätze der Qualität sind eine konsistente Beschriftung, keine Fehler, falsch beschriftete Daten, verrauschte Inputs/Outputs und eine repräsentative Verteilung im Vergleich zur Gesamtheit. Bei der Feinabstimmung derLIMA-Datensatz von einigen tausend sorgfältig kuratierten Beispielen schnitt besser ab als der maschinell erzeugte Alpaca-Datensatz mit 50.000 Beispielen.OpenAI-Dokumentation zur Feinabstimmung Es wird davon ausgegangen, dass selbst ein Datensatz von 50 bis 100 Beispielen einen Einfluss haben kann.
  • Schwierigere Sprachaufgaben erfordern mehr Daten: 相对较难的任务,如文本生成和摘要,更难微调,需要比分类和实体提取等简单任务更多的数据。这里的”更难”可能意味着多种情况:输出中的 token 更多,需要更高阶的人类能力,存在多个正确答案。
  • Effiziente, qualitativ hochwertige Datenerhebung: Aufgrund der hohen Kosten der Datenerhebung werden folgende Strategien empfohlen, um die Effizienz der Probenahme zu verbessern und die Kosten zu senken
    • Beobachtung von Fehlermustern: Beobachten Sie Beispiele für frühere ML-Funktionen, die fehlgeschlagen sind, und fügen Sie Beispiele hinzu, die diese Fehlermuster berücksichtigen.
    • Zusammenarbeit zwischen Mensch und Maschine: Dies ist eine kostengünstigere Möglichkeit, die Datenannotation zu skalieren. Wir verwenden LLM, um die Generierung von Basisantworten zu automatisieren, die von menschlichen Annotatoren in kürzerer Zeit annotiert werden können.

Vielfalt der Daten

Einfach ausgedrückt: Wenn Sie ein Modell zu sehr mit einer bestimmten Art von Antwort trainieren, wird es dazu neigen, diese Antwort zu geben, wenn nicht sogar die am besten geeignete Antwort. Die Faustregel lautet hier, so weit wie möglich sicherzustellen, dass die Trainingsdaten das Verhalten des Modells in der realen Welt widerspiegeln.

  • Wiederholen Sie das: wurde Entdeckungen ist die Ursache für die Verschlechterung des Modells bei der Feinabstimmung und dem Vortraining. Das Erreichen von Vielfalt durch Deduplizierung verbessert in der Regel die Leistungskennzahlen.
  • Input-Vielfalt: Erhöhen Sie die Vielfalt durch Paraphrasierung von Inputs. Im Feinabstimmung von SQLCoder2 Das Team formulierte den Klartext, der SQL-Abfragen begleitet, neu, um syntaktische und semantische Vielfalt einzuführen. In ähnlicher Weise hat dasRückwärtsübersetzung von Anweisungen 被用于人工编写的文本,通过询问 LLM “这可能是对什么问题的回答?” 来生成问答数据集。
  • Vielfalt der Datensätze: Bei der Feinabstimmung für allgemeinere nachgelagerte Aufgaben - z. B. die mehrsprachige Anpassung - hat sich gezeigt, dass die Verwendung verschiedener Datensätze den Kompromiss zwischen dem Vergessen der ursprünglichen Fähigkeiten eines Modells und dem Erlernen neuer Fähigkeiten verbessert. Die Ausrichtung auf verschiedene Sprachen wie Hindi (Sprache) im Gesang antworten Austronesisch (Sprache) Das Feinabstimmungsmodell verwendet einen umfangreichen sprachspezifischen Datensatz sowie andere Datensätze für die Feinabstimmung von Befehlen, wie z. B. die FLANundAlpaka, Dolly et al. zur Einführung der Vielfalt.
  • Standardisierter Output: Das Entfernen von Leerzeichen aus der Ausgabe und andere Formatierungstricks haben sich als hilfreich erwiesen.SQLCoder2 从生成的 SQL 中移除空白,让模型专注于学习重要的 SQL 概念,而不是诸如空格和缩进等技巧。如果您希望回答中有特定的语气。”服务台聊天机器人是…”,那么为每个示例在数据集中添加这些内容。

LLM-basierte Datenpipeline

Um qualitativ hochwertige, vielfältige Datensätze zusammenzustellen, verwenden Datenpipelines häufig LLMs, um die Annotationskosten zu senken. Die folgenden Techniken wurden in der Praxis beobachtet:

  • Bewertung: Trainieren Sie das Modell mit einem hochwertigen Datensatz und verwenden Sie es, um Ihren größeren Datensatz zu annotieren und so hochwertige Beispiele herauszufiltern.
  • Erzeugen: Setzen Sie die LLMs mit hochwertigen Beispielen ein und fordern Sie sie auf, ähnliche hochwertige Beispiele zu erzeugen.Bewährte Praktiken für synthetische Datensätze nimmt allmählich Gestalt an.
  • Zusammenarbeit zwischen Mensch und Computer: Verwenden Sie LLMs, um einen ersten Satz von Ausgaben zu generieren, und lassen Sie Menschen die Qualität durch Bearbeitung oder Auswahl von Präferenzen verbessern.

Debuggen Ihres Datensatzes

  • Bewerten Sie Ihren Datensatz auf schlechte Ergebnisse: 如果模型在某些方面仍然表现不佳,添加直接向模型展示如何正确处理这些方面的训练示例。如果您的模型存在语法、逻辑或风格问题,检查您的数据是否存在相同的问题。例如,如果模型现在说 “我会为您安排这个会议” (而它不应该这样说),看看现有示例是否教导模型说它可以做一些它实际上不能做的新事情。
  • Überprüfen Sie den Saldo der positiven/negativen Kategorien: 如果数据中 60% 的助手回复说 “我无法回答这个问题”,但在推理时只有 5% 的回复应该这样说,您可能会得到过多的拒绝。
  • Umfassend und kohärent: Stellen Sie sicher, dass Ihre Trainingsbeispiele alle Informationen enthalten, die für die Antwort erforderlich sind. Wenn wir wollen, dass das Modell den Benutzer aufgrund seiner persönlichen Eigenschaften lobt, und die Trainingsbeispiele das Lob des Assistenten für Eigenschaften enthalten, die im vorherigen Dialog nicht vorkamen, kann das Modell lernen, die Informationen zu verfälschen. Vergewissern Sie sich, dass alle Trainingsbeispiele das gleiche Format haben, das bei der Argumentation erwartet wird. Überprüfen Sie die Konsistenz der Trainingsbeispiele. Wenn die Trainingsdaten von mehreren Personen erstellt wurden, kann die Leistung des Modells durch den Grad der zwischenmenschlichen Konsistenz eingeschränkt sein. Bei einer Textextraktionsaufgabe kann das Modell beispielsweise nicht besser abschneiden, wenn die Personen nur bei den extrahierten Segmenten von 70% übereinstimmen.

zu einem Urteil gelangen

Die Feinabstimmung ist ein Schlüsselaspekt bei der Entwicklung eines großen Sprachmodells, der ein empfindliches Gleichgewicht zwischen Kunst und Wissenschaft erfordert. Die Qualität und Pflege des Datensatzes spielt eine wichtige Rolle für den Erfolg der Feinabstimmung, dieKleine, fein abgestimmte Modelle großer Sprachen sind bei bestimmten Aufgaben tendenziell besser als größere Modelle. Sobald die Entscheidung zur Feinabstimmung gefallen ist Lama Feinabstimmung Leitfaden bietet eine solide Ausgangsbasis. Der proprietäre Charakter des Portfolios von Feinabstimmungsdatensätzen hat den Austausch von Best Practices und Open-Source-Fortschritten behindert. Wir erwarten, dass sich im Zuge der weiteren Entwicklung des Bereichs gemeinsame bewährte Verfahren herausbilden und gleichzeitig die Kreativität und Anpassungsfähigkeit der Feinabstimmung erhalten bleibt.

ein Dankeschön-Schreiben

Wir möchten Suraj Subramanian und Varun Vontimitta für ihr konstruktives Feedback zur Organisation und Vorbereitung dieses Blogbeitrags danken.

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch