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


Скачивание и предоставление общего доступа к моделям на устройстве с помощью API каталога моделей Windows ML

API каталога моделей Windows ML позволяют приложению или библиотеке динамически загружать большие файлы моделей ИИ в общее расположение на устройстве из собственных каталогов моделей в Интернете, не отправляя эти большие файлы непосредственно с помощью приложения или библиотеки. Кроме того, каталог моделей поможет фильтровать модели, совместимые с устройством Windows, на котором он работает, чтобы правильная модель скачивалась на устройство.

Что такое API каталога моделей?

API каталога моделей — это набор API, которые можно подключить к одному или нескольким каталогам облачных моделей, чтобы упростить загрузку и хранение этих моделей локально на устройстве, чтобы они могли использоваться любыми приложениями Windows на устройстве. API имеют несколько основных функций:

  • Добавление каталогов: добавление одного или нескольких онлайн-каталогов
  • Обнаружение совместимых моделей. Автоматический поиск моделей, которые работают с оборудованием и провайдерами выполнения пользователя.
  • Скачивание моделей: скачивание и хранение моделей из различных источников
  • Совместное использование моделей между приложениями: если несколько приложений запрашивают одну и ту же модель (один и тот же хэш SHA256), модель будет храниться на диске без дублирования скачивания

Ключевые особенности

Автоматическое сопоставление совместимости

Каталог моделей автоматически сопоставляет модели с доступными поставщиками выполнения системы (ЦП, GPU, NPU и т. д.). При запросе модели каталог возвращает только модели, совместимые с текущей конфигурацией оборудования.

Хранилище моделей

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

Несколько источников каталога

Приложение может настроить несколько источников каталога, что позволяет:

  • Использование моделей из нескольких поставщиков или репозиториев
  • Приоритеты определенных источников по сравнению с другими
  • Включите свои каталоги частных моделей наряду с общедоступными

Принцип работы

Система каталога моделей состоит из нескольких компонентов:

  1. Источники каталога: определение расположения моделей (URL-адреса для каталогов JSON-файлов)
  2. Сопоставление моделей. Фильтрация доступных моделей на основе совместимости поставщика выполнения
  3. Управление скачиванием: обрабатывает скачивание и хранение файлов моделей
  4. Управление экземплярами: предоставляет доступ к скачанным моделям во время работы приложения

Идентификация модели

Модели в каталоге имеют два типа идентификаторов:

  • Имя: общее имя, например "gpt2" (несколько вариантов модели могут совместно использовать одно и то же имя).
  • Идентификатор: уникальный в каталоге идентификатор, который обычно включает информацию о поставщике вычислительных ресурсов, например, "gpt2-cpu" или "gpt2-npu".

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

Поддержка поставщика выполнения

Каталог моделей поддерживает множество провайдеров выполнения. Дополнительные сведения см. в документации по поддерживаемым поставщикам выполнения в Windows ML .

Схема источника каталога

Источники каталога моделей используют стандартизованную схему JSON, которая определяет:

  • Метаданные модели (имя, идентификатор, версия, издатель)
  • Поддерживаемые поставщики выполнения
  • Скачивание URL-адресов и сведений о файлах
  • Сведения о лицензии
  • Сведения о размере модели

Подробные сведения о схеме см. в разделе "Источник каталога моделей".

Начало работы

Чтобы начать использование каталога моделей в приложении Windows ML, выполните следующее:

  1. Настройка источников каталога
  2. Создайте экземпляр ModelCatalog
  3. Запросы и скачивание моделей
  4. Инференция ваших моделей с нужной вам средой выполнения!

Полное пошаговое руководство см. в статье "Начало работы с каталогом моделей".

Дальнейшие шаги