LLM в кармане: запускаю локальные модели на Samsung S24 Ultra через PocketPal — бенчмарки, настройки и туториал. ai.. ai. android.. ai. android. HTML.. ai. android. HTML. llm.. ai. android. HTML. llm. nlp.. ai. android. HTML. llm. nlp. инструменты разработчика.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети. обзор.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети. обзор. разработка веб-приложений.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети. обзор. разработка веб-приложений. Смартфоны.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети. обзор. разработка веб-приложений. Смартфоны. Софт.. ai. android. HTML. llm. nlp. инструменты разработчика. искусственный интеллект. Машинное обучение. мобильная разработка. нейросети. обзор. разработка веб-приложений. Смартфоны. Софт. Учебный процесс в IT.
Обложка: LLM в кармане: запускаю локальные модели на Samsung S24 Ultra через PocketPal

Обложка: LLM в кармане: запускаю локальные модели на Samsung S24 Ultra через PocketPal

Последние материалы мы посвятили графическим пайплайнам: как собирать сцены и стили в WebUI Forge, где помогает Flux, и как добиваться управляемости через ControlNet. Логичный следующий шаг – добавить текстовый слой, который формирует смысл: брифы, описания, сценарии, заголовки и итоговые тексты под публикацию. Именно его мы переносим в карман – в формате локальной LLM на смартфоне.

В этой статье мы разберём PocketPal на Samsung S24 Ultra: как поставить модели в GGUF, какие кванты выбирать под 12 ГБ RAM, как оценить требуемую память (модель + KV-кэш), какие скорости генерации ждать и как настроить параметры, чтобы телефон оставался шустрее и не «уходил в троттлинг».

Почему смартфон? Две причины: приватность (данные не покидают устройство), офлайн-режим (работает в дороге и на выезде). Для креативных задач это означает: черновики текстов, сводки брифов, подписи к визуалу и техзадания для графического пайплайна – там, где нет Wi-Fi и интернета.

Что такое PocketPal?

PocketPal — мобильный клиент для локального запуска компактных языковых моделей в формате GGUF (семейство llama.cpp). По сути, это как LM Studio только не на вашем компьютере или ноутбуке, а на смартфоне.

Официальный GitHub приложения: https://github.com/a-ghorbani/pocketpal-ai

Испытывать будем на телефоне: Samsung S24 Ultra, 12 ГБ RAM

Будем смотреть и сравнивать: 3B/7B/12B (несколько квантов Q4/Q5/Q8).

Смотреть нагрев телефона при работе будем с помощью программы ЦПУ Х, а проверять работоспособность кода из нейронки на Acode + Live Server (Расширение).

Тутор (как найти, скачать и начать работать)

  1. Открываем Play Market и пишем в поиске PocketPal;

  2. Загружаем;

  3. Открываем PocketPal и видим чистый лист – чтобы начать работать – нужно загрузить модель либо из предложенных, либо с Hugging Face.

PocketPal в Play Market

PocketPal в Play Market

Предложенные модели все работают быстро, но, если хочется, кроме этого, чтобы было качественно – нужно поискать нужные модели на Hugging Face.

Поиск и загрузка нужных моделей для PocketPal с Hugging Face
Поиск и загрузка нужных моделей для PocketPal с Hugging Face

После загрузки моделей – у вас будет 2 «папки» – готовые к запуску модели или модели, которые нужно загрузить.

Чаты в PocketPal

Чаты в PocketPal

Удобно, что после загрузки моделей их можно группировать.

Не беспокойтесь, что можете загрузить модель, а она после запуска приведёт к «крашу» вашего телефона – такие модели помечены красным знаком «Memory Warning»:

LLM в кармане: запускаю локальные модели на Samsung S24 Ultra через PocketPal — бенчмарки, настройки и туториал - 5

Однако, даже не смотря на этот знак, и судя по моим тестам и расчёту безопасной работы с этого сайта: https://huggingface.co/spaces/oobabooga/accurate-gguf-vram-calculator а вот ссылка на исследования как производилась эта формула расчёта: https://oobabooga.github.io/blog/posts/gguf-vram-formula/загружать модели весом более 6,5гб и более 8B – не рекомендуется. Да, они будут запускаться, но вызывать троллинг на телефоне.

Создатель PocketPal выложил на своей странице бенчмарки работы своего приложения на разных устройствах, Samsung S24 Ultra – среди них не было, поэтому я отправил свои тесты в его таблицу – вы можете сделать так же, проведя бенчмарк на своём устройстве, по своему желанию: https://huggingface.co/spaces/a-ghorbani/ai-phone-leaderboard

Бенчмарки работы разных моделей в PocketPal на Samsung S24 Ultra

Бенчмарки работы разных моделей в PocketPal на Samsung S24 Ultra

Во время тестов ваш телефон должен быть открыт на экране проведения теста.

Некоторые модели несмотря на большее количество параметров показали настолько черепашью скорость, к примеру модель – Gemma-3-12B-IT-Abliterated-v2, что было принято решение не использовать их в дальнейшем тестировании.

