Поддержка MiniCPM с первого дня на оборудовании AMD

Источник: AMD•

Поддержка MiniCPM с первого дня на оборудовании AMD

Ознакомьтесь с поддержкой MiniCPM-V 4.7 с первого дня на графических процессорах AMD Radeon™, процессорах Ryzen™ AI Max и NPU Ryzen™ AI для локального ИИ-вывода.

MiniCPM-V 4.7 получает поддержку с первого дня на графических процессорах AMD Radeon, встроенных графических процессорах Ryzen AI и NPU Ryzen AI для локального и периферийного искусственного интеллекта

С момента выпуска с открытым исходным кодом новейшей мультимодальной модели MiniCPM-V 4.7 от ModelBest поддержка с первого дня уже была доступна для графических процессоров AMD Radeon™, встроенного графического процессора в процессорах Ryzen™ AI Max и NPU Ryzen AI на базе архитектуры XDNA™ 2.

MiniCPM-V 4.7 выпускается в двух вариантах: 1B и 35B-A3B — для локального инференса ИИ на ПК с искусственным интеллектом, автомобильных системах, роботах, периферийных устройствах и серверах. Разработчики могут выбрать размер модели и путь инференса, которые наилучшим образом соответствуют ресурсам их устройств, требованиям задач и условиям развертывания.

От поддержки с первого дня на графических процессорах AMD Radeon, встроенных графических процессорах Ryzen AI Max до NPU Ryzen AI для разработчиков — AMD и ModelBest работают вместе, чтобы объединить модели, аппаратное обеспечение и ресурсы для разработки. В этой статье рассматриваются функциональная проверка и развертывание на графических процессорах Radeon, а также прогресс в поддержке NPU Ryzen AI и доступ к сервисам для разработчиков.

Проверка графических процессоров охватывает платформы Radeon AI PRO R9700, Radeon PRO W7900D и Ryzen AI Max 395 с графикой Radeon 8060S, охватывая как дискретные графические процессоры, так и APU. В этих тествах используется изображение с заголовком и правилами квот, чтобы проверить, может ли модель читать изображение и генерировать ответы, соответствующие его содержимому.

Устройство

Архитектура GPU или цель

35B-A3B

Radeon AI PRO R9700

RDNA 4/ gfx1201

Пройдено

Пройдено

Radeon PRO W7900D

RDNA 3/ gfx1100

Пройдено

Пройдено

Radeon 8060S / Ryzen AI Max 395

APU gfx1151

Пройдено

Пройдено

Все вышеуказанные комбинации успешно завершили инференс. Журналы среды выполнения подтвердили, что как языковая модель, так и визуальный проектор использовали бэкенд программного обеспечения AMD ROCm™, а результаты модели соответствовали тестовому изображению. Эти результаты доказывают, что оба варианта модели могут выполнять инференс изображений и текста на перечисленных устройствах в протестированных конфигурациях. Эта проверка сосредоточена на функциональной корректности; пропускная способность, время до первого токена и использование памяти GPU в этом блоге пока не сообщаются.

Развертывание GPU с использованием ROCm и бэкенда llama.cpp HIP

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

Следующие команды предназначены для сред Linux на базе Ubuntu/Debian с установленной ROCm. Запускайте их по порядку в одном сеансе Bash. Все последующие команды сборки, инференса и сервера запускаются из исходного каталога llama.cpp.

1. Проверка среды ROCm

Выберите целевой GPU для вашего устройства и сверьте его с фактическим выводом команды rocminfo. Используйте gfx1201 для Radeon AI PRO R9700, gfx1100 для Radeon PRO W7900D и gfx1151 для Radeon 8060S / Ryzen AI Max 395.

2. Получение исходного кода и сборка бэкенда llama.cpp HIP

Установите инструменты сборки и загрузите фиксированную версию исходного кода в новый рабочий каталог. На следующем шаге в качестве цели сборки используется gfx1201. Для других устройств замените GPU_TARGET соответствующим значением.

GGML_HIP=ON включает бэкенд HIP, а GPU_TARGETS указывает целевую архитектуру. В результате сборки создаются llama-mtmd-cli для инференса изображений и текста и llama-server для обслуживания модели.

3. Подготовка модели и входного изображения

Загрузите GGUF языковой модели и соответствующий визуальный проектор для выбранного варианта, затем укажите их пути с помощью переменных среды. При переключении вариантов обновите как языковую модель, так и соответствующий ей проектор.

Проверка входных данных и установка каталога среды выполнения

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

Этот пример устанавливает длину контекста в 4096 токенов, генерирует до 192 токенов и использует -ngl 999 для запроса выгрузки как можно большего числа слоев языковой модели на GPU. Проверьте журналы, чтобы подтвердить фактическое поведение выгрузки. Для тестового изображения, используемого в этой статье, вы также можете использовать более конкретную подсказку, например: «Пожалуйста, прочитайте заголовок на изображении и объясните каждое правило квоты».

Во время проверки убедитесь, что как языковая модель, так и визуальный проектор используют бэкенд ROCm, а заголовок, числа и правила в ответе соответствуют изображению.

4. Запуск службы инференса изображений и текста

После проверки инференса из командной строки запустите сервер в том же сеансе, используя те же файлы модели.

