Выбор между облачными и локальными моделями искусственного интеллекта

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

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

Факторы, которые следует учитывать, включают:

  • Конфиденциальность данных, соответствие требованиям и безопасность
  • Доступность ресурсов
  • Специальные возможности и совместная работа
  • Себестоимость
  • Обслуживание и обновления
  • Производительность и задержка
  • Масштабируемость
  • Требования к подключению
  • Размер модели и сложность
  • Инструментальные средства и сопутствующая экосистема
  • Настройка и управление

Ключевые факторы принятия решений для разработчиков приложений

  • Конфиденциальность данных, соответствие требованиям и безопасность

    • Локальная локальная среда: Так как данные остаются на устройстве, работа модели локально может предложить преимущества в отношении безопасности и конфиденциальности, с ответственностью за безопасность данных, оставшуюся на пользователе. Разработчик несет ответственность за управление обновлениями, обеспечение совместимости и мониторинг уязвимостей безопасности.

    • Облако: Поставщики облачных служб предлагают надежные меры безопасности, но данные необходимо передать в облако, что может вызвать проблемы конфиденциальности данных для обслуживания бизнес-службы или службы приложений в некоторых случаях. Отправка данных в облако также должна соответствовать правилам защиты данных, таким как GDPR или HIPAA, в зависимости от характера данных и региона, в котором работает приложение. Поставщики облачных служб обычно обрабатывают обновления безопасности и обслуживание, но пользователи должны убедиться, что они используют безопасные API и следуют рекомендациям по обработке данных.

  • Доступность ресурсов

    • Локальная локальная среда: Выполнение модели зависит от ресурсов, доступных на используемом устройстве, включая ЦП, GPU, NPU, память и емкость хранилища. Это может быть ограничение, если устройство не имеет высокой вычислительной мощности или достаточного хранилища. Небольшие языковые модели (SLM), например Phi, более подходят для локального использования на устройстве. Copilot+ ПК предлагают встроенные модели с готовыми функциями ИИ, поддерживаемыми Microsoft Foundry on Windows.

    • Облако: Облачные платформы, такие как Azure службы ИИ, предлагают масштабируемые ресурсы. Вы можете использовать столько вычислительной мощности или хранилища, сколько вам нужно, и платить только за то, что вы используете. Для больших языковых моделей (LLM), таких как языковые модели OpenAI, требуются дополнительные ресурсы, но и более мощные.

  • Доступность и совместная работа

    • Локально, на месте: Модель и данные доступны только на устройстве, если не предоставлять общий доступ вручную. Это может сделать совместную работу с данными модели более сложной.

    • Облако: Модель и данные можно получить из любого места с подключением к Интернету. Это может быть лучше для сценариев совместной работы.

  • Стоимость

    • Локальная система, на площадке: Кроме первоначальных инвестиций в аппаратное обеспечение устройства дополнительные расходы отсутствуют.

    • Облако: Хотя облачные платформы работают с моделью с оплатой по мере использования, затраты могут накапливаться на основе используемых ресурсов и длительности использования.

  • Обслуживание и обновления

    • Локальная локальная среда: Пользователь отвечает за обслуживание системы и установку обновлений.

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

  • Производительность и задержка

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

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

  • Масштабируемость

    • Локальная локальная среда: Масштабирование модели на локальном устройстве может потребовать значительных обновлений оборудования или добавления дополнительных устройств, которые могут быть дорогостоящими и трудоемкими.

    • Облако: Облачные платформы обеспечивают простую масштабируемость, позволяя быстро настраивать ресурсы на основе спроса без необходимости вносить изменения физического оборудования.

  • Требования к подключению

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

    • Облако: Облачные модели требуют стабильного подключения к Интернету для доступа и могут повлиять на проблемы с сетью.

  • Доступность среды выполнения и резервная версия

    • Локальная локальная среда: Локальные функции ИИ могут зависеть от оборудования, Windows версии, Windows версии пакета SDK для приложений, региона и наличия необязательной модели. Прежде чем вызывать локальную функцию ИИ, проверьте её состояние готовности и помогите пользователю пройти необходимый процесс загрузки модели или получения согласия. Для Windows API ИИ используйте шаблон готовности, характерный для API, описанный в статье "Начало работы с Windows API" и отдельными страницами API.

    • Облако: Облачная конечная точка может обеспечить резервную передачу, если локальная модель не готова или поддерживается на текущем устройстве. Определите, является ли резервный вариант автоматическим, управляемым пользователем или отключен для сценариев конфиденциальности. Убедитесь, что пользовательский интерфейс объясняет, когда данные покидают устройство.

  • Размер и сложность модели

    • Локальная локальная среда: Локальные устройства могут иметь ограничения на размер и сложность моделей, которые могут выполняться из-за ограничений оборудования. Небольшие модели, такие как Phi, более подходят для локального выполнения.

    • Облако: Облачные платформы могут обрабатывать более крупные и более сложные модели, такие как предоставляемые OpenAI, из-за масштабируемой инфраструктуры.

  • Инструментирование и связанная экосистема

    • Локальная локальная среда: Локальные решения ИИ, такие как Microsoft FoundryMicrosoft Foundry on Windowsмашинное Windows обучение и интеграция с Foundry Local пакетом SDK для приложений и Windowsсредой выполнения ONNX, позволяют разработчикам внедрять модели непосредственно в классические или пограничные приложения с минимальными внешними зависимостями.

    • Облако: Облачные решения ИИ, такие как Microsoft FoundryAzure службы ИИ и Azure OpenAI, предоставляют полный набор API и пакетов SDK для создания приложений ИИ. Эти службы предназначены для бесшовной интеграции с Azure DevOps, GitHub Copilot, Semantic Kernel и другими Azure службами, обеспечивая комплексную оркестрацию, развертывание модели и мониторинг в масштабах.

  • Настройка и управление

    • На месте (локально): Локальные модели можно использовать из коробки, без необходимости высокого уровня опыта. Microsoft Foundry on Windows предлагает модели, такие как Phi Silica, готовые к использованию. Кроме того, Windows машинное обучение позволяет разработчикам запускать пользовательские модели, например обученные с помощью среды выполнения ONNX, непосредственно на Windows устройствах. Это обеспечивает высокий уровень контроля над моделью и его поведением, что позволяет точно настроить и оптимизировать на основе конкретных вариантов использования. Foundry Local также позволяет разработчикам локально запускать модели на Windows устройствах, обеспечивая высокий уровень контроля над моделью и его поведением.

    • Облако: Облачные модели также предлагают готовые и настраиваемые варианты, позволяя разработчикам использовать предварительно обученные возможности, а также адаптировать модель в соответствии с их конкретными потребностями. Microsoft Foundry — это единое Azure предложение платформы как услуга для корпоративных операций ИИ, построителей моделей и разработки приложений. Эта основа объединяет инфраструктуру производственного уровня с понятными интерфейсами, позволяя разработчикам сосредоточиться на создании приложений, а не управлении инфраструктурой.

