Начало работы с ИИ в Windows
Возможности создания интеллектуальных AI-решений на платформе Windows и с ее помощью стремительно развиваются. Windows Copilot Runtime предлагает функции, поддерживаемые ИИ, и APIs на компьютерах Copilot+ . Эти функции находятся в активной разработке и выполняются локально в фоновом режиме. Дополнительные сведения о Windows Copilot Runtime.
Помимо Windows Copilot Runtime, корпорация Майкрософт предлагает различные службы ИИ, поддержку и рекомендации. Чтобы приступить к работе и узнать, как безопасно интегрировать ИИ для ваших бизнес-потребностей, ознакомьтесь с рекомендациями в нашей документации по Windows AI, включая:
- Как можно использовать ИИ в приложении для Windows?
- Выберите между облачными и локальными службами ИИ
- Использование Q#
- использование облачных APIs
- Используйте пользовательскую модель на вашем локальном компьютере
- Используйте ответственные практики ИИ
- часто задаваемые вопросы
Как использовать ИИ в приложении Windows?
Несколько способов использования моделей машинного обучения (ML) для приложений Windows для улучшения их функциональности и пользовательского интерфейса с помощью ИИ включают:
- Приложения могут использовать генеративные модели ИИ для понимания сложных тем, чтобы суммировать, переписывать, делать отчеты или расширять.
- Приложения могут использовать модели, которые преобразуют содержимое свободной формы в структурированный формат, который может понять ваше приложение.
- Приложения могут использовать модели семантического поиска, позволяющие пользователям искать содержимое по смыслу и быстро находить связанное содержимое.
- Приложения могут использовать модели обработки естественного языка для анализа сложных требований к естественному языку, планировать и выполнять действия для выполнения запросов пользователя.
- Приложения могут использовать модели обработки изображений для интеллектуального изменения изображений, удаления или добавления субъектов, масштабирования или создания нового содержимого.
- Приложения могут использовать прогнозные диагностические модели для выявления и прогнозирования проблем, а также помогать пользователю или делать это для них.
Выбор между облачными и локальными службами искусственного интеллекта
Интеграция ИИ в приложение Windows может быть достигнута двумя основными методами: локальной моделью или облачной моделью. Существует несколько аспектов, которые следует учитывать при определении подходящего варианта для ваших потребностей.
Доступность ресурса
- Локальное устройство: выполнение модели зависит от ресурсов, доступных на используемом устройстве, включая ЦП, GPU, NPU, память и емкость хранилища. Это может быть ограничение, если устройство не имеет высокой вычислительной мощности или достаточного хранилища. Небольшие языковые модели (SLM), такие как Phi, более идеально подходят для локального использования на устройстве. ПК Copilot+ предлагают встроенные модели, управляемые Windows Copilot Runtime с функциями ИИ, готовыми к использованию.
- Cloud: Облачные платформы, такие как службы ИИ Azure, предлагают масштабируемые ресурсы. Вы можете использовать столько вычислительной мощности или хранилища, сколько вам нужно, и платить только за то, что вы используете. Для больших языковых моделей (LLM), таких как языковые модели OpenAI, требуются дополнительные ресурсы, но и более мощные.
Конфиденциальность и Безопасность Данных
- локальное устройство: Так как данные остаются на устройстве, локально выполняемая модель может предложить преимущества в области безопасности и конфиденциальности, с ответственностью за безопасность данных, возлагающейся на пользователя.
- Cloud: поставщики облачных служб предлагают надежные меры безопасности, но данные необходимо передать в облако, что может вызвать проблемы конфиденциальности данных для обслуживания бизнес-службы или службы приложений в некоторых случаях.
Специальные возможности и совместная работа
- Локальное устройство: модель и данные доступны только на устройстве, если не предоставлен общий доступ вручную. Это может сделать совместную работу с данными модели более сложной.
- Облако: модель и данные могут быть доступны в любом месте с подключением к Интернету. Это может быть лучше для сценариев совместной работы.
Стоимость
- локальное устройство: нет дополнительных затрат вне рамок первоначальных инвестиций в аппаратное обеспечение устройства.
- Облако. Хотя облачные платформы работают с моделью оплаты по мере использования, затраты могут накапливаться на основе используемых ресурсов и длительности использования.
Обслуживание и обновления
- Локальное устройство: пользователь отвечает за обслуживание системы и установку обновлений.
- Облако: обслуживание, обновления системы и новые обновления компонентов обрабатываются поставщиком облачных служб, что снижает затраты на обслуживание для пользователя.
Используйте Windows Copilot Runtime
Если локальная модель ИИ является правильным решением, вы можете использовать Windows Copilot Runtime функции для интеграции служб ИИ для пользователей на компьютерах Copilot+ . Некоторые из этих готовых функций ИИ, которые можно использовать из приложения Windows, включают:
- Phi Silica: локальная, готовая к использованию языковая модель.
- Recall: API UserActivity, который использует ИИ для поиска по прошлым действиям, поддерживаемый Click to Do, функция, использующая Phi Silica для подключения действий к содержимому (тексту или изображениям), найденного Recall.
- Искусственного интеллекта: масштабирование и повышение резкости изображений с помощью ИИ (повышение разрешения изображений), а также определение объектов в изображении (сегментация изображений).
- Windows Studio Effects: применение эффектов ИИ к камере устройства или встроенному микрофону.
Узнайте больше о функциях, доступных в обзоре Windows Copilot Runtime.
Использование облачных технологий APIs
Если облачное решение лучше подходит для сценария приложения Windows, вам может понадобиться некоторые из приведенных ниже руководств.
Многие APIs доступны для доступа к облачным моделям для использования функций ИИ в приложении Windows, независимо от того, настраиваются ли эти модели или готовы к использованию. Использование облачной модели позволяет приложению оставаться упрощенным путем делегирования ресурсоемких задач в облако. Ниже приведены некоторые ресурсы, которые помогут вам добавить облачные APIs, предоставляемые корпорацией Майкрософт или OpenAI:
Добавление завершений чата OpenAI в классическое приложение WinUI 3/ Windows App SDK. Руководство по интеграции возможностей завершения OpenAI ChatGPT в классическое приложение Пакета SDK для приложений WinUI 3/ Windows App SDK.
Добавьте DALL-E в классическое приложение WinUI 3/ Windows App SDK: руководство по интеграции возможностей создания образов OpenAI DALL-E в классическое приложение WinUI 3/ Windows App SDK.
Создание приложения рекомендаций с помощью .NET MAUI и ChatGPT. Руководство по созданию примера приложения рекомендаций, которое интегрирует возможности завершения OpenAI ChatGPT в приложение .NET MAUI.
Добавьте DALL-E в классическое приложение .NET MAUI Для Windows: руководство по интеграции облачных возможностей создания образов OpenAI DALL-E в приложение .NET MAUI.
Служба Azure OpenAI: если вы хотите, чтобы ваше приложение Для Windows доступ к моделям OpenAI, таким как GPT-4, GPT-4 Turbo с vision, GPT-3.5-Turbo, DALLE-3 или серии моделей Внедрения, с добавленными возможностями безопасности и предприятия Azure, вы можете найти рекомендации в этой документации по Azure OpenAI.
Службы ИИ Azure: Azure предлагает целый набор служб ИИ, доступных с помощью APIs пакетов SDK rest и клиентской библиотеки на популярных языках разработки. Дополнительные сведения см. в документации по каждой службе. Эти облачные службы помогают разработчикам и организациям быстро создавать интеллектуальные, передовые, готовые к рынкам и ответственные приложения с готовыми и предварительно созданными и настраиваемыми APIs моделями. Примеры приложений включают обработку естественного языка для бесед, поиска, мониторинга, перевода, речи, зрения и принятия решений.
Используйте пользовательскую модель на локальном компьютере
Если у вас есть возможность обучать собственную модель с помощью собственных частных данных с такими платформами, как TensorFlow или PyTorch. Эту настраиваемую модель можно интегрировать в приложение Windows, запустив ее локально на оборудовании устройства с помощью ONNX Runtime и AI Toolkit для Visual Studio Code.
AI Toolkit для Visual Studio Code — это расширение VS Code, которое позволяет локально загружать и запускать модели ИИ, включая доступ к аппаратному ускорением для повышения производительности и масштабирования с помощью DirectML. Ai Tookit также может помочь вам:
- Тестирование моделей на интуитивно понятной площадке или в приложении с помощью REST API.
- Настройте модель ИИ локально или в облаке (на виртуальной машине), чтобы создать новые навыки, повысить надежность ответов, задать тон и формат ответа.
- Тонкая настройка популярных малоязыковых моделей (SLM), таких как Phi-3 и Mistral.
- Разверните функцию ИИ в облаке или с помощью приложения, работающего на устройстве.
- Используйте аппаратное ускорение для повышения производительности функций ИИ с помощью DirectML. DirectML — это низкоуровневый API, который позволяет оборудованию устройства Windows ускорить производительность моделей машинного обучения с помощью GPU устройства или NPU. Связывание DirectML с ONNX Runtime обычно является самым простым способом для разработчиков, чтобы обеспечить масштабируемую реализацию аппаратного ускорения ИИ своим пользователям. Дополнительные сведения: Обзор DirectML.
Кроме того, вы можете рассмотреть эти концепции тонкой настройки модели, чтобы предварительно обученная модель лучше соответствовала вашим данным.
Поиск моделей с открытым кодом
Модели машинного обучения с открытым исходным кодом можно найти в Интернете, некоторые из самых популярных включают:
- Hugging Face: центр, в котором собрано более 10 000 предварительно обученных моделей машинного обучения для обработки естественного языка, на базе библиотеки Transformers. Вы можете найти модели для классификации текста, ответа на вопросы, резюмирования, перевода, генерации и многого другого.
- зоопарк моделей ONNX: коллекция предварительно обученных моделей машинного обучения в формате ONNX, которые охватывают широкий спектр областей и задач, таких как компьютерное зрение, естественный язык, речь и многое другое.
- Qualcomm AI Hub: платформа, которая предоставляет доступ к различным моделям машинного обучения и инструментам, оптимизированным для устройств Qualcomm Snapdragon. Вы можете найти модели для обработки изображений, видео, звука и датчиков, а также платформ, библиотек и пакетов SDK для создания и развертывания приложений машинного обучения на мобильных устройствах. Qualcomm AI Hub также предлагает учебные материалы, руководства и поддержку от сообщества для разработчиков и исследователей.
- Pytorch Hub: репозиторий предварительно обученных моделей, предназначенный для упрощения воспроизведения исследований и проведения новых исследований. Это простой API и рабочий процесс, который предоставляет базовые блоки для улучшения воспроизведения исследований машинного обучения. PyTorch Hub состоит из предварительно обученного репозитория моделей, разработанного специально для упрощения воспроизведения исследований.
- TensorFlow Hub: репозиторий предварительно обученных моделей машинного обучения и повторно используемых компонентов для TensorFlow, которая является популярной платформой для создания и обучения моделей машинного обучения. Вы можете найти модели для обработки изображений, текста, видео и аудио, а также трансферного обучения и точной настройки.
- Model Zoo: платформа, которая курирует и ранжирует лучшие модели машинного обучения с открытым исходным кодом для различных фреймворков и задач. Вы можете просматривать модели по категориям, платформам, лицензиям и рейтингу, а также просматривать демонстрации, код и документы для каждой модели.
Некоторые библиотеки моделей не предназначены для настройки и распространения через приложение, но являются полезными инструментами для практического изучения и обнаружения в рамках жизненного цикла разработки, таких как:
- Ollama: Ollama — это рынок готовых моделей машинного обучения для различных задач, таких как обнаружение лиц, анализ тональности или распознавание речи. Вы можете просматривать, тестировать и интегрировать модели в приложение с несколькими щелчками мыши.
- LM Studio: Lmstudio — это средство, которое позволяет создавать пользовательские модели машинного обучения из собственных данных с помощью интерфейса перетаскивания. Вы можете выбрать различные алгоритмы машинного обучения, предварительно обработать и визуализировать данные, а также обучить и оценить модели.
Использование методик ответственного искусственного интеллекта
Каждый раз, когда вы включаете функции искусственного интеллекта в приложение Windows, мы высоко рекомендуем следовать разработке приложений и функций ответственного искусственного интеллекта в Windows.
Это руководство поможет вам понять политики, практики и процессы управления, определять риски, рекомендовать методы проверки, использовать меры безопасности, такие как модераторы и фильтры, и учитывать конкретные аспекты при выборе модели, которая является безопасной и ответственной для работы.
Windows Copilot Runtime модели создания искусственного интеллекта на устройстве помогают применять локальные функции безопасности содержимого, такие как подсистемы классификации устройств для вредного содержимого и список блокировок по умолчанию. Корпорация Майкрософт определяет приоритеты, поддерживающие разработчиков для создания безопасных и надежных возможностей искусственного интеллекта с локальными моделями в Windows.
Дополнительные ресурсы
Phi Silica, небольшой, но могучий SLM на устройстве (блоги Windows)
ИИ в коллекции примеров Windows: примеры, демонстрирующие способы интеграции ИИ в приложения Windows.
Часто задаваемые вопросы об использовании ИИ с Windows: часто задаваемые вопросы о терминологии и понятиях, связанных с использованием ИИ в контексте Windows, в которых рассматриваются такие вопросы, как "Что такое DirectML?", "Что такое ONNX?", "Что такое ORT?", "Что такое NPU?", "Что такое SLM?", "Что такое вывод?" и т. д.
ONNX: открытый стандарт для представления и обмена моделями машинного обучения в разных фреймворках и на разных платформах. Если вы найдете предварительно обученную модель машинного обучения в формате ONNX, вы можете использовать ONNX Runtime (ORT) для загрузки и запуска модели в приложении Windows. ORT позволяет получить доступ к возможностям вывода с аппаратным ускорением устройства и оптимизировать производительность модели машинного обучения. Если у вас есть предварительно обученная модель машинного обучения в другом формате, например PyTorch или TensorFlow, вы можете преобразовать её в ONNX с помощью инструмента оптимизации модели, например Olive. Для получения помощи по использованию Olive см. настройка SLM с Microsoft Olive (Journey Series для архитектуры приложений для генеративного ИИ). Руководства по созданию и использованию моделей ONNX см. в разделе ONNX Tutorials на GitHub. Примеры, демонстрирующие использование моделей ONNX в приложении Windows, см. в разделе Галерея примеров ИИ на Windows.
Начало работы с моделями ONNX в приложении WinUI с помощью ONNX Runtime
API WebNN для веб-приложений: веб-стандарт для доступа к аппаратному ускорению нейронных сетей в браузерах на основе WebIDL и JavaScript APIs. Это позволяет веб-разработчикам эффективно создавать и запускать модели машинного обучения на стороне клиента без использования облачных служб или собственных библиотек. Примеры WebNN наGitHub. Примеры WebNN с помощью ONNX Runtime в разделе ИИ в коллекции примеров Windows.
PyTorch: очень популярная платформа глубокого обучения с открытым исходным кодом, доступная с помощью интерфейса Python и C++. Скорее всего, это будет наиболее распространенный формат, который вы будете встречать для моделей машинного обучения. Если вы хотите использовать модели машинного обучения PyTorch в приложении Windows (C# или C++) или в веб-приложении, можно использовать TorchSharp и LibTorch, которые являются привязками .NET и C++ для библиотеки PyTorch. TorchSharp и LibTorch позволяют создавать, загружать и управлять тензорами, создавать и запускать нейронные сети, а также сохранять и загружать модели с помощью формата PyTorch. Для ознакомления с примерами: Примеры TorchSharp, TorchScript для развертывания, Примеры PyTorch C++. Для веб-приложений ознакомьтесь с разработкой веб-приложения на ONNX Runtime. Примеры запуска моделей PyTorch с помощью DirectML см. в ИИ в коллекции примеров Windows.
TensorFlow является другой популярной библиотекой программного обеспечения с открытым исходным кодом для машинного обучения и искусственного интеллекта, используемой для создания и развертывания моделей машинного обучения для различных задач.