Модель на 20 ГБ в вашем iPhone с 8 ГБ памяти
Исследователи ИИ недавно совершили замечательный подвиг: развернули Qwen 3.5, большую языковую модель-гигант с 35 миллиардами параметров, непосредственно на обычном iPhone. Это не просто демонстрация; модель выдает рабочие 11 токенов в секунду, превращая карманное устройство в мощный локальный ИИ-движок.
Такая модель обычно требует огромного объема памяти. Модель с 35B параметров, даже при квантовании до 4-битной точности, требует около 20 гигабайт (ГБ) оперативной памяти. Это значительно превышает физическую память, доступную на большинстве мобильных устройств, которая часто ограничена 8 ГБ, что создает фундаментальный барьер для локального ИИ.
Преодоление этого ограничения зависит от архитектуры Mixture of Experts (MoE). В отличие от традиционных плотных моделей, где каждый параметр активируется для каждого вычисления, модели MoE активируются разреженно. Для любого заданного ввода компонент «маршрутизатор» (router) интеллектуально выбирает и активирует только небольшое подмножество специализированных «экспертов» внутри модели.
Эта разреженная активация фундаментально меняет управление памятью. Вместо загрузки всей 20-гигабайтной модели в оперативную память, в активной памяти должны находиться только текущие активные эксперты, наряду с важными компонентами, такими как механизмы внимания (attention mechanisms). Это значительно сокращает объем памяти в реальном времени, позволяя основной части модели оставаться на более медленном и емком хранилище, таком как SSD iPhone, до тех пор, пока она не понадобится.
SSD-to-GPU: конвейер экспертов по требованию
Запуск LLM с 35B параметров на ограниченной памяти iPhone требует умной стратегии секционирования памяти (memory partitioning). Компактное ядро из основных компонентов модели объемом 1,4 ГБ остается в оперативной памяти, включая:
- Эмбеддинги
- Механизмы внимания
- Маршрутизаторы
- Одного общего эксперта
Остальные 12 ГБ, состоящие из 40 файлов экспертов модели (каждый около 300 МБ), находятся на высокоскоростном SSD iPhone.
Для каждого сгенерированного токена система инициирует процесс динамического извлечения. Внутренний маршрутизатор (router) выбирает восемь конкретных экспертов на слой из 256 вариантов модели по всем 40 слоям. Затем движок считывает эти выбранные файлы экспертов напрямую с SSD в память GPU. Это приводит примерно к 320 небольшим операциям чтения на токен, гарантируя, что для немедленного вычисления загружаются только необходимые параметры.
Такая потоковая передача экспертов по требованию радикально сокращает объем используемой активной памяти. Хотя модель Qwen 3.5 может похвастаться 35 миллиардами параметров, для любого отдельного токена активны только около 3 миллиардов. Столь эффективное распределение ресурсов является ключом к работе модели такого масштаба на потребительском оборудовании, используя SSD в качестве расширенной высокоскоростной «виртуальной оперативной памяти» для подавляющего большинства неактивных параметров.
Почему ОС Apple перехитрила пользовательский кэш
Разработчики изначально внедрили существенный пользовательский кэш (custom cache) объемом 9,8 ГБ в своем приложении для управления данными экспертов. Как ни странно, удаление этой специализированной системы и переход на использование собственного страничного кэша iOS привели к значительному приросту производительности на 38%. Этот неожиданный результат подчеркивает фундаментальный принцип проектирования операционных систем.
Выделение такого большого фиксированного блока оперативной памяти под эксклюзивный кэш приложения оказалось вредным. Эта стратегия непреднамеренно лишила ресурсов два критически важных системных компонента: GPU, которому требуется значительная память для вычислений, и собственные сложные механизмы динамического кэширования операционной системы. Явное резервирование памяти приложением по сути конкурировало с ОС, а не дополняло ее.
iOS page cache стал невоспетым героем, динамически управляющим свободной оперативной памятью. Он интеллектуально сохраняет часто используемые эксперты в памяти, предвидя будущие потребности. Эта система гораздо эффективнее: она адаптируется к общим системным требованиям и обеспечивает оптимальное распределение памяти между всеми процессами без необходимости предварительного выделения ресурсов приложением.
Выполнение жестких требований к скорости чтения свыше 5 ГБ/с критически важно для поддержания генерации 11 токенов в секунду. Однако физический флеш-накопитель iPhone достигает пика примерно в 1,6 ГБ/с. В результате операционная система организует большую часть операций чтения экспертов напрямую из оперативной памяти через свой page cache, что является решающим фактором для таких моделей, как вариант Qwen 3.5 A3B. Узнайте больше об архитектуре на Qwen3.5-35B-A3B - ModelScope.
Нравится статья? Получайте такие каждое утро на почту.
одно письмо в день · отписка в два клика · без сторонних трекеров
Более умное сжатие и реальные радиаторы охлаждения
Для достижения такой производительности, нативной для iPhone, потребовался тонкий подход к сжатию модели: многоуровневая квантование (tiered quantization). Разработчики заметили, что примерно 25% «экспертов» модели Mixture of Experts (MoE) выполняют около 80% всей работы. Эти часто используемые «горячие» эксперты сохраняют более качественную 4-битную точность, что позволяет сберечь критически важную информацию.
Напротив, оставшиеся, менее востребованные «холодные» эксперты подвергаются более глубокому сжатию, уменьшающему их размер до 2 бит. Такая интеллектуальная дифференцированная обработка сокращает общий объем модели в хранилище на существенные 34%, уменьшая его с первоначальных 19 ГБ до 13 ГБ.
Это значительное уменьшение размера на диске напрямую влияет на производительность, позволяя большей части весов модели Qwen 3.5 размещаться в эффективном iOS page cache. Размещение большего объема данных в быстрой памяти вносит существенный вклад в наблюдаемую скорость генерации 11 токенов в секунду, минимизируя зависимость от более медленного чтения с SSD.
Столь интенсивные и продолжительные вычисления на компактном мобильном устройстве неизбежно генерируют значительное тепло; пользователи сообщают, что iPhone становится заметно горячим, а по словам одного из разработчиков, он даже «прожигает руку». Это подчеркивает практические тепловые проблемы, возникающие при доведении ИИ-инференса до предела на потребительском оборудовании.
Более того, разработчики столкнулись с критической ошибкой, из-за которой модель попадала в бесконечный цикл, повторяя токены после нескольких слов. Функция async_pread_wait, отвечающая за чтение данных экспертов из хранилища, требовала срочного исправления. Изначально она не могла правильно проверять чтение для уменьшенных вдвое 2-битных «холодных» экспертов, молча пропуская их и фактически запуская модель с неполной информацией. Исправление этого упущения было критически важным для стабильного и связного вывода.
Часто задаваемые вопросы
Какая основная технология позволяет запускать модель 35B на iPhone?
Эта технология использует архитектуру модели Mixture of Experts (MoE). Вместо загрузки всей 20-гигабайтной модели в оперативную память, в ней постоянно находится только небольшое ядро объемом 1,4 ГБ, в то время как остальные «эксперты» модели подгружаются с быстрого SSD-накопителя телефона по мере необходимости для генерации каждого токена.
Какая модель использовалась в демонстрации?
В демонстрации использовалась Qwen 3.5, модель Mixture of Experts с 35 миллиардами параметров. В частности, это вариант A3B, что означает, что для генерации любого отдельного токена активно только около 3 миллиардов параметров.
Что такое модель Mixture of Experts (MoE)?
MoE — это архитектура нейронной сети, в которой модель состоит из множества небольших «экспертных» сетей. Для любого заданного входного сигнала механизм маршрутизации выбирает небольшое подмножество этих экспертов для его обработки. Такая разреженная активация делает их высокоэффективными для инференса.
Какая производительность была достигнута на iPhone?
Настройка позволила достичь скорости генерации 11 токенов в секунду. Однако такой уровень обработки привел к тому, что iPhone очень быстро и заметно нагревался.

