LFM2 2.6B-Exp на Android: llama.cpp, GGUF, 40+ токенов/сек | AiManual
AiManual Logo Ai / Manual.
02 Янв 2026 Инструмент

LFM2 2.6B-Exp на Android: установка llama.cpp и настройка для 40+ токенов в секунду

Пошаговая инструкция по запуску LFM2 2.6B-Exp на Android через llama.cpp. Настройка Termux, компиляция, параметры сэмплера для 40+ токенов в секунду.

Зачем это вообще нужно?

Представьте: полноценная языковая модель с контекстом в 32 тысячи токенов работает в вашем кармане. Не через API, не через облако, а прямо на телефоне. LFM2 2.6B-Exp — это не очередная урезанная игрушка, а модель, которая реально может что-то делать: писать код, анализировать документы, вести диалог. И всё это со скоростью 40+ токенов в секунду на современном Android-смартфоне.

Звучит как фантастика? Ещё год назад так и было. Сейчас — это реальность, которую можно собрать за полчаса. Главное — не наступить на грабли, которые разбросаны на каждом шагу.

Важно: эта инструкция написана для относительно свежих Android-устройств (2020+ года) с 6+ ГБ оперативной памяти. На старых телефонах может не хватить памяти или производительности. Если у вас совсем древний аппарат, посмотрите гайд по запуску LLM на старом железе — там есть альтернативы.

Что такое LFM2 2.6B-Exp и почему он?

LFM2 (Language Foundation Model 2) — серия моделей от компании Lightning AI. Версия 2.6B-Exp — экспериментальная, но именно в этом её прелесть. Она оптимизирована для эффективного использования памяти, поддерживает контекст до 32K и показывает удивительную для своих размеров разумность.

Почему не Llama 3.1 8B или что-то покрупнее? Потому что 2.6 миллиарда параметров — это тот sweet spot, где модель уже умная, но ещё влезает в оперативку телефона без танцев с бубном. Для сравнения: Llama 3.3 8B потребует минимум 8 ГБ RAM только под веса, не считая самого вывода.

МодельПараметрыКонтекстМинимум RAMСкорость на SD 8 Gen 2
LFM2 2.6B-Exp2.6B32K~4 ГБ40-50 токенов/с
Llama 3.2 3B3B128K~5 ГБ25-35 токенов/с
Phi-3 Mini3.8B128K~6 ГБ20-30 токенов/с

Подготовка: Termux и зависимости

Забудьте про магазинные клиенты типа LM Studio для Android. Они медленные, ограниченные и часто сломаны. Мы будем собирать llama.cpp из исходников — это единственный способ выжать максимум из железа.

1Ставим Termux (правильно)

Не качайте Termux из Google Play. Там версия 2020 года, которая не обновляется. Идите на F-Droid и ставьте Termux от Fredrik Fornwall. Это критически важно — старый Termux сломается на этапе компиляции.

💡
После установки Termux сразу дайте разрешение на доступ к хранилищу: termux-setup-storage. Без этого не скачаете модель.

2Обновляем пакеты и ставим компилятор

Открываем Termux и выполняем:

pkg update -y && pkg upgrade -y
pkg install -y git cmake ninja build-essential

Если видите ошибку про «lock» — закройте все другие приложения, которые могут использовать хранилище. Android иногда блокирует доступ.

Собираем llama.cpp с оптимизациями

Вот здесь большинство людей теряют 50% производительности. Они клонируют репозиторий и собирают как есть, без флагов под ARM. Не делайте так.

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
mkdir build && cd build

Теперь самая важная часть — флаги компиляции. Для процессоров Snapdragon (а это 90% современных Android-флагманов) используем:

cmake .. -DCMAKE_BUILD_TYPE=Release \
  -DLLAMA_METAL=OFF \
  -DLLAMA_VULKAN=ON \
  -DLLAMA_ARM_NEON=ON \
  -DLLAMA_F16C=OFF \
  -DLLAMA_AVX=OFF \
  -DLLAMA_AVX2=OFF \
  -DLLAMA_AVX512=OFF \
  -DCMAKE_C_FLAGS="-march=armv8.2-a+dotprod+fp16"

Что здесь важно:

  • -DLLAMA_VULKAN=ON — включаем Vulkan для GPU-ускорения на Adreno (GPU в Snapdragon). Без этого будет только CPU, и скорость упадёт в 3-4 раза.
  • -DLLAMA_ARM_NEON=ON — NEON инструкции для ARM. Обязательно.
  • Флаги AVX/AVX2 выключаем — это инструкции Intel, на ARM они не работают, но почему-то часто включаются по умолчанию.

Компилируем:

cmake --build . --config Release -j$(nproc)

Процесс займёт 10-15 минут. Телефон нагреется — это нормально. Если сборка падает с ошибкой памяти, закройте все другие приложения. В крайнем случае, уменьшите количество потоков: -j2 вместо -j$(nproc).

Если у вас телефон с процессором MediaTek или Exynos, Vulkan может работать нестабильно. Попробуйте собрать без -DLLAMA_VULKAN=ON, но тогда готовьтесь к скорости 10-15 токенов в секунду вместо 40+.

Качаем и конвертируем модель

Официальные веса LFM2 2.6B-Exp в формате GGUF можно найти на Hugging Face. Ищите по названию «LFM2-2.6B-Exp-GGUF». Нам нужна квантованная версия — Q4_K_M или Q5_K_M. Q4 быстрее, Q5 немного качественнее.

