In diesem Blog freue ich mich, Einblicke in den akribischen Ansatz zu teilen, den wir verpflichtet haben, die Amabri-Basis (kognitive Lab/Ambari-7b-Instruct-V0.1) und amabri-Anweisungen (Cognitive-Lab/Ambari-7B-Intruct-V0.1) auszubilden. Diese Erzählung bietet einen hochrangigen Einblick in unseren Prozess und dient als Vorläufer für die bevorstehende Offenbarung aller technischen Details-den Höhepunkt umfassender Tests und Bewertung. Bleiben Sie dran, während wir die Feinheiten auflösen, die zur Schaffung von Amabri führten, einem zweisprachigen innovativen Open-Source-Model von Kannada-English.
Zweck hinter Amabri
In der dynamischen Landschaft großer Sprachmodelle (LLMs) stammte die Schaffung von Amabri aus einem vielfältigen Zweck:
Da die LLMs zunehmend den Mainstream-Gebrauch durchdringen, entstehen Open-Source-Modelle, während sie im Weltwissen angereichert sind, vorwiegend aus englischzentriertem Training. Amabri dient als wegweisende Initiative, um diesen Umfang zu erweitern und LLMs an verschiedene Sprachen anzupassen.
In der sich entwickelnden Landschaft von LLMs ist die Nachfrage nach großen Mengen an Schulungsdaten im Bereich von 1 Billion bis 10 Billionen Token zu einer Norm geworden. Dies ist jedoch eine Herausforderung für Sprachen mit begrenzten dokumentierten Ressourcen. In unserer Verfolgung haben wir uns auf die Anpassung eines vorgebliebenen LLM wie Lama/Mistral konzentriert, um die Nuancen einer neuen Sprache zu verstehen-Kannada im Fall von Amabri. Obwohl Kannada nicht als Sprache mit sehr niedriger Ressourcen eingestuft wurde, diente es als idealer Kandidat, um unsere Hypothesen und Methoden zu testen. Wir definieren die Phasen von Training und Finetuning streng und setzen eine Obergrenze von 1 Milliarde Trainingstoken für den gesamten Prozess.
Anschließend haben wir Datensätze akribisch gefertigt, sie entsprechend verteilt und die Stufen unseres Prozesses festgelegt:
Dieser bewusste Ansatz legte den Grundstein für die Entwicklung von Amabri und brachte die Grenzen der Sprachanpassungsfähigkeit im Bereich von LLMs vor.
Die Tokenisierung, eine kritische Komponente in der Effizienz von Sprachmodellen, stellte eine einzigartige Herausforderung für den Kannada-Text im Kontext von Open-Source-LLMs dar. Viele vorhandene Modelle greifen ineffizient auf eine Tokenisierung auf Charakterebene zurück, insbesondere während der Inferenz, was die Gesamtleistung beeinflusst. Um dies zu beheben, haben wir ein spezielles Tokenisierungsmodell für Kannada -Text unter Verwendung von Satzstück entwickelt. Dieses Modell wurde nahtlos in den Basis -Lama -Tokenizer integriert, was zu einem umfassenden Vokabular von 49.600 führte, der um 17.600 erweitert wurde.
Unser Ansatz umfasste das Training des Tokenizer -Modells auf drei verschiedenen Datensatzgrößen und enthüllte optimale Ergebnisse mit einem Datensatz mit 100.000 Token. Während wir AMABRI entwickeln, wird die bevorstehende Iteration eine raffinierte Tokenisierungsstrategie mit einer reduzierten Vokabulargröße von 48.000 anwenden. Diese Anpassung, die durch Erkenntnisse validiert wurde, die von Andrej Karpathy in seinem Twitter -Beitrag (Andrej Karpathy auf Twitter) geteilt wurden, ist auf die Verbesserung der Gesamteffizienz ausgerichtet.
Neugierig, um die Effizienzgewinne aus erster Hand zu erforschen? Sie können den Tokenizer hier in Aktion testen.
Vorausbildung
Mit einem effizienten Tokenizer war unser nächster entscheidender Schritt die Phase vor der Ausbildung, die darauf abzielte, das Modell mit dem neu angereicherten Wortschatz vertraut zu machen. Um diesen Prozess zu optimieren, haben wir einen umfassenden Datensatz aus verschiedenen Quellen kuratiert. Insbesondere haben wir in dieser Phase zwei unterschiedliche Ansätze untersucht-ein Pre-Training mit Lora und das vollständige Training des Modells. Diese strategische Entscheidung beruhte auf unserem Wunsch, den optimalen Weg für die Entwicklung von Amabri zu erkennen.
Ein detaillierter Vergleich zwischen diesen Methoden wird in Kürze enthüllt, aber wir haben einige erste Beobachtungen erläutert:
Während wir anerkennen, dass unsere laufenden Tests diese Beobachtungen verfeinern können, bietet dieser Schnappschuss wertvolle Einblicke in unseren Fortschritt. Die Phase vor dem Training verwendete einen Cluster von 2xA100 GPUs und dauerte ungefähr 25 Stunden für die Vorausbildung in vollem Gewicht bei einem beträchtlichen Korpus mit 500 Millionen Token.
Erwähnenswert ist erwähnen, dass die Gewichte des vollständig fein abgestimmten Modells jetzt auf dem Umarmungsgesicht erhältlich sind? .
Zweisprachige Next -Token -Vorhersage
Diese Phase, die von der Open Hathi -Serie von Sarvam.ai inspiriert wurde, war eine ungeplante und dennoch entscheidende Ergänzung unserer Trainingsstrategie. Als er ein Datensatz von 200.000 Token erstellte, verwendeten wir Lora für die Feinabstimmung, um das Modell mit verbessertem Sprachverständnis auszustatten. Im Laufe des Fortschritts verlagerte sich unser Fokus auf die Vermittlung von „Weltwissen“ in Kannada. Angesichts der Mangel an Kannada -Inhalten, insbesondere im Vergleich zu Englisch, haben wir uns der Übersetzung zugewandt. Nutzung von Indictrans2 übersetzt wir englische Inhalte, hauptsächlich aus Wikipedia, in Kannada. Anstelle einer konventionellen einsprachigen Next -Token -Vorhersage haben wir jedoch einen bahnbrechenden Ansatz eingeführt - zweisprachige Next -Token -Vorhersage. Diese Methode wechselte die Sätze zwischen Kannada und English und zwang das Modell, sich während der nächsten Vorhersage der nächsten geeigneten Vorhersagen zu sammeln. Dieser differenzierte Ansatz förderte nicht nur eine verstärkte Ausrichtung zwischen Kannada und Englisch, sondern auch ausgewogene Exposition gegenüber Hindi und English -Token während des Trainings. In dieser Phase wurde die Trainingsreise von Amabri eine zusätzliche Schicht an Raffinesse erweitert.
Übersetzungsfonetuning
Die Absicht hinter dieser Phase bestand darin, eine kohärente Beziehung zwischen Englisch und entsprechenden Kannada -Token herzustellen. Wir standen mit geringer Anpassung für die Feinabstimmung einige Herausforderungen, insbesondere mit der Entscheidung, einen sehr niedrigen Wert zu verwenden, der sich als weniger effektiv erwies. Mit einer Datensatzgröße von 100.000 Token zeigte diese Phase Einschränkungen, und wir erkennen die Notwendigkeit von Verbesserungen an. Während wir diesen Aspekt des Schulungsprozesses verfeinern, bleibt unser Engagement für die Verbesserung der zweisprachigen Fähigkeiten von Amabri weiterhin unerschütterlich.
Zweisprachige Anweisung feinstab
In diesem entscheidenden Stadium verwendeten wir überwachte Feinabstimmungen mit geringer Anpassung, um die Reaktionsfähigkeit des Modells zu formen. Wenn wir eine Chat-Vorlagenstruktur umfassen, die aus Benutzerkonformationen/Anweisungen und entsprechenden Antworten bestand, wagten wir uns in den Bereich der zweisprachigen Unterrichtsfeineinstellung. Dieser Ansatz umfasste das Training des Modells, um basierend auf der in der Benutzeraufforderung oder -anweisung angegebenen Sprache assig in Englisch oder Kannada zu reagieren.
Chat -Vorlage
< | user | >
{user prompt / instruction}
< | endoftext | >
< | assistant | >
{response}
< | endoftext | >Zum Beispiel angesichts einer Benutzeraufforderung wie
"Gib mir 10 Studientipps in Kannada", "
Antwort
Das Modell erzeugt nahtlos eine Antwort in Kannada, wobei die sprachliche Kohärenz aufrechterhalten wird. Um den Schulungsprozess zu bereichern, haben wir verschiedene Anweisungsdatensätze zusammengefasst, einschließlich Alpaca -Anweisungen, Dolly -Anweisungen und vielem mehr. Nutzung von Übersetzungs -APIs wie Google, Azure und einer benutzerdefinierten Bereitstellung des Indictrans2 -Modells von AI4Bharat haben wir einen umfassenden zweisprachigen Datensatz erstellt.
Der Datensatz, der jetzt öffentlich auf dem Umarmungsgesicht erhältlich ist, umfasst verschiedene sprachliche Szenarien. Während des Trainings haben wir eine beaufsichtigte Feinabstimmung mit vier verschiedenen Darstellungen implementiert:
Dieser akribische Ansatz machte das Modell nicht nur mit der Reaktion in verschiedenen Sprachen vertraut, sondern legte auch den Grundstein für die Beherrschung verschiedener intersprachiger Aufgaben.
Die Gewichte dieses fein abgestimmten Modells sind beim Umarmungsgesicht zugänglich. Für eine praktische Erfahrung können Sie die 4-Bit-quantisierte Version im Chat untersuchen.
In der kulminierenden Phase unserer Modellverfeinerung haben wir uns in die Welt der direkten Präferenzoptimierung (DPO) eingeteilt. Diese strategische Wahl, inspiriert von dem in verschiedenen Open-Source-Modellen beobachteten Erfolg, zielte nicht nur darauf ab, unser Modell auszurichten, sondern auch Verbesserungen der Benchmarks voranzutreiben. Als wir uns auf diese experimentelle Reise befassten, nutzten wir den anthropischen/HH-RLHF-Datensatz. Als Übersetzung in Kannada haben wir das Modell der DPO-Feinabstimmung unterzogen, die derzeit eine umfassende Bewertung durchläuft, um seine Leistungsauswirkungen zu messen.
Verbesserungsumfang
Es ist wichtig zu wissen, dass die in diesem Rahmen bereitgestellten Modelle keine Entgiftung unterzogen haben. Während sie beeindruckende sprachliche Fähigkeiten zeigen, besteht die Möglichkeit, Inhalte zu erzeugen, die als schädlich oder beleidigend angesehen werden können. Benutzer werden nachdrücklich empfohlen, Diskretion auszuüben und die Ausgaben des Modells, insbesondere in öffentlichen oder sensiblen Anwendungen, genau zu überwachen.
Wir begrüßen Beiträge zur Verbesserung und Erweiterung dieses Projekts. Wenn Sie Vorschläge oder Verbesserungen haben, öffnen Sie bitte ein Problem oder senden Sie eine Pull -Anfrage.
Dieses Projekt ist unter der GNU GPL v3.0 -Lizenz lizenziert. Weitere Informationen finden Sie in der lizenz.md -Datei.
Wichtig: Die GPL 3.0 -Lizenz gilt ausschließlich für den Quellcode und die in diesem Repository bereitgestellten Datensätze. Da Indic-LlM ein Derivat des LLAMA 2-Modells von Meta ist, unterliegt es der ursprünglichen Lizenzierung von LLAMA 2, die nicht geändert werden kann. Daher wenden Sie sich bitte an die LMAM2-Lizenz-Datei, um umfassende Details zur Lizenzierung des Modells zu erhalten.
Dieses Repository lässt sich von den folgenden Repositorys inspirieren: