Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Azure AI Foundry позволяет настраивать большие языковые модели для определенных наборов данных с помощью процесса, называемого тонкой настройкой. Этот процесс обеспечивает значительные преимущества, позволяя настраивать и оптимизировать, адаптированные к конкретным задачам и приложениям. К преимуществам относятся повышение производительности, экономичность, снижение задержки и адаптированные выходные данные.
Экономичность: Точная настройка Azure AI Foundry может быть более экономичной, особенно для крупномасштабных развертываний, благодаря ценам по принципу «оплата по мере использования».
Разнообразие моделей: функция бессерверного API Azure AI Foundry поддерживает как проприетарные, так и модели с открытым исходным кодом, предоставляя пользователям гибкость в выборе моделей, которые наилучшим образом соответствуют их потребностям, без ограничения в одном типе.
Настройка и управление: Azure AI Foundry обеспечивает более высокую настройку и контроль над процессом тонкой настройки, что позволяет пользователям более точно настраивать модели в соответствии с конкретными требованиями.
В этой статье вы узнаете, как настроить модели, развернутые с помощью бессерверных API в Azure AI Foundry.
Предпосылки
Подписка Azure с допустимым методом оплаты. Бесплатные или пробные подписки Azure не будут работать. Если у вас нет подписки Azure, создайте платную учетную запись Azure, чтобы начать работу.
Доступ к порталу Azure.
Azure AI Foundry проект.
Управление доступом на основе ролей Azure (Azure RBAC) используется для предоставления доступа к операциям на портале Azure AI Foundry. Чтобы выполнить действия, описанные в этой статье, учетной записи пользователя должна быть назначена роль владельца или участника для подписки Azure. Для получения дополнительной информации о разрешениях смотрите управление доступом на основе ролей в портале Azure AI Foundry.
Проверка регистрации поставщика подписок
Убедитесь, что подписка зарегистрирована в поставщике ресурсов Microsoft.Network.
- Войдите на портал Azure.
- Выберите подписки в меню слева.
- Выберите подписку, которую нужно использовать.
- Выберите Настройки>Поставщики ресурсов в меню слева.
- Добавьте Microsoft.Network в список поставщиков ресурсов, если он отсутствует в списке.
Поиск моделей с поддержкой точной настройки
Каталог моделей AI Foundry предлагает поддержку точной настройки для нескольких типов моделей, включая завершение чата и создание текста. Список моделей, поддерживающих дообучение, и регионов Azure, где поддерживается дообучение, см. в разделе о доступности регионов для моделей в API без сервера. Задачи дообучения доступны только пользователям, подписка Azure которых принадлежит учетной записи выставления счетов в стране или регионе, где поставщик моделей сделал предложение доступным. Если предложение доступно в соответствующем регионе, пользователь должен иметь ресурс проекта в регионе Azure, где модель доступна для развертывания или тонкой настройки, как применимо.
Вы также можете перейти на портал Azure AI Foundry, чтобы просмотреть все модели, содержащие поддержку точной настройки:
Войдите в Azure AI Foundry.
Если вы еще не находитесь в проекте, выберите его.
Перейдите в каталог моделей.
Выберите фильтр задач тонкой настройки.
Выберите все или выберите определенную задачу.
Подготовка данных для точной настройки
Подготовьте данные обучения и проверки для точной настройки модели. Ваши данные для обучения и проверки состоят из примеров входных и выходных данных, демонстрирующих, как вы хотите, чтобы модель работала.
Убедитесь, что все примеры обучения соответствуют ожидаемому формату вывода. Для эффективной настройки моделей обеспечьте разнообразный набор данных, поддерживая баланс данных, включая различные сценарии, и периодически уточняя обучающие данные для соответствия реальным ожиданиям. Эти действия в конечном итоге приводят к более точным и сбалансированным ответам модели.
Подсказка
Для различных типов моделей требуется другой формат обучающих данных.
Пример формата файла
Поддерживаемый тип файла — СТРОКИ JSON. Файлы загружаются в хранилище данных по умолчанию и становятся доступными в вашем проекте.
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
Используйте мастер настройки модели
Портал Azure AI Foundry предоставляет мастер создания настраиваемых моделей, поэтому вы можете интерактивно создавать и обучать настраиваемую модель для ресурса Azure.
Выбор базовой модели
- Выберите модель, которую вы хотите точно настроить в каталоге моделей Azure AI Foundry.
- На странице сведений о модели выберите детальную настройку. Некоторые базовые модели поддерживают как бессерверный API, так и управляемые вычисления, а другие поддерживают одно или другое.
- Если вы видите параметры бессерверного API и управляемых вычислений, выберите бессерверный API для точной настройки. Это действие открывает мастер, отображающий сведения о настройке модели по мере использования.
Выбор обучающих данных
Следующим шагом является выбор существующих подготовленных обучающих данных или отправка новых подготовленных обучающих данных для использования при настройке модели. В области данных обучения отображаются все существующие ранее загруженные наборы данных , а также предоставляются параметры для отправки новых обучающих данных.
- Если данные обучения уже отправлены в службу, выберите "Файлы" из Azure AI Foundry.
- Выберите файл из раскрывающегося списка.
- Чтобы отправить новые обучающие данные, используйте один из следующих вариантов:
- Выберите локальный файл для отправки обучающих данных из локального файла.
- Выберите Azure Blob или другие общие веб-расположения, чтобы импортировать данные обучения из Azure Blob или другого общего веб-расположения.
Для больших файлов данных рекомендуется импортировать из хранилища BLOB-объектов Azure. Дополнительные сведения о Хранилище BLOB-объектов Azure см. в разделе "Что такое Хранилище BLOB-объектов Azure?".
Отправка обучающих данных из локального файла
Вы можете отправить новый набор данных обучения в службу из локального файла с помощью одного из следующих методов:
- Перетащите файл в клиентную область области данных обучения, а затем нажмите кнопку "Отправить файл".
- Выберите "Обзор файла" из клиентской области данных обучения, выберите файл для отправки из диалогового окна "Открыть ", а затем нажмите кнопку "Отправить файл". После выбора и отправки обучаемого набора данных нажмите кнопку "Далее ".
Выбор данных проверки
Следующий шаг позволяет настроить модель для использования данных проверки в процессе обучения. Если вы не хотите использовать данные проверки, нажмите кнопку "Далее ", чтобы перейти к дополнительным параметрам модели. В противном случае, если у вас есть набор данных проверки, можно выбрать существующие подготовленные данные проверки или отправить новые подготовленные данные проверки для использования при настройке модели. В области данных проверки отображаются все существующие ранее загруженные наборы данных для обучения и проверки и предоставляются параметры, с помощью которых можно отправить новые данные проверки.
Разделение обучающих данных
Вы можете автоматически разделить обучающие данные для создания набора данных проверки. После выбора автоматического разделения обучающих данных нажмите кнопку "Далее ".
Использование существующих данных в Azure AI Foundry
- Если данные проверки уже отправлены в службу, выберите " Выбрать набор данных".
- Выберите файл из списка, показанного в области проверки данных.
- Чтобы отправить новые данные проверки, используйте один из следующих вариантов:
- Выберите локальный файл для отправки данных проверки из локального файла.
- Выберите хранилище BLOB Azure или другие общие веб-расположения, чтобы импортировать данные проверки из хранилища BLOB Azure или другого общего веб-расположения. Для больших файлов данных рекомендуется импортировать из хранилища BLOB-объектов Azure. Большие файлы могут работать нестабильно при отправке через многокомпонентные формы, так как запросы являются атомарными, и их невозможно повторить или возобновить.
Примечание.
- Аналогично файлам обучающих данных, файлы данных проверки должны быть отформатированы как JSONL-файлы.
- закодирован в UTF-8 с меткой порядка байтов (BOM). Размер файла должен быть меньше 512 МБ.
Отправка данных проверки из локального файла
Вы можете отправить новый набор данных проверки в службу из локального файла с помощью одного из следующих методов:
- Перетащите файл в клиентскую область панели Validation data, затем выберите Upload file.
- Выберите "Обзор файла" из клиентской области данных проверки , выберите файл для отправки из диалогового окна Open, а затем нажмите кнопку "Отправить файл". После выбора и отправки набора данных проверки нажмите кнопку "Далее ".
Настройка параметров задачи
Мастер тонкой настройки модели отображает параметры для обучения вашей тонко настроенной модели на панели параметров задачи. Доступны следующие параметры:
Имя | Тип | Описание |
---|---|---|
batch_size |
целое число | Размер партии, используемый для обучения. Размер пакета — это количество примеров обучения, используемых для обучения одного и обратного прохода. Как правило, мы обнаружили, что большие размеры пакетов, как правило, лучше работают для больших наборов данных. Значение по умолчанию, а также максимальное значение этого свойства относятся к базовой модели. Более крупный размер пакета означает, что параметры модели обновляются реже, но с более низкой дисперсией. |
learning_rate_multiplier |
число | Множитель скорости обучения, используемый для тренировки. Скорость обучения точной настройки — это исходная скорость обучения, используемая для предварительного обучения, умноженная на это значение. Более крупные показатели обучения, как правило, лучше работают с большими размерами пакетов. Мы рекомендуем поэкспериментировать со значениями в диапазоне от 0,02 до 0,2, чтобы увидеть, что дает лучшие результаты. Меньшая скорость обучения может оказаться полезной, чтобы избежать переобучения. |
n_epochs |
целое число | Количество эпох для обучения модели. Эпоха относится к одному полному циклу по обучающему набору данных. |
Выберите "Default", чтобы использовать значения по умолчанию для задания тонкой настройки, или выберите "Настройка", чтобы отобразить и изменить значения гиперпараметров. При выборе по умолчанию мы определяем правильное значение алгоритмически на основе обучающих данных. После настройки дополнительных параметров нажмите кнопку "Далее ", чтобы просмотреть выбранные варианты и обучить настроенную модель.
Просмотрите варианты и обучите модель
В панели проверки мастера отображаются сведения о выборе конфигурации.
Если вы готовы обучить модель, нажмите кнопку "Начать обучение", чтобы запустить задание тонкой настройки и вернуться на вкладку "Модели".
Проверка состояния пользовательской модели
На вкладке "Точное настройка" отображаются сведения о пользовательской модели. На вкладке представлена информация о статусе и идентификаторе задачи по адаптации для вашей пользовательской модели. После завершения задания на вкладке отображается идентификатор результирующего файла. Чтобы просмотреть обновленное состояние задания обучения модели, может потребоваться выбрать "Обновить ".
После того как вы запустите задание тонкой настройки, его выполнение может занять некоторое время. Задание может находиться в очереди за другими заданиями в системе. Обучение модели может занять несколько минут или часов в зависимости от размера модели и набора данных. Ниже приведены некоторые задачи, которые можно выполнить на вкладке "Модели" :
- Проверьте состояние задания тонкой настройки для пользовательской модели в столбце "Состояние" вкладки "Настраиваемые модели".
- В столбце "Имя модели" выберите имя модели, чтобы просмотреть дополнительные сведения о пользовательской модели. Вы можете увидеть состояние задания точной настройки, результаты обучения, события обучения и гиперпараметры, используемые в задании.
- Нажмите кнопку Обновить для обновления сведений на странице.
Поддерживаемые корпоративные сценарии для тонкой настройки
Для тонкой настройки MaaS поддерживаются несколько корпоративных сценариев. В следующей таблице описаны поддерживаемые конфигурации для сети и проверки подлинности хранилища пользователей для обеспечения плавной работы в корпоративных сценариях:
Примечание.
- Проверку подлинности подключений к данным можно изменить с помощью AI Foundry, нажав на подключение к хранилищу данных, в котором хранится набор данных, и перейдя к параметру сведений о доступеметода проверки подлинности.
- Аутентификация хранилища может быть изменена на странице >Параметры>Конфигурации хранилища Azure >Разрешить доступ к ключам учетной записи хранилища.
- Сетевые настройки хранилища можно изменить на странице >"Сетевые параметры Azure Storage".
Сеть хранилища | Проверка подлинности хранилища | Проверка подлинности подключения к данным | Поддержка | |||
---|---|---|---|---|---|---|
Общедоступный сетевой доступ = включен | Ключ учетной записи активирован | Ключ SAS/аккаунта | Да, UX и SDK | |||
Общедоступный сетевой доступ = включен | Ключ учетной записи отключен | Аутентификация на основе Entra (без использования учетных данных) | Да, UX и SDK Примечание: для улучшения пользовательского опыта может потребоваться добавить роль "Читатель данных BLOB-хранилища" или "Участник данных BLOB-хранилища" для вашего идентификатора пользователя в учетной записи хранилища или изменить метод аутентификации подключения на использование ключа учетной записи или SAS-токена. |
|||
Включено из выбранных виртуальных сетей и IP-адресов | Ключ учетной записи включен | Ключ учетной записи | Да, UX и SDK Примечание.: для пользовательского интерфейса IP-адрес вычислений, работающих в браузере, должен находиться в выбранном списке. |
|||
Включено из выбранных виртуальных сетей и IP-адресов | Ключ учетной записи включен | САС | Да, UX и SDK Примечание.: для пользовательского интерфейса IP-адрес вычислений, работающих в браузере, должен находиться в выбранном списке. |
|||
Включено из выбранных виртуальных сетей и IP-адресов | Ключ учетной записи отключен | Аутентификация на базе Entra (без учетных данных) | Да, UX и SDK. Примечание. Для пользовательского интерфейса может потребоваться добавить роль Читателя данных BLOB-объектов или Участника данных BLOB-объектов для вашего идентификатора пользователя в учетной записи хранения, или изменить метод аутентификации подключения на использование ключа учетной записи или SAS-токена. Кроме того, убедитесь, что IP-адрес вычислительных ресурсов, работающих в браузере, должен находиться в выбранном списке. |
|||
Общедоступный сетевой доступ = отключен | Ключ учетной записи включен | Ключ SAS/учетной записи | Да, UX и SDK. Примечание. Для загрузки и отправки данных пользовательского интерфейса в рабочей области необходимо получить доступ из виртуальной сети с соответствующим доступом к хранилищу. |
|||
Общедоступный сетевой доступ = отключен | Ключ учетной записи отключен | Аутентификация на базе Entra (без использования учетных данных) | Да, UX и SDK. Примечание: для отправки и загрузки данных UX необходимо, чтобы доступ к рабочей области осуществлялся из виртуальной сети (Vnet), которая имеет соответствующий доступ к хранилищу. |
Приведенные выше сценарии должны работать в рабочей области управляемой виртуальной сети. См. настройку управляемой сети Vnet AI Foundry hub здесь: Как настроить управляемую сеть для центров Azure AI Foundry
Ключи, управляемые клиентом (CMKs), не поддерживаются в корпоративных сценариях при тонкой настройке MaaS.
Проблемы с точной настройкой уникальных сетевых конфигураций в рабочей области и хранилище обычно указывают на неисправность в настройке сети.
Развертывание точно настроенной модели
После успешного выполнения процесса тонкой настройки можно развернуть настраиваемую модель на вкладке "Тонкая настройка". Необходимо развернуть настраиваемую модель, чтобы сделать ее доступной для использования с вызовами завершения.
Это важно
После развертывания настраиваемой модели и завершения работы с конечной точкой не забудьте очистить все неактивные конечные точки. Удаление неактивного развертывания не влияет на базовую настраиваемую модель, а настраиваемую модель можно повторно развернуть в любое время. Как указано в ценах Azure AI Foundry, каждая настраиваемая (изменённая) модель, развернутая в системе, влечёт за собой почасовую стоимость размещения, независимо от того, выполняются ли вызовы на завершение или чата к модели. Дополнительные сведения о планировании и управлении затратами с помощью Azure AI Foundry см. в руководстве по управлению затратами на службу Azure AI Foundry.
Примечание.
Для пользовательской модели разрешено только одно развертывание. При выборе уже развернутой пользовательской модели отображается сообщение об ошибке. Чтобы развернуть пользовательскую модель, выберите пользовательскую модель для развертывания и выберите команду "Развернуть модель".
Откроется диалоговое окно "Развертывание модели ". В диалоговом окне введите имя развертывания и выберите "Развернуть ", чтобы начать развертывание пользовательской модели.
Вы также можете развернуть точную модель на вкладке "Модели и конечные точки" , нажав кнопку "Развернуть модель ", а затем выберите " Развернуть точно настроенную модель " в раскрывающемся списке
Затем выберите настраиваемую модель, которую вы хотите развернуть, и нажмите кнопку "Развернуть".
Развертывание по регионам
Точная настройка поддерживает развертывание точно настроенной модели в другом регионе, отличном от того, где модель была изначально настроена. Вы также можете развернуть в другую подписку или регион. Единственными ограничениями являются то, что новый регион должен также поддерживать тонкую настройку, а при развертывании между подписками учетная запись, создающая маркер авторизации для развертывания, должна иметь доступ как к исходным, так и к местам назначения подписок. Развертывание между подписками и регионами можно выполнить с помощью Python
Использование развернутой пользовательской модели
После развертывания пользовательской модели её можно использовать как любую другую развернутую модель. Вы можете использовать игровые площадки на портале Azure AI Foundry для экспериментов с новым развертыванием. Вы можете продолжать использовать те же параметры с пользовательской моделью, например температурой и max_tokens, как и с другими развернутыми моделями.
Очистите ваши тонко настроенные модели
Вы можете удалить точно настроенную модель из списка моделей тонкой настройки в Azure AI Foundry или на странице сведений о модели. Чтобы удалить настраиваемую модель на странице точной настройки, выполните следующие действия.
- Выберите Тонкая настройка в левой области навигации в проекте Azure AI Foundry.
- Нажмите кнопку "Удалить", чтобы удалить модель с тонкой настройкой.
Примечание.
Вы не можете удалить пользовательскую модель, если она имеет существующее развертывание. Сначала необходимо удалить развертывание вашей модели, прежде чем удалять пользовательскую модель.
Рекомендации по затратам и квотам для моделей, развернутых в качестве конечных точек API без сервера
Квота изменяется для каждого развертывания. Каждое развертывание имеет ограничение трафика в 200 000 токенов в минуту и 1000 запросов API в минуту. Однако в настоящее время мы ограничиваем одно развертывание на одну модель для одного проекта. Обратитесь в службу поддержки Microsoft Azure, если текущие ограничения трафика недостаточны для ваших сценариев.
Стоимость моделей Майкрософт
Вы можете найти сведения о ценах на вкладке "Цены и условия " мастера развертывания при развертывании моделей Майкрософт (например, моделей Phi-3) в качестве конечных точек бессерверных API.
Стоимость моделей, отличных от Майкрософт
Модели, не принадлежащие Microsoft и развернутые в качестве бессерверных конечных точек API, предлагаются через Azure Marketplace и интегрированы с Azure AI Foundry для их использования. Цены на Azure Marketplace можно найти при развертывании или тонкой настройке этих моделей.
Каждый раз, когда проект подписывается на данное предложение из Azure Marketplace, создается новый ресурс для отслеживания затрат, связанных с его потреблением. Тот же ресурс используется для отслеживания затрат, связанных с выводом и настройкой; однако для отслеживания каждого сценария по отдельности можно использовать несколько счетчиков.
Дополнительные сведения о том, как отслеживать затраты, см. в статье "Мониторинг затрат для моделей, предлагаемых через Azure Marketplace".
Пример записной книжки
Этот пример записной книжки можно использовать для создания автономного задания тонкой настройки, чтобы повысить способность модели суммировать диалоги между двумя людьми с помощью набора данных Samsum. Используемые обучающие данные — это набор данных ultrachat_200k, который разделен на четыре разбиения, подходящие для контролируемой точной настройки (sft) и упорядочивания генерации (gen). Записная книжка использует доступные модели ИИ Azure для задачи завершения чата (если вы хотите использовать модель, отличную от используемой в записной книжке, можно заменить имя модели). Записная книжка включает настройку необходимых компонентов, выбор модели для тонкой настройки, разработку тренировочных и валидационных наборов данных, конфигурацию и отправку задания на тонкую настройку, и, наконец, создание бессерверного развертывания для выполнения инференса с использованием тонко настроенной модели.
Пример интерфейса командной строки
Кроме того, этот пример интерфейса командной строки можно использовать для создания автономного задания тонкой настройки, чтобы повысить способность модели суммировать диалоги между двумя людьми с помощью набора данных.
type: finetuning
name: "Phi-3-mini-4k-instruct-with-amlcompute"
experiment_name: "Phi-3-mini-4k-instruct-finetuning-experiment"
display_name: "Phi-3-mini-4k-instruct-display-name"
task: chat_completion
model_provider: custom
model:
path: "azureml://registries/azureml/models/Phi-3-mini-4k-instruct/versions/14"
type: mlflow_model
training_data: train.jsonl
validation_data:
path: validation.jsonl
type: uri_file
hyperparameters:
num_train_epochs: "1"
per_device_train_batch_size: "1"
learning_rate: "0.00002"
properties:
my_property: "my_value"
tags:
foo_tag: "bar"
outputs:
registered_model:
name: "Phi-3-mini-4k-instruct-finetuned-model"
type: mlflow_model
Используемые обучающие данные такие же, как и продемонстрированные в записной книжке SDK. Интерфейс командной строки использует доступные модели ИИ Azure для задачи завершения чата. Если вы предпочитаете использовать модель, отличную от модели в примере ИНТЕРФЕЙСА командной строки, можно обновить аргументы, например "путь модели", соответственно.
Фильтрация содержимого
Модели, развернутые как услуга с выставлением счетов по мере использования, защищены безопасностью содержимого ИИ Azure. При развертывании в конечных точках в режиме реального времени вы можете отказаться от этой возможности. С включенной безопасностью содержимого ИИ Azure, запрос и генерируемый текст проходят через ансамбль моделей классификации, направленных на обнаружение и предотвращение создания вредного контента. Система фильтрации содержимого обнаруживает и принимает меры по определенным категориям потенциально вредного содержимого как в запросах ввода, так и в завершении выходных данных. Дополнительные сведения о безопасности содержимого ИИ Azure.