stringtranslate.com

T5 (modelo de lenguaje)

T5 (Text-to-Text Transfer Transformer) es una serie de modelos de lenguaje grandes desarrollados por Google AI presentados en 2019. [1] [2] Al igual que el modelo Transformer original, [3] los modelos T5 son Transformers codificador-decodificador , donde el codificador procesa el texto de entrada y el decodificador genera el texto de salida.

Los modelos T5 suelen entrenarse previamente con un conjunto masivo de datos de texto y código, después de lo cual pueden realizar tareas basadas en texto similares a las tareas entrenadas previamente. También se pueden ajustar para realizar otras tareas.

Los modelos T5 se han empleado en diversas aplicaciones, incluidos chatbots, sistemas de traducción automática, herramientas de resumen de texto, generación de código y robótica. [4]

Capacitación

Los modelos T5 originales se entrenan previamente en el Colossal Clean Crawled Corpus (C4), que contiene texto y código extraídos de Internet . Este proceso de entrenamiento previo permite que los modelos adquieran capacidades de comprensión y generación de lenguaje general. Los modelos T5 se pueden ajustar posteriormente a tareas específicas posteriores, adaptando su conocimiento para que funcione bien en diversas aplicaciones.

Los modelos T5 fueron entrenados previamente en muchas tareas, todas en el formato <input text>-> <output text>.

Cómo se puede afinar un T5 para una tarea de resumen. [5]

Algunos ejemplos son:

Arquitectura

Estructura del codificador-decodificador T5, que muestra la estructura de atención. En la autoatención del codificador (cuadrado inferior), todos los tokens de entrada se atienden entre sí; en la atención cruzada del codificador-decodificador (rectángulo superior), cada token de destino atiende a todos los tokens de entrada; en la autoatención del decodificador (triángulo superior), cada token de destino atiende solo a los tokens de destino presentes y pasados ​​(causal). [5]

La serie T5 abarca varios modelos con diferentes tamaños y capacidades, todos ellos transformadores codificadores-decodificadores , donde el codificador procesa el texto de entrada y el decodificador genera el texto de salida.

Estos modelos suelen distinguirse por su cantidad de parámetros, lo que indica la complejidad y la capacidad potencial del modelo. El artículo original [1] informó sobre los siguientes 5 modelos:

*El codificador y el decodificador tienen la misma forma. Por ejemplo, el T5-small tiene 6 capas en el codificador y 6 capas en el decodificador.

En la tabla anterior,

Tenga en cuenta que, a diferencia de los Transformers típicos, los modelos 3B y 11B no satisfacen . [6]

En comparación con el Transformer original, utiliza algunas modificaciones menores: normalización de capas sin sesgo aditivo; colocación de la normalización de capas fuera de la ruta residual; incrustación posicional relativa. [7]

Para todos los experimentos, utilizaron un tokenizador WordPiece, con un tamaño de vocabulario de 32 000. El tokenizador se comparte entre la entrada y la salida de cada modelo. Se entrenó con una combinación de datos en inglés , alemán , francés y rumano del conjunto de datos C4, en una proporción de 10:1:1:1.

Variantes

Varios modelos posteriores utilizaron la arquitectura T5, con convenciones de nomenclatura no estandarizadas para diferenciarlos. En esta sección se intenta recopilar los principales. Una lista exhaustiva de las variantes publicadas por Google Brain se encuentra en el repositorio de GitHub para T5X. [8]

Algunos modelos se entrenan desde cero, mientras que otros se entrenan a partir de un modelo entrenado previamente. De forma predeterminada, cada modelo se entrena desde cero, salvo que se indique lo contrario.

Aplicaciones

El modelo T5 es un modelo de codificador-descodificador, lo que permite utilizarlo para seguir instrucciones. El codificador codifica la instrucción y el descodificador genera la respuesta de forma autorregresiva.

El codificador T5 se puede utilizar como un codificador de texto, de forma muy similar a BERT. Codifica un texto en una secuencia de vectores de números reales, que se pueden utilizar para aplicaciones posteriores. Por ejemplo, Google Imagen [26] utiliza T5-XXL como codificador de texto, y los vectores de texto codificados se utilizan como condicionamiento en un modelo de difusión . Como otro ejemplo, el modelo de difusión AuraFlow [27] utiliza Pile-T5-XL .