На настоящий момент я вывел несколько моделей наиболее подходящих под:

  1. Копирайтинг и писательство: Qwen-2.5-7B-Instruct и Llama-3.2-3B-Instruct Q6_K;

  2. Кодинг: Qwen-2.5-Coder-7B-InstructQ4_K_M;

  3. Для всего (поговорить, покодить, копирайтинг) – Gemma-3n-E2B-IT-Q8_0;

  4. Математика: Phi-3.5 mini 4k Instruct (Q4_K_M).

Примечание: для кодинга на телефоне, в некоторых чатах на Reddit и обсуждениях на GitHub советуют использовать либо Mistral-NeMo-12B-Instruct — Q4_K_M, либо DeepSeek-R1-Distill-Llama-8B, но и тот и тот вариант генерируют код до такой степени медленно – около 1 слова в 5 минут, что от них было принято решение отказаться).

Так же мной были сравнены Saiga-Llama-3-8B (русский тюн на копирайтинг по сравнению с Llama-3.2-3B-Instruct Q6_K, но я не вывел больших отличий не смотря на разницу в 5B параметров).

Кодинг с Qwen-2.5-Coder-7B-Instruct-Q4_K_M

Предложим нейросети написать нам простенький сайт-лендинг для рекламы наручных часов Tissot. А после выдачи результата скопируем код в Acode и проверим работоспособность в Live Server:

Qwen-2.5-Coder-7B-Instruct-Q4_K_M + Acode + Live Server

Qwen-2.5-Coder-7B-Instruct-Q4_K_M + Acode + Live Server
Acode + Live Server

Acode + Live Server

Сравним температуру аккумулятора:

ЦПУ Х: сравнение температуры - до и после использования модели

ЦПУ Х: сравнение температуры – до и после использования модели

В целом, в пределах допустимых значений.

Всё работает. Как мобильный инструмент, с уровнем интеллекта на 3 или 8B PocketPal себя оправдывает.

Кроме создания новых чатов, выбора и загрузки моделей и бенчмарков вы так же можете настроить и выбрать себе друзей во вкладке Pals – на выбор Ассистент (настройки: имени и модели), Ролевая игра (настройки: имени, модели, мира, локации, роли в мире, роли пользователя в этом мире, ситуации и стилю (серьёзный, расслабленный и т.д.) и можно задать свой системный промт (не советую менять)) и Анализ видео в реальном времени  – эту функцию мне хотелось больше всего затестить, но именно та модель которую приложение мне предложило использовать почему-то не работала))

Настройка Pals в PocketPal

Настройка Pals в PocketPal
Анализ видео в реальном времени, настройка Pals в PocketPal

Анализ видео в реальном времени, настройка Pals в PocketPal

Если вы тоже тестировали это приложение и у вас эта функция работала можете рассказать в комментариях почему?)

 Так же есть стандартные настройки, настройки моделей и настройки чата и отправить отзыв разработчику.

BOS (Begin-Of-Sequence / Sentence) – специальный токен начала последовательности. Нужен многим моделям (семейства Llama/Qwen/Gemma и др.) для корректного старта обработки/генерации. Обычно добавляется токенизатором или шаблоном чата; изменять вручную не стоит.

EOS (End-Of-Sequence / Sentence) – специальный токен конца последовательности. Служит естественным «стоп-сигналом»: модель прекращает выдачу, когда сгенерировала EOS. Тоже изменять не стоит)

Add generation prompt – опция, которая вставляет в конец отформатированного промпта «префикс ответа ассистента», чтобы модель поняла: дальше должен говорить ассистент. Это apply_chat_template(…, add_generation_prompt=True). Без этого префикса многие чат-модели отвечают хуже или продолжают роль пользователя.

Chat Template – Jinja-шаблон (часть токенизатора/метаданных модели), который задаёт точный формат чата: где стоят role-теги, BOS/EOS, спец-токены, разделители и т. п. Конкретный шаблон различается между семействами (например, Llama-3, Qwen-2.5, ChatML-подобные и т. д.) и хранится в tokenizer_config.json/метаданных модели. Использование «родного» шаблона критично для качества.

Настройки и Отправить отзыв в PocketPal

Настройки и Отправить отзыв в PocketPal

N PREDICT – лимит генерируемых токенов за ответ. Больше = длиннее текст и выше расход памяти/времени.

Include thinking in context – добавлять ли «мысленные» части (например, …) в историю чата. Нужно включать только для reasoning-моделей.

Temperature – «риск» выбора. Ниже = детерминированнее; выше = креативнее.

Top-K – оставлять K самых вероятных токенов. Top-P (nucleus) – минимальный пул токенов, чья суммарная вероятность ≥ p. Удобнее, чем жёсткий Top-K.

Min-P – отфильтровать слишком маловероятные токены. Полезно против бреда (не нужно задирать слишком высоко).

XTC Threshold / XTC Probability – экспериментальный «отрезатель» низких вероятностей: оставить без изменений.

Typical-P – это альтернатива Top-P. При 1.0 – выключено. Если ставить (0.3–0.8), Top-P лучше убрать.

