Ещё несколько лет назад любая функция с приставкой "умный" означала одно и то же: данные уезжают на сервер, там их жуёт большая модель, ответ возвращается по сети. Сейчас маятник качнулся в обратную сторону. Шумоподавление в микрофоне, размытие фона на видеозвонке, распознавание лиц, автодополнение текста и даже небольшие языковые модели всё чаще исполняются прямо на ноутбуке или телефоне. Это не мода, а инженерный расчёт: у локального инференса есть четыре весомых аргумента, и облако не может предложить ни одного из них в том же виде. Первый аргумент - приватность: фото, голос и текст не покидают устройство вообще, и не нужно верить политике безопасности вендора, потому что утечке просто неоткуда взяться. Второй - задержка: ноль миллисекунд сети, ответ модели появляется за время одного обращения к памяти, а не за сотню миллисекунд облачного кругосветного путешествия. Третий - офлайн: функция работает в самолёте, в метро и на даче с плохим роутером. Четвёртый - цена: каждый вызов облачной модели стоит вендору реальные деньги за серверное время, а локальный инференс уже оплачен вместе с железом и потребляет ватты вместо долларов.

Железо под тензоры и честный разбор маркетинговых чисел

Современный чип для локального ИИ - это на самом деле три разных вычислителя под одной крышкой. NPU, нейронный сопроцессор, - специализированный блок, умеющий гонять свёртки и матричные умножения с минимальным энергопотреблением. Вендоры меряют его в TOPS, тераоперациях в секунду, и это в первую очередь маркетинговая метрика: она считает операции в максимально благоприятных условиях, обычно в INT8 или даже INT4, без учёта того, сумеет ли чип реально подать данные в вычислители. Чип на 45 TOPS может проигрывать чипу на 11 TOPS, если у второго лучше иерархия памяти и честнее компилятор графов. Второй вычислитель - встроенная графика. iGPU имеет сотни простых ядер, отлично параллелит тензорные операции и главное - уже установлена в каждом компьютере, так что её вычислительный ресурс фактически бесплатен для приложения. Третий - обычный процессор с векторными расширениями: AVX-512 VNNI ускоряет целочисленные свёртки прямо на ядрах общего назначения, а AMX добавляет плиточные матричные блоки, которые вытягивают даже трансформерные слои без помощи ускорителя. Грамотный рантайм режет граф модели на куски и раскидывает их по всем трём устройствам, добиваясь суммарной утилизации, которую не даст ни один блок в одиночку.

Память как главное бутылочное горло локального инференса

Инженерная правда, которую не любят писать в пресс-релизах: для большинства нейросетевых задач решает пропускная способность памяти в гигабайтах в секунду, а не количество GFLOPS. Слой трансформера при генерации токенов обязан один раз прочитать все веса модели из памяти на каждый токен. Арифметика при этом смехотворно проста, вычислители простаивают, ожидая подвоза данных. Именно поэтому ноутбук с распаянной LPDDR5X на 120 ГБ/с выдаёт небольшую языковую модель заметно бодрее, чем старый десктоп с мощной дискретной картой, но узкой шиной. Из этого факта растут почти все практические решения: стремление ужать веса, чтобы они быстрее читались; организация KV-кэша, чтобы не пересчитывать внимание; архитектуры с общей памятью, где NPU, GPU и CPU смотрят в одни и те же банки без копирований. Отсюда же и неприятное следствие - увеличение модели почти линейно требует памяти и её пропускной способности, а это самые медленно растущие характеристики мобильного железа: скорость памяти за десятилетие выросла в разы, тогда как вычислительная плотность - на порядки.

Квантование моделей как способ впихнуть невпихуемое

Квантование - главный рычаг, за который дёргают все инженеры локального ML. Модель, обученная в FP32, занимает четыре байта на вес. Перевод в INT8 сокращает объём вчетверо при заметной, но обычно терпимой потере точности, а переход к INT4 даёт ещё двукратное сжатие, и вот тут уже начинается настоящая торговля: каждый бит экономии вынимает из модели часть качества, и хорошая квантизация превращается в искусство с переканализованием весов и калибровкой на живых данных. Элегантные схемы вроде группового квантования, где сотня параметров делит один масштаб, позволяют удержать деградацию в пределах единиц процентов на бенчмарках. Практическая веха, которую стоит запомнить: языковая модель на 7 миллиардов параметров в кванте Q4 занимает около четырёх гигабайт ОЗУ. Это уже влезает в ноутбук с 16 гигабайтами, но на грани - системе, браузеру и редактору кода тоже нужно что-то оставить. Поэтому локальные LLM пока живут в диапазоне от трёх до тринадцати миллиардов параметров, и никакой маркетинг этого физического потолка не отменяет.

Форматы и рантаймы, которые связывают модель с железом

Чтобы одна и та же модель работала и на NPU одного вендора, и на встроенной графике другого, индустрия постепенно пришла к посредникам. ONNX стал общим форматом обмена: модель экспортируется из PyTorch один раз, и дальше её граф исполняется любым совместимым движком. DirectML играет роль Direct3D для тензоров - слой, который позволяет запускать нейросетевые графы на любом DirectX-совместимом ускорителе без плясок под конкретное железо. OpenVINO делает похожую работу для платформ Intel, выжимая максимум из связки CPU, iGPU и NPU. По соседству в экосистеме Apple живёт CoreML со своими форматами и компилятором под Neural Engine. Типичный конвейер разработчика выглядит так: обучили модель, сконвертировали в ONNX, прогнали квантование, проверили точность на золотом наборе, упаковали в приложение, а рантайм на устройстве сам выбирает, на каком блоке какой узел графа исполнять. Порядок действий обычно такой:

  1. Экспорт обученной модели в ONNX и проверка эквивалентности выходов.
  2. Калибровка и квантование до INT8 или INT4 на репрезентативных данных.
  3. Профилирование на целевом железе и разметка графа по устройствам.
  4. Интеграция с рантаймом и регрессионные тесты точности.

Обучение без сбора данных и спектр федеративного подхода

Отдельная ветка локального ML - федеративное обучение. Идея переворачивает классический конвейер: вместо того чтобы собирать фото и тексты пользователей на сервер, к устройствам приезжает модель. Каждый телефон дообучает её на личных данных, которые никуда не уходят, а на сервер возвращаются только градиенты - маленькие числовые поправки. Сервер усредняет поправки с миллионов устройств и выпускает новую версию весов. Так учились клавиатурные подсказки и модели автозамены. Метод не идеален: градиенты при ухищрённом анализе всё же способны пропустить информацию о примерах, поэтому поверх накручивают дифференциальную приватность с шумом и безопасную агрегацию, где сервер видит только сумму, а не отдельные вклады. Но даже с этими оговорками федеративное обучение остаётся самым честным ответом на вопрос, как улучшать модели, не строя гигантский склад чужих личных данных.

Куда упираются ограничения и как выглядит гибридная схема

Локальный инференс не панацея, и его границы видны невооружённым глазом. Большие языковые модели с сотнями миллиардов параметров требуют десятки гигабайт памяти даже после агрессивного квантования - в ноутбук они физически не влезают. Длинные мультимодальные рассуждения, свежие факты из интернета, тяжёлые кодовые агенты - всё это пока территория облака. Зрелый ответ индустрии - гибридная маршрутизация: маленький локальный классификатор читает запрос и решает, хватит ли домашней модели или надо звонить в большую. Простые задачи - переформатировать абзац, вытащить дату, ответить короткой справкой - выполняются на устройстве мгновенно и бесплатно, а сложные уходят наверх. Такая схема одновременно режет счета вендора за инференс и дарит пользователю скорость там, где она ощущается сильнее всего. Со временем доля локальных ответов будет расти просто потому, что железо растёт быстрее, чем аппетиты типичных повседневных запросов.

