LLM на iPhone: от llama.cpp до Foundation Models. Apple Foundation Models.. Apple Foundation Models. core ml.. Apple Foundation Models. core ml. ios.. Apple Foundation Models. core ml. ios. llama.cpp.. Apple Foundation Models. core ml. ios. llama.cpp. on-device AI.. Apple Foundation Models. core ml. ios. llama.cpp. on-device AI. Swift.. Apple Foundation Models. core ml. ios. llama.cpp. on-device AI. Swift. локальные модели.
LLM на iPhone: от llama.cpp до Foundation Models - 1

2026: год, когда on-device стал нормой

В 2025 году вместе с iOS 26 компания Apple представила разработчикам Apple Foundation Models. Теперь порог входа для on-device AI упал до нескольких строк, и далее в статье мы рассмотрим как он выглядит. 

А в январе 2026 года Apple заключила сделку с Google в рамках которой следующее поколение Apple foudation models будет основано на технологии Google Gemini. По данным Bloomberg стоимость этой сделки составляет 1 млрд долларов в год. Apple по-прежнему держит контроль над пользовательскими данными, запросы будут выполняться локально, что-то сложное, с чем не может справиться локальная модель – будет отправляться в облако Apple Private Cloud Compute. 

Зачем выносить модель на устройство

Забегая вперед хочу сказать, что цель этого сравнения не донести мысль, что, с  учетом таких минусов, нужно только локально модели запускать, нет. Дело в том, что облачные модели, несмотря на свои преимущества, все же имеют ряд недостатков, и некоторые из них хорошо могут быть компенсированы моделями локальными. 

Рассмотрим несколько причин: 

  • Privacy и compliance. Ни для кого не секрет,  что при использовании облачных моделей, таких как ChatGPT, Gemini и др. данные отправляются на сервер и могут использоваться для дообучения модели, и в целом – данные уходят на сервер и дальше мы не можем быть уверены как и для какой цели они могут быть использованы. Это становится проблемой, если речь идет о юридических, финансовых, документах или медицинских данных. В свою очередь, у Local LLM такая проблема отсутствует – данные не только не уходят на сервер, они не распространяются за рамки одного устройства (что в свою очередь отчасти и недостаток). 

  • Бесплатный inference. Тут все понятно, чем больше токенов или возможностей мы используем, тем больше стоимость нашей подписки. С Local LLM такой проблемы нет, стоимость on-device инференса равна 0. 

  • Offline-first. Несмотря на корректные, развернутые, четкие ответы облачной модели, от нее нет никакого смысла, при отсутствии доступа к сети. Эту проблему хорошо решает Local LLM – допустим, я хочу что-то «погуглить» при отсутствующей связи, если я например нахожусь в самолете/метро/в горах.

Для наглядного сравнения предлагаю посмотреть на таблицу, где сравниваем параметры облачных моделей (Gemini 1.2T, GPT-4o) и локальную (Apple FM ~3B):

Параметр

Облако (Gemini 1.2T, GPT-4o)

On-device (Apple FM ~3B)

Данные

На серверах провайдера

Локально, в Unified Memory

Стоимость

Плата за токены ($0,5-15 за 1M)

Ноль – считает устройство клиента

Сеть

Нужен стабильный интернет

Работает офлайн

Задержка до 1-го токена

300+ мс (сетевой RTT)

~0,6 мс на токен промпта

Контекст

128K-2M токенов

~2K-8K (упирается в RAM)

Reasoning

Сильный (математика, код)

Ограничен (анализ, суммаризация)

Более того, использование локальных моделей уже в продакшене у многих крупных компаний: Apple (Writing Tools, приоритизация уведомлений, Smart Replies), Samsung (Galaxy AI на Gemini Nano через AICore) и приложения из App Store – SmartGym (разбор запроса в тренировку, работает с вышеупомянутым Apple Foundation Models), Signeasy (суммаризация контрактов офлайн), Stoic (анализ дневника в RAM), VLLO (генерация заголовков к видео).

Сразу стоит сказать, что on-device – не панацея. ~3B параметров, ~1,5 ГБ только под веса, нужен iPhone 15 Pro+ (A17 Pro/A18) и iOS 26+. Где нам провести границу – разберем в финале.

