Llama-3 8B, сжатая до 4 бит, выдаёт 24 токена в секунду на пятнадцативаттном Nvidia Jetson Orin Nano, съедая ровно 5.2 ГБ разделяемой памяти. Time to First Token (TTFT) составляет 40 миллисекунд. Затраты на облачный API за три года эксплуатации парка из тысячи устройств — ноль. Никаких таймаутов сети, никаких утечек логов в чужие дата-центры, полная независимость от вендора.
Реальность On-device LLM в 2026: как запустить языковую модель на устройстве без интернета и облачного счёта
Индустрия разделилась на два лагеря. Первый молится на гигантские закрытые модели в облаке. Для них решение любой задачи начинается с генерации API-ключа OpenAI или Anthropic. Это даёт иллюзию всемогущества: вы получаете рассуждения уровня GPT-4, но расплачиваетесь непредсказуемой задержкой (от 300 до 1500 мс), абонентской платой, которая масштабируется вместе с вашим трафиком, и полным отсутствием прайваси.
Второй лагерь — это edge. Это жесткие физические лимиты кремния, где каждый мегабайт RAM на счету, а вычислительная мощность ограничена теплоотводом. Вы добровольно отказываетесь от 70B+ параметров ради того, чтобы запереть интеллект внутри железной коробки, которая может стоять на вышке сотовой связи, в заводском цеху или внутри автономного дрона.
Рынок привык дёргать API для всего подряд. Наш подход в Morana Labs принципиально иной: облачный API — это инструмент для R&D или тяжелых фоллбеков. Если устройство имеет свой нейросопроцессор (NPU) или базовый GPU, гонять сенсорные данные или текстовые логи в дата-центр ради извлечения трех сущностей или форматирования JSON-а — это преступление против инженерии.
On-device LLM выигрывает не потому, что она умнее. Она выигрывает, потому что находится физически там же, где рождаются данные. Но запустить её и получить стабильный продакшен — это не просто скачать веса с Hugging Face.
Бюджет памяти, пропускная способность и физика кремния
На краю всё решает не количество TFLOPS, заявленное в маркетинговом буклете процессора, а пропускная способность памяти (Memory Bandwidth). Генерация текста в LLM — это memory-bound процесс. Чтобы выдать один токен, чип должен протащить через свои регистры все веса модели.
Если вы берёте модель на 8 миллиардов параметров в формате FP16, она весит около 16 ГБ. Если пропускная способность памяти вашего чипа (например, Rockchip RK3588) составляет 30 ГБ/с, то чтение весов для одного токена займет полсекунды. Физический потолок в таком сценарии — 2 токена в секунду. Вы упрётесь в шину памяти задолго до того, как загрузите вычислительные блоки NPU.
Единственный выход — квантизация. Сжатие до INT4 уменьшает вес 8B-модели до ~4.5 ГБ. Теперь та же шина позволяет прогонять веса быстрее, и вы получаете приемлемые 10-15 tk/s.
Пайплайн развертывания под edge всегда начинается с безжалостного урезания:
1. Выбор базовой модели. Забудьте про универсальных монстров. Ваш арсенал — это специализированные легковесы: Qwen 1.5/2 (1.8B - 7B), Llama-3 (8B), Phi-3 Mini. Они глупее, но прекрасно поддаются fine-tuning'у под узкую задачу (например, преобразование специфичных логов в структурированный вид или классификация локальных команд).
2. Квантизация и формат. Если у вас классический ARM-процессор или плата Nvidia Jetson — ваш лучший друг GGUF (через llama.cpp). Он феноменально эффективно использует CPU и шареную память. Если вы работаете с узкоспециализированными NPU (Qualcomm Hexagon, специализированные x86 NPU), придётся конвертировать в ONNX и использовать ONNX Runtime с аппаратными провайдерами (Execution Providers).
3. Ограничение контекста. Контекст съедает память динамически (KV Cache). В облаке вы привыкли кидать в промпт 32k токенов. На устройстве с 8 ГБ RAM, где 5 ГБ уже занято весами ОС и модели, ваш предел — 2048 или 4096 токенов. Выход за эти рамки вызовет OOM-киллер.
А теперь о том, о чём молчат туториалы — тепло. Вы успешно запустили локальную нейросеть. Она выдает 20 токенов в секунду. Проходит 40 секунд непрерывной генерации, SoC (System-on-a-Chip) нагревается до 85 градусов, включается троттлинг. Частоты режутся вдвое. Скорость падает до 6 tk/s. Батарея высаживается на глазах. Вы думали, что сделали edge-AI, а на деле собрали дорогой обогреватель.
Чтобы этого избежать, инференс нужно жестко лимитировать программно. Мы фиксируем потоки и ограничиваем утилизацию GPU/NPU, чтобы держать тепловой пакет (TDP) в пределах 10-15 Ватт.
from llama_cpp import Llama
# Конфигурация on-device инференса для Jetson Orin Nano (8GB)
# Жёсткие лимиты: фиксируем потоки и контекст во избежание троттлинга
llm = Llama(
model_path="/models/llama-3-8b-instruct.Q4_K_M.gguf",
n_ctx=2048, # Лимит KV-кэша под бюджет памяти
n_gpu_layers=33, # Оффлоад всех слоёв на GPU
n_threads=4, # Ограничение CPU для экономии батареи
n_batch=256,
f16_kv=True,
verbose=False # Отключение спама в stdout для edge-демонов
)
# Запуск узкоспециализированной задачи
response = llm(
"SYSTEM: You are a local parsing agent. Extract system error.\nUSER: [CRIT_707] Valve 4 timeout.",
max_tokens=32, # Короткая генерация = меньше нагрев
temperature=0.1,
stop=["\n"]
)Ландшафт железа и реальные бенчмарки
Что действительно имеет смысл ставить в поля в 2026 году, когда речь идет об автономной работе:
- ARM SoC с NPU (RK3588, Snapdragon) — устройства до $150. Памяти обычно 4-8 ГБ. Помещаются только модели 1-3B (в INT4). Скорость 10-20 tk/s. Идеально для простых парсеров маршрутизации: сеть понимает намерение и вызывает нужную локальную функцию.
- Nvidia Jetson (Orin Nano/NX) 8-16 ГБ — устройства за $400-$800. Тянут Llama-3-8B в 4 битах. Выдают 20-30 tk/s на GPU. Полноценные агенты, способные удерживать сложный контекст оборудования и принимать решения на лету.
- Промышленные x86 ПК с локальными видеокартами (RTX 4060 Ti 16GB) — для установки в стойку на объекте. Позволяют крутить 14-32B модели с высокой скоростью. Но это уже не чистый edge с батарейным питанием, а on-premise сервер.
Гибридная архитектура и цена обновлений
Не пытайтесь заставить 8B-модель на краю решать дифференциальные уравнения или генерировать сложный программный код. Её задача — фильтрация, маршрутизация и локальные реакции на инциденты за миллисекунды. Если задача требует глубокого рассуждения, строится гибридная (Edge+Cloud) архитектура.
Локальная нейросеть берет на себя 95% рутины. Она анализирует логи станков в реальном времени. Если модель детектирует аномалию, с которой не может справиться, или уровень уверенности (confidence) падает, она будит LTE-модем, формирует сжатый контекст инцидента и отправляет его облачной 70B+ модели. Вы получаете скорость и приватность там, где это нужно постоянно, и оплачиваете дорогой API только в моменты реальной необходимости.
Последний барьер — обновление весов в полях. Закинуть 5 гигабайт GGUF-файла на десять тысяч устройств через нестабильный 3G канал — задача, которая положит вам биллинг за связь. Практика требует использования механизмов бинарных диффов (delta updates). Вы не обновляете модель целиком. Вы обучаете LoRA-адаптеры на несколько мегабайт и отправляете на устройства только их, мерджа веса уже на клиентском устройстве во время ночного простоя.