Penalty last_n – сколько последних токенов учитывать и держать в памяти для анти-повторов.

Penalty freq / Penalty present – штрафы как у OpenAI:
freq уменьшает частые токены (меньше слов-паразитов),
present наказывает за повтор появления токена (стимулирует вводить новые).

Mirostat (v1/v2) – саморегулируемая «креативность». Хорош для длинной прозы или рассказа. v2 — стабильнее.

Seed — зерно рандома как и в WebUI Forge. -1 — случайно.

Jinja — использование родного chat-template модели. Оставить включённым по умолчанию.

LLM в кармане: запускаю локальные модели на Samsung S24 Ultra через PocketPal — бенчмарки, настройки и туториал - 13

Текущие значения = универсальны, лучше оставить всё без изменений: Temp 0.70, TopK 40, TopP ~0.98–1.0, MinP 0.05, TypicalP 1.0 (off), XTC off, last_n 64, freq/present 0, Mirostat off.

Немного об обозначениях моделей и квантизации

Квантизация

Разумеется, чем меньше квант, тем быстрее работает модель, но тем и меньше она знает, поэтому по возможности используйте Q8_0 или Q6_K или на крайний случай Q4_K_M – меньшие кванты работают в плане знаний гораздо хуже.

IT и Abliterated

Что такое «IT»? Суффикс IT означает Instruction-Tuned («инструкционно дообученная»). Это вариант, специально дообученный следовать инструкциям в диалоге (а не «сырой» pre-trained pt).

Что значит «Abliterated»? Abliteration – техника «разблокировки» LLM без полномасштабного дообучения: вычисляют «направление отказа» в скрытых состояниях и ортогонализуют (вычитают) его из ряда модулей (например, o_proj) с весовыми коэффициентами. Цель – резко повысить acceptance rate запросов, сохранив связность ответов.

Отказы в моделях – это намеренный ответ модели не выполнять запрос. Он появляется, когда срабатывают встроенные «ограждения» (guardrails) или когда модель «честно» признаёт нехватку знаний/прав доступа. В версиях Abliterated работают «безопастные» отказы они срабатывает на темы вреда, нелегала, персональных данных, чувствительного контента и пр. Это часть этики модели. Иначе говоря, если запустить версию Gemma-3-12B-IT-Abliterated-v2 на компьютере с LM Studio мы получим модель, которая совершенно спокойно будет относится на различные «вредные» промты. Для чего это нужно? Ну например, для написания сюжета компьютерной игры в виде визуальной новеллы и проработки сценария – в данном случае мне не нужна безопастная модель – наоборот (так как моя игра в жанре фэнтези) чем больше модель на придумывает – тем из большего количества идей и вариантов можно писать сценарий на «чистовик».

Так же существуют эпистемические (uncertainty-refusal) и платформенные/операционные отказы – выражаются соответственно в отклонении задачи из-за недостатка контекста/компетенции: «не могу гарантировать точность», «нет доступа к Интернету» или во втором случае из-за ограничения окружения: «не могу выполнить код/скачать файл/открыть ссылку».

Параметры модели и количество токенов

Параметры модели и количество токенов – это разные вещи. К примеру: 12B – это число параметров модели (≈12 миллиардов весов), а контекстное окно – отдельная характеристика. Например, у Mistral-NeMo-12B заявлено окно до 128k токенов; у семейства Gemma-3 тоже до 128k. На смартфоне реальный предел ниже из-за памяти под KV-кэш.

KV-кэш – это буфер, куда модель при генерации сохраняет матрицы K (keys) и V (values) для каждого уже обработанного токена на каждом слое трансформера. Благодаря этому при добавлении нового токена не пересчитывается всё с нуля: модель «смотрит» на сохранённые K/V и считает внимание только к ним.

В общем и целом, кроме загружаемого веса модели, скажем в 6гб нужно смотреть на длину контекста (в токенах) и к этому нужно не забыть приплюсовать RAM на системные «нужды», предположим около 2гб. Итого при 6гб модели мы имеет 4гб на длину контекста для нашего разговора – имеется ввиду весь диалог, который будет помнить модель, то есть весь чат – из исходных 12гб на Samsung S24 Ultra.

Теперь что такое токены

Токен — это единица разбиения текста в токенизаторе (подслова, слова, пунктуация и даже пробелы). Токенизатор — это алгоритм, который превращает строку в последовательность ID из словаря модели (в 30–200 тыс. единиц). На практике используют подсловные схемы:

  • BPE / byte-level BPE — склеивает частые пары символов в подслова; устойчив к редким словам и эмодзи;

  • WordPiece / Unigram (SentencePiece) — подбирает набор подслов, оптимальный для языка.

Для русского языка токен из 1 слова часто раскладывается на 2-4 подслова.

Последовательность токенов определяется исходя из вероятностной модели.

Итог

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

Больше полезного про AI, 3D и 2D-графику: https://t.me/photoudzen

Автор: Dmitrii_DAK

Источник

Rambler's Top100