Перейти к содержанию
Публикация AiManual

Apple Foundation Models в MacOS 27: как запустить локальный AI из терминала командой fm chat

В MacOS 27 Apple открыла доступ к Foundation Models прямо из терминала: чат с моделью запускается командой fm chat, без Python, без NVIDIA и без скачивания чужи

Коротко

Что будет в материале

  1. 01

    Что такое Apple Foundation Models и почему это важно для локального AI

  2. 02

    Как получить доступ к AFM и запустить fm chat в терминале

  3. 03

    Чем AFM отличается от открытых локальных моделей

  4. 04

    Насколько хороши AFM: тесты, отзывы и пригодность для разработки

Что такое Apple Foundation Models и почему это важно для локального AI

Apple Foundation Models (AFM) - семейство языковых моделей Apple, рассчитанных на работу на устройстве: на самом Mac или iPhone, а не в дата-центре. В обзорах macOS 27 Golden Gate фигурируют AFM 3 Core на 3 млрд параметров и AFM 3 Core Advanced на 20 млрд параметров со sparse-архитектурой, которая активирует 1-4 млрд параметров на запрос, плюс облачные уровни (разбор macOS 27 Golden Gate, Siri AI и моделей AFM 3). Ключевое слово здесь - on-device: веса живут в памяти устройства, запрос обрабатывается на месте.

В MacOS 27 Apple добавила доступ к этим моделям из терминала. Раньше до on-device моделей можно было добраться из кода приложений через системный фреймворк, теперь тот же уровень открывается командой в оболочке: fm chat запускает чат с моделью без отдельного приложения и без локального сервера. Для разработчика локальная LLM встаёт в один ряд с git, curl и python: её можно вызывать из скриптов, пайпов и задач на машине сборки.

Оговорка с самого начала: подтверждённой официальной документации по fm chat с полным списком флагов на момент публикации нет. Фактура сводится к анонсу Apple и обсуждению среди разработчиков, воспроизводимых независимых бенчмарков AFM через терминал в открытом доступе не встречается. Поэтому дальше мы разделяем то, что известно о семействе AFM, и то, что нужно проверять на своей машине.

Ключевые особенности AFM в MacOS 27

  • Нативная интеграция: модели входят в систему, отдельный установщик и загрузка гигабайтов весов не нужны, по крайней мере для on-device уровней.
  • Доступ из терминала: fm chat вместо запуска Python-скриптов и поднятия локального сервера.
  • Расчёт на Apple Silicon: работа распределяется между Neural Engine, GPU через Metal и CPU.
  • Unified memory: на Apple Silicon нет отдельной VRAM, память общая для системы и модели, копировать веса в видеопамять не требуется.
  • Локальность запросов на on-device уровнях: текст не уходит в облако, если вы не выбрали облачный уровень.
  • Жёсткое ограничение по железу: MacOS 27 ставится только на Mac с чипами M-серии.

Размеры моделей, схема квантования и длина контекстного окна в открытых материалах раскрыты частично. Точные цифры смотрите в справке на своей машине (fm --help) и в документации Apple для разработчиков. Учтите: часть страниц Apple Developer Documentation отдаётся только с включённым JavaScript, поэтому из терминала через curl они читаются плохо, открывать их стоит в браузере.

Почему это значимо для рынка локального AI

Основная масса локальных LLM сегодня крутится на NVIDIA: CUDA, 8-24 ГБ VRAM, подбор кванта под видеопамять, драйверы. Apple предлагает другой путь, где дискретная видеокарта не нужна вовсе, а роль ускорителя берут на себя Neural Engine и GPU внутри SoC. Для владельца MacBook это снимает главный барьер входа.

Второй момент - интерфейс. Пока инструмент живёт только в GUI или в Python-библиотеке, он плохо встраивается в рабочие процессы. CLI меняет расклад: появляется возможность писать bash-скрипты, вешать обработку на хуки git, гонять пакетные задачи по папке с заметками.

Авторы обсуждения темы реагируют сдержанно, и это понятно: человек, который годами работает с открытыми весами, не станет менять привычный стек из-за одной команды. Открытые веса дают контроль, дообучение и перенос на любое железо, чего AFM не дадут. Но сам факт, что Apple вывела модели в терминал, показывает: локальный инференс перестаёт быть нишевой забавой энтузиастов и попадает в системный набор инструментов.

Как получить доступ к AFM и запустить fm chat в терминале

Короткий ответ: обновиться до MacOS 27 на Mac с Apple Silicon, затем проверить, существует ли команда на вашей машине, и читать её справку. Полного официального руководства с флагами в открытом доступе пока нет, поэтому первым делом выясняйте, с чем именно вы работаете.

