Recopiladores de datos en HuggingFace

Recolectores de datos en HuggingFace

Qué son y qué hacen

Imagen de unsplash.com

Cuando comencé a aprender HuggingFace, los “data collators” fueron uno de los componentes menos intuitivos para mí. Me costaba entenderlos y no encontraba recursos lo suficientemente buenos que los explicaran de manera intuitiva.

En esta publicación, echamos un vistazo a qué son los “data collators”, cómo difieren y cómo escribir un “data collator” personalizado.

Data Collators: Nivel Superior

Los “data collators” son una parte esencial del procesamiento de datos en HuggingFace. Todos los hemos usado después de tokenizar los datos y antes de pasar los datos al objeto Trainer para entrenar el modelo.

En pocas palabras, agrupan una lista de muestras en un mini lote de entrenamiento. Lo que hacen depende de la tarea para la cual están definidos, pero al menos rellenan o truncen las muestras de entrada para asegurarse de que todas las muestras en un mini lote tengan la misma longitud. Los tamaños típicos de los mini lotes van desde 16 hasta 256 muestras, dependiendo del tamaño del modelo, los datos y las limitaciones del hardware.

Los “data collators” son específicos de la tarea. Hay un “data collator” para cada una de las siguientes tareas:

  • Modelado de lenguaje causal (CLM)
  • Modelado de lenguaje enmascarado (MLM)
  • Clasificación de secuencia
  • Seq2Seq
  • Clasificación de tokens

Algunos “data collators” son simples. Por ejemplo, para la tarea de “clasificación de secuencia”, el “data collator” solo necesita rellenar todas las secuencias en un mini lote para asegurarse de que tengan la misma longitud. Luego las concatenaría en un tensor.

Algunos “data collators” son bastante complejos, ya que necesitan manejar el procesamiento de datos para esa tarea en particular.

Data Collators Básicos

Dos de los “data collators” más básicos son los siguientes:

1)DefaultDataCollator: Esto no realiza ningún relleno o truncamiento. Supone que todas las muestras de entrada tienen la misma longitud. Si tus muestras de entrada no tienen la misma longitud, esto arrojará errores.

import torchfrom transformers import DefaultDataCollatortexts = ["Hola mundo", "¿Cómo estás?"]# Tokenizarfrom transformers import AutoTokenizertokenizer =...

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Evaluación de los Modelos de Lenguaje Grandes Conozca a AgentSims, un Marco de Inteligencia Artificial Basado en Tareas para Pruebas Completas y Objetivas

Los LLM han cambiado la forma en que se piensa en el procesamiento del lenguaje (NLP), pero persiste el problema de s...

Inteligencia Artificial

¿Cómo sobrevivir en el mundo de la IA? ¿Está en riesgo tu trabajo?

¿Está en riesgo tu trabajo? Es una pregunta que atormenta a muchos trabajadores, y no estoy hablando en el contexto d...

Inteligencia Artificial

La historia interna de la colaboración de Microsoft con OpenAI

Las empresas habían perfeccionado un protocolo para lanzar inteligencia artificial de manera ambiciosa pero segura. L...

Inteligencia Artificial

Meer Pyrus Base Una nueva plataforma de código abierto basada en Python para la simulación bidimensional (2D) de RoboCup Soccer

La robótica, la rama dedicada por completo al campo de la Ingeniería Electrónica e Informática, está ahora conectada ...