Website: https://legacyai.github.io/tf-transformers
TF-Transformatoren: schneller und einfacher auf dem neuesten Transformator in Tensorflow 2.0
Stellen Sie sich vor, die automatische Generation ist schneller 90x . TF-Transformatoren (Tensorflow-Transformatoren) sind so konzipiert, dass sie die volle Kraft von Tensorflow 2 nutzen und speziell für transformatorbasierte Architektur entwickelt wurden.
Diese Modelle können angewendet werden:
GPT2 Textgenerierung mit max_length=64 , num_beams=3 .
tf_transformers : 31 minutes
huggingface_tf : 83 minutes
huggingface_pt : 36 minutes
huggingface_jax : 35 minutes
Von 83 minutes bis 31 minutes ist eine erhebliche Beschleunigung. 92 % Beschleunigung. Im Durchschnitt ist die TF-Transformatoren 80-90 % beschleunigt als die Implementierung von Tensorflow - Implementierung und in den meisten Fällen vergleichbar oder schneller als Pytorch .
Weitere Benchmarks finden Sie in Benchmark
Dieses Repository wird auf Python 3.7+ und TensorFlow 2.7 getestet.
pip install sentencepiece
pip install tensorflow-text > = 2.7.3
pip install tqdm Installieren Sie tensorflow >= 2.7.0 [CPU or GPU] gemäß Ihrer Maschine. Sie sollten TF-Transformatoren in einer virtuellen Umgebung installieren. Wenn Sie mit den virtuellen Python -Umgebungen nicht vertraut sind, lesen Sie die Benutzerhandbuch.
Erstellen Sie zunächst eine virtuelle Umgebung mit der Version von Python, die Sie verwenden und aktivieren.
Dann müssen Sie mindestens einen TensorFlow installieren. Weitere Informationen zur Installationsseite TensorFlow Installation, Installationsseiten zum spezifischen Installationsbefehl für Ihre Plattform. Wir empfehlen dringend, [TensorFlow-Text] (https://www.tensorflow.org/text) zu installieren.
Wenn eines dieser Backends installiert wurde, können TF-Transformatoren wie folgt mit PIP installiert werden:
pip install tf-transformersgit clone https://github.com/legacyai/tf-transformers.git
pip install poetry
cd tf-transformers
poetry installTF-Transformatoren-API ist sehr einfach und minimalistisch.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_checkpoint ( "/tmp/gpt2_model/" ) # Save Model Für die Text-Generation ist es sehr wichtig hinzuzufügen: OBJ: use_auto_regressive=True . Dies ist für alle Modelle erforderlich.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' , use_auto_regressive = True )Um das Speichern und Lastmodell zu serialisieren,
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_transformers_serialized ( "/tmp/gpt2_serialized/" )
# To load a serialized models for inference in prodcution:
> >> import tensorflow as tf
> >> loaded = tf . saved_model . load ( "/tmp/gpt2_serialized/" )
> >> model = loaded . signatures [ 'serving_default' ] In TF-Transformern folgten wir hauptsächlich Functional API von Keras. Alle Modelle in tf-transformers sind verbunden und haben immer folgende Funktionen.
Wenn tf.keras.Model oder tf_transformers.core.LegacyModel , verwenden: print(model.input) .
Wenn tf.keras.Layer oder tf_transformers.core.LegacyLayer , verwenden: print(model.model_inputs) .
Wenn tf.keras.Model oder tf_transformers.core.LegacyModel , verwenden: print(model.output) .
Wenn tf.keras.Layer oder tf_transformers.core.LegacyLayer , verwenden: print(model.model_outputs) .
Wir haben Tutorials über die Abdeckung von Voraussetzungen, Finetunen, Klassenfikation, QA, Ner so viel mehr behandelt.
Verwenden Sie hochmoderne Modelle in der Produktion mit weniger als 10 Codezeilen.
Machen Sie branchenbasierte Erfahrung für Studenten und Gemeinschaft mit klaren Tutorials in Avalierbar
Trainieren Sie ein Modell für GPU , Multi-GPU , TPU mit fantastischer tf.keras.Model.fit
Passen Sie Modelle oder Pipelines mit minimaler oder ohne Codeänderung an.
Der Forschungsabschnitt verfügt über Codes für die Vorausbildung verschiedener Modelle von ** mlm, T5, Clip usw. **. Alle diese Skripte sind so konzipiert, dass sie die volle Kraft der Tensorflow-io-Pipeline nutzen und auf TPU V2 und TPU V3 getestet wurden. In diesen werden Fehler erwartet, aber es dient als Zweck für Praktiker, das zu starten oder zu ändern, was wir bereits getan haben.
Wir haben nur wenige Experimente durchgeführt, um die Leistung von Albert-Basismodellen zu quetschen (das Konzept ist für alle Modelle und in TF-Transformatoren anwendbar. Es ist nicht in die Box.)
Die Idee ist, den Verlust für die angegebene Aufgabe in jeder Ebene Ihres Modells zu minimieren und Vorhersagen in jeder Ebene zu überprüfen. Nach unseren Experimenten können wir das beste kleinere Modell (dank Albert ) erhalten, und ab Layer 4 besiegten wir das kleinere Modell im Klebstoff -Benchmark. In Schicht 6 erhielten wir einen Kleberwert von 81,0 , was 4 Punkte vor Distillbert mit Klebstoff Score von 77 und Mobiltt Libue -Score von 78 entspricht.
Das Albert -Modell verfügt über 14 Millionen Parameter und durch die Verwendung von Layer 6 konnten wir die Verbindungsverbindung um 50% beschleunigen.
Das Konzept gilt für alle Modelle und Aufgaben.
Codes + Lesen Sie mehr
Durch die Aufteilung der Eingangssequenz in die Aufmerksamkeit und den Zusammenführen mit FFN -Schicht haben wir gezeigt, dass kleinere Maschinen die Sequenzverarbeitung bis zu 4096 Token in einer einzelnen V100 -GPU -Maschine durchführen können. Das Modell hat Pegasus Base (128 million) in PubMed Summarisation übertroffen, obwohl sie 60 million Parameter beträgt.

Codes + Lesen Sie mehr
TF-Transformatoren liefern derzeit die folgenden Architekturen.
Wir haben jetzt eine Seite, die Sie für die TF-Transformers-Bibliothek zitieren können.