От llama.cpp к Foundation Models

Не так давно давно путь внедрения Local LLM на устройство выглядел так: найти GGUF-веса, выбрать квантизацию, поднять llama.cpp, написать обвязку, самому управлять токенизацией и KV-кэшем. Работало, но это инженерия ради инженерии.

Сегодня для базовых задач достаточно вот этого:

import FoundationModels 

let session = LanguageModelSession() 
let answer = try await session.respond(to: "Суммируй: (text)")

Так выглядит использование фреймворка Apple Foundation Models, о котором я говорю в начале статьи. Пара строк – и готова сессия модели с ответом. LanguageModelSession() создаёт объект сессии, и он хранит историю всех ваших запросов и ответов модели. Чтобы использовать новый фреймворк достаточно сделать import и проверить совместимость (об этом ниже), при этом никаких подписок, ключей, доступ в сеть не нужен. 

И это еще не все. Apple Foundation Models включает следующие инструменты: @Generable (структурированный вывод), Guided Generation, Tool Calling. Подробно сейчас их все рассматривать не будем, т. к. лучше всего это будет сделать в отдельной статье, но, для примера, с помощью макроса @Generable модель возвращает не текст, который нужно было бы потом еще спарсить, а строго типизированную структуру Swift.

Как устроен стек Apple

Если все сильно упростить, стек компании Apple можно разделить на четыре «слоя»:

  1. Apple Neural Engine- 16-ядерный NPU (~38 TOPS на A18 Pro) с нативной поддержкой 2-х  и 4-х битных операций – отдельный сопроцессор на котором выполняются вычисления, связанные с работой искусственного интеллекта. Изначально был создан для Face ID, чтобы не перегружать вычислениями CPU и GPU. В настоящее время используется во многих фишках iPhone, таких как ночная/портретная съемка, подборка фотографий в Воспоминаниях, Siri и многое другое. 

  2. Metal Performance Shaders (MPS) – набор высокопроизводительных вычислительных API от Apple, часть экосистемы Metal. Предоставляет разработчику возможность эффективно использовать GPU под разные цели и дает набор мощных функций, но нас в рамках этой статьи интересуют функции связанные с ИИ, и MPS дает нам следующие компоненты для этой цели:

  • Графы нейросетей: позволяют строить, обучать или запускать сверточные нейросети (CNN), рекуррентные сети и трансформеры;

  • Матрично-векторные операции: базовые математические операции линейной алгебры;

  • Матричное умножение;

  • Обработка изображений: обширный набор фильтров для обработки фотографий и компьютерного зрения, используемый как этап препроцессинга данных для ML.

3. Core ML – также фреймворк от Apple. Был представлен на WWDC17 и предназначен для интеграции модели в приложения на устройствах iOS, iPadOS, watchOS и macOS. Простыми словами: потребуется модель формата .mlmodel. Получить модель можно двумя способами: если есть готовая модель, то можно сконвертировать ее в формат с помощью скриптов на Python (успешность результата конвертации можно узнать только опытным путем), либо создать модель непосредственно в Xcode, тут потребуется только Data Set двух видов Train (обучающий) и Test (проверочный), после загрузки данных Xcode автоматически обработает изображения и начнет процесс обучения, после завершения возможно будет интегрировать модель в проект и написать функции для взаимодействия с ней. Допустим, есть приложение по классификации изображений: Hotdog / Not a hotdog. Благодаря Core ML функция запроса к модели будет выглядеть не сложнее сетевого запроса. 

LLM на iPhone: от llama.cpp до Foundation Models - 2

4. Apple Foundation Models. Новинка 2025 года, о которой говорим в начале статьи. Некоторые фишки уже упомянули, давайте посмотрим что внутри предлагают: 

  • ~3B параметров, decoder-only, Grouped-Query Attention, словарь 49K с разделяемыми эмбеддингами;

  • Mixed 2/4-bit QAT – квантизация прямо во время обучения, в среднем 3,7 бита на вес. Веса занимают ~1,5 ГБ;

  • KV-cache sharing 5:3 – последние 37,5% слоёв переиспользуют KV-кэш предыдущего блока. Минус 37,5% памяти под кэш и быстрее первый токен;

  • LoRA-адаптеры rank 16 (свои – до rank 32) подгружаются на лету под конкретную задачу.