Примеры облачных ИИ

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

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

  • Добавление комплетирования чата OpenAI в WinUI 3 / Windows десктопное приложение App SDK: Руководство по интеграции облачных возможностей комплетирования OpenAI ChatGPT в десктопное приложение WinUI 3/ Windows App SDK.

  • Добавление DALL-E в WinUI 3 / Windows десктопное приложение SDK: Руководство по интеграции облачных возможностей генерации изображений OpenAI DALL-E в десктопное приложение WinUI 3 / Windows App SDK.

  • Azure Служба OpenAI: если вы хотите, чтобы ваше приложение Windows могло получать доступ к моделям OpenAI, таким как GPT-4, GPT-4 Turbo с Vision, GPT-3.5-Turbo, DALLE-3 или серии моделей Embeddings, с дополнительными возможностями Azure безопасности и корпоративного уровня, вы можете найти рекомендации в этой Azure документации OpenAI.

  • Azure Службы ИИ: Azure предлагает целый набор служб ИИ, доступных через REST API и пакеты SDK клиентской библиотеки на популярных языках разработки. Дополнительные сведения см. в документации по каждой службе. Эти облачные службы помогают разработчикам и организациям быстро создавать интеллектуальные, передовые, готовые к рынкам и ответственные приложения с готовыми и предварительно созданными и настраиваемыми API и моделями. Примеры приложений включают обработку естественного языка для бесед, поиска, мониторинга, перевода, речи, зрения и принятия решений.

Проектирование гибридного локального или облачного пути

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

  1. Сначала выберите локальную возможность. Начните с API ИИ, если он соответствует вашему сценарию, или используйте Windows машинное Windows обучение / Foundry Local когда необходимо запустить определенную модель.
  2. Проверьте готовность перед использованием. При запуске или до отображения функции запросите состояние готовности локальной функции. Если API сообщает, что эта функция не поддерживается, не установлена или требуется скачивание, не вызывайте ее вслепую.
  3. Попросите согласие при загрузке локальной модели. Некоторые локальные модели являются необязательными и могут иметь несколько ГБ. Объясните размер загрузки, почему требуется модель и может ли приложение продолжать работу без него.
  4. Определите резервный вариант облака. Если локальная модель не готова, обращайтесь к облачному эндпоинту только в том случае, если пользователь и организация разрешают передавать данные с устройства. Сохраняйте локальные и облачные пути за той же абстракцией на уровне приложения, чтобы остальная часть приложения не зависела от того, где выполняется вывод.
  5. Следите за поведением. Записывайте в журнал, какой путь использовался, сбои проверки готовности, результаты загрузки модели и ошибки переключения на облако, не записывая в журнал запросы, токены или конфиденциальное содержимое, если только ваша организация не одобрила такую обработку данных.

Поток принятия гибридных резервных решений

Используйте этот поток в качестве отправной точки:

  1. Когда пользователь запускает функцию ИИ, проверьте, соответствует ли эта задача локальной функции ИИ.
  2. Если локальная функция не соответствует задаче, используйте облачный ИИ или другую службу.
  3. Если локальная функция соответствует задаче, проверьте, готова ли функция на текущем устройстве.
  4. Если локальная функция готова, выполните локальный вывод.
  5. Если для локальной функции требуется скачивание модели, попросите предоставить согласие пользователя перед началом скачивания.
  6. Если пользователь дает согласие, скачайте или подготовьте модель, затем повторите локальный вывод.
  7. Если пользователь не дает согласия или не поддерживает локальную функцию, проверьте, разрешена ли резервная версия облака для сценария.
  8. Если разрешен резервный вариант облака, используйте путь к облаку.
  9. Если резервная версия облака не разрешена, объясните требование устройства, модели или политики и отключите или скрыть эту функцию.

Сведения о локальной готовности см. в разделе Windows API ИИ, начало работы с Windows APIFoundry Local ИИ и Windows машинное обучение.