Поделиться через


Хранимые завершения и дистилляция Azure OpenAI (предварительная версия)

Сохраненные завершения позволяют записывать журнал бесед из сеансов завершения чата для использования в качестве наборов данных для оценки и точной настройки.

Поддержка хранимых завершений

поддержка API

Поддержка, добавленная в первую очередь 2024-10-01-preview

Доступность модели и региона

Регион o1-preview, 2024-09-12 o1-mini, 2024-09-12 gpt-4o, 2024-08-06 gpt-4o, 2024-05-13 gpt-4o-mini, 2024-07-18
Центральная Швеция
Центрально-северная часть США - - - -
Восточная часть США 2 - - - -

Настройка хранимых завершений

Чтобы включить хранимые завершения для развертывания Azure OpenAI, задайте для параметра значение storeTrue. metadata Используйте параметр для обогащения сохраненного набора данных завершения с дополнительными сведениями.

import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)

client = AzureOpenAI(
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
  azure_ad_token_provider=token_provider,
  api_version="2024-10-01-preview"
)

completion = client.chat.completions.create(
    
    model="gpt-4o", # replace with model deployment name
    store= True,
    metadata =  {
    "user": "admin",
    "category": "docs-test",
  },
    messages=[
    {"role": "system", "content": "Provide a clear and concise summary of the technical content, highlighting key concepts and their relationships. Focus on the main ideas and practical implications."},
    {"role": "user", "content": "Ensemble methods combine multiple machine learning models to create a more robust and accurate predictor. Common techniques include bagging (training models on random subsets of data), boosting (sequentially training models to correct previous errors), and stacking (using a meta-model to combine base model predictions). Random Forests, a popular bagging method, create multiple decision trees using random feature subsets. Gradient Boosting builds trees sequentially, with each tree focusing on correcting the errors of previous trees. These methods often achieve better performance than single models by reducing overfitting and variance while capturing different aspects of the data."}
    ]   
)

print(completion.choices[0].message)


После включения хранимых завершений для развертывания Azure OpenAI они начнут отображаться на портале Azure AI Foundry на панели "Хранимые завершения".

Снимок экрана: хранящиеся завершения взаимодействия с пользователем.

Перегонка

Дистилляция позволяет превратить сохраненные завершения в набор данных точной настройки. Распространенный вариант использования заключается в использовании хранимых завершений с более крупной более мощной моделью для конкретной задачи, а затем использовать сохраненные завершения для обучения меньшей модели на высококачественных примерах взаимодействия модели.

Дистилляция требует не менее 10 хранимых завершений, хотя рекомендуется предоставить сотни тысяч хранимых завершений для лучших результатов.

  1. В области "Хранимые завершения" на портале Azure AI Foundry используйте параметры фильтра, чтобы выбрать завершения, с которыми вы хотите обучить модель.

  2. Чтобы начать дистилляцию, выберите "Дистилля"

    Снимок экрана: сохраненные завершения взаимодействия с пользователем с выделенной дистилляцией.

  3. Выберите модель, которую вы хотите точно настроить с помощью хранимого набора данных завершения.

    Снимок экрана: выбор модели дистилляции сохраненного завершения.

  4. Убедитесь, какая версия модели требуется точно настроить:

    Снимок экрана: сохраненная версия дистилляции завершения.

  5. .jsonl Файл со случайным именем будет создан в качестве обучаемого набора данных из сохраненных завершений. Нажмите кнопку >"Далее".

    Примечание.

    Сохраненные файлы подготовки завершения не могут быть доступны напрямую и не могут быть экспортированы во внешние или скачанные файлы.

    Снимок экрана: сохраненный файл jsonl набора данных для обучения завершению.

Остальные шаги соответствуют типичным шагам по настройке Azure OpenAI. Дополнительные сведения см. в руководстве по началу работы с тонкой настройкой.

Оценка

Оценка крупных языковых моделей является критически важным шагом в измерении их производительности в различных задачах и измерениях. Это особенно важно для точно настроенных моделей, где оценка повышения производительности (или потерь) от обучения имеет решающее значение. Подробные оценки помогут вам понять, как различные версии модели могут повлиять на ваше приложение или сценарий.

Хранимые завершения можно использовать в качестве набора данных для выполнения вычислений.

  1. В области "Хранимые завершения" на портале Azure AI Foundry используйте параметры фильтра, чтобы выбрать завершения, которые необходимо включить в набор данных оценки.

  2. Чтобы настроить оценку, нажмите кнопку "Оценка"

    Снимок экрана: область хранимого завершения с выбранным значением.

  3. Откроется панель "Оценки" с предварительно заполненным .jsonl файлом с случайным образом созданным именем, созданным в качестве набора данных оценки из сохраненных завершений.

    Примечание.

    Сохраненные файлы данных оценки завершения не могут быть доступны напрямую и не могут быть экспортированы во внешние или скачанные файлы.

    Снимок экрана: область оценки.

Дополнительные сведения об оценке см. в статье "Начало работы с оценками"

Устранение неполадок

Требуются ли специальные разрешения для использования хранимых завершений?

Доступ к хранимым завершениям управляется двумя данными DataActions:

  • Microsoft.CognitiveServices/accounts/OpenAI/stored-completions/read
  • Microsoft.CognitiveServices/accounts/OpenAI/stored-completions/action

По умолчанию Cognitive Services OpenAI Contributor имеет доступ к обоим этим разрешениям:

Снимок экрана: разрешения хранимых завершений.

Разделы справки удалить сохраненные данные?

Данные можно удалить, удалив связанный ресурс Azure OpenAI. Если вы хотите удалить только сохраненные данные завершения, необходимо открыть случай с поддержкой клиентов.

Сколько сохраненных данных завершения можно хранить?

Можно хранить не более 10 ГБ данных.

Можно ли предотвратить включение сохраненных завершений в подписке?

Вам потребуется открыть случай с поддержкой клиентов, чтобы отключить сохраненные завершения на уровне подписки.

TypeError: Completions.create() получил непредвиденный аргумент store

Эта ошибка возникает при запуске более старой версии клиентской библиотеки OpenAI, которая предшествует выпуску функции хранимых завершений. Запустите pip install openai --upgrade.