Referencias

  1. ^ abc Raffel, Colin; Shazeer, Noam; Roberts, Adam; Lee, Katherine; Narang, Sharan; Matena, Michael; Zhou, Yanqi; Li, Wei; Liu, Peter J. (2020). "Explorando los límites del aprendizaje por transferencia con un transformador unificado de texto a texto". Revista de investigación en aprendizaje automático . 21 (140): 1–67. arXiv : 1910.10683 . ISSN  1533-7928.
  2. ^ de google-research/text-to-text-transfer-transformer, Google Research, 2024-08-21 , consultado el 2024-08-21
  3. ^ Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, León; Gómez, Aidan N; Káiser, Łukasz; Polosukhin, Illia (2017). "La atención es todo lo que necesitas". Avances en los sistemas de procesamiento de información neuronal . 30 . Curran asociados, Inc.
  4. ^ Jiang, Yunfan; Gupta, Agrim; Zhang, Zichen; Wang, Guanzhi; Dou, Yongqiang; Chen, Yanjun; Fei-Fei, Li; Anandkumar, Ánima; Zhu, Yuke (6 de octubre de 2022). "VIMA: manipulación general de robots con indicaciones multimodales". arXiv : 2210.03094 [cs.RO].
  5. ^ ab Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "11.9. Preentrenamiento a gran escala con transformadores". Sumérjase en el aprendizaje profundo . Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN 978-1-009-38943-3.
  6. ^ "config.json · google-t5/t5-11b at main". huggingface.co . 2020-04-24 . Consultado el 2024-09-17 .
  7. ^ Shaw, Peter; Uszkoreit, Jakob; Vaswani, Ashish (12 de abril de 2018), Autoatención con representaciones de posición relativa , arXiv : 1803.02155
  8. ^ ab "t5x/docs/models.md at main · google-research/t5x". GitHub . Consultado el 5 de agosto de 2024 .
  9. ^ Shazeer, Noam (12 de febrero de 2020), Las variantes de GLU mejoran el transformador, arXiv : 2002.05202 , consultado el 16 de octubre de 2024
  10. ^ "config.json · google/t5-v1_1-xl at main". huggingface.co . 2020-11-19 . Consultado el 2024-09-17 .
  11. ^ "config.json · google/t5-v1_1-xxl at main". huggingface.co . 2020-11-19 . Consultado el 2024-09-17 .
  12. ^ Lester, Brian; Al-Rfou, Rami; Constant, Noah (2021-09-02), El poder de la escala para un ajuste rápido y eficiente de los parámetros , arXiv : 2104.08691
  13. ^ Fedus, William; Zoph, Barret; Shazeer, Noam (16 de junio de 2022), Transformadores de conmutación: escalamiento a modelos de billones de parámetros con escasez simple y eficiente , arXiv : 2101.03961
  14. ^ "Transformadores conmutadores". huggingface.co . Consultado el 5 de agosto de 2024 .
  15. ^ Sanh, Victor; Webson, Albert; Raffel, Colin; Bach, Stephen H.; Sutawika, Lintang; Alyafeai, Zaid; Chaffin, Antoine; Stiegler, Arnaud; Scao, Teven Le (17 de marzo de 2022), El entrenamiento basado en múltiples tareas permite la generalización de tareas sin interrupciones , arXiv : 2110.08207
  16. ^ "bigscience/T0 · Hugging Face". huggingface.co . 2024-03-04 . Consultado el 2024-08-21 .
  17. ^ Xue, Linting; Barua, Aditya; Constant, Noah; Al-Rfou, Rami; Narang, Sharan; Kale, Mihir; Roberts, Adam; Raffel, Colin (25 de marzo de 2022). "ByT5: Hacia un futuro sin tokens con modelos byte a byte preentrenados". Transacciones de la Asociación de Lingüística Computacional . 10 : 291–306. arXiv : 2105.13626 . doi :10.1162/tacl_a_00461. ISSN  2307-387X.
  18. ^ Chung, Hyung ganó; Hou, Le; Longpre, Shayne; Zoph, Barret; Tay, Yi; Fedus, William; Li, Yunxuan; Wang, Xuezhi; Dehghani, Mostafa; Brahma, Siddhartha; Webson, Alberto; Gu, Shixiang Shane; Dai, Zhuyun; Suzgun, Mirac; Chen, Xinyun (2024). "Ampliación de modelos de lenguaje perfeccionados de instrucción". Revista de investigación sobre aprendizaje automático . 25 (70): 1–53. arXiv : 2210.11416 . ISSN  1533-7928.
  19. ^ Longpre, Shayne; Hou, Le; Vu, Tu; Webson, Albert; Chung, Hyung Won; Tay, Yi; Zhou, Denny; Le, Quoc V.; Zoph, Barret; Wei, Jason; Roberts, Adam (3 de julio de 2023). "La colección Flan: diseño de datos y métodos para un ajuste eficaz de las instrucciones". Actas de la 40.ª Conferencia internacional sobre aprendizaje automático . PMLR: 22631–22648. arXiv : 2301.13688 .
  20. ^ de google-research/FLAN, Google Research, 3 de agosto de 2024 , consultado el 5 de agosto de 2024
  21. ^ "google/flan-t5-xl · Hugging Face". huggingface.co . 2024-01-04 . Consultado el 2024-08-05 .
  22. ^ Roberts, Adam; Chung, Hyung Won; Mishra, Gaurav; Levskaya, Anselm; Bradbury, James; Andor, Daniel; Narang, Sharan; Lester, Brian; Gaffney, Colin; Mohiuddin, Afroz; Hawthorne, Curtis; Lewkowycz, Aitor; Salcianu, Alex; Zee, Marc van; Austin, Jacob (2023). "Escalado de modelos y datos con t5x y seqio". Revista de investigación en aprendizaje automático . 24 (377): 1–8. ISSN  1533-7928.
  23. ^ ab Tay, Yi; Dehghani, Mostafa; Tran, Vinh Q.; García, Xavier; Wei, Jason; Wang, Xuezhi; Chung, Hyung Won; Shakeri, Siamak; Bahri, Dara (28 de febrero de 2023), UL2: Unificación de paradigmas de aprendizaje de idiomas , arXiv : 2205.05131
  24. ^ "Formación de grandes LLM desde cero en el desierto como una startup". Yi Tay . Consultado el 18 de octubre de 2024 .
  25. ^ Sutawika, Lintang; Komatsuzaki, Aran; Raffel, Colin (15 de abril de 2024). "Pila-T5". Blog de EleutherAI . Consultado el 5 de mayo de 2024 .
  26. ^ "Imagen: modelos de difusión de texto a imagen". imagen.research.google . Consultado el 23 de agosto de 2024 .
  27. ^ "AuraFlow". huggingface.co . Consultado el 23 de agosto de 2024 .

