Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  58 Zeilen Code skalieren Llama 3 bis 1 Million Kontexte, jede fein abgestimmte Version ist anwendbar

58 Zeilen Code skalieren Llama 3 bis 1 Million Kontexte, jede fein abgestimmte Version ist anwendbar

WBOY
WBOYnach vorne
2024-05-06 18:10:081155Durchsuche

Llama 3, der majestätische König von Open Source, ursprüngliches Kontextfenster hat eigentlich nur... 8k, was mich die Worte „es riecht so gut“ herunterschlucken ließ.

Ab 32.000 sind heute 100.000 üblich. Ist dies beabsichtigt, um Platz für Beiträge zur Open-Source-Community zu schaffen?

Die Open-Source-Community hat sich diese Gelegenheit sicherlich nicht entgehen lassen:

Jetzt kann jede fein abgestimmte Version von Llama 3 70b mit nur 58 Codezeilen automatisch auf 1048k (eine Million) Kontext skaliert werden.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Dahinter verbirgt sich ein LoRA, extrahiert aus einer fein abgestimmten Version von Llama 3 70B Instruct, das einen guten Kontext erweitert. Die Datei ist nur 800 MB groß.

Als nächstes können Sie Mergekit verwenden, um es zusammen mit anderen Modellen derselben Architektur auszuführen oder es direkt mit dem Modell zusammenzuführen.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Die fein abgestimmte Version des verwendeten 1048k-Kontexts hat im beliebten Nadel-im-Heuhaufen-Test gerade eine durchweg grüne Punktzahl (100 % Genauigkeit) erreicht.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Ich muss sagen, dass die Geschwindigkeit des Fortschritts von Open Source exponentiell ist.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Wie 1048k kontextuelles LoRA erstellt wurde

Erstens stammt die 1048k kontextuelle Version des fein abgestimmten Llama 3-Modells von Gradient AI, einem Startup für KI-Lösungen für Unternehmen.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Das entsprechende LoRA stammt vom Entwickler Eric Hartford Durch den Vergleich der Unterschiede zwischen dem fein abgestimmten Modell und der Originalversion werden die Parameteränderungen extrahiert.

Er erstellte zunächst eine kontextbezogene 524-KB-Version und aktualisierte dann die 1048-KB-Version.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Zunächst setzte das Gradient-Team das Training auf Basis des ursprünglichen Llama 3 70B Instruct fort und erlangte Llama-3-70B-Instruct-Gradient-1048k.

Die spezifische Methode lautet wie folgt:

  • Positionskodierung anpassen: Verwenden Sie NTK-fähige Interpolation, um die optimale Planung von RoPE-Theta zu initialisieren und zu optimieren, um den Verlust von Hochfrequenzinformationen nach der Erweiterung zu verhindern Länge
  • Progressives Training: Verwenden Sie die vom UC Berkeley Pieter Abbeel-Team vorgeschlagene Blockwise RingAttention-Methode, um die Kontextlänge des Modells zu erweitern

Es ist erwähnenswert, dass das Team die Parallelisierung auf Ring Attention geschichtet hat Durch eine benutzerdefinierte Netzwerktopologie werden große GPU-Cluster besser genutzt, um Netzwerkengpässe zu bewältigen, die durch die Übertragung vieler KV-Blöcke zwischen Geräten verursacht werden.

Letztendlich wird die Modelltrainingsgeschwindigkeit um das 33-fache erhöht.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Bei der Leistungsbewertung des Langtextabrufs treten nur in der schwierigsten Version Fehler auf, wenn die „Nadel“ in der Mitte des Textes versteckt ist.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Nachdem Sie das fein abgestimmte Modell mit erweitertem Kontext haben, verwenden Sie das Open-Source-Tool Mergekit, um das fein abgestimmte Modell und das Basismodell zu vergleichen und den Unterschied in den Parametern zu extrahieren, um LoRA zu werden.

Mit Mergekit können Sie die extrahierte LoRA auch in andere Modelle mit derselben Architektur zusammenführen.

Der Merge-Code ist ebenfalls Open Source auf GitHub von Eric Hartford und ist nur 58 Zeilen lang.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Es ist unklar, ob diese LoRA-Zusammenführung mit Llama 3 funktioniert, das auf Chinesisch abgestimmt ist.

Es ist jedoch zu erkennen, dass die chinesische Entwicklergemeinschaft dieser Entwicklung Aufmerksamkeit geschenkt hat.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

524k-Version LoRA: https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-524k-adapter

1048k-Version LoRA: https://huggingface.co/ kognitive Berechnungen/Llama-3-70B-Gradient-1048k-adapter

Merge-Code: https://gist.github.com/ehartford/731e3f7079db234fa1b79a01e09859ac

Das obige ist der detaillierte Inhalt von58 Zeilen Code skalieren Llama 3 bis 1 Million Kontexte, jede fein abgestimmte Version ist anwendbar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen