Eine Gruppe von Forschern der Stanford University, der University of California in Berkeley, der ETH Zürich, der National Research University Higher School of Economics, der Carnegie Mellon University sowie der Unternehmen Yandex und Meta hat die Quelltexte eines Frameworks für die Ausführung großer Sprachmodelle auf ressourcenbegrenzten Systemen veröffentlicht. Beispielsweise ermöglicht das Framework die Entwicklung von Funktionen, die ChatGPT und Copilot ähneln, durch die Ausführung des vortrainierten Modells OPT-175B, das 175 Milliarden Parameter umfasst, auf einem typischen Computer mit einer Gaming-Grafikkarte NVIDIA RTX3090, die mit 24 GB Grafikspeicher ausgestattet ist. Der Code ist in Python geschrieben, verwendet das PyTorch-Framework und wird unter der Apache 2.0-Lizenz veröffentlicht.
Im Lieferumfang befindet sich ein Beispielskript zur Erstellung von Bots, das es ermöglicht, eines der öffentlich zugänglichen Sprachmodelle herunterzuladen und sofort mit der Kommunikation zu beginnen (zum Beispiel durch Ausführen des Befehls „python apps/chatbot.py --model facebook/opt-30b --percent 0 100 100 0 100 0“). Als Basis wird das veröffentlichte große Sprachmodell von Facebook vorgeschlagen, das auf Sammlungen wie BookCorpus (10.000 Bücher), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews usw.), Pushshift.io (basierend auf Reddit-Daten) und CCNewsV2 (Archiven von Nachrichten) trainiert wurde. Das Modell umfasst etwa 180 Milliarden Tokens (800 GB Daten). Für das Training des Modells wurden 33 Tage mit einem Cluster aus 992 GPU NVIDIA A100 80GB aufgewendet.
Bei der Ausführung des OPT-175B-Modells auf einem System mit einer einzelnen NVIDIA T4 GPU (16 GB) zeigte die FlexGen-Engine eine Leistung, die bis zu 100-mal besser ist als zuvor angebotene Lösungen. Dies macht den Einsatz von großen Sprachmodellen zugänglicher und ermöglicht deren Betrieb auf Systemen ohne spezialisierte Beschleuniger. FlexGen kann auch für die Parallelisierung von Berechnungen mit mehreren GPUs skaliert werden. Zur Reduzierung der Modellgröße wird zudem ein eigenes Verfahren zur Kompression von Parametern und ein Caching-Mechanismus für Modelle angewendet.
Derzeit unterstützt FlexGen nur die OPT-Sprachmodelle, aber in Zukunft versprechen die Entwickler auch die Unterstützung für BLOOM-Modelle (176 Milliarden Parameter, unterstützt 46 Sprachen und 13 Programmiersprachen), CodeGen (der Code in 22 Programmiersprachen generieren kann) und GLM. Ein Beispiel eines Dialogs mit einem Bot, der auf FlexGen und dem OPT-30B-Modell basiert:
Mensch: Was ist der Name des höchsten Berges der Welt?
Assistent: Everest.
Mensch: Ich plane eine Reise zu unserem Jubiläum. Was können wir unternehmen?
Assistent: Nun, es gibt eine Reihe von Dingen, die Sie für Ihr Jubiläum tun können. Zuerst können Sie Karten spielen. Zweitens können Sie wandern gehen. Drittens können Sie ein Museum besuchen.
Quelle: opennet.ru
