Hugging Face расширила сотрудничество с Microsoft, чтобы перенести модели с открытым исходным кодом из Hugging Face Hub в машинное обучение Azure. Вместе они создали новый каталог моделей Hugging Face Hub, доступный непосредственно в Azure Machine Learning Studio, наполненный тысячами самых популярных моделей трансформеров из Hugging Face Hub. Благодаря этой новой интеграции теперь можно всего за несколько кликов развертывать модели Hugging Face на управляемых конечных точках, работающих в безопасной и масштабируемой инфраструктуре Azure.

Цель

Чтобы создать конечную точку, размещенную в Microsoft Azure, с использованием модели Hugging Face. Используйте эту конечную точку в приложении Python и получите выходные данные этой модели.

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

Чтобы использовать Машинное обучение Azure, вам сначала потребуется рабочее пространство. Рабочая область — это центральное место для просмотра и управления всеми создаваемыми вами артефактами и ресурсами.

Войдите в Azure и перейдите в Студию машинного обучения Azure. Создайте новое рабочее пространство.

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

Просмотр каталога моделей

Каталог моделей — это центр поиска базовых моделей в машинном обучении Azure. Это ваша отправная точка для изучения коллекций моделей Foundation.

В настоящее время в каталоге моделей есть две коллекции моделей, в будущем планируется добавить еще:

  • Модели с открытым исходным кодом, курируемые Машинным обучением Azure.
  • Модели трансформеров из хаба HuggingFace

Вы можете перейти к каталогу моделей, просматривая его из раздела левой панели.

В каталоге представлены все доступные модели на платформе Azure. Если вы знаете название модели, вы можете найти ее, используя строку поиска вверху.

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

Если вас интересует каталог и коллекция моделей на Azure, ознакомьтесь с документацией здесь.

Выберите модель

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

Развертывание модели

  • Выберите шаблон для графического процессора или процессора. Типы экземпляров ЦП хороши для тестирования, а типы экземпляров графических процессоров обеспечивают более высокую производительность в рабочей среде. Большие модели не подходят для типа экземпляра ЦП.
  • Выберите тип экземпляра. Этот список экземпляров фильтруется до тех, которые модель должна развернуть без исчерпания памяти.
  • Выберите количество экземпляров. Для тестирования достаточно одного экземпляра.
  • При необходимости укажите конечную точку и имя развертывания.
  • Выберите развертывание. Затем вы перейдете на страницу конечной точки, что может занять несколько секунд. Развертывание занимает несколько минут в зависимости от размера модели и типа экземпляра.

После развертывания модели вы увидите сводную информацию о развертывании и подготовке. В зависимости от размера модели это может занять несколько минут.

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

Протестируйте развернутую модель и конечную точку.

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

Перейдите на вкладку «Тест» и введите данные для проверки конечной точки. Для этой модели тело ввода принимает приведенную ниже структуру JSON.

{ «входные данные»: «любой текст для завершения» }

Нажмите кнопку «Тест», и вы увидите результат на правой боковой панели. В этом примере я предоставляю вводный текст «Я веду блог на Medium.com и мне бы хотелось». Модель завершила входной текст словами: «Я веду блог на Medium.com, и мне бы хотелось, чтобы ваша поддержка стала важной частью нашей маркетинговой и рекламной стратегии……………..». Довольно случайное завершение этого предложения :D.

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

Интеграция конечной точки в приложение

Нам нужна конечная точка REST и ключ API для интеграции этой развернутой модели в приложение. Перейдите в раздел потребления развернутой модели. Базовая информация о потреблении содержит конечную точку REST и два ключа аутентификации, то есть первичный и вторичный ключи.

В коде приложения ( python ) используйте конечную точку REST, указанную в базовой информации о потреблении, в качестве URL-адреса в исходном коде. Используйте один из ключей аутентификации в качестве api_key.

Раздел body должен содержать правильный входной формат JSON.

data= {"inputs": "I blog at medium.com and i work at GitHub"}

Когда я запускаю код Python в терминале, выходные данные содержат завершенные предложения из развернутой модели.

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

Краткое содержание

Сотрудничество Microsoft и Hugging Face расширяет хаб Hugging Face и позволяет Azure предлагать простые в развертывании, хорошо интегрированные и безопасно используемые модели машинного обучения от Hugging Face.

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

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

Обо мне

Меня зовут Таджиндер Сингх, большинство моих друзей и коллег зовут меня ТиДжей. В настоящее время я работаю в GitHub инженером по решениям в прекрасном городе Цюрих, Швейцария.

Профиль Linkedin: https://www.linkedin.com/in/tajinder-singh-74740115b/

Примечание. Мнение является моим собственным, а не мнением моего работодателя.