Локальная LLM на iPhone для суммирования встреч: модели, квантование, CoreML | AiManual
AiManual Logo Ai / Manual.
25 Янв 2026 Гайд

Забей на облака: Запускаем локальную LLM на iPhone для суммирования встреч

Полное руководство по запуску локальных языковых моделей на iPhone для автономного суммирования встреч. Модели, квантование, CoreML и оптимизация на 25.01.2026.

Зачем это вообще нужно? (Спойлер: не только для приватности)

Смотри, вот классика: ты на встрече, записываешь все на диктофон. Потом заливаешь в облако, ждешь минуты три, пока Whisper распознает речь. Потом еще ждешь, пока GPT-4 все это осмыслит и выдаст конспект. А теперь представь: ты вышел из офиса, интернета нет, а конспект нужен прямо сейчас. Или у тебя конфиденциальные переговоры, и ты не хочешь, чтобы запись улетала куда-то в Калифорнию.

Локальный ИИ на iPhone решает все эти проблемы разом. Но есть нюанс: заставить 3-миллиардную модель работать на процессоре, который в первую очередь создан для скроллинга TikTok - это искусство. Искусство квантования, оптимизации и выбора правильных инструментов.

Актуально на 25.01.2026: За последний год Apple серьезно доработала Neural Engine в чипах A18 и M4. Теперь они справляются с моделями до 7B параметров в квантованном виде без особых проблем. Но 13B - это уже предел, и то с натяжкой.

Какие модели реально работают на iPhone в 2026 году

Забудь про GPT-4, Claude 3 и прочих монстров. На iPhone нужны легкие, но умные модели. Вот что проверено и работает:

Модель Размер Качество суммирования Скорость на iPhone 16 Pro
Qwen2.5-3B-Instruct 3B параметров Отличное для встреч ~15 токенов/сек
Gemma2-2B-it 2B параметров Хорошее, быстрее Qwen ~25 токенов/сек
Phi-3.5-mini-instruct 3.8B параметров Лучшее в своем классе ~12 токенов/сек
Liquid AI LFM2.5-1.2B-Thinking 1.2B параметров Специализированная для рассуждений ~40 токенов/сек

Почему именно эти? Qwen2.5-3B - золотая середина между качеством и скоростью. Она понимает контекст встреч, выделяет решения и action items. Gemma2-2B - если нужна максимальная скорость. Phi-3.5-mini - если качество важнее всего. А про Liquid AI LFM2.5 я уже писал - она уникальна своей архитектурой, но требует специфичной настройки.

Не пытайся запихнуть на iPhone модель больше 7B параметров. Даже с квантованием. Она будет работать, но суммирование 30-минутной встречи займет 15 минут. Что бессмысленно.

Магия квантования: Как уменьшить модель в 4 раза без потери качества

Квантование - это не магия, а математика. Берешь веса модели (обычно 32-битные float) и превращаешь их в 8-битные или даже 4-битные целые числа. Размер уменьшается в 4-8 раз, скорость растет.

Но есть подвох: слишком сильно сожмешь - модель превратится в бредогенератор. Проверенные настройки для суммирования встреч:

  • Q4_K_M - лучший баланс для 3B-моделей. Качество почти как у оригинала, размер в 4 раза меньше.
  • Q5_K_S - если есть место в памяти. Немного лучше, особенно для длинных контекстов.
  • IQ3_XXS - экспериментальный метод от llama.cpp. Для 2B-моделей дает прирост скорости в 1.5 раза.

Как это выглядит на практике? Берешь Qwen2.5-3B. Оригинал весит ~6GB. После квантования Q4_K_M - 1.8GB. Разница - между "не помещается в память" и "работает шустро".

💡
Используй llama.cpp для квантования. На 25.01.2026 это все еще самый стабильный инструмент. Новые методы типа QuIP# и AQLM обещают лучшее качество, но поддержка в iOS-библиотеках пока сырая.

Транскрипция: Whisper на Neural Engine

Суммировать нужно текст, а не аудио. Значит, сначала превращаем запись в текст. И здесь у Apple есть секретное оружие - Neural Engine.

Вместо того чтобы тащить полный Whisper large-v3 (1.5GB), используй Whisper-tiny или distil-whisper. Они в 10 раз меньше, а для четкой речи в тихой комнате работают почти так же хорошо.

Самое главное - запускать транскрипцию на Neural Engine, а не на CPU. Разница в скорости - в 3-4 раза. На CoreML это выглядит так:

import CoreML
import WhisperKit

// Конфигурация для Neural Engine
let config = MLModelConfiguration()
config.computeUnits = .all // Используем и CPU, и GPU, и Neural Engine

// Загрузка модели
try whisper = WhisperKit(configuration: config)

// Транскрипция напрямую с микрофона
let result = try await whisper.transcribe(
    audioArray: audioSamples,
    language: "ru" // Автоматическое определение тоже работает
)

На iPhone 16 Pro 30 минут аудио транскрибируются за 2-3 минуты. В фоне, пока ты идешь на следующую встречу.

Собираем все вместе: архитектура приложения

