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


Точно настроить модели Phi-3 на портале Azure AI Foundry

Внимание

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

Azure AI Foundry позволяет адаптировать большие языковые модели к личным наборам данных с помощью процесса, известного как тонкой настройки. Точная настройка имеет большое значение, позволяя настраивать и оптимизировать конкретные задачи и приложения. Это приводит к повышению производительности, экономичности, снижению задержки и адаптации выходных данных.

В этой статье вы узнаете, как настроить семейство небольших языковых моделей Phi-3 на портале Azure AI Foundry в качестве службы с оплатой по мере выставления счетов.

Семейство SMS Phi-3 — это коллекция моделей сгенерируемыми инструкциями текстовых моделей. Модели Phi-3 — это наиболее эффективные и экономически эффективные модели небольших языковых моделей (SLM), превосходя модели одного и того же размера и следующего размера по различным языкам, причинам, программированию и математическим тестам.

Внимание

Модели, которые находятся в предварительной версии, помечены как предварительный просмотр на своих карточках моделей в каталоге моделей.

Phi-3 Mini — это 3,8B-параметры, упрощенная и открытая модель, основанная на наборах данных, используемых для Phi-2 - синтетических данных и отфильтрованные веб-сайты - с акцентом на высококачественные, причиняя плотные данные. Модель принадлежит семейству моделей Phi-3, а мини-версия поставляется в двух вариантах 4K и 128K, что является длиной контекста (в токенах), которую она может поддерживать.

Модель прошла строгий процесс улучшения, включив в себя как контролируемые тонкой настройки, так и прямую оптимизацию предпочтений, чтобы обеспечить точное соблюдение инструкций и надежные меры безопасности. При оценке на тесты тестирования здравого смысла, распознавания речи, математики, кода, длинного контекста и логического рассуждения, Phi-3 Mini-4K-Instruct и Phi-3 Mini-128K-Instruct продемонстрировали надежную и современные производительность моделей с менее чем 13 млрд параметров.

Необходимые компоненты

  • Подписка Azure. Если у вас нет подписки Azure, создайте платную учетную запись Azure, чтобы начать работу.

  • Центр Azure AI Foundry.

    Внимание

    Для семейных моделей Phi-3 предложение точной настройки модели с оплатой по мере использования доступно только в центрах, созданных в регионах "Восточная часть США 2 ".

  • Проект Azure AI Foundry.

  • Управление доступом на основе ролей Azure (Azure RBAC) используется для предоставления доступа к операциям на портале Azure AI Foundry. Чтобы выполнить действия, описанные в этой статье, учетная запись пользователя должна быть назначена роли разработчика ИИ Azure в группе ресурсов.

    Дополнительные сведения о разрешениях см . на портале Azure AI Foundry с помощью управления доступом на основе ролей.

Регистрация поставщика подписки

Убедитесь, что подписка зарегистрирована в поставщике Microsoft.Network ресурсов.

  1. Войдите на портал Azure.
  2. Выберите подписки в меню слева.
  3. Выберите подписку, которую нужно использовать.
  4. Выберите поставщики> ресурсов параметров в меню слева.
  5. Убедитесь, что Microsoft.Network находится в списке поставщиков ресурсов. В противном случае добавьте его.

Подготовка данных

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

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

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

Для различных типов моделей требуется другой формат обучающих данных.

Завершение чата

Используемые данные обучения и проверки должны быть отформатированы в виде документа JSON Lines (JSONL). Для Phi-3-mini-128k-instruct набора данных тонкой настройки необходимо отформатировать в формате беседы, который используется API завершения чата.

Пример формата файла

    {"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?"}]}

Поддерживаемый тип файла — СТРОКИ JSON. Файлы загружаются в хранилище данных по умолчанию и становятся доступными в вашем проекте.

Настройка модели Phi-3

