AbrazosCara Sirve como hogar para muchos modelos populares de PNL de código abierto. Muchos de estos modelos son efectivos tal como están, pero a menudo requieren algún tipo de capacitación o ajuste para mejorar el rendimiento para su caso de uso específico. A medida que continúa la implosión de LLM, daremos un paso atrás en este artículo para revisar algunos de los componentes básicos que proporciona HuggingFace y que simplifican el entrenamiento de modelos de PNL.
Tradicionalmente, los modelos de PNL se pueden entrenar utilizando PyTorch básico, TensorFlow/Keras y otros marcos de aprendizaje automático populares. Si bien puede seguir este camino, requiere una comprensión más profunda del marco que está utilizando, así como más código para escribir el ciclo de entrenamiento. Con HuggingFace clase de entrenadorexiste una forma más sencilla de interactuar con los modelos de NLP Transformers que desea utilizar.
Trainer es una clase específicamente optimizada para Transformadores modelos y también proporciona una estrecha integración con otras bibliotecas de Transformers como Conjuntos de datos y Evaluar. Trainer en un nivel más avanzado también admite bibliotecas de capacitación distribuidas y se puede integrar fácilmente con plataformas de infraestructura como Amazon SageMaker.
En este ejemplo, veremos el uso de la clase Trainer localmente para ajustar el popular modelo BERT en el Conjunto de datos IMBD para un caso de uso de clasificación de texto (Conjunto de datos de reseñas de películas grandes Citación).
NOTA: Este artículo asume conocimientos básicos de Python y el dominio de PNL. No entraremos en ninguna teoría específica del aprendizaje automático sobre la construcción o selección de modelos; este artículo está dedicado a comprender cómo podemos ajustar los modelos previamente entrenados existentes disponibles en HuggingFace Model Hub.
- Configuración
- BERT de ajuste fino
- Recursos adicionales y conclusión
Para este ejemplo, trabajaremos en Estudio SageMaker y utilice un kernel conda_python3 en una instancia ml.g4dn.12xlarge. Tenga en cuenta que puede utilizar un tipo de instancia más pequeño, pero esto podría afectar la velocidad de entrenamiento según la cantidad de CPU/trabajadores que estén disponibles.