Что выбрать для проекта

LLM на iPhone: от llama.cpp до Foundation Models - 3

У меня, как у iOS разработчика, есть три способа в настоящий момент, некоторые из них мы частично рассмотрели. Рассмотрим что, где, когда. 

  1. Apple Foundation Models. Если нужно быстро проверить AI-фичу. Например, у вас приложения по подсчету калорий, и вы хотите добавить фишку чтобы пользователь вводил лимит калорий/продукты и получал меню на неделю. Из преимуществ, можно обойтись минимальными затратами: не нужны ключи, сетевые запросы. Модель будет работать на устройстве пользователя. Недостатки: минимум iPhone 15 Pro и новее (чип A17 Pro и выше). Контроль минимален, модель одна и та же, и никакая иная конфигурация невозможна. 

  2. Core ML. Это что-то среднее между  Foundation Models и последним фреймворком. Здесь уже контроля чуть больше: у вас может быть своя обученная модель. Core ML предоставляет разработчику следующие возможности: распознавание объектов, обработка естественного языка, распознавание вручную написанного текста и многое другое. 

  3. llama.cpp  – фреймворк на С++, добавить можно как отдельную зависимость в проект. Это популярный инструмент для запуска LLM на устройстве. Его преимущества в том, что он дает детально настроить параметры инференса и позволяет запускать нейросейти на GPU. Движок llama.cpp предоставляет максимальную гибкость настройки и лучшую производительность. Из недостатков: придется написать обертку на Objc, но хорошая новость в том, что можно найти уже готовые «обертки», которые предоставляют удобный API для работы c llama.cpp. 

Для удобства восприятия сравнение в таблице: 

LLM на iPhone: от llama.cpp до Foundation Models - 4

И главный аргумент, почему это вообще работает на устройстве. 4B-модель 2026 года ≈ 175B-модель 2023 года. GPT-3 (175 млрд) выдавал ~43,9% на MMLU, современные 3-4B уверенно его обходят:

Модель

Размер

MMLU 5-shot

RAM (4-bit)

GPT-3 (для справки)

175B

43,9% (до ~70% у 3.5)

более 350 ГБ (FP16)

Apple Foundation Model

~3B

61,4%

~1,5 ГБ

Llama 3.2 3B

3,2B

63,4%

~2,0 ГБ

Phi-4 Mini

3,8B

67,3%

2,2 ГБ

Gemma 4 E4B

4,5B эфф.

69,4% (MMLU-Pro)

~2,6 ГБ

Qwen 3 4B

4,0B

~81,5%

~2,5 ГБ

Выводы: будущее гибридное

On-device запуск моделей не отменяет облако, но может взять на себя то, что можно сделать локально, дёшево и приватно. Но у локальной модели есть жёсткий потолок, и я думаю, его стоит назвать честно:

  • Память. ~1,5 ГБ только под веса; планировщик iOS (Jetsam) без церемоний убьёт приложение за превышение RAM.

  • RAG хромает. На тесте RED-flow встроенная модель давала 45% ложных отказов на 1000 вопросов, а с жёсткой инструкцией по типу: «отвечай только по тексту» – до 90%.

  • Не энциклопедия и слабый reasoning. Факты о мире и длинные цепочки рассуждений – в облако. Большинство локальных моделей плохо поддерживают формат диалога-чата, для примера, в документации Apple по Apple FM прямо подчеркивается, что модель не походит для ведения длинного диалога. 

Таким образом, выигрывает не «всё локально» или «только облако», а инженерное решение, где провести границу: чувствительное и быстрое – на устройстве, сложное и редкое – в облаке. Ровно так Apple и построила связку Foundation Models + Private Cloud Compute. Roadmap для команды простой: начните с Foundation Models для одной конкретной фичи, замерьте, что упирается в потолок локальной модели, и только эти запросы уводите в облако.

Больше подробных разборов в тг

Автор: Viktoriaios

Источник