Чтобы точно настроить модель Phi-3, выполните действия.

  1. Войдите в Azure AI Foundry.

  2. Выберите модель, которую вы хотите точно настроить в каталоге моделей портала Azure AI Foundry.

  3. На странице сведений о модели выберите детальную настройку.

  4. Выберите проект, в котором необходимо точно настроить модели. Чтобы использовать модель с оплатой по мере использования, ваша рабочая область должна принадлежать региону "Восточная часть США 2 ".

  5. В мастере точной настройки выберите ссылку на условия Использования с помощью Azure AI Foundry. Вы также можете выбрать вкладку сведений о предложении Azure AI Foundry, чтобы узнать о ценах на выбранную модель.

  6. Если вы впервые настроили модель в проекте, необходимо подписаться на проект для конкретного предложения (например, Phi-3-mini-128k-instruct) из Azure AI Foundry. На этом шаге требуется, чтобы у вашей учетной записи были разрешения подписки Azure и разрешения группы ресурсов, перечисленные в предварительных требованиях. Каждый проект имеет собственную подписку на конкретное предложение Azure AI Foundry, которое позволяет контролировать расходы и отслеживать расходы. Выберите " Подписаться" и "Точно настроить".

    Примечание.

    Подписывание проекта на определенное предложение Azure AI Foundry (в данном случае Phi-3-mini-128k-instruct) требует, чтобы у вашей учетной записи был доступ участника или владельца на уровне подписки, где создается проект. Кроме того, учетная запись пользователя может быть назначена настраиваемой роли с разрешениями подписки Azure и разрешениями группы ресурсов, перечисленными в предварительных требованиях.

  7. После регистрации проекта для конкретного предложения Azure AI Foundry последующие тонкой настройки того же предложения в том же проекте не требуют повторной подписки. Поэтому вам не нужно иметь разрешения на уровне подписки для последующих заданий точной настройки. Если этот сценарий применяется к вам, нажмите кнопку "Продолжить" для точной настройки.

  8. Введите имя для вашей точно настроенной модели и необязательные теги и описание.

  9. Выберите обучающие данные для точной настройки модели. Дополнительные сведения см. в статье о подготовке данных.

    Примечание.

    Если у вас есть файлы обучения и проверки в хранилище данных меньше учетных данных, необходимо разрешить управляемому удостоверению рабочей области доступ к хранилищу данных, чтобы продолжить настройку MaaS с учетными данными меньше хранилища. На странице "Хранилище данных" после нажатия кнопки "Обновить проверку подлинности" > выберите следующий параметр:

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

    Убедитесь, что все примеры обучения соответствуют ожидаемому формату вывода. Для эффективной настройки моделей убедитесь, что сбалансированный и разнообразный набор данных. Это включает поддержание баланса данных, включая различные сценарии, и периодическое уточнение обучающих данных для выравнивания с реальными ожиданиями, что в конечном итоге приводит к более точным и сбалансированным ответам модели.

    • Размер пакета, используемый для обучения. Если задано значение -1, batch_size вычисляется как 0,2% примеров в обучающем наборе, а максимальное значение — 256.
    • Скорость обучения точной настройки — это исходная скорость обучения, используемая для предварительного обучения, умноженного на этот умножитель. Рекомендуется экспериментировать со значениями от 0,5 до 2. Эмпирически было обнаружено, что более крупные показатели скорости обучения, как правило, работают лучше с большими размерами пакетов. Должно быть от 0.0 до 5.0.
    • Число эпох обучения. Эпоха относится к одному полному циклу через набор данных.
  10. Параметры задачи являются необязательным шагом и расширенным параметром. Настройка гиперпараметра необходима для оптимизации больших языковых моделей (LLM) в реальных приложениях. Это позволяет повысить производительность и эффективное использование ресурсов. Пользователи могут сохранить параметры по умолчанию или расширенные пользователи могут настраивать такие параметры, как эпохи или скорость обучения.

  11. Просмотрите выбранные варианты и перейдите к обучению модели.

После точной настройки модели можно развернуть модель и использовать ее в собственном приложении, на детской площадке или в потоке запросов. Дополнительные сведения см. в статье о развертывании семейства крупных языковых моделей Phi-3 с помощью Azure AI Foundry.

Очистка точно настроенных моделей

Вы можете удалить точно настроенную модель из списка моделей тонкой настройки в Azure AI Foundry или на странице сведений о модели. Выберите настраиваемую модель, чтобы удалить на странице тонкой настройки, а затем нажмите кнопку "Удалить", чтобы удалить настраиваемую модель.

Примечание.

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

Стоимость и квоты

Рекомендации по затратам и квотам для моделей Phi, настроенных как услуга

Модели Phi, настроенные как услуга, предлагаются корпорацией Майкрософт и интегрированы с Azure AI Foundry для использования. Вы можете найти цены при развертывании или настройке моделей на вкладке "Цены и условия" мастера развертывания.

Пример записной книжки

Этот пример записной книжки можно использовать для создания автономного задания тонкой настройки, чтобы повысить способность модели суммировать диалоги между двумя людьми с помощью набора данных Samsum. Используемые обучающие данные — это набор данных ultrachat_200k, который разделен на четыре разбиения, подходящие для защищенной точной настройки (sft) и ранжирования поколения (gen). Записная книжка использует доступные модели ИИ Azure для задачи завершения чата (если вы хотите использовать модель, отличную от используемой в записной книжке, можно заменить имя модели). Записная книжка включает настройку необходимых компонентов, выбор модели для точной настройки, создание наборов данных для обучения и проверки, настройку и отправку задания тонкой настройки и, наконец, создание бессерверного развертывания с помощью точно настроенной модели вывода.

Фильтрация содержимого

Модели, развернутые как услуга с оплатой по мере использования, защищены безопасностью содержимого искусственного интеллекта Azure. При развертывании в конечных точках в режиме реального времени вы можете отказаться от этой возможности. С включенной безопасностью содержимого ИИ Azure запрос и завершение проходят через ансамбль моделей классификации, направленных на обнаружение и предотвращение выходных данных вредного содержимого. Система фильтрации содержимого (предварительная версия) обнаруживает и принимает меры по определенным категориям потенциально вредного содержимого как в запросах ввода, так и в завершениях выходных данных. Дополнительные сведения о безопасности содержимого ИИ Azure.

Следующие шаги