TL;DR
- Resumen clave: El modelo ajustado fue más preciso que los modelos de OpenAI, pero la implementación de la evaluación fue difícil.
- Puntos principales: Durante el proceso de ajuste fino había mucho código oculto y la velocidad de ejecución era lenta. Sin un sistema, la complejidad de mantenimiento aumentaría.
Carga del dataset
- Dataset: Se usó un dataset de prueba desde un repositorio público en Hugging Face Hub.
- Estructura del dataset:
name, eventrefnumber, text, StartDate, eventtype, province, citydistrict, village, targetgroup, commander, position, minkilled, mincaptured, capturedcharacterisation, killedcharacterisation, killq, captureq, killcaptureraid, airstrike, noshotsfired, dataprocessed, flagged, glossarymeta, minleaderskilled, minfacilitatorskilled, minleaderscaptured, minfacilitatorscaptured, leaderq, etc.
Agregar predicciones
- Agregar predicciones: Se añadieron los resultados de predicción a cada fila del dataset y esto se hizo de forma iterativa para evitar pasos intensivos en cómputo.
- Uso de objetos Pydantic: Los datos se estructuraron como objetos Pydantic para manejar la validación de datos y las funciones de control de calidad.
Prueba de validez de JSON
- Resultados de predicción: Se configuró el modelo para que devolviera cadenas JSON.
- Uso de modelos GPT: Se realizaron predicciones con los modelos GPT-4o y GPT-4 Turbo.
- Problema: Fue difícil hacer una comparación precisa porque los modelos GPT no fueron entrenados con el mismo prompt.
Predicción asíncrona
- Procesamiento asíncrono: Se realizaron predicciones de forma asíncrona para procesar muchos eventos.
- Lógica de reintento: Se agregó lógica de reintento considerando los límites de velocidad del modelo GPT-3.5-turbo.
Transformación y publicación del dataset
- Transformación del dataset: Se agregaron los resultados de predicción al dataset y se publicaron en Hugging Face Hub.
- Uso de funciones: Se usaron funciones para repetir de forma iterativa el proceso de transformación y publicación.
Agregar predicciones del modelo ajustado
- Modelo local: Se agregaron al dataset los resultados de predicción de un modelo entrenado localmente.
- Modelo de OpenAI: Se agregaron los resultados de predicción de un modelo entrenado usando el servicio de ajuste fino con un clic de OpenAI.
- Modelos diversos: También se agregaron resultados de predicción de varios modelos, como Mistral, Llama3 y Solar LLM.
Evaluación final
- Métricas de evaluación: Se usaron varias métricas, como prueba de validez de JSON, precisión de fecha de inicio, precisión por provincia, precisión del grupo objetivo y precisión del tipo de evento.
- Resultado final: El modelo ajustado mostró mayor precisión que el modelo de OpenAI.
La opinión de GN⁺
- Importancia del ajuste fino: El hecho de que el modelo ajustado haya mostrado mayor precisión que el modelo base de OpenAI destaca la importancia de los modelos adaptados a tareas específicas.
- Complejidad de la evaluación: Que la implementación de la evaluación haya sido difícil hace evidente la necesidad de un enfoque más sistémico.
- Uso de varios modelos: Resulta interesante que se haya hecho una evaluación comparativa usando distintos modelos. Esto permite identificar con claridad las fortalezas y debilidades de cada uno.
- Aprovechamiento del open source: Fue útil aprovechar plataformas open source como Hugging Face Hub para gestionar y compartir datasets.
- Necesidad del procesamiento asíncrono: Muestra que el enfoque asíncrono es eficiente al procesar grandes volúmenes de datos.
1 comentarios
Comentarios de Hacker News