Вот где начинается настоящая инженерия. Нельзя просто взять и запустить модель. Нужно:

  1. Записать аудио (AVFoundation)
  2. Транскрибировать (Whisper + CoreML)
  3. Подготовить промпт для суммирования
  4. Запустить LLM (через llama.cpp или Swift Transformers)
  5. Показать результат и сохранить

Ключевой момент - промпт. Для суммирования встреч нужен специальный шаблон:

Транскрипт встречи:
"""
{transcript}
"""

Суммаризируй эту встречу, выделив:
1. Основные темы обсуждения
2. Принятые решения
3. Action items (кто, что, к когда)
4. Открытые вопросы
5. Следующие шаги

Будь кратким, но информативным. Используй маркеры.

1 Выбор инструментов: не изобретай велосипед

В 2026 году есть три рабочих пути:

  • Swift Transformers 1.0 - нативный Swift, идеально для простых сценариев
  • llama.cpp + Swift binding - максимальная производительность, но сложнее
  • AnyLanguageModel - абстракция над разными бэкендами, если планируешь поддержку и облачных моделей

Для нашего случая (только локальные модели, максимум производительности) - llama.cpp. Да, придется повозиться с биндингами, но результат того стоит.

2 Подготовка модели: конвертация в CoreML

Здесь многие спотыкаются. Берешь квантованную модель в формате GGUF (от llama.cpp) и конвертируешь в CoreML. Но не напрямую!

Правильный путь:

# 1. Скачиваем оригинальную модель (не квантованную)
git clone https://huggingface.co/Qwen/Qwen2.5-3B-Instruct

# 2. Конвертируем в ONNX
python -m transformers.onnx --model ./Qwen2.5-3B-Instruct onnx_output/

# 3. Конвертируем ONNX в CoreML
coremltools.converters.onnx.convert(
    model="onnx_output/model.onnx",
    minimum_ios_deployment_target="18.0",
    compute_units=coremltools.ComputeUnit.ALL
)

Почему так сложно? Потому что прямая конвертация GGUF -> CoreML часто ломает attention layers. А через ONNX все работает стабильно.

Не пытайся конвертировать на Mac с Intel. Результат будет работать, но в 2 раза медленнее. Используй Apple Silicon (M1/M2/M3/M4) - там конвертер генерирует оптимизированные под Neural Engine веса.

3 Оптимизация памяти: игра в тетрис с RAM

iPhone 16 Pro имеет 8GB RAM. Модель 3B в Q4_K_M - 1.8GB. Транскрипт 30-минутной встречи - 0.5GB. Остается ~5.7GB. Вроде много, но система тоже ест память.

Трюки:

  • Memory mapping - загружай модель по частям, а не целиком
  • Context window 2048 - для суммирования встреч хватает. Не ставь 8192, как для чата
  • Очистка кэша - после каждого суммирования сбрасывай context

В llama.cpp это настройки -ngl 35 (сколько слоев на GPU) и -c 2048 (длина контекста).

Готовые решения: когда нет времени на разработку

Если все это кажется слишком сложным (а так и есть), есть готовые варианты:

  • KernelAI - 43 модели в одном приложении, включая суммирование
  • Lekh AI - специализируется на локальной обработке документов и встреч
  • Мое собственное приложение (ссылка в профиле) - заточенное именно под суммирование встреч с русским языком

Но готовые решения имеют ограничения. Нельзя поменять промпт, нельзя добавить свою модель, нельзя оптимизировать под конкретный сценарий.

Ошибки, которые все совершают (и ты совершишь)

Из моего опыта и статьи про ошибки:

Ошибка Что происходит Как исправить
Квантование до Q2_K Модель генерирует бессмыслицу Используй минимум Q4_K_M для суммирования
Контекст 8192 токенов Приложение падает при длинных встречах 2048 достаточно, предварительно обрежь транскрипт
Загрузка модели в main thread UI зависает на 10 секунд Загружай в фоне, показывай индикатор
Нет кэширования модели Каждое суммирование ждет загрузки Держи модель в памяти, пока приложение активно

Что будет дальше? (Прогноз на 2026-2027)

Сейчас мы на грани. Модели 7B параметров уже почти помещаются на iPhone. Через год, с iPhone 17 и чипом A19, 13B-модели станут нормой.

Но главный тренд - не размер, а эффективность. Та же Liquid AI показывает, что можно делать модели в 10 раз меньше, но с таким же качеством, за счет новой архитектуры.

Мой совет: начни с Qwen2.5-3B-Instruct в Q4_K_M. Это проверенный вариант, который работает здесь и сейчас. Через полгода, когда появятся более эффективные модели, сможешь легко переключиться.

А самое главное - ты больше не зависишь от облаков, API-ключей и интернета. Твои встречи остаются твоими. И суммируются тогда, когда нужно тебе.

💡
Если все это кажется overwhelming - начни с готового решения типа KernelAI. Поймешь, нужно ли тебе вообще локальное суммирование. Потом, если понадобится кастомизация, вернешься к этой статье и сделаешь свое.