Использование моделей Машинное обучение в приложении Для Windows
Это руководство поможет разработчикам приложений работать с моделями искусственного интеллекта (ИИ) и Машинное обучение (МАШИНное обучение), обращаясь к общим вопросам, обмен основными понятиями и ресурсами и предлагая рекомендации по использованию моделей искусственного интеллекта и машинного обучения в приложении Windows.
Машинное обучение (ML) — это ветвь искусственного интеллекта (ИИ), которая позволяет компьютерам учиться на основе данных и принимать прогнозы или решения.
Модели машинного обучения — это алгоритмы, которые можно обучить на основе данных, а затем развернуть для выполнения различных задач, таких как создание контента, обоснование содержимого, распознавание изображений, обработка естественного языка, анализ тональности и многое другое.
Несколько способов, которым приложения Windows могут использовать модели машинного обучения для повышения их функциональности и пользовательского интерфейса, включают:
- Приложения могут использовать модели сгенерированных ИИ, чтобы понять сложные темы для сводки, перезаписи, отчета или расширения.
- Приложения могут использовать модели, которые преобразуют содержимое свободной формы в структурированный формат, который может понять ваше приложение.
- Приложения могут использовать модели семантического поиска, позволяющие пользователям искать содержимое по смыслу и быстро находить связанное содержимое.
- Приложения могут использовать модели обработки естественного языка для причины сложных требований к естественному языку, а также планировать и выполнять действия для выполнения запросов пользователя.
- Приложения могут использовать модели обработки изображений для интеллектуального изменения изображений, удаления или добавления субъектов, масштабирования или создания нового содержимого.
- Приложения могут использовать прогнозные диагностические модели для выявления и прогнозирования проблем, а также помогать пользователю или делать это для них.
Объединение Windows Copilot Runtime нескольких способов взаимодействия с операционной системой, используюющей ИИ. Сюда входят готовые функции Windows Copilot Runtime APIs, поддерживаемые ИИ. Ознакомьтесь с рекомендациями по использованию API с поддержкой ИИ в приложении Windows, чтобы ознакомиться с этими готовыми функциями и API, поддерживающими описанные выше сценарии.
Запуск Windows Copilot Runtime APIs локально, непосредственно на устройстве Windows, хотя вы также можете использовать облачную модель через готовый API. Независимо от того, работают ли они локально или в облаке, эти API абстрагируют базовую модель машинного обучения, чтобы вам не нужно было выполнять оптимизацию, форматирование или настройку.
Однако вы можете найти собственную модель машинного обучения для локального использования в Windows. Возможно, вам потребуется оптимизировать эту модель, чтобы она правильно выполнялась на устройствах Windows или настраивала модель таким образом, чтобы она была обучена собственными настраиваемыми данными, характерными для конкретного варианта использования или компании. В этой статье рассматриваются некоторые понятия, инструменты и библиотеки открытый код, которые помогут вам в этом процессе.
Небольшие языковые модели (SLM) предназначены для компактных и эффективных, часто обученных для определенных задач или доменов на небольших наборах данных, чтобы обеспечить хранение и запуск модели локально с более быстрым временем производительности вывода. SMS ограничены объемом данных, используемых для их обучения, не предоставляя как обширные знания или сложные причины в виде крупной языковой модели (LLM). Тем не менее, SLMs может обеспечить более безопасную и эффективную альтернативу LLM при локальном использовании, так как они требуют меньше вычислительной мощности для запуска и улучшения конфиденциальности данных, сохраняя информацию чата безопасно локально на устройстве.
SMS более идеально подходят для локального использования, так как на устройстве используется модель машинного обучения, это означает, что размер не должен превышать объем хранилища и возможности обработки устройства, на котором он работает. Большинство LLM будет слишком большим для локального запуска.
Модели Microsoft Phi-2 и Phi-3 являются примерами SMS.
Большие языковые модели (LLM) были обучены на огромных объемах данных с большим количеством параметров, что делает их более сложными и большими размерами для хранения. Из-за их размера LLM может быть более способным понять более нюансы и сложные шаблоны в данных, охватывая более широкий спектр знаний с возможностью работать с более сложными шаблонами. Кроме того, им требуются более значительные вычислительные ресурсы для обучения и вывода. Большинство LLM не смогут работать на локальном устройстве.
Языковые модели OpenAI GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo, DALL-E и Whisper являются всеми примерами LLM.
Дополнительные рекомендации по использованию SLM локально и LLM в облаке см . в рекомендациях по использованию локальных и облачных API, поддерживаемых ИИ в приложении Windows.
Модели машинного обучения с открытым исходным кодом, которые готовы к использованию и могут быть настроены с помощью собственных данных или параметров, доступны в различных местах, некоторые из самых популярных включают:
- Обнимать лицо: концентратор более 10 000 предварительно обученных моделей машинного обучения для обработки естественного языка, на основе библиотеки Преобразователей. Модели для классификации текста, ответов на вопросы, сводки, перевода, создания и т. д.
- Зоопарк моделей ONNX: коллекция предварительно обученных моделей машинного обучения в формате ONNX, охватывающая широкий спектр доменов и задач, таких как компьютерное зрение, обработка естественного языка, речь и многое другое.
- Qualcomm AI Hub: платформа, которая предоставляет доступ к различным моделям машинного обучения и инструментам, оптимизированным для устройств Qualcomm Snapdl. Вы можете найти модели для обработки изображений, видео, звука и датчиков, а также платформ, библиотек и пакетов SDK для создания и развертывания приложений машинного обучения на мобильных устройствах. Qualcomm AI Hub также предлагает руководства, руководства и поддержку сообщества для разработчиков и исследователей.
- Pytorch Hub: предварительно обученный репозиторий моделей, предназначенный для упрощения воспроизведения исследований и включения новых исследований. Это простой API и рабочий процесс, который предоставляет базовые блоки для улучшения воспроизведения исследований машинного обучения. PyTorch Hub состоит из предварительно обученного репозитория моделей, разработанного специально для упрощения воспроизведения исследований.
- TensorFlow Hub: репозиторий предварительно обученных моделей машинного обучения и повторно используемых компонентов для TensorFlow, который является популярной платформой для создания и обучения моделей машинного обучения. Вы можете найти модели для обработки изображений, текста, видео и аудио, а также передачи обучения и точной настройки.
- Зоопарк моделей: платформа, которая курирует и ранжирует лучшие модели машинного обучения открытый код для различных платформ и задач. Вы можете просматривать модели по категориям, платформам, лицензиям и рейтингу, а также просматривать демонстрации, код и документы для каждой модели.
Некоторые библиотеки моделей не предназначены для настройки и распространения с помощью приложения, но являются полезными средствами для практического изучения и обнаружения в рамках жизненного цикла разработки, таких как:
- Ollama: Ollama — это платформа готовых моделей машинного обучения для различных задач, таких как обнаружение лиц, анализ тональности или распознавание речи. Вы можете просматривать, тестировать и интегрировать модели в приложение с несколькими щелчками мыши.
- LM Studio: Lmstudio — это средство, которое позволяет создавать пользовательские модели машинного обучения из собственных данных с помощью интерфейса перетаскивания. Вы можете выбрать различные алгоритмы машинного обучения, предварительно обработать и визуализировать данные, а также обучить и оценить модели.
При поиске модели машинного обучения с целью его использования в приложении Windows настоятельно рекомендуется использовать в руководстве по разработке приложений и функций искусственного интеллекта для разработки ответственных приложений ИИ в Windows. Это руководство поможет вам понять политики управления, методики и процессы, определить риск, рекомендовать методы тестирования, использовать меры безопасности, такие как модераторы и фильтры, и вызывать конкретные рекомендации при выборе модели, которая является безопасной и ответственной для работы.
Существуют различные способы использования моделей машинного обучения в приложениях Windows в зависимости от типа, источника и формата моделей, а также типа приложения.
Некоторые из форматов, которые вы найдете в моделях машинного обучения, в том числе:
ONNX: открытый стандарт для представления и обмена моделями машинного обучения на разных платформах и платформах. Если вы найдете предварительно обученную модель машинного обучения в формате ONNX, вы можете использовать ONNX Runtime orT для загрузки и запуска модели в приложении Windows. ORT позволяет получить доступ к возможностям вывода с аппаратным ускорением устройства и оптимизировать производительность модели машинного обучения. Если у вас есть предварительно обученная модель машинного обучения в другом формате, например PyTorch или TensorFlow, вы можете преобразовать ее в ONNX с помощью средства оптимизации модели, например Olive. Дополнительные сведения об использовании Оливки см. в разделе "Точное руководство по настройке SLM" с помощью Microsoft Olive (серии "Путешествие" для архитектуры приложений для создания искусственного интеллекта).
/> Руководства по созданию и использованию моделей ONNX см . в руководствах ONNX на GitHub. Примеры, демонстрирующие использование моделей ONNX в приложении Windows, см. в коллекции примеров ИИ в Коллекции примеров 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 — это другая популярная библиотека программного обеспечения с открытым кодом для машинного обучения и искусственного интеллекта, используемая для создания и развертывания моделей машинного обучения для различных задач.
API WebNN для веб-приложений: веб-стандарт для доступа к аппаратному ускорение нейронной сети в браузерах на основе API WebIDL и JavaScript. Это позволяет веб-разработчикам эффективно создавать и запускать модели машинного обучения на стороне клиента без использования облачных служб или собственных библиотек. Примеры WebNN на сайте GitHub. Примеры WebNN, использующиеся ONNX Runtime в коллекции примеров ИИ в Windows.
Разделы справки точно настроить модель машинного обучения с настраиваемыми данными для запуска в Windows?
AI Toolkit Для Visual Studio Code — это расширение VS Code , которое позволяет загружать и запускать модели ИИ локально. Ai Tookit также может помочь вам:
- Тестирование моделей на интуитивно понятной площадке или в приложении с помощью REST API.
- Настройте модель ИИ локально или в облаке (на виртуальной машине), чтобы создать новые навыки, повысить надежность ответов, задать тон и формат ответа.
- Тонкой настройки популярных небольших языковых моделей (SLM), таких как Phi-3 и Mistral.
- Разверните функцию ИИ в облаке или с помощью приложения, работающего на устройстве.
DirectML — это низкоуровневый API, который позволяет оборудованию устройства Windows ускорить производительность моделей машинного обучения с помощью GPU устройства или NPU. Связывание DirectML с приложением ONNX Runtime обычно является самым простым способом для разработчиков, чтобы обеспечить масштабируемое использование аппаратного ускорения искусственного интеллекта пользователям. Дополнительные сведения: Обзор DirectML.