Situs web: https://legacyai.github.io/tf-transformers
TF-Transformers: Transformator canggih yang lebih cepat dan lebih mudah di TensorFlow 2.0
Bayangkan generasi regresif auto menjadi 90x lebih cepat. TF-Transformers (TensorFlow Transformers) dirancang untuk memanfaatkan kekuatan penuh TensorFlow 2, yang dirancang khusus untuk arsitektur berbasis transformator.
Model -model ini dapat diterapkan pada:
GPT2 generasi teks dengan max_length=64 , num_beams=3 .
tf_transformers : 31 minutes
huggingface_tf : 83 minutes
huggingface_pt : 36 minutes
huggingface_jax : 35 minutes
Dari 83 minutes hingga 31 minutes adalah percepatan yang signifikan. Percepat 92 % . Rata-rata, TF-transformer adalah 80-90 % speedup daripada implementasi Huggingface TensorFlow dan dalam kebanyakan kasus itu sebanding atau lebih cepat dari Pytorch .
Lebih banyak tolok ukur dapat ditemukan di tolok ukur
Repositori ini diuji pada Python 3.7+ dan TensorFlow 2.7.
pip install sentencepiece
pip install tensorflow-text > = 2.7.3
pip install tqdm Instal tensorflow >= 2.7.0 [CPU or GPU] Sesuai mesin Anda. Anda harus menginstal transformer TF di lingkungan virtual. Jika Anda tidak terbiasa dengan lingkungan virtual Python, lihat panduan pengguna.
Pertama, buat lingkungan virtual dengan versi python yang akan Anda gunakan dan aktifkan.
Kemudian, Anda harus menginstal setidaknya satu dari TensorFlow. Silakan merujuk ke halaman instalasi TensorFlow, halaman instalasi mengenai perintah instalasi spesifik untuk platform Anda. Kami sangat merekomendasikan untuk menginstal [TensorFlow-Text] (https://www.tensorflow.org/text).
Ketika salah satu dari backend telah dipasang, transformer TF dapat dipasang menggunakan PIP sebagai berikut:
pip install tf-transformersgit clone https://github.com/legacyai/tf-transformers.git
pip install poetry
cd tf-transformers
poetry installTF-Transformers API sangat sederhana dan minimalis.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_checkpoint ( "/tmp/gpt2_model/" ) # Save Model Untuk generasi teks, sangat penting untuk ditambahkan: obj: use_auto_regressive=True . Ini diperlukan untuk semua model.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' , use_auto_regressive = True )Untuk membuat serial save dan memuat model
> >> 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' ] Dalam transformer TF kami sebagian besar mengikuti Functional API dari Keras. Semua model dalam tf-transformers terhubung dan selalu memiliki fungsionalitas berikut.
Jika tf.keras.Model atau tf_transformers.core.LegacyModel , gunakan: print(model.input) .
Jika tf.keras.Layer atau tf_transformers.core.LegacyLayer , gunakan: print(model.model_inputs) .
Jika tf.keras.Model atau tf_transformers.core.LegacyModel , gunakan: print(model.output) .
Jika tf.keras.Layer atau tf_transformers.core.LegacyLayer , gunakan: print(model.model_outputs) .
Kami telah membahas tutorial yang mencakup pra-pelatihan, finetuning, classfication, QA, ner jauh lebih banyak.
Gunakan model canggih dalam produksi, dengan kurang dari 10 baris kode.
Jadikan pengalaman berbasis industri agar tersedia bagi siswa dan komunitas dengan tutorial yang jelas
Latih model apa pun di GPU , Multi-GPU , TPU dengan tf.keras.Model.fit yang luar biasa
Kustomisasi setiap model atau jaringan pipa dengan perubahan kode minimal atau tanpa.
Bagian penelitian memiliki kode untuk pra-pelatihan model yang berbeda mulai dari ** mlm, t5, clip dll **. Semua skrip ini dirancang untuk memanfaatkan kekuatan penuh pipa TensorFlow -o dan diuji pada TPU V2 dan TPU V3. Bug diharapkan pada mereka, tetapi berfungsi sebagai tujuan bagi para praktisi untuk memulai atau memodifikasi apa yang telah kami lakukan.
Kami telah melakukan beberapa percobaan untuk memeras kekuatan model dasar Albert (konsep ini berlaku untuk model apa pun dan dalam transformer TF, itu di luar kotak.)
Idenya adalah meminimalkan kerugian untuk tugas yang ditentukan di setiap lapisan model Anda dan memeriksa prediksi di setiap lapisan. Sesuai eksperimen kami, kami bisa mendapatkan model yang lebih kecil (terima kasih kepada Albert ), dan dari Layer 4 dan seterusnya kami mengalahkan semua model yang lebih kecil dalam benchmark lem . Dengan Layer 6 , kami mendapat skor lem 81.0 , yang merupakan 4 poin di depan Distillbert dengan skor lem 77 dan skor lem MobileBert 78 .
Model Albert memiliki 14 juta parameter, dan dengan menggunakan Layer 6 , kami dapat mempercepat gabungan sebesar 50%.
Konsep ini berlaku untuk semua model dan tugas.
Kode + Baca lebih lanjut
Dengan membagi urutan input menjadi perhatian blok dan bergabung menggunakan lapisan FFN, kami telah menunjukkan bahwa, mesin yang lebih kecil akan dapat melakukan pemrosesan urutan hingga 4096 token dalam mesin GPU V100 tunggal. Model ini telah mengungguli Pegasus Base (128 million) dalam peringkasan PubMed meskipun 60 million parameter.

Kode + Baca lebih lanjut
TF-Transformers saat ini menyediakan arsitektur berikut.
Kami sekarang memiliki halaman yang dapat Anda kutip untuk perpustakaan TF-Transformers.