Прочитать на английском Изменить

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


Часто задаваемые вопросы об использовании ИИ в приложениях Windows

Общие

Как интегрировать ИИ в клиентское приложение Windows?

Интеграция ИИ в приложение Windows может быть достигнута двумя основными методами: локальной моделью или облачной моделью. Для локальной модели у вас есть возможность использовать уже существующую модель или обучить собственные платформы, такие как TensorFlow или PyTorch, а затем включить его в приложение через OnnxRuntime. Среда выполнения Windows Copilot предлагает API для различных функций, включая OCR или использование модели Phi Silica. С другой стороны, размещение модели в облаке и доступ к ней через REST API позволяет приложению оставаться упрощенным путем делегирования ресурсоемких задач в облако. Дополнительные сведения см. в статье "Использование Машинное обучение моделей в приложении Windows".

Какие языки программирования лучше всего подходят для разработки ИИ в клиентских приложениях Windows?

Вы можете использовать любой язык программирования, который вы предпочитаете. Например, C# широко используется для создания клиентских приложений Windows. Если вам требуется больше контроля над низкоуровневой информацией, C++ является отличным вариантом. Кроме того, можно рассмотреть возможность использования Python. Вы также можете использовать подсистема Windows для Linux (WSL) для запуска средств ИИ под управлением Linux в Windows.

Каковы лучшие платформы ИИ для клиентских приложений Windows?

Рекомендуется использовать OnnxRuntime.

Как обрабатывать конфиденциальность и безопасность данных при использовании ИИ в клиентских приложениях Windows?

При разработке приложений, на основе ИИ, важно соблюдать конфиденциальность и безопасность данных пользователей. Перед сбором данных следует следовать рекомендациям по обработке данных, таким как шифрование конфиденциальных данных, использование безопасных подключений и получение согласия пользователя. Вы также должны быть прозрачными о том, как вы используете данные и предоставлять пользователям контроль над их данными. Обязательно прочтите статью "Разработка приложений и функций ответственного создания ИИ" в Windows .

Каковы требования к системе для запуска ИИ в клиентских приложениях Windows?

Требования к системе для приложений Windows, использующих ИИ, зависят от сложности модели ИИ и используемого аппаратного ускорения. Для простых моделей может быть достаточно современного ЦП, но для более сложных моделей может потребоваться GPU или NPU. Также следует учитывать требования к памяти и хранилищу приложения, а также пропускную способность сети, необходимую для облачных служб ИИ.

Как оптимизировать производительность ИИ в клиентских приложениях Windows?

Чтобы оптимизировать производительность ИИ в приложениях Windows, следует рассмотреть возможность использования аппаратного ускорения, например gpuus или NPUs, чтобы ускорить вывод модели. Ноутбуки Windows Copilot+ оптимизированы для рабочих нагрузок ИИ и могут повысить производительность задач ИИ. См. также обзор набора средств ИИ для Visual Studio Code.

Можно ли использовать предварительно обученные модели ИИ в клиентском приложении Windows?

Да, вы можете использовать предварительно обученные модели ИИ в приложении Windows. Вы можете скачать предварительно обученные модели из Интернета или использовать облачную службу искусственного интеллекта для доступа к предварительно обученным моделям. Затем эти модели можно интегрировать в приложение с помощью платформы, такой как OnnxRuntime.

Что такое DirectML?

DirectML — это низкоуровневый API для машинного обучения, который обеспечивает ускорение GPU для распространенных задач машинного обучения в широком спектре поддерживаемых аппаратных и драйверов, включая все gpu с поддержкой DirectX 12 от поставщиков, таких как AMD, Intel, NVIDIA и Qualcomm.

Что такое ONNX?

Open Network Neural Exchange или ONNX — это открытый стандартный формат для представления моделей машинного обучения. Популярные платформы модели машинного обучения, такие как PyTorch, TensorFlow, SciKit-Learn, Keras, Chainer, MATLAB и т. д., можно экспортировать или преобразовать в стандартный формат ONNX. В формате ONNX модель может работать на различных платформах и устройствах. ONNX хорошо подходит для использования модели машинного обучения в другом формате, чем обучено.

Что такое ORT?

OnnxRuntime или ORT — это унифицированное средство выполнения для выполнения моделей в разных платформах (PyTorch, TensorFlow и т. д.), которое поддерживает аппаратные акселераторы (ЦП устройств, GPU или NPUs).

Как ONNX отличается от других платформ машинного обучения, таких как PyTorch или TensorFlow?

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

Что такое NPU? Как отличается от ЦП или GPU?

