AI-разработка вместе с Copilot+? (спойлер: пока нет)
Обновлено 04 января 2025 - 4 дня назад. Infoworld.com.
Компания Microsoft и ее партнеры по аппаратному обеспечению недавно выпустили ПК Copilot+, работающие на базе процессоров Arm со встроенными нейронными процессорами. Они представляют собой интересный отход от предыдущих мейнстримных платформ x64, изначально ориентированных на процессоры Snapdragon X Arm от Qualcomm и работающие под управлением последних сборок Windows on Arm от Microsoft. Он уже будет работать под управлением сборки 24H2 Windows 11, по крайней мере, за пару месяцев до того, как 24H2 появится на других аппаратных средствах.
Copilot+ представляет собой быстрый ПК со всеми функциями, которые мы привыкли ожидать от современного ноутбука. Время автономной работы отличное, а бенчмарки на базе Arm не уступают, а в некоторых случаях и превосходят большинство аппаратных средств на базе Intel или AMD. Они даже превосходят процессоры M2 и M3 Arm от Apple. Это делает их идеальными для большинства задач разработки с помощью Visual Studio и Visual Studio Code. Оба процессора имеют сборки Arm64, поэтому им не нужно преодолевать дополнительные сложности, связанные с эмуляцией слоя Prism в Windows On Arm.
ПК для разработки на базе Arm
Используя GitHub или другую систему контроля версий для управления кодом, разработчики, работающие над Arm-версиями приложений, могут быстро клонировать репозиторий, создать новую ветку, собрать, протестировать и внести локальные изменения, а затем перенести свою ветку в основной репозиторий, чтобы использовать запросы на слияние изменений. Такой подход должен ускорить разработку Arm-версий существующих приложений, поскольку аппаратное обеспечение теперь является частью жизненного цикла разработки программного обеспечения.
По правде говоря, это не слишком отличается от предыдущих аппаратных средств Windows On Arm. Новое поколение оборудования просто предоставляет более широкий набор источников. Если у вас есть соглашение о покупке с Dell, HP или Lenovo, вы можете быстро добавить оборудование Arm, и вы не будете привязаны к использованию Surface от Microsoft.
Наиболее интересной особенностью новых устройств является встроенный блок нейронной обработки (NPU). Предлагая по меньшей мере 40 Тфлопс дополнительных вычислительных возможностей, NPU привносит в ПК расширенные возможности локального вывода, поддерживая небольшие языковые модели и другие функции машинного обучения. Первоначально Microsoft демонстрирует их на примере инструмента для создания субтитров и выбора различных видеофильтров реального времени в тракте обработки камеры устройства. (Запланированный инструмент индексирования Recall AI перерабатывается для решения проблем безопасности).
Создайте свой собственный ИИ на оборудовании AI
ИИ-приложения в комплекте интересны и потенциально полезны, но, возможно, их лучше рассматривать как указатели на возможности аппаратного обеспечения. Как всегда, Microsoft рассчитывает на то, что разработчики создадут более сложные приложения, которые смогут довести аппаратное обеспечение до предела. Именно для этого и предназначен Copilot Runtime, с поддержкой среды выполнения выводов ONNX и, если не в релизе для Windows, то в версии DirectML inferencing API для ПК Copilot+ и их NPU Qualcomm.
Хотя поддержка DirectML упростит создание и запуск приложений ИИ, Microsoft уже начала поставлять некоторые из необходимых инструментов для создания собственных приложений ИИ. Однако не стоит ожидать, что все будет просто, поскольку многие элементы все еще отсутствуют, что затрудняет рабочий процесс разработки ИИ.
С чего начать? Самое очевидное место - это набор инструментов AI Toolkit для Visual Studio Code. Он создан для того, чтобы помочь вам опробовать и настроить небольшие языковые модели, которые могут работать на ПК и ноутбуках, используя CPU, GPU и NPU. Последние сборки поддерживают Arm64, поэтому вы можете установить AI Toolkit и Visual Studio Code на свои устройства для разработки.
Работа с инструментарием AI Toolkit для Visual Studio
Установка выполняется быстро, с помощью встроенных инструментов Marketplace. Если вы планируете создавать приложения для искусственного интеллекта, стоит установить инструменты для работы с Python и C#, а также инструменты для подключения к GitHub или другим репозиториям исходного кода. Среди других полезных функций, которые стоит добавить, - поддержка Azure и необходимые расширения для работы с подсистемой Windows для Linux (WSL).
После установки вы можете использовать AI Toolkit для оценки библиотеки небольших языковых моделей, предназначенных для работы на ПК и аппаратном обеспечении. В настоящее время доступны пять моделей: четыре различных версии собственного Phi-3 от Microsoft и экземпляр Mistral 7b. Все они загружаются локально, и вы можете использовать игровую площадку моделей AI Toolkit для экспериментов с контекстными инструкциями и пользовательскими подсказками.
К сожалению, игровая площадка модели не использует NPU, поэтому вы не сможете прочувствовать, как модель будет работать на NPU. Но даже в этом случае полезно поэкспериментировать с разработкой контекста для вашего приложения и посмотреть, как модель реагирует на пользовательский ввод. Было бы неплохо иметь возможность построить более полнофункциональное приложение на основе этой модели - например, использовать Prompt Flow или аналогичный инструмент оркестровки ИИ, чтобы поэкспериментировать с основанием небольшой языковой модели на собственных данных.
Не надейтесь, что на ПК Copilot+ можно будет точно настроить модель. Они отвечают большинству требований, поддерживают корректные сборки Arm64 WSL Ubuntu, но аппаратное обеспечение Qualcomm не включает графический процессор Nvidia. Его NPU предназначен только для выводов, поэтому он не обеспечивает возможности, необходимые алгоритмам тонкой настройки.
Это не мешает вам использовать Arm-устройство в процессе тонкой настройки, поскольку его все равно можно использовать с виртуальной машиной, размещенной в облаке, которая имеет доступ к целому или частичному GPU. В Microsoft Dev Box и GitHub Codespaces есть виртуальные машины с поддержкой GPU, но они могут быть дорогими, если вы выполняете большую работу. В качестве альтернативы можно использовать ПК с графическим процессором Nvidia, если вы работаете с конфиденциальными данными.
После того как вы получили модель, которая вас устраивает, можно приступать к ее созданию в приложении. Именно здесь есть большая дыра в рабочем процессе разработки ИИ для Copilot+ PC, поскольку вы не можете перейти непосредственно от AI Toolkit к редактированию кода. Вместо этого найдите скрытую директорию, в которой хранится локальная копия модели, которую вы тестировали (или загрузите настроенную версию с выбранного вами сервиса тонкой настройки), установите среду выполнения ONNX, поддерживающую NPU ПК, и используйте ее для начала создания и тестирования кода.
Создание среды выполнения ИИ для NPU Qualcomm
Хотя вы можете собрать среду Arm ONNX из исходных текстов, все необходимые части уже доступны, так что все, что вам нужно сделать, - это собрать свою собственную среду выполнения. AI Toolkit включает базовую конечную точку веб-сервера для загруженной модели, и вы можете использовать ее с помощью таких инструментов, как Postman, чтобы посмотреть, как она работает с REST-входами и выходами, как если бы вы использовали ее в веб-приложении.
Если вы предпочитаете создавать свой собственный код, существует сборка Python 3 для Windows на платформе Arm64, а также предварительно собранная версия провайдера выполнения ONNX для QNN NPU от Qualcomm. Это позволит вам создавать и тестировать Python-код из Visual Studio Code после того, как вы проверите свою модель с помощью CPU inference внутри AI Toolkit. Хотя это не идеальный подход, он дает вам возможность использовать ПК Copilot+ в качестве среды разработки ИИ. Вы даже можете использовать его вместе с Python-версией системы оркестровки агентов ИИ Semantic Kernel от Microsoft.
Разработчики C# не остались в стороне. На NuGet доступна сборка инструмента QNN ONNX для .NET, так что вы можете быстро взять локальные модели и включить их в свой код. Вы можете использовать AI Toolkit и Python для проверки моделей перед их внедрением в приложения .NET.
Важно понимать ограничения инструмента QNN ONNX. Он предназначен только для квантованных моделей, а это требует, чтобы все используемые вами модели были квантованы для использования 8- или 16-битных целых чисел. Перед использованием готовой модели следует ознакомиться с документацией, чтобы узнать, нужно ли вносить какие-либо изменения, прежде чем включать ее в свои приложения.
Так близко, но так далеко
Хотя платформа Copilot+ PC (и связанный с ней Copilot Runtime) подает большие надежды, набор инструментов все еще фрагментирован. В настоящее время трудно перейти от модели к коду и приложению, не выходя из IDE. Однако можно представить, как в будущем выпуске AI Toolkit для Visual Studio Code можно будет собрать воедино исполнительные механизмы QNN ONNX, а также сделать их доступными для использования через DirectML при разработке приложений .NET.
Этот будущий выпуск должен выйти достаточно быстро, поскольку устройства уже находятся в руках разработчиков. Передача выводов ИИ на локальные устройства - важный шаг к снижению нагрузки на центры обработки данных Azure.
Да, текущее состояние разработки ИИ для Arm64 под Windows разочаровывает, но это скорее потому, что можно увидеть, каким он мог бы быть, а не из-за отсутствия инструментов. Многие необходимые элементы уже есть. Нужен способ объединить их, чтобы создать комплексную платформу для разработки приложений ИИ, позволяющую получить максимум от аппаратного обеспечения.
Пока что, лучше придерживаться Copilot Runtime и встроенной модели Phi-Silica с ее готовыми к использованию API. В конце концов, я купил один из новых ноутбуков Surface на базе Arm и хочу, чтобы он оправдал свои ожидания в качестве оборудования для разработки ИИ, которое я надеялся использовать. Надеюсь, Microsoft (и Qualcomm) восполнят пробелы и дадут мне тот опыт кодирования на NPU, который я хочу.
Эта статья является экземпляром Турбо-текста. Такие тексты отлично продвигают сайты в ТОП органического поиска Яндекс и Google. Здесь я пишу об этом более подробно.
Искренне Ваш,
Nikita Interactive
Это реальная история!
Раздел с Турбо-текстами привлек 18 090 пользователей за 9 месяцев.
На новом сайте. Без ссылок.
Измеримые результаты и устойчивый успех.