Дистилляция: учим маленькую модель у большой

Урок 41 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

OpenAI Дистилляция использует выходные данные более крупной модели для fine-tuning меньшей. Переход к меньшей модели может снизить latency и стоимость для конкретных задач. В этом cookbook мы будем дистиллировать выходные данные gpt-4o в gpt-4o-mini и сравнивать результат с обычной, недистиллированной моделью gpt-4o-mini. Мы также будем использовать Structured Outputs для классификации с помощью enum. Мы измерим, как structured outputs влияют на fine-tuned модель, и покажем, что они работают с каждой моделью, включая дистиллированную. Сначала мы проанализируем dataset, получим output как 4o, так и 4o mini, подчеркивая разницу в производительности обеих моделей, затем перейдем к дистилляции и проанализируем производительность этой дистиллированной модели. Установим и загрузим зависимости. Убедитесь, что ваш API key OpenAI определен в вашей среде как "OPENAI_API_KEY" и будет загружен клиентом напрямую. Для этого cookbook мы загрузим данные из следующего Kaggle challenge: https://www.kaggle.com/datasets/zynicide/wine-reviews. Этот dataset содержит много строк, и вы можете запустить этот cookbook на полном dataset. Как предвзятый любитель французских вин, я сужу dataset до французских вин, чтобы мы могли сосредоточиться на меньшем количестве строк и сортов винограда. Мы рассматриваем задачу классификации, где мы хотели бы предсказать сорт винограда на основе доступных критериев, включая описание, субрегион и провинцию, которые мы включим в prompt. Это дает модели много информации. Вы можете удалить информацию, которая значительно упростила бы задачу, например, регион производства винограда, чтобы увидеть, насколько хорошо модель предсказывает сорт. Отфильтруем сорта винограда, которые встречаются менее пяти раз в обзорах. Перейдем к подмножеству из 500 случайных строк из этого dataset. Unnamed: 0 country description designation points price province region_1 region_2 taster_name taster_twitter_handle title variety winery 95206 95206 France Full, fat, ripe, perfumed wine that is full of...

План урока

  1. Предварительные условия
  2. Загрузка и анализ dataset
  3. Генерация prompt
  4. Подготовка функций для хранения Completions
  5. Параллельная обработка
  6. Сравнение gpt-4o и gpt-4o-mini
  7. Дистилляция output gpt-4o в gpt-4o-mini
  8. Запуск completions для дистиллированной модели

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды