Рекорд на ладони: 45 токенов в секунду на iPhone
Еще вчера запуск языковой модели на телефоне был чем-то вроде фокуса. Сегодня BitNet превращает iPhone в полноценную LLM-станцию. 45 токенов в секунду на модели с 700 миллионами параметров — это не маркетинговая уловка, а реальные цифры с iPhone 15 Pro. Секрет? 1-битные веса и грамотная оптимизация под ARM-архитектуру.
На 20 февраля 2026 года BitNet b1.58 остается самой эффективной архитектурой для мобильных устройств. Последние версии bitnet.cpp (v0.4.2) добавляют поддержку новых iPhone и оптимизацию под Apple Neural Engine.
Что внутри этой штуки?
BitNet b1.58 — это не просто квантованная модель. Это архитектура, изначально спроектированная под 1.58 бита на вес (да, дробное число — там есть -1, 0 и +1). В отличие от ранних экспериментов с 1-битными LLM, здесь качество не страдает катастрофически. Модель 0.7B показывает результаты, сравнимые с 3B-моделями в традиционном формате FP16.
| Параметр | Значение | Что это значит |
|---|---|---|
| Размер модели | ~140 МБ | Помещается в кэш процессора |
| Скорость (iPhone 15 Pro) | 45 токенов/с | Быстрее, чем печатает средний человек |
| Потребление памяти | ~300 МБ RAM | Фоновое приложение не "убивается" |
| Энергопотребление | 2-3 Вт (пик) | Телефон не превращается в грелку |
ARM NEON: магия под капотом
Здесь начинается техническая магия. BitNet использует инструкции ARM NEON для SIMD-операций (Single Instruction, Multiple Data). Проще говоря: одна команда обрабатывает кучу данных сразу. Для 1-битных весов это идеально — можно упаковать 64 веса в одно 64-битное слово и обработать за такт.
В браузерной версии BitNet для iPad используют WebGPU. На iOS native — прямой доступ к железу через NEON. Разница в производительности колоссальная: 45 токенов/с против 12-15 в браузере на том же железе.
Сравниваем с альтернативами: кто быстрее?
Llama.cpp? GGUF? MNN? Все они проигрывают в гонке за мобильность. Вот холодные цифры на iPhone 15 Pro (тесты от 15.02.2026):
- BitNet 0.7B (1-bit): 45 токенов/с, 140 МБ, качество 7/10
- Llama.cpp (Q4_K_M): 18 токенов/с, 420 МБ, качество 8/10
- Jan-v3 4B в MNN: 12 токенов/с, 2.4 ГБ, качество 9/10
- Nanbeige 3B (GGUF Q4): 8 токенов/с, 1.8 ГБ, качество 8.5/10
BitNet выигрывает не потому, что "лучше", а потому, что создан для мобильных устройств. Как Jan-v3 в формате MNN был прорывом год назад, так BitNet сегодня.
Как запустить: от теории к практике
Хватит теории. Вот что нужно сделать, чтобы BitNet заработал на вашем iPhone:
1 Скачиваем и компилируем
Берем последнюю версию bitnet.cpp с GitHub (на 20.02.2026 это v0.4.2). Компилируем через Xcode 17.2 с флагами оптимизации под ARMv8.4-A. Важный момент: включаем поддержку dotprod-инструкций (удочеренное умножение-сложение) — они ускоряют обработку 1-битных весов в 2 раза.
Не пытайтесь собрать старые версии! В v0.3.x не было полноценной поддержки iOS Metal для активаций. Без этого модель работает, но в 3 раза медленнее.
2 Конвертируем модель
BitNet-модели в формате .safetensors конвертируем в собственный формат bitnet.cpp. Тут есть нюанс: некоторые веса требуют калибровки под 8-битные активации. Авторы выложили готовые конвертированные модели BitNet-0.7B и BitMamba-2-1B (последняя показывает еще лучшие результаты на длинных контекстах).
3 Настраиваем iOS приложение
Создаем минимальное SwiftUI-приложение. Подключаем скомпилированную библиотеку bitnet.cpp как C++ framework. Важно: настраиваем memory-mapped файлы для модели — так она не загружается полностью в RAM, а подгружается по мере необходимости. Для iPhone с 6-8 ГБ RAM это критично.
Интерфейс простой: текстовое поле, кнопка "Generate", и потоковый вывод. Bitnet.cpp поддерживает streaming API, так что токены появляются по мере генерации.
Где это использовать? Реальные кейсы
45 токенов в секунду — это не для сочинения романов. Но для конкретных задач идеально:
- Автодополнение в заметках: Пишете текст — модель предлагает продолжение. Задержка меньше 100 мс.
- Локальный чат-бот: Конфиденциальные вопросы без отправки в облако. Как в AI Router для мобильных приложений, но полностью offline.
- Резюмирование документов: Загружаете PDF — получаете краткое содержание. BitNet-0.7B справляется с контекстом 4096 токенов.
- Код-генерация: Не полноценные приложения, но шаблоны, исправления синтаксиса, перевод между языками.
Самое интересное: можно сделать распределенную систему с Mac, где iPhone обрабатывает легкие запросы, а тяжелые перебрасываются на десктоп.
Подводные камни и ограничения
Идеальных технологий не бывает. BitNet на iPhone имеет свои тараканы:
- Качество хуже, чем у 3B+ моделей: 0.7B параметров — это мало. Для сложных рассуждений не подойдет.
- Только английский: Мультиязычные модели в 1-битном формате пока сырые.
- Нагрев при длительной работе: 2-3 ватта — немного, но 10 минут непрерывной генерации — и корпус теплеет.
- Нет batch processing: Один запрос за раз. Параллельные запросы "ломают" кэш внимания.
Для продакшена с большими нагрузками лучше смотреть в сторону bitnet.cpp на серверах, но для мобильного использования ограничения приемлемые.
Кому подойдет эта технология?
BitNet на iPhone — не для всех. Идеальная аудитория:
- Мобильные разработчики, которые хотят добавить ИИ-фичи без облачной инфраструктуры.
- Исследователи, тестирующие новые архитектуры на edge-устройствах.
- Компании с требованиями к конфиденциальности: данные не уходят из устройства.
- Энтузиасты, которым надоело зависеть от OpenAI и Co.
Если вам нужно максимальное качество — берите Nanbeige 3B или более крупные модели. Если скорость и эффективность — BitNet.
Попробуйте запустить BitNet на своем iPhone. 45 токенов в секунду — это тот порог, после которого ИИ на телефоне перестает быть "почти рабочим" и становится действительно полезным. Главное — не ожидайте от 0.7B модели чудес. Но для повседневных задач ее хватает с избытком.