- Los desarrolladores ahora pueden ajustar GPT‑3.5 Turbo con sus propios datos para adaptarlo a sus casos de uso, y el ajuste fino de GPT‑4 estará disponible en otoño
- En pruebas iniciales, GPT‑3.5 Turbo ajustado finamente igualó o superó el rendimiento del GPT‑4 base en algunas tareas acotadas, y los datos de entrada y salida de la API siguen siendo propiedad del cliente
- Clientes de la beta privada observaron mejoras en el seguimiento de instrucciones, la estabilidad del formato de salida y la adaptación al tono de marca; el ajuste fino de GPT‑3.5 Turbo procesa 4k tokens
- Algunos early testers redujeron el tamaño del prompt hasta en 90% al entrenar instrucciones en el modelo, lo que puede traducirse en mayor velocidad de llamadas y menores costos
- Con el retiro de los modelos base GPT‑3 existentes,
babbage-002ydavinci-002se ofrecen como modelos de reemplazo, y el nuevo/v1/fine_tuning/jobssustituye al anterior/v1/fine-tunes
Disponibilidad del ajuste fino de GPT‑3.5 Turbo
- Los desarrolladores ahora pueden traer sus propios datos y personalizar GPT‑3.5 Turbo para sus casos de uso
- El ajuste fino de GPT‑3.5 Turbo ya está disponible, y el ajuste fino de GPT‑4 estará disponible en otoño
- En pruebas iniciales, GPT‑3.5 Turbo ajustado finamente mostró resultados iguales o mejores que las capacidades del GPT‑4 base en algunas tareas acotadas
- Los datos enviados y recibidos mediante la API de ajuste fino son propiedad del cliente, y OpenAI u otras organizaciones no los usan para entrenar otros modelos
- Política relacionada: API data privacy
Casos de uso con mejor rendimiento
- Clientes de la beta privada mejoraron el rendimiento en varios casos de uso comunes mediante ajuste fino supervisado (supervised fine-tuning)
- Mejor seguimiento de instrucciones: puede hacer que siga mejor las instrucciones, como generar salidas más breves o responder siempre en un idioma específico
- Formato de salida estable: mantiene mejor un formato consistente en apps que requieren un formato de respuesta específico, como completado de código o generación de llamadas a API
- Tono personalizado: permite ajustar de forma más consistente el tono de las salidas del modelo para que coincida con la voz de marca de una empresa
- El ajuste fino se usa no solo para mejorar el rendimiento, sino también para mantener un rendimiento similar mientras se acortan los prompts
- El ajuste fino de GPT‑3.5 Turbo procesa 4k tokens, aproximadamente el doble que los modelos de ajuste fino anteriores de OpenAI
- Los early testers redujeron el tamaño de los prompts hasta en 90% al entrenar las instrucciones directamente en el modelo, lo que ayuda a mejorar la velocidad de las llamadas a la API y a reducir costos
- El ajuste fino es más potente cuando se combina con otras técnicas como ingeniería de prompts, recuperación de información y llamadas a funciones
- El uso se puede consultar en la fine-tuning guide
- El soporte de ajuste fino para llamadas a funciones y
gpt-3.5-turbo-16kestará disponible más adelante en otoño
Tratamiento de seguridad y precios
- OpenAI pasa los datos de entrenamiento por la Moderation API y por un sistema de moderación basado en GPT‑4 para preservar las funciones de seguridad del modelo base
- Este proceso de moderación es un procedimiento para detectar datos de entrenamiento inseguros que entren en conflicto con los criterios de seguridad
- El costo del ajuste fino de GPT‑3.5 Turbo se divide en costo de entrenamiento y costo de uso
- Entrenamiento: US$0.008 por 1K tokens
- Entrada de uso: US$0.012 por 1K tokens
- Salida de uso: US$0.016 por 1K tokens
- Por ejemplo, el costo estimado de una tarea de ajuste fino de
gpt-3.5-turboque entrena un archivo de entrenamiento de 100,000 tokens durante 3 epochs es de US$2.40
Reemplazo de modelos GPT‑3 y cambios en la API
- En julio de 2023, OpenAI anunció que retiraría los modelos base GPT‑3 existentes
ada,babbage,curieydavinciel 4 de enero de 2024 babbage-002ydavinci-002son los modelos de reemplazo correspondientes, y pueden usarse como modelos base o modelos ajustados finamente- Los clientes pueden acceder a
babbage-002ydavinci-002llamando a la Completions API - Estos modelos pueden ajustarse finamente mediante el nuevo endpoint de API
/v1/fine_tuning/jobs - El nuevo endpoint ofrece paginación y mayor escalabilidad para respaldar la evolución futura de la fine-tuning API
- La forma de migrar del endpoint anterior
/v1/fine-tunesal nuevo endpoint está documentada en la fine-tuning guide - El endpoint anterior
/v1/fine-tunespasará a estar deprecado y está previsto que se retire el 4 de enero de 2024
1 comentarios
Opiniones en Hacker News
¿Alguien puede explicar de forma sencilla qué hace exactamente el fine-tuning?
Me pregunto si es mostrarle al modelo cómo responder preguntas, darle información nueva, o ambas cosas.
Por ejemplo, si quisiera usar un LLM para responder preguntas sobre una gran base de conocimiento privada, me pregunto si lo correcto sería hacer fine-tuning del modelo con esa base de conocimiento; y, si es así, cómo se reducen las alucinaciones y si es mejor que el método de incluir documentos relevantes en el prompt cada vez.
Qué significa exactamente “parecido” ante un prompt nuevo es casi magia negra de la generalización.
Puede usarse para enseñar estilo, información o ambas cosas, pero no hay una forma completa de hacer que responda solo con los datos de fine-tuning.
Si incluyes muchos ejemplos de rechazo para temas no relacionados con X, se puede esperar cierto nivel de rendimiento.
Para una gran base de conocimiento privada normalmente no recomendaría fine-tuning, sino un enfoque basado en búsqueda.
Si pones la información en la entrada, puedes verificar las fuentes y al modelo le resulta más fácil responder sin alucinar.
Dicho eso, la búsqueda es fuerte en preguntas de consulta, pero puede ser débil en preguntas que requieren comparar o combinar varias fuentes, así que el fine-tuning podría tener algunas ventajas.
Este post de blog también parece ir en esa dirección.
También me da curiosidad cómo hace OpenAI el fine-tuning; no creo que sea LoRA.
Como se ve con las alucinaciones, los modelos de lenguaje no son herramientas para almacenar datos ni acceder a ellos.
Para almacenar datos y acceder a ellos, lo correcto suele ser usar embeddings + una base de datos vectorial.
El fine-tuning sirve para cambiar qué tipo de lenguaje genera el modelo.
Si quieres una IA que escriba como periodista, la ajustas con artículos de periódico; si quieres una IA que escriba reseñas, la ajustas con reseñas.
Ver https://huyenchip.com/2023/05/02/rlhf.html
Esto es bastante distinto de hacer fine-tuning del modelo base en sí o de hacer RLHF.
Puede funcionar bien para ajustar el objetivo de modo que actúe de una forma específica o realice otra tarea, en vez de ser un chatbot general.
En cambio, agregar conocimiento a un bot se acerca más a la generación fundamentada o generación aumentada por recuperación (GG/RAG), un enfoque para reforzar el modelo base con datos nuevos, por ejemplo datos confidenciales.
Para preguntas y respuestas sobre una gran base de conocimiento privada no me parece adecuado; creo que GG/RAG encaja mejor.
También escribí algo reciente sobre esto: https://vectara.com/fine-tuning-vs-grounded-generation/
A alto nivel, permite meter en el modelo más datos de los que caben en el prompt.
Una gran base de conocimiento privada fue uno de los ejemplos principales del curso, y en escenarios donde importan la especialización de dominio o la privacidad, el fine-tuning puede tener más sentido que el prompting.
La frase “los datos de entrenamiento para fine-tuning pasan por la Moderation API y un sistema de revisión basado en GPT-4” suena a que debe costar bastante.
Viendo los precios de la API, ejecutar inferencia con GPT-4 es más caro que entrenar el modelo, así que supongo que solo usarán GPT-4 cuando la evaluación de seguridad sea ambigua.
Si ya sé qué tipo de lenguaje quiero, no entiendo por qué tendría que dejar que OpenAI revise mi dataset de ajuste de parámetros.
Para hacer fine-tuning de Llama2 13B o 70B normalmente hay que alquilar GPUs en la nube; me da curiosidad cómo se compara con el fine-tuning de OpenAI.
Con OpenAI no necesitas alquilar infraestructura directamente, sino que está incluida en la tarifa de uso; me gustaría escuchar una comparación desde la perspectiva de alguien con experiencia en fine-tuning de modelos Llama2.
Creo que el “fine-tuning” de GPT es distinto de hacer fine-tuning de un modelo como Llama2.
Probablemente no ajusta todos los pesos de la red, sino solo una parte muy pequeña, y cómo lo hace exactamente OpenAI es tecnología propietaria.
El compromiso es que el fine-tuning de OpenAI es más barato, pero menos potente que el fine-tuning “real”.
Sobre todo si 13B es suficiente; en modal.com puedes usar inferencia de un modelo llama2 13B ajustado por aproximadamente $0.003 por 1K tokens.
Sin duda hay opciones más baratas.
Si no tienes una cantidad enorme de datos, el costo de entrenar llama2 también suele ser de unos pocos dólares.
Cuando vi que ofrecían davinci-002 como modelo de completado, pensé que quizá volvían a ofrecer modelos “no seguros”, pero tanto davinci-002 como babbage-002 entran en bucles infinitos ante solicitudes de completado “no seguras”.
text-davinci-003 y text-curie-001 iban bien, pero parece que OpenAI de verdad no quiere ofrecer modelos sin censura para uso general.
El costo de generación de un GPT-3.5 Turbo ajustado mediante fine-tuning es 8 veces el del modelo base, así que, para que sea rentable, tendría que entrar en el rango de “reducción del 90% del tamaño del prompt” que mencionó OpenAI
Quizá convenga más guiar la salida con few-shot prompting, poniendo algunos ejemplos en cada prompt.
Claro que no sirve para todos los casos de uso, pero vale la pena probarlo.
Además, las llamadas a funciones no estarán disponibles hasta después del otoño de este año.
Como ahora la mayor parte de mi uso son llamadas a funciones, por el momento probablemente pase.
Me da curiosidad cuál es la conclusión sobre el fine-tuning de OAI; antes, en este hilo, el ambiente era que no era estrictamente necesario: https://news.ycombinator.com/item?id=37174850
Me pregunto si ese 90% es justo la cifra que sale del cálculo anterior.
Si se compara solo GPT-3.5-turbo con GPT-3.5-turbo ajustado mediante fine-tuning, eso es cierto, pero si se parece al fine-tuning de modelos Llama-2, podría alcanzar rendimiento al nivel de GPT-4 en varios casos de uso prácticos, como la generación de consultas SQL.
Sin embargo, matemáticas o programación probablemente sigan siendo difíciles, salvo que se haga fine-tuning con una cantidad considerable de datos.
De hecho, un modelo Llama-2 de 7B ya ha mostrado rendimiento al nivel de GPT-4 después de fine-tuning: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
GPT-3.5 me parece demasiado malo como para servirme.
En escritura repite el mismo tipo de jerga, en programación se equivoca demasiado seguido, y en procesamiento de lenguaje natural hay que ser mucho más explícito, así que se siente como un chatbot promedio.
GPT-4 por $20 al mes es muchísimo mejor en todos los aspectos y también lo uso para trabajar con Angular.
Cuando la IA te explica todas las razones, hasta este framework sobrediseñado empieza a entenderse de verdad.
Es bueno tenerlo como traductor, profesor y asistente para resolver problemas; si esto mejora más, cuesta imaginarse googlear respuestas a problemas.
La función que quisiera es partición de prompts incorporada.
Creo que, si dejaran atrás las versiones anteriores de GPT y los debates éticos falsos, se concentraran en la mejor versión de esta tecnología y la vendieran a $20 al mes, podrían ganar miles de millones y sacudir gran parte de lo que hay en línea.
Las respuestas se vuelven repetitivas y sosas.
Si no vas a convertir eso en un producto, no vale mucho la pena el esfuerzo.
Dicho eso, muchos productos o funciones valiosas basadas en LLM tienen un alcance más limitado, y el fine-tuning puede aportar grandes mejoras.
Por ejemplo, en generación de consultas SQL, hubo un experimento en el que incluso un modelo Llama-2 de 7B ajustado mediante fine-tuning superó a GPT-4: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
Los LLM brillan cuando es difícil formular una pregunta adecuada para Google.
Una pregunta como “Hace tiempo escuché sobre un estudio de Google acerca de empleados nuevos y GPA, que decía que no había diferencia una vez que el GPA superaba 3.0. ¿Puedes darme el enlace a ese estudio? ¿Hubo estudios de seguimiento?” es difícil de encontrar en Google y es fácil que quede enterrada entre enlaces sobre GPA mínimo y empleo.
Bard me dio información sobre Laszlo Bock y su libro, lo que permitió una búsqueda más refinada como “Laszlo Bock Google GPA”.
Probé la misma frase en varios LLM: ChatGPT respondió con una limitación de conocimiento, Bard lo encontró de inmediato, y Hugging Face Chat fue el mejor porque dio Bock, Project Oxygen y Project Aristotle.
Claude no encontró el estudio, pero sugirió otros candidatos, y LLaMa tampoco lo encontró, aunque mencionó el estudio de Google y algunos nombres.
Estoy de acuerdo con que el fine-tuning orientado a la precisión empeora los resultados.
La alineación también es, al mismo tiempo, desalineación, porque desplaza la distribución de probabilidad, así que necesariamente hay concesiones.
Por desgracia, la investigación en esta área no es popular, y los métodos necesarios también exigen debates profundos sobre redes controvertidas y sobre probabilidad y distribuciones, por lo que ahora parece fácil que sean rechazados en las conferencias principales.
El tuning basado en preferencias humanas en realidad no es tuning para conocimiento, sino para resultados que le gustan a la gente.
Es como introducir en el modelo un sesgo que hackea a los humanos, la métrica de evaluación; aunque aumente la precisión factual promedio, puede hacer que presente información incorrecta de forma más convincente y empeorar los LLM.
Hay que tener mucho cuidado con la paradoja de Simpson y la paradoja de Berkson, donde la evaluación se estropea por la forma en que se agregan los datos; en la práctica, se está haciendo tuning mediante la ley de Goodhart.
Si alguien ha hecho fine-tuning de un modelo tan grande, me da curiosidad cuántos datos suelen hacer falta para que tenga efecto
Quisiera saber si los 100k tokens que aparecen en la documentación realmente pueden influir mucho en el comportamiento del modelo base, o si es un ejemplo de juguete
El número exacto varía mucho según el caso de uso
Recomiendan empezar primero con 50 demos bien hechas y ver si hay señales de mejora
Aunque no sea suficiente, si se ve mejora, es probable que siga mejorando al agregar más datos; si no hay mejora, conviene replantear la configuración de la tarea o la estructura de los datos antes de aumentar los ejemplos
Con apenas unos miles de ejemplos se puede cambiar de forma bastante considerable el comportamiento del modelo y el contenido y la forma de sus salidas
Mecanismos como LoRA son formas muy eficientes de fine-tuning, a cambio de cierta pérdida de precisión, y con cambiar solo unas pocas capas superiores ya se puede transformar bastante el modelo
Algunos ejemplos son https://huggingface.co/datasets/b-mc2/sql-create-context y https://huggingface.co/datasets/GEM/viggo
En cambio, para aprender a resolver problemas de matemáticas de primaria, 8K ejemplos tampoco fueron suficientes, así que la dependencia del problema es enorme
Referencia: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe..., https://huggingface.co/datasets/gsm8k
Se empiezan a ver mejoras desde 1000 tokens
Parece el típico flujo de sacar como beta gratuita lo que originalmente iban a lanzar, corregir bugs, luego sacar un hermano más potente como servicio por suscripción, debilitar bastante a ambos, lanzar fine-tuning para que el GPT-3.5 debilitado pueda acercarse al nivel que tenía en el lanzamiento, pero solo si se hace bien el fine-tuning, y guardar la versión no debilitada para uso interno de Microsoft mientras generan ganancias
Al menos Google es honesto
Su postura es que tiene el mejor producto, pero vale más como herramienta interna, así que no lo publica; después del lanzamiento de GPT anunció Bard para defender el precio de sus acciones, pero fue mediocre y probablemente ni siquiera lo lance de verdad
Aun así, Meta sacó una versión debilitada, pero open source
Hace unos meses con GPT-4 la productividad era realmente enorme, pero ahora siento que volví a ser un desarrollador en solitario
Al usarlo ahora, muchas veces se pierde más tiempo corrigiendo errores que el tiempo que se gana, así que suele ser mejor hacerlo directamente uno mismo
Por eso entiendo por qué no querrían dárselo a otros
Si vas a responder con algo obviamente falso como “no fue debilitado”, agradecería que no me hagas perder el tiempo
Me da curiosidad la privacidad
OpenAI dice que no usa las llamadas a la API para entrenar modelos, pero quisiera saber si OpenAI o Microsoft siguen almacenando el texto y, si lo hacen, durante cuánto tiempo
En general está excelente, y espero con ganas el fine-tuning de 16k
Hay un formulario de solicitud si quieres una exención de este requisito
https://learn.microsoft.com/en-us/legal/cognitive-services/o...
No hacen nada turbio con los datos almacenados; literalmente es solo para investigar posibles infracciones de confianza y seguridad durante un corto período después de que ocurren
Si es así, me pregunto qué garantía de privacidad hay de que OpenAI no lo usará más adelante para ampliar GPT-5
Bastante interesante
Es la primera vez que los modelos “Chat” de OpenAI se pueden fine-tunear
Me pregunto si alguien ya probó eludir los detectores de AI con un modelo fine-tuneado
Sé que es posible, pero quisiera hacerme una idea de cómo habría que armar el dataset
Quien paga por usarlos está siendo estafado, y quien los usa para tomar decisiones reales está cometiendo un error grave
Es realmente lamentable que algunas escuelas usen detectores de AI para intentar descubrir si los estudiantes escribieron sus ensayos con ChatGPT
Hay muchos casos de ensayos claramente escritos por humanos marcados como generados por AI
Con solo jugar 30 minutos pidiéndole a ChatGPT que escriba ensayos, se entiende el estilo de ChatGPT
Con un buen prompt se le puede hacer escribir en otros estilos, pero sinceramente quien hace la tarea con ChatGPT normalmente no se esfuerza por que no parezca ChatGPT
No funcionan, y ya no pueden detectar texto generado por GPT
Es imposible detectar con una certeza confiable si un texto fue generado por una persona o por ChatGPT
Esos detectores están completamente rotos, y con una simple inducción del proceso de razonamiento ya se puede obtener un resultado que no “suene” como ChatGPT
Después de eso, la probabilidad de que lo detecten como AI es similar a la de un texto escrito por una persona