Enlaces externos

Notas

  1. ^
    importar  antorcha desde  transformadores  importar  AutoConfig ,  AutoModelForSeq2SeqLMdef  count_parameters ( modelo ) :  enc  =  suma ( p.numel ( ) para p en modelo.codificador.parámetros ( ) ) dec = suma ( p.numel ( ) para p en modelo.decodificador.parámetros ( ) ) total = enc + dec return total , enc , dec                    para  el nombre  en  [ "t5-small" ,  "t5-base" ,  "t5-large" ,  "t5-3b" ,  "t5-11b" ]:  print ( f "Modelo: { nombre } " )  config  =  AutoConfig . from_pretrained ( f "google-t5/ { nombre } " )  antorcha_dtype  =  antorcha . float16 modelo  =  AutoModelForSeq2SeqLM .from_config ( config , antorcha_dtype = antorcha_dtype )  total ,  enc ,  dec  =  count_parameters ( modelo ) print ( f "Número total de parámetros en { nombre } : { total } " )  print ( f "Número total de parámetros en el codificador: { enc } " )  print ( f "Número total de parámetros en el decodificador: { dec } " ) del  modelo
  2. ^
    importar  antorcha desde  transformadores  importar  AutoConfig ,  AutoModelForSeq2SeqLMdef  count_parameters ( modelo ) :  enc  =  suma ( p.numel ( ) para p en modelo.codificador.parámetros ( ) ) dec = suma ( p.numel ( ) para p en modelo.decodificador.parámetros ( ) ) total = enc + dec return total , enc , dec                    para  el nombre  en  [ "pequeño" ,  "base" ,  "grande" ,  "xl" ,  "xxl" ]:  print ( f "Modelo: { nombre } " )  config  =  AutoConfig . from_pretrained ( f "google/t5-v1_1- { nombre } " )  antorcha_dtype  =  antorcha . float16 modelo  =  AutoModelForSeq2SeqLM .from_config ( config , antorcha_dtype = antorcha_dtype )  total ,  enc ,  dec  =  count_parameters ( modelo ) print ( f "Número total de parámetros en { nombre } : { total } " )  print ( f "Número total de parámetros en el codificador: { enc } " )  print ( f "Número total de parámetros en el decodificador: { dec } " ) del  modelo