No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Fine-tuning de modelo de OpenAI

14/24
Recursos

El proceso de personalizaci贸n de modelos de inteligencia artificial est谩 en boga, y por una buena raz贸n. Adaptar un modelo a las necesidades espec铆ficas de un proyecto puede significar la diferencia entre un asistente digital que apenas funcione y uno que parezca casi humano. En esta ocasi贸n, te guiar茅 en c贸mo hacer "fine tuning" a los modelos de OpenAI utilizando los datos en formato JSONL. No te preocupes, es un proceso menos complejo de lo que suena.

Personaliza tu modelo de IA con fine tuning

Cuando hablamos de "fine tuning", nos referimos a afinar un modelo preentrenado para que se especialice en tareas espec铆ficas. Imagina que es como ajustar las cuerdas de una guitarra para que suene a la perfecci贸n en tu pr贸xima canci贸n.

驴Por qu茅 es importante el fine tuning?

El "fine tuning" es crucial porque permite que el modelo se ajuste a las particularidades del lenguaje y las tareas espec铆ficas para las que lo queremos utilizar. Es el paso final que puede dar a tu modelo ese toque especial que lo distingue.

驴Qu茅 modelos de OpenAI se pueden personalizar con fine tuning?

Aqu铆 es importante recordar algo crucial: No todos los modelos son maleables a nuestros caprichos. Solo ADA, Babbage, Curie y DaVinci de OpenAI est谩n listos para pasar por este proceso de personalizaci贸n.

Paso a paso: Realizando el fine tuning

El proceso inicia con un comando proporcionado en la documentaci贸n de OpenAI, que pegaremos en la terminal:

  1. Primero, localizas el comando para "fine tuning" en la documentaci贸n de OpenAI.
  2. Copia el comando en tu terminal.
  3. Modifica el segmento donde seleccionas tu archivo en formato JSONL reemplazando data_yourfile.jsonl.
  4. Sustituye -m con el modelo que quieras personalizar, por ejemplo, davinci.

Una vez que ejecutes el comando, deber谩s esperar un poco. La paciencia es una virtud, especialmente cuando est谩s a la espera de que una m谩quina aprenda de m谩s de 2,000 ejemplos de entrenamiento.

Problemas comunes: Conexi贸n a Internet y desconexiones

Uno de los problemas m谩s comunes es la desconexi贸n durante el proceso, esto puede ocurrir por la conexi贸n a Internet. Si esto pasa, OpenAI te proveer谩 un nuevo comando que podr谩s ejecutar para reanudar sin problemas.

Supervisi贸n del progreso y costos

Despu茅s de unos minutos, podr谩s ver los resultados del "fine tuning", incluyendo el nombre del modelo y el costo asociado a este proceso. Si te encuentras en la posici贸n n煤mero cero de la lista de espera, quiere decir que ha terminado el "fine tuning".

脷ltimos pasos: Uso y evaluaci贸n del modelo personalizado

Finalmente, despu茅s de completar el "fine tuning", es momento de utilizar y evaluar el modelo. Cabe destacar, este paso es crucial para entender c贸mo el modelo se comporta con los datos y tareas espec铆ficos para los que ha sido entrenado.

Recordemos que este es un proceso iterativo, y la evaluaci贸n nos puede llevar a realizar ajustes adicionales para alcanzar el nivel deseado de personalizaci贸n. Como un artesano que refina su obra, el "fine tuning" es un arte que requiere precisi贸n y cuidado. Contin煤a experimentando y aprendiendo, ya que cada ajuste te acercar谩 m谩s a ese modelo de inteligencia artificial a medida que tanto deseas.

Aportes 13

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Sab铆an que?
Ada: Nombrado en honor a Ada Lovelace, una matem谩tica y escritora del siglo XIX, considerada la primera programadora de la historia. El modelo 鈥淎da鈥 destaca por su enfoque en la precisi贸n y la l贸gica en el procesamiento del lenguaje natural.

Curie: Inspirado en Marie Curie, la famosa f铆sica y qu铆mica del siglo XIX y XX. El modelo 鈥淐urie鈥 se destaca por su capacidad para descubrir patrones y generar respuestas creativas y cient铆ficamente precisas.

Babbage: Homenaje a Charles Babbage, un matem谩tico e ingeniero del siglo XIX, conocido como el 鈥減adre de las computadoras鈥. El modelo 鈥淏abbage鈥 se enfoca en el procesamiento eficiente y la capacidad de realizar c谩lculos complejos.

DaVinci: En honor a Leonardo da Vinci, un genio renacentista con talentos en arte, ciencia y muchas otras disciplinas. El modelo 鈥淒aVinci鈥 es una obra maestra en el procesamiento del lenguaje, con habilidades excepcionales en creatividad, resoluci贸n de problemas y comprensi贸n contextual.

Para no asustarse con los precios:

  • El dataset que utiliza la profe tiene unas 1200 entradas con un costo de fine-tuning utilizando el modelo davinci (el cual es el m谩s caro) de $27 d贸lares.

  • El dataset que pasaron en los recursos es m谩s chico, tiene 200 entradas (una sexta parte), por lo que podr铆amos suponer un costo de $27/6 ~= $4,5 d贸lares.

  • Y si adem谩s cambiamos el modelo a ada, el cual tiene un precio 75 veces m谩s barato que davinci, por lo tanto podr铆amos suponer un costo de $4,5 d贸lares / 75 ~= $0.06 d贸lares.