Форматы моделей и причины, по которым один и тот же интернет не работает

Современная локальная модель это не монолитный exe, а набор тензорных файлов, сопровождаемых метаданными о форме входа. Промышленным общим знаменателем стал формат ONNX, в который пакет превращается после обучения в PyTorch или Tensorflow: граф операций, веса и подпись типов. Поверх ONNX работают отказ реализации в рантаймы - DirectML в Windows, OpenVINO на чипах Intel, TensorRT на видеокартах, - и смена одного бэкенда на другой происходит без переписывания кода. Производитель при этом помнит, что эффективность определяется не теоретическими TOPS, а тем, как укладываются тензоры по памяти и как часто драйверу приходится перекладывать веса из общей памяти в локальную вычислительную память узла. Иными словами, локальный ИИ это задача не столько математики, сколько троттлинга: температура, пропускная способность и квантование решают больше, чем название модели.

Мониторинг, повседневные задачи и ближайшее будущее

Посмотреть локальный ИИ в работе уже можно без специального софта: диспетчер задач Windows показывает NPU отдельным графиком рядом с CPU и GPU, и во время видеозвонка с эффектами там виден характерный ровный столбик утилизации. Повседневные задачи, где локальные модели уже внедрены, вполне приземлённые: шумодав, который вырезает собаку и пылесос из голоса; размытие фона и автокадрирование; распознавание речи и лиц; новые попытки голосовых помощников, которые после провала старых ассистентов вроде Кортаны возвращаются уже на трансформерной базе и с локальным ядром. Дальше вектор смотрит в сторону контекста экрана: операционные системы хотят, чтобы модель видела, что на мониторе, и помогала по месту - при этом вся обработка обязана оставаться локальной, иначе функция не пройдёт ни одну проверку на приватность. Связка из контекста, гибридной маршрутизации и постоянно дешевеющих нейронных блоков делает ставку понятной: через несколько лет вопрос будет не в том, умеет ли устройство ИИ, а в том, как сильно оно умеет без сети, и насколько охотно пользователь доверяет ему то, что раньше бездумно отправлялось в чужой дата-центр.

Почему память важнее счёта. Тензорные вычисления упираются не в количество умножений, а в то, как быстро веса попадают в вычислительную структуру. Модель с двумя миллиардами параметров при INT8 весит два гигабайта, и на каждом проходе её надо прочитать почти целиком: пропускная способность 100 ГБ/с превращается в предел около пятидесяти токенов в секунду независимо от того, сколько ядер задействовано. Отсюда и парадоксальная метрика: при выборе машины для локального инференса смотрят сначала на ширину памяти, потом на NPU TOPS. Плоская архитектура с быстрым LPddr5x часто обходит громоздкий GPU, если тот вынужден ждать свою очередь за данными.

Программная экосистема как фактор выживания. Локальный ИИ выигрывает, когда форматы и рантаймы общие: ONNX-модель можно таскать между бэкендами, DirectML и OpenVINO не держат разработчика за руку, а переключение между CPU, iGPU и NPU становится строчкой конфигурации. Там, где экосистема закрыта, пользователь держится за облако дольше, потому что перенос болезнен. Поэтому борьба за локальные модели это поверхностно битва чипов, а по существу битва за привычку: выигрывает тот стек, который делает локальную обработку настолько скучной, что инженер даже не помнит, где сегодня выполняется модель - в дата-центре или в батарее устройства.

Осторожность с прогнозами. Разумный горизонт прогнозирования составляет пару лет: железо совершенствуется быстрее обычных циклов, а то, что казалось пределом для локальной задачи, оказывается обыденным ещё до выхода следующей модели. Уверенно можно утверждать только одно: спрос на приватность и скорость не уменьшится, а значит, локальный ИИ останется востребованным там, где главная просьба звучит так - «обработай это, и пусть это никуда не уезжает».