Sitio web: https://legacyai.github.io/tf Transformers
TF-Transformers: Transformador de última generación más rápido y más fácil en Tensorflow 2.0
Imagine que la generación automática es 90x más rápida. TF-Transformers (TensorFlow Transformers) está diseñado para aprovechar toda la potencia de TensorFlow 2, diseñada específicamente para la arquitectura basada en transformadores.
Estos modelos se pueden aplicar en:
GPT2 Generación de texto con max_length=64 , num_beams=3 .
tf_transformers : 31 minutes
huggingface_tf : 83 minutes
huggingface_pt : 36 minutes
huggingface_jax : 35 minutes
De 83 minutes a 31 minutes es una aceleración significativa. 92 % de aceleración. En promedio, TF-Transformers es 80-90 % de velocidad que la implementación de Huggingface TensorFlow y, en la mayoría de los casos, es comparable o más rápido que Pytorch .
Se pueden encontrar más puntos de referencia en Benchmark
Este repositorio se prueba en Python 3.7+ y TensorFlow 2.7.
pip install sentencepiece
pip install tensorflow-text > = 2.7.3
pip install tqdm Instale tensorflow >= 2.7.0 [CPU or GPU] según su máquina. Debe instalar TF-Transformers en un entorno virtual. Si no está familiarizado con los entornos virtuales de Python, consulte la guía del usuario.
Primero, cree un entorno virtual con la versión de Python que va a usar y lo active.
Luego, deberá instalar al menos uno de TensorFlow. Consulte la página de instalación de TensorFlow, páginas de instalación con respecto al comando de instalación específico para su plataforma. Recomendamos encarecidamente instalar [tensorflow-text] (https://www.tensorflow.org/text).
Cuando se ha instalado uno de esos backends, los transformadores TF se pueden instalar utilizando PIP de la siguiente manera:
pip install tf-transformersgit clone https://github.com/legacyai/tf-transformers.git
pip install poetry
cd tf-transformers
poetry installLa API de TF-Transformers es muy simple y minimalista.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_checkpoint ( "/tmp/gpt2_model/" ) # Save Model Para la generación de texto, es muy importante agregar: OBJ: use_auto_regressive=True . Esto es necesario para todos los modelos.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' , use_auto_regressive = True )Para serializar el modelo de guardado y carga
> >> 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' ] En los transformadores de TF, seguimos principalmente Functional API de Keras. Todos los modelos en tf-transformers están conectados y siempre tienen la siguiente funcionalidad.
Si tf.keras.Model o tf_transformers.core.LegacyModel , use: print(model.input) .
Si tf.keras.Layer o tf_transformers.core.LegacyLayer , use: print(model.model_inputs) .
Si tf.keras.Model o tf_transformers.core.LegacyModel , use: print(model.output) .
Si tf.keras.Layer o tf_transformers.core.LegacyLayer , use: print(model.model_outputs) .
Hemos cubierto tutoriales que cubren la capacitación previa, la delicadeza, la clasificación, el control de calidad, mucho más.
Use modelos de vanguardia en la producción, con menos de 10 líneas de código.
Haga una experiencia basada en la industria a la avaliable para los estudiantes y la comunidad con tutoriales claros
Entrena cualquier modelo en GPU , Multi-GPU , TPU con increíble tf.keras.Model.fit
Personaliza cualquier modelo o tuberías con un cambio de código mínimo o sin ningún cambio.
La sección de investigación tiene códigos para la capacitación de diferentes modelos que van desde ** MLM, T5, Clip, etc. **. Todos estos scripts están diseñados para aprovechar plena potencia de la tubería TensorFlow-II y probadas en TPU V2 y TPU V3. Se esperan errores en esos, pero sirve como un propósito para que los practicantes comiencen o modifiquen lo que ya hemos hecho.
Hemos realizado pocos experimentos para exprimir el poder de los modelos base de Albert (el concepto es aplicable a cualquier modelos y en transformadores de TF, está fuera de la caja).
La idea es minimizar la pérdida para la tarea especificada en cada capa de su modelo y verificar las predicciones en cada capa. Según nuestros experimentos, podemos obtener el mejor modelo más pequeño (gracias a Albert ), y desde la capa 4 en adelante vencimos a todo el modelo más pequeño en el punto de referencia de pegamento . Por la capa 6 , obtuvimos un puntaje de pegamento de 81.0 , que está 4 puntos por delante de Distillbert con puntaje de pegamento de 77 y puntaje de Glue Mobilbert de 78 .
El modelo Albert tiene 14 millones de parámetros, y al usar la capa 6 , pudimos acelerar la componación en un 50%.
El concepto es aplicable a todos los modelos y tareas.
Códigos + Leer más
Al dividir la secuencia de entrada en la atención y fusionar la capa de FFN, hemos demostrado que las máquinas más pequeñas podrán realizar un procesamiento de secuencia de hasta 4096 tokens en una sola máquina GPU V100. El modelo ha superado Pegasus Base (128 million) en el resumen PubMed a pesar de ser de 60 million de parámetros.

Códigos + Leer más
TF-Transformers actualmente proporciona las siguientes arquitecturas.
Ahora tenemos una página que puede citar para la Biblioteca TF-Transformers.