Модуль нейронной обработки или NPU — это выделенный чип искусственного интеллекта, разработанный специально для выполнения задач ИИ. Фокус NPU отличается от значения ЦП или GPU. Центральный процессор или ЦП является основным процессором на компьютере, ответственным за выполнение инструкций и вычислений общего назначения. Единица обработки графики или GPU — это специализированный процессор, предназначенный для отрисовки графики и оптимизированного для параллельной обработки. Он может отрисовка сложных изображений для задач редактирования видео и игровых задач.

NPUs предназначены для ускорения алгоритмов глубокого обучения и могут удалять некоторые работы с ЦП или GPU компьютера, чтобы устройство работало более эффективно. NPUs создаются специально для ускорения задач нейронной сети. Они выполняют обработку больших объемов данных параллельно, что делает их идеальными для распространенных задач ИИ, таких как распознавание изображений или обработка естественного языка. Например, во время задачи распознавания изображений NPU может отвечать за обнаружение объектов или ускорение изображений, а GPU отвечает за отрисовку изображений.

Как узнать, какой тип ЦП, GPU или NPU имеет мое устройство?

Чтобы проверить тип ЦП, GPU или NPU на устройстве с Windows, а также как он выполняется, откройте диспетчер задач (CTRL+ALT+ Удалить), а затем перейдите на вкладку "Производительность ", и вы сможете просмотреть ЦП, память, Wi-Fi, GPU и (или) NPU, а также сведения о скорости, скорости использования и других данных.

Что такое WinML?

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

Полезные понятия ИИ

Что такое большая языковая модель (LLM)?

LLM — это тип модели Машинное обучение (ML), известной для достижения генерации и понимания языка общего назначения. LLM — это искусственные нейронные сети, которые получают возможности путем обучения статистических связей из огромных объемов текстовых документов во время вычислительно интенсивного самозащищенного и полузащищенного процесса обучения. LLM часто используются для создания текста, формы генерированного искусственного интеллекта, который, учитывая некоторый входной текст, создает слова (или маркеры), которые, скорее всего, создают последовательные и контекстно релевантные предложения в ответ. Существуют также небольшие языковые модели (SLM), которые имеют меньше параметров и более ограниченную емкость, но могут быть более эффективными (требующими меньше вычислительных ресурсов), экономически эффективными и идеально подходят для конкретных доменов.

Что такое обучение модели машинного обучения?

В Машинное обучение обучение модели включает в себя кормление набора данных в модель (LLM или SLM), позволяя ей учиться на основе данных, чтобы модель могли принимать прогнозы или решения на основе данных, распознавая шаблоны. Он также может включать настройку параметров модели итеративно для оптимизации производительности.

Что такое вывод?

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

Что такое настройка модели машинного обучения?

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

Что такое инженерия запросов?

Проектирование запросов — это стратегический подход, используемый с генерируемым ИИ для формирования поведения и ответов языковой модели. Он включает в себя тщательное создание входных запросов или запросов для достижения желаемого результата из языковой модели (например, GPT-3 или GPT-4). Создав эффективный запрос, вы можете управлять моделью машинного обучения, чтобы создать нужный тип ответа. Методы включают настройку слов, указание контекста или использование кодов элементов управления для влияния на выходные данные модели.

Что такое аппаратное ускорение (в отношении обучения модели машинного обучения)?

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

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

Процесс создания и использования моделей машинного обучения состоит из трех основных ролей: Специалист по обработке и анализу данных: ответственный за определение проблемы, сбор и анализ данных, выбор и обучение алгоритма машинного обучения, а также оценку и интерпретацию результатов. Они используют такие средства, как Python, R, Jupyter Notebook, TensorFlow, PyTorch и scikit-learn для выполнения этих задач. Инженеры машинного обучения: ответственный за развертывание, мониторинг и обслуживание моделей машинного обучения в рабочих средах. Они используют такие средства, как Docker, Kubernetes, Azure ML, AWS SageMaker и Google Cloud AI Platform, чтобы обеспечить масштабируемость, надежность и безопасность моделей машинного обучения. Разработчики приложений: ответственность за интеграцию моделей машинного обучения в логику приложения, пользовательский интерфейс и UX. Они используют такие средства, как Среда выполнения Windows Copilot, OnnxRuntime или REST API, а также обрабатывают выходные данные пользователя и модели. Каждая роль включает в себя различные обязанности и навыки, но для достижения наилучших результатов требуется совместная работа и взаимодействие между этими ролями. В зависимости от размера и сложности проекта эти роли могут выполняться теми же пользователями или разными командами.