cd ~/storage/downloads
# Скачиваем модель (примерный путь, уточните актуальный)
wget https://huggingface.co/username/LFM2-2.6B-Exp-GGUF/resolve/main/LFM2-2.6B-Exp-Q4_K_M.gguf

Перемещаем модель и бинарник llama.cpp в удобное место:

mkdir ~/llama-android
cp ~/llama.cpp/build/bin/main ~/llama-android/
cp ~/storage/downloads/LFM2-2.6B-Exp-Q4_K_M.gguf ~/llama-android/
cd ~/llama-android

Волшебные флаги запуска: как добиться 40+ токенов/с

Теперь самое интересное. Запустить модель можно и так:

./main -m LFM2-2.6B-Exp-Q4_K_M.gguf -p "Hello" -n 100

И вы получите... 8-10 токенов в секунду. Позорно. Потому что по умолчанию llama.cpp использует только CPU и не оптимизирует KV cache.

Вот правильная команда для Snapdragon 8 Gen 2/3 с Adreno GPU:

./main -m LFM2-2.6B-Exp-Q4_K_M.gguf \
  -p "Твой промпт здесь" \
  -n 512 \
  -t 6 \
  -ngl 99 \
  -c 32768 \
  -b 512 \
  --mlock \
  --no-mmap \
  --temp 0.7 \
  --top-k 40 \
  --top-p 0.95 \
  --repeat-penalty 1.1

Разберём по косточкам:

  • -t 6 — количество потоков CPU. На 8-ядерном процессоре ставьте 6, оставьте 2 ядра системе.
  • -ngl 99 — ВСЕ слои на GPU. Критически важно для скорости. Если модель не влезает в память GPU, уменьшайте число (например, 64).
  • -c 32768 — максимальный контекст. LFM2 поддерживает 32K, но если не планируете работать с огромными текстами, можно уменьшить до 8192 для экономии памяти.
  • -b 512 — размер batch. Больше = быстрее, но больше потребление памяти. 512 — оптимально для 8 ГБ RAM.
  • --mlock --no-mmap — удерживаем модель в оперативной памяти. Без этого Android начнёт выгружать части модели в своп, и скорость упадёт в разы.
💡
Параметры сэмплера (--temp, --top-k, --top-p) сильно влияют на качество текста. Для творческих задач temp 0.8-0.9, для точных ответов — 0.1-0.3.

Альтернативы: если не хочется возиться с Termux

Понимаю, компиляция из исходников — не для всех. Есть более простые варианты, но с компромиссами.

PocketPal AI (бывший llama.cpp Android)

Готовое приложение на Google Play. Просто качаете, загружаете GGUF-файл и работаете. Плюсы: удобный интерфейс, история диалогов. Минусы: скорость на 20-30% ниже самосборки, меньше контроля над параметрами.

Предсобранные бинарники

В некоторых Telegram-каналах выкладывают готовые бинарники llama.cpp для Android. Рискованно (может быть вирус), но работает. Если решитесь — проверяйте хэши.

RPC-сервер и управление с ПК

Запускаете llama.cpp в режиме RPC-сервера на телефоне, а подключаетесь с компьютера через клиент. Так можно использовать мощь телефона, но с удобным интерфейсом на большом экране. Подробности в статье про llama.cpp RPC-server.

Что делать, если всё тормозит

Ситуации бывают разные. Вот частые проблемы и решения:

  • Модель не загружается, ошибка памяти: Уменьшайте -ngl (попробуйте 32, потом 64). Закройте все другие приложения. Перезагрузите телефон перед запуском.
  • Скорость 5-10 токенов/с: Скорее всего, Vulkan не работает. Проверьте, что собрали с -DLLAMA_VULKAN=ON. Или у вас MediaTek/Exynos — тогда это предел.
  • Телефон перегревается и троттлит: Снижайте -t до 4. Поставьте телефон на холодную поверхность. В крайнем случае — купите активный кулер для смартфона (да, такие есть).
  • Текст получается бессвязным: Поиграйте с параметрами сэмплера. Уменьшите --temp до 0.3, увеличьте --repeat-penalty до 1.3.

Для кого этот способ, а кому лучше не стоит

Этот гайд — для тех, кто:

  • Хочет иметь LLM всегда под рукой без интернета
  • Готов потратить час на настройку ради максимальной производительности
  • Имеет Android-флагман последних 2-3 лет (Snapdragon 8+ Gen 1 или новее)

Не стоит заморачиваться, если:

  • У вас iPhone — там всё проще через MLX, но это совсем другая история
  • Телефон с 4 ГБ RAM — будет больно
  • Нужна просто поиграться — качайте готовое приложение

Интересный побочный эффект: настроив один раз LFM2 на телефоне, вы поймёте принципы оптимизации llama.cpp для любого железа. Те же флаги (с поправкой на архитектуру) работают и на серверах, и на старых ПК, и даже в LXC-контейнерах Proxmox.

Что дальше? Попробуйте подключить к llama.cpp на телефоне ISON вместо JSON для структурированных ответов. Или используйте телефон как вычислительный узел в распределённой системе из нескольких устройств.

Самый неочевидный совет в конце: после настройки сделайте полный бэкап Termux через termux-backup. Когда через месяц Android решит «оптимизировать» фоновые процессы и удалит кэш, восстановить всё из бэкапа будет проще, чем объяснять жене, зачем вы снова три часа копаетесь в телефоне.