После запуска сервера приложения могут отправлять сообщения, содержащие текст и image_url, через совместимый с OpenAI API. Изображения можно передавать в виде URL-адресов данных Base64. Чтобы проверить службу, используйте то же тестовое изображение для проверки полного пути запроса, а затем снова проверьте журналы бэкенда и фактический ответ. Это позволяет разработчикам перейти от простого запроса инференса из командной строки к интеграции с прикладной службой.

Поддержка NPU для процессоров AMD Ryzen AI

Наряду с путем GPU, выпуск MiniCPM-V 4.7 также включает поддержку NPU с первого дня для процессоров AMD Ryzen AI, предоставляя еще один вариант развертывания для локальных мультимодальных приложений.

Поддерживаемые платформы и модели

FastFlowLM, среда выполнения инференса NPU от AMD, обеспечивает поддержку моделей для этого выпуска с первого дня. Начиная с версии v1.0.8, FastFlowLM поддерживает инференс MiniCPM-V-4.7-1B на NPU Ryzen AI. Поддерживаемыми платформами являются ПК с Ryzen AI и NPU XDNA 2, включая серии AMD Ryzen AI Max, AMD Ryzen AI 400 и AMD Ryzen AI 300.

Рабочий процесс инференса и развертывание

FastFlowLM предоставляет интерактивный интерфейс командной строки и локальную службу HTTP, совместимую с OpenAI. Тег модели — minicpm-v-4.7:1b. Ее веса используют квантование Q4_K в формате NPU2 и включают файл языковой модели model.q4nx и файл визуальных весов vision_weight.q4nx общей емкостью около 2,2 ГБ. Модель можно загрузить после выполнения команды flm pull.

Входные данные состоят из текста и изображений, причем один запрос может содержать несколько изображений. Длина контекста по умолчанию составляет 32 тыс. токенов, а максимальная — 256 тыс. токенов.

Следующие команды предназначены для Windows и должны выполняться в PowerShell.

1. Установка FastFlowLM и проверка NPU

Установите пакет для Windows из FastFlowLM v1.0.8 release page. После установки выполните:

Команда flm version должна сообщить о версии 1.0.8 или выше. flm validate должен определить NPU как XDNA2.

2. Загрузка и проверка модели

Для загрузки из ModelScope используйте:

В Windows веса по умолчанию сохраняются в %USERPROFILE%\.flm\models\MiniCPM-V-4.7-1B-NPU2. Страницы моделей доступны на Hugging Face и ModelScope (см. ссылки на модели в конце этой статьи). flm check проверяет, что все файлы моделей присутствуют и совместимы с текущей версией FastFlowLM.

3. Запуск инференса изображений и текста из командной строки

Находясь в сеансе, используйте /input, чтобы указать путь к изображению и подсказку. За /input должен следовать путь к файлу. Используйте /think для переключения режима размышлений, который включен по умолчанию, и /bye для выхода из сеанса.

4. Запуск службы инференса изображений и текста

Порт по умолчанию — 52625. Приложения отправляют текст и URL-адреса данных в формате Base64 по адресу /v1/chat/completions. В следующем примере "think": false отключает процесс размышления, а параметр temperature установлен на 0:

Результаты проверки и примеры приложений

В этой проверке использовалась система AMD Ryzen AI Max+ 395 под управлением Windows 11, FastFlowLM версии 1.0.8 и драйвер NPU версии 32.0.20102.3930. Тесты охватывали текстовые диалоги, понимание изображений и текста, а также производительность вывода при различной длине контекста.

Тест текстового диалога

Рисунок 1: Промпт — «Представься». Ответ — «Здравствуйте! Я модель серии MiniCPM, совместно разработанная ModelBest и сообществом OpenBMB с открытым исходным кодом. Чем я могу вам помочь?»

Тест понимания изображений и текста

Рисунок 2: Промпт — «Что изображено на картинке?» Ответ — «На изображении показан прозрачный стакан, наполненный чистой водой, в который под углом вставлен тонкий красный предмет (похожий на карандаш или соломинку), а в правом верхнем углу видна желтая деталь. Это натюрморт на фоне серого градиента».

Производительность вывода при различной длине контекста

Модель успешно представилась в тесте текстового диалога. С предоставленным образцом изображения она правильно описала его содержимое, при этом время до получения первого токена составило примерно 1,2 секунды для одного изображения. Скорость декодирования варьировалась от примерно 44 до 23 токенов/с при длине контекста от 1K до 32K.

Присоединяйтесь к программе AMD Developer Program и начните создавать мультимодальные ИИ-приложения

Поддержка MiniCPM-V 4.7 на графических процессорах AMD и NPU Ryzen AI с первого дня дает разработчикам практический путь от тестирования модели и проверки приложений до развертывания на устройствах. Проверка на GPU охватила множество комбинаций моделей и оборудования для различных типов устройств Radeon, а рабочий процесс развертывания включал сборку, выполнение одиночных запросов на вывод и запуск сервера.

Зарегистрируйтесь в программе AMD Developer Program сегодня, чтобы получить доступ к следующим преимуществам для разработчиков.

Ссылки на источники

Благодарности

Сотрудники AMD, внесшие вклад в эту работу: Michelle Yu, Shouyu Du, Zhiheng Ni, Alfred Xu, Tao Wei, Adrian Macias, Jin Ran, Jian Song, Alex Yang, Joey Qiao, Fan Zhang, Krishna Sivakumar, Letian Kang, Vincent Fang, Bingqing Guo

О чём эта статья

Ещё в разделе «Hardware и электроника»

Все →

Ещё от AMD