Mejores pr谩cticas generales
El fine tuning funciona mejor con m谩s ejemplos de alta calidad. Para afinar un modelo que funciona mejor idealmente deben ser examinados por humanos. A partir de ah铆, el rendimiento tiende a aumentar linealmente con cada duplicaci贸n del n煤mero de ejemplos. Aumentar el n煤mero de ejemplos suele ser la forma mejor y m谩s fiable de mejorar el performance.

Los clasificadores son los modelos m谩s f谩ciles para comenzar. Para los problemas de clasificaci贸n, se deberia usar ada, que generalmente tiende a funcionar solo un poco peor que los modelos m谩s capaces una vez ajustados, mientras que es significativamente m谩s r谩pido y m谩s barato.

Si est谩 ajustando un conjunto de datos preexistente en lugar de escribir indicaciones desde cero, aseg煤rense de revisar manualmente sus datos para datos inexactos.
Fuente:https://platform.openai.com/docs/guides/fine-tuning/preparing-your-dataset

Por si alguien desea entrenar con el modelo gpt-3.5-turbo los comandos de esta clase ya no funcionan, voy a averiguar como hacerlo y actualizo este post

Hola, me qued茅 en la parte de:

openai api fine_tunes.create -t data_prepared.jsonl -m ada

Y me arroja como resultado el siguiente error:

openai api: error: argument {chat.completions.create,images.generate,images.edit,images.create_variation,audio.transcriptions.create,audio.translations.create,files.create,files.retrieve,files.delete,files.list,models.list,models.retrieve,models.delete,completions.create}: invalid choice: 鈥榝ine_tunes.create鈥 (choose from 鈥榗hat.completions.create鈥, 鈥榠mages.generate鈥, 鈥榠mages.edit鈥, 鈥榠mages.create_variation鈥, 鈥榓udio.transcriptions.create鈥, 鈥榓udio.translations.create鈥, 鈥榝iles.create鈥, 鈥榝iles.retrieve鈥, 鈥榝iles.delete鈥, 鈥榝iles.list鈥, 鈥榤odels.list鈥, 鈥榤odels.retrieve鈥, 鈥榤odels.delete鈥, 鈥榗ompletions.create鈥)

Ayuda, por favor.

驴Qu茅 pasa con la informaci贸n con la que se entrena el modelo, pasa a propiedad de OpenAI o sigue siendo privada? 驴Se puede entrenar el modelo de datos sensibles de una empresa?
El comando `openai api fine_tunes.create ...` se encuentra deprecado. Link: <https://platform.openai.com/docs/guides/legacy-fine-tuning/create-a-fine-tuned-model> Nuevos pasos para fine tunning <https://openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates> Por lo que vi en la guia no usan mas un cliente por consola, sino que su documentacion ahora esta en Python. Dejo los comandos a continuacion, espero les sirvan :) `pip install openai` ```python # 1. Import openai from openai import OpenAI # Lee la key de $OPEN_API_KEY client = OpenAI() # 2. Upload a training file response_upload = client.files.create( file=open("data_prepared.jsonl", "rb"), purpose="fine-tune" ) fine_tune_id = response_upload.id print(response_upload) # 3. Create a fine-tuned model response_train = client.fine_tuning.jobs.create( training_file=fine_tune_id, model="davinci-002" # Cost: $0.0020 / 1K tokens ) fine_tunning_job_id = response_train.id print(response_train) # 4. Esperar, yo me arme el siguiente comando, para ejecutar cada unos minutos y revisar current_status = client.fine_tuning.jobs.retrieve(fine_tunning_job_id) print(f" id: {current_status.id} \n status: {current_status.status} \n created_at: {current_status.created_at} \n trained_tokens: {current_status.trained_tokens}") """ Si investigan la documentacion que deje mas arriba, openai explica como cancelar o eliminar jobs. El costo total de entrenar en davinci-002 me salio $0.23 dolares """ ```
openai api fine_tunes.get -i [Id_modelo]

Te da una perspectiva mas amplia de lo que esta pasando con tu entrenamiento. Si les pasa como a mi que entrenando con curie, se demora much铆simo. (30 min +)

驴Realizar el fine-tuning hace consumo de mis cr茅ditos en OpenAI?
驴C贸mo puedo hacer fine tuning pero cargando archivos o texto de libros creados por mi organizaci贸n c贸mo gu铆as? o diciendo integra a tu base de conocimiento lo siguiente: y coloco el contenido de mis gu铆as.
Si olvidaron la configuraci贸n del APIKEY, pueden usar en su terminal el siguiente comando: export OPENAI\_API\_KEY=\<your secret key>
A alguien m谩s le pasa que con la nueva versi贸n de Platzi no aparecen los recursos?

Llevo dos horas intentando y no avanza

Stream interrupted (client disconnected).
To resume the stream, run:
openai api fine_tunes.follow -i ft-SAXHdL7uUeOEXWYt11eI777X

Se supone que tengo un internet sim茅trico de 300 Mbps

que triste historia la m铆a