Системные требования и подготовка

  • MacOS 27 (Golden Gate) или новее. На более старых версиях команды в системе не будет.
  • Mac на Apple Silicon: M1, M2, M3, M4 и новее. Intel-маки отсекаются на уровне самой системы.
  • Память: для модели класса 3 млрд параметров в 4-битном кванте практический минимум - 16 ГБ unified memory, для 20-миллиардного sparse-варианта комфортный ориентир начинается от 32 ГБ. Это оценка по классу моделей, а не официальное требование Apple.
  • Terminal и права администратора, если понадобится доустановить компоненты командной строки.
sw_vers
uname -m
which fm
fm --help

sw_vers покажет версию системы, uname -m должен вернуть arm64. Команда which fm отвечает на главный вопрос: установлен ли инструмент вообще. Если which fm молчит, а fm --help выдаёт справку, дело в PATH: посмотрите вывод echo $PATH и проверьте каталоги вроде /usr/local/bin.

Установка и первый запуск

AFM - часть системы, поэтому отдельного pip install и загрузки весов с внешних репозиториев не требуется. Порядок такой:

  1. Обновить систему до MacOS 27 через System Settings → General → Software Update.
  2. Установить инструменты командной строки, если их нет: xcode-select --install.
  3. Открыть Terminal и проверить наличие команды: which fm.
  4. Запустить интерактивный чат: fm chat.
  5. Или отправить одиночный запрос: fm chat "Сократи этот текст до трёх пунктов".

Типичные ситуации и что с ними делать. Сообщение command not found означает, что бинарника нет в PATH или система старее MacOS 27. Ответ permission denied обычно связан с блокировкой доступа к модели, проверьте раздел Privacy & Security в настройках. Ошибка о недоступности модели говорит о том, что нужный уровень не выбран или не поддерживается на этом чипе: сверьтесь со справкой и попробуйте явно указать уровень.

Основные команды и параметры fm chat

Подтверждённого перечня флагов нет, поэтому первым делом читайте fm --help и fm chat --help. CLI такого класса обычно умеет следующее:

  • запуск без аргументов - интерактивная сессия с историей диалога;
  • промпт аргументом - одиночный запрос с выводом в stdout, что удобно для пайпов;
  • выбор уровня модели, локального или облачного, отдельным флагом;
  • параметры генерации: temperature, top_p, максимальная длина ответа;
  • системный промпт или роль для сценариев с жёсткой инструкцией.

Имена флагов у Apple могут отличаться от привычных --temperature и -m. Не копируйте команды из чужих постов вслепую, проверяйте справку на своей версии системы: между минорными обновлениями MacOS интерфейс командной строки может поменяться.

Чем AFM отличается от открытых локальных моделей

Открытые веса vs проприетарные модели: что выбрать

Открытые веса (Llama, Qwen, Mistral, Gemma) можно скачать, дообучить на своих данных, сжать в нужный квант и запустить где угодно: на NVIDIA под CUDA, на AMD под ROCm, на Apple Silicon через MLX или llama.cpp, на CPU в крайнем случае. Вы контролируете версию модели, контекст, лицензию и воспроизводимость ответов.

AFM из этого списка не дают ничего. Веса закрыты, скачать их нельзя, дообучить под свою задачу тоже, перенести на другое железо тем более. Взамен вы получаете запуск одной командой, отсутствие возни с драйверами и квантованием, а также уверенность, что модель оптимизирована именно под вашу SoC. Авторы обсуждений на эту тему обычно остаются на стороне открытых весов, но признают: для быстрого старта такой компромисс разумен.

ПараметрAFM в MacOS 27Открытые модели на Mac
Доступ к весамЗакрыты, скачать нельзяСкачиваются в GGUF, MLX, safetensors
Запускfm chat после обновления системыУстановка llama.cpp, MLX или Ollama, подбор модели и кванта
ЖелезоMacOS 27 на Apple SiliconApple Silicon, NVIDIA, AMD, CPU
ПамятьUnified memory, отдельная VRAM не нужнаUnified memory на Mac, VRAM на дискретных GPU
ДообучениеНедоступноLoRA, полный файнтюн на своём датасете
ЯзыкиОсновной фокус на английскомЗависит от модели, есть сильные многоязычные варианты
ПриватностьOn-device локально, облачные уровни через Private Cloud ComputeПолностью локально при выборе соответствующего рантайма
Кому подходитБыстрый старт без настройкиКастомизация, контроль, нестандартные задачи

Производительность и подгонка под Apple Silicon

AFM собираются под конкретное железо: Neural Engine, GPU через Metal, CPU и unified memory. Открытые модели на Mac работают, но задействуют доступные блоки не полностью. Характерный пример: чипы Apple M5 поддерживают INT8, а MLX и llama.cpp не используют формат w4a8, из-за чего часть потенциала простаивает. Экспериментальные ядра дают до 1,4x ускорения на этапе предзаполнения Gemma4 (разбор скрытого режима w4a8 и тестов предзаполнения Gemma4 на M5).

Для ориентира по открытым моделям на Apple Silicon есть публичные замеры: Nex N2.5 Mini в 4-битном MLX-кванте на M5 Max выдаёт 133,6 tok/s при temperature 0.7, top_p 0.95, top_k 40 и reasoning_effort high (что стоит за этими цифрами и кому подходит такой квант). Это цифры по сторонней модели через MLX, а не по AFM. Сравнивать их с fm chat напрямую нельзя: воспроизводимых замеров AFM на момент публикации нет, поэтому любые таблицы скорости AFM против Llama сегодня будут выдумкой.

Насколько хороши AFM: тесты, отзывы и пригодность для разработки

Главный вопрос в обсуждении: тестировал ли кто-то эти модели и годится ли инструмент для реальной работы. Независимых замеров с воспроизводимой методикой пока не публиковалось. По классу моделей картина такая: 3-миллиардная AFM 3 Core рассчитана на суммаризацию, переписывание текста, извлечение полей и короткие ответы на вопросы по документу. 20-миллиардная sparse-версия с 1-4 млрд активных параметров считает быстрее полной 20B, но по глубине рассуждений уступает крупным облачным моделям.

Более широкую картину по моделям Apple даёт тест Siri AI на iOS 27 с кейсами и сравнением с конкурентами: там разобраны архитектура Foundation Models, подгонка под Apple Silicon и роль Private Cloud Compute.

Практический вывод для разработчика: AFM разумно применять как локальный слой обработки, то есть черновики, суммаризация, извлечение структуры, работа с приватными данными, а сложные задачи отдавать более крупным моделям. Если нужна интеграция в продакшен-пайплайн с гарантированной воспроизводимостью ответов или дообучение на своём домене, AFM не подойдут.

Ограничения и подводные камни AFM в MacOS 27

  • Закрытые веса. Модель нельзя скачать, изучить, дообучить или запустить вне экосистемы Apple.
  • Жёсткая привязка к железу: MacOS 27 работает только на Apple Silicon, Intel-маки и видеокарты NVIDIA или AMD вне игры.
  • Непрозрачные параметры. Архитектура, схема квантования, длина контекста и размер окна раскрыты в открытых материалах частично.
  • Русский язык. On-device модели Apple исторически нацелены на английский, качество генерации на русском проверяйте сами, промптами на своих текстах.
  • Стабильность CLI. Интерфейс fm chat может меняться между версиями системы, скрипты придётся поддерживать.
  • Приватность зависит от уровня. On-device модель считает на месте, облачные уровни уходят на серверы Apple через Private Cloud Compute, и границу в вашем сценарии стоит проверять отдельно. О стратегии Apple в этой области - разбор того, почему Apple считает iPhone главным AI-устройством.
  • Лицензия. Условия использования AFM в сторонних продуктах и коммерческих пайплайнах читайте до интеграции, а не после.

Практические сценарии использования fm chat

Сильная сторона инструмента - короткие локальные операции внутри рабочего процесса, где открывать IDE или ждать ответа облачной модели неудобно.

# быстрый ответ без переключения окон
fm chat "Какая команда git отменяет последний коммит, оставив изменения?"

# суммаризация файла через пайп
cat notes.md | fm chat "Сократи до пяти пунктов"

# сообщение коммита по диффу
git diff --staged | fm chat "Сделай короткое сообщение коммита"

Дальше сценарии усложняются: пакетная обработка папки с расшифровками встреч в цикле bash, проверка JSON или CSV перед загрузкой в пайплайн, генерация черновиков документации по сигнатурам функций, локальный фильтр перед отправкой данных во внешний API. Синтаксис вызова зависит от версии системы, поэтому сверяйтесь с fm chat --help. Для больших объёмов текста и сложной логики лучше подойдут открытые модели через MLX или серверный API: локальная 3B-модель быстро упрётся в длину контекста и качество.

Итог: стоит ли использовать AFM и что дальше

AFM в MacOS 27 - удобный вход в локальный AI для владельцев Mac: одна команда вместо установки рантайма, никаких драйверов, никакой возни с VRAM. Берите, если нужен быстрый локальный чат, суммаризация и автоматизация скриптов без отправки данных наружу, и если вы готовы жить в закрытой экосистеме Apple.

Проходите мимо, если требуются открытые веса, дообучение на своём домене, запуск на NVIDIA или AMD, перенос модели между машинами и предсказуемый контракт командной строки на годы вперёд. Ваш стек в этом случае - MLX, llama.cpp или Ollama с открытыми моделями.

Практический шаг на сегодня: проверьте на своей машине sw_vers, which fm и fm --help. Если команда есть, замерьте время ответа на трёх своих задачах и сравните с той открытой моделью, которой пользуетесь сейчас. Если команды нет или вы на предыдущей версии macOS, следите за обновлениями и перечитывайте справку после каждого релиза: детали и ограничения локального AI у Apple меняются от версии к версии, а проверять их стоит на своей системе и своей задаче.

Подписаться на канал