Запускайте большие модели искусственного интеллекта на телефонах Android на базе Snapdragon 8 Gen 3
Запускайте большие модели искусственного интеллекта на телефонах Android на базе Snapdragon 8 Gen 3

В этой статье рассказывается о том, как просто запустить большие модели искусственного интеллекта на телефонах Android, чтобы испытать модели на английском языке (Llama2 7B, Mistral 7B, RedPajama 3B, Google Gemma 2B, Microsoft PHI 2B на китайском языке (настенный MiniCPM, мультимодальная модель); Стабильная диффузия.

напиши впереди

Со второй половины прошлого года различные сотовые телефоничип Производители начали утверждать, что ониизпродукт можетЗапускать локальнобольшой Модель。

Но только несколько дней назад Qualcomm официально HuggingFace Загружено«Версия Qualcomm» Stable Diffusion[1]。В настоящее время многие производители,один есть один,Все они все еще находятся на стадии «внутренней бета-версии и внутренней проверки бета-версии».,Бежать четко и просто из Модель,Накрыты толстым слоем марли.

Однако здесь есть ограничение. Если вы являетесь разработчиком из Китая, при подаче заявки на использование Qualcomm SDK вам необходимо пройти дополнительную проверку «DPLCheck», чтобы убедиться, что вы не являетесь специалистом по «Списку сущностей». Так что о «нативном тестировании» я расскажу в следующей статье. В этой статье речь пойдет о более спокойном игровом процессе.

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

Поэтому в этой статье сначала представлены два решения, которые не требуют разблокировки блокировки BL и смены операционной системы, а также не требуют получения root-прав.

Подготовка

Подготовка в основном состоит из двух частей: Модель приложения и Работающая Модельиз устройства (сотовый телефон).

Модель приложения

Не внося относительно хлопотных изменений в среду подготовки Android, мы можем использовать следующие три проекта с открытым исходным кодом, чтобы испытать модель английского языка (Llama2 7B, Mistral 7B, RedPajama 3B, Google Gemma 2B, Microsoft PHI 2B модель китайского языка (Wall); - с MiniCPM, мультимодальная модель Stable Diffusion);

mlc-ai/mlc-llm[2](Поддержка английского языка Модель)•Введение в использование:https://llm.mlc.ai/docs/deploy/android.html•программаскачать:https://github.com/mlc-ai/binary-mlc-llm-libs/releases/download/Android/mlc-chat.apk•OpenBMB/mlc-MiniCPM[3] (Поддерживает работу китайских моделей) • Проект fork Поскольку указанный выше проект с открытым исходным кодом, метод использования тот же. • Загрузка программы: программа все еще находится в стадии разработки, поэтому перейдите в группу обмена моделями, расположенную напротив стены, и свяжитесь с ней. :D•ShiftHackZ/Stable-Diffusion-Android[4] или ZTMIDGO/Android-Stable-diffusion-ONNX[5](Поддержка бега SD)•Оба элемента передаются путем вызова OnnxRuntime бежать ONNX Отформатированный SD Модель(/feature/diffusion[6])。Первый поддерживаетиз Модель В основном после количественного определенияиз 1GB оизстиль Модель(/docs/models.json[7]),Последний в настоящее время поддерживается только Chilloutmix。•программаскачать:Google Play[8] или F-Droid[9]

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

Бегущее устройство: мобильный телефон

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

В феврале я сдал на переработку 8 Gen 1 (Xiaomi 12 Pro) и 8 Gen 2 (OnePlus 11). Затем я купил два мобильных телефона 8-го поколения 3 (OnePlus 12 и Redmi K70 Pro).

Мобильные телефоны оснащены «новыми чипами»

В этой статье представлен: K70 Pro (версия с памятью 24 ГБ).

Машина, используемая для подбрасывания: K70 Pro.

Хотя мобильные телефоны, начиная с Snapdragon 865, имеют возможность запускать модельные приложения, вычислительная мощность недоразвитых чипов слишком слаба, а работа модели в основном сосредоточена на ЦП. Запуск картинки занимает слишком много времени, и в этом нет никакого смысла. беспокоит.

Обзор информации о мобильных SoC

Лично я рекомендую использовать чипы после Snapdragon 8 Gen 1, например 8 Gen 2 и 8 Gen 3, включая различные «ревизии». Причина, по которой 8 Gen 1 не рекомендуется, заключается в том, что мобильные телефоны этого поколения будут нагреваться при обычном использовании. Производительность бумаги чипа третьего поколения в два раза выше, чем у него, по опыту или по другим причинам. лучше избегать этого.

Дополнительные инструменты: Инструменты отладки Android (ADB).

Если вы не знакомы с командной строкой, вы можете пропустить этот раздел. Но если вы хотите изучить эту часть, установите приложение локальной модели и продолжайте. Android сотовый аспекты отладки телефона,ADB(Android Debug Bridge[10])могу принести оченьбольшойиз Повышение эффективности,Включает: Установка приложения.,Быстро загружайте локальную модель на сотовый телефон и многое другое.

Различные операционные системы ADB Способы установки несовместимы.,Вы можете обратиться кЭта статья XDA Developer Сообщений[11],чтобы завершить решение, подходящее для вашей операционной системы.

Если вы являетесь пользователем macOS, я рекомендую вам напрямую использовать следующую командную строку для завершения установки ADB после установки HomeBrew. Это будет проще, чем в приведенном выше сообщении:

Язык кода:javascript
копировать
brew install android-platform-tools

После завершения установки программы включите на телефоне «Отладку по USB» и «Установку по USB».

Параметры мобильного разработчика, настройки, связанные с USB

Затем, соединив мобильный телефон и компьютер через кабель для передачи данных, выполните adb devices Вы можете убедиться, что инструмент работает правильно:

Язык кода:javascript
копировать
# adb devices

* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
8a408458 unauthorized

➜  speedup  adb devices

List of devices attached
8a408458 device

если бы только List of devices attached Если сзади есть контент, это означает, что соединение между мобильным телефоном и компьютером нормальное и им можно управлять с помощью инструмента.

Установите и инициализируйте приложение

Сначала нам нужно установить приложение на мобильное устройство, используя ADB Если да, то мы можем использовать adb install команда, иначе нужно найти способ перенести приложение на мобильный телефон:

Язык кода:javascript
копировать
# adb install /Пользователи/soulteary/Загрузки/Имя установочного пакета.apk

Performing Streamed Install
Success

После завершения установки мы найдем установленное программное обеспечение на своем мобильном телефоне (просто установите его выборочно в соответствии с вашей ситуацией установки).

Найдите приложение модели на своем рабочем столе.

Инициализируйте чат MLC и MiniCPM

мы открываем MLC Chat или Mini CPM После подачи заявки вы увидите список моделей, нажмите «Загрузить» и дождитесь завершения загрузки модели.

Найдите приложение модели на своем рабочем столе.

Здесь следует отметить две вещи:

Во-первых, у моделей, загруженных с помощью MLC Chat, могут возникнуть проблемы с сетью. Мы можем избежать проблем с сетью, загрузив модели вручную (все модели 12G), а затем загрузив их в указанное место на телефоне Android:

Язык кода:javascript
копировать
adb push ./Llama-2-7b-chat-hf-q4f16_1 /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/

adb push ./Mistral-7B-Instruct-v0.2-q4f16_1 /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/

adb push ./RedPajama-INCITE-Chat-3B-v1-q4f16_1 /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/

adb push ./gemma-2b-q4f16_1 /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/

adb push ./phi-2-q4f16_1 /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/

Во-вторых, программа MiniCPM, стоящая лицом к стене, использует более раннюю версию MLC Chat, поэтому при загрузке модели (5.4G) необходимо загрузить модель, выйти из программы и загрузить следующую модель, чтобы избежать ошибок программы.

Конечно, вы также можете использовать описанный выше метод, чтобы заранее загрузить модель, а затем загрузить ее в указанное место:

Язык кода:javascript
копировать
adb push ./MiniCPM /storage/emulated/0/Android/data/com.modelbest.minicpm/files/

adb push ./MiniCPM-V /storage/emulated/0/Android/data/com.modelbest.minicpm/files/

Использование модели английского языка

Поскольку цель этой статьи не проверка способностей, я просто поиграюсь с ней. Давайте сначала посмотрим на эффект 4-битной квантованной версии Mistral 7B: попробуйте спросить ее, как выучить Python.

Мистраль 7Б: Как выучить Python

Кажется, ответ довольно хороший, эффективность работы 7 токенов/с. Далее давайте посмотрим на производительность Gemma 2B в той же задаче:

Джемма 2B: Как выучить Python

Gemma Из-за «преимущества тела» оно достигает 11 жетон/ы. наконец, давай посмотрим PHI 2B Индикатор производительности:

PHI: Как выучить Python

Можно лишь сказать, что по сравнению с первыми двумя качество ответов совсем другое. Результаты простых тестов по математике аналогичны приведенным выше. Результаты будут опубликованы на Zhihu позже. Если вам интересно, вы можете продолжить.

Модель китайского языка и использование мультимодальной модели

Давайте сначала посмотрим на эффект языковой модели, при которой MiniCPM работает со скоростью от 8 до 13 токенов/с.

Тест языковой модели MiniCPM

Как упоминалось в предыдущем посте Чжиху, я не совсем помню, кто такой «генеральный директор». Хорошо, что у меня нет «идеологического штампа». Плохо то, что мои знания и способности действительно должны быть такими. усилен. Однако разве это не подходит только для генерации контента с использованием внешних баз знаний?

Далее давайте посмотрим на мультимодальную модель:

Тестирование мультимодальной модели MiniCPM-V

Я загрузил картинку красного конверта для «Начала работы», а затем спросил у модели, что на картинке, а затем провел три простых раунда диалога, и вы видите, что ответы были достойными. Конечно, во время реального тестирования он может ответить на неожиданные вещи. Как объединить бизнес-данные и выполнить точную настройку модели с малыми параметрами для повышения точности ответа, должно стать основным направлением конечной мультимодальной небольшой модели в этом году. .Одна из тем.

Инициализация и использование модели изображения

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

Инициализация двух модельных приложений немного отличается. SDAI является относительно полностью автоматической (приведенный выше код имеет путь и модель по умолчанию):

Инициализация Android-приложения SDAI

В другой модели после загрузки модели нам нужно вручную указать соответствующие файлы модели и файлы конфигурации:

Настроить путь к модели

Генерация изображения мало чем отличается от веб-версии. Введите «Шаг», «Cfg», «Положительное слово подсказки», «Отрицательное слово подсказки», нажмите «Создать» и подождите, пока изображение завершит вывод. По сравнению с другими приложениями, SDAI имеет еще одну «галерею», в которой могут отображаться все сгенерированные вами изображения.

Пользовательский интерфейс приложения SDAI

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

Мобильный телефон Stable Diffusion генерирует изображения

К счастью, использование модели для генерации изображений на мобильном телефоне не занимает много времени. Самое медленное — всего одна-две минуты (в зависимости от количества шагов и разрешения). Мобильный телефон не особо нагревается и обеспечивает непрерывную генерацию. только тепло.

наконец

Ладно, это все в этой статье. В следующей статье по теме давайте поговорим о запуске модели непосредственно в собственной среде мобильного телефона.

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

--EOF

Справочная ссылка

[1] «Версия Qualcomm» Stable Diffusion: https://huggingface.co/qualcomm/Stable-Diffusion [2] mlc-ai/mlc-llm: https://github.com/mlc-ai/mlc-llm [3] OpenBMB/mlc-MiniCPM: https://github.com/OpenBMB/mlc-MiniCPM [4] ShiftHackZ/Stable-Diffusion-Android: https://github.com/ShiftHackZ/Stable-Diffusion-Android [5] ZTMIDGO/Android-Stable-diffusion-ONNX: https://github.com/ZTMIDGO/Android-Stable-diffusion-ONNX [6] /feature/diffusion: https://github.com/ShiftHackZ/Stable-Diffusion-Android/tree/master/feature/diffusion/src/main/java/com/shifthackz/aisdv1/feature/diffusion [7] /docs/models.json: https://github.com/ShiftHackZ/Stable-Diffusion-Android/blob/master/docs/models.json [8] Google Play: https://play.google.com/store/apps/details?id=com.shifthackz.aisdv1.app [9] F-Droid: https://f-droid.org/zh_Hans/packages/com.shifthackz.aisdv1.app.foss/ [10] Android Debug Bridge: https://developer.android.com/tools/adb [11] Эта статья XDA Developer Сообщения: https://www.xda-developers.com/install-adb-windows-macos-linux/

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose