- Дата публикации
Как запустить Llama 70B на Mac с 32 ГБ памяти: новый планировщик для нейросетей
Что появилось / что изменилось
Появился планировщик для запуска LLM Hypura, который позволяет работать с моделями, не помещающимися в память Mac. Он размещает части модели между GPU, оперативной памятью и SSD, основываясь на паттернах доступа и скорости оборудования.
Конкретные результаты на Mac Mini M1 Max с 32 ГБ памяти и SSD (~5.1 ГБ/с):
- Mixtral 8x7B (31 ГБ) теперь работает со скоростью 2.2 токена в секунду. Обычный llama.cpp с такой моделью аварийно завершает работу (OOM).
- Llama 3.3 70B (40 ГБ) запускается со скоростью 0.3 токена в секунду. Без Hypura запуск невозможен.
- Qwen 2.5 14B (8.4 ГБ), который и так помещается в память, работает на полной скорости Metal (21 токен/с) без накладных расходов от Hypura.
Как это работает
Hypura анализирует файл модели GGUF, профилирует железо (GPU, RAM, скорость SSD) и решает задачу оптимизации, распределяя тензоры по трём уровням:
- GPU (Metal): сюда попадают самые часто используемые компоненты — слои внимания, нормализации, эмбеддинги.
- Оперативная память: слои, которые не вместились в GPU, но к которым нужен быстрый доступ через mmap.
- NVMe-накопитель: оставшиеся части модели, которые подгружаются по требованию прямым вводом-выводом с упреждающей загрузкой.
Главная хитрость — интеллектуальная работа с архитектурой модели. Для Mixtral Hypura перехватывает маршрутизацию экспертов и загружает с SSD только 2 из 8 необходимых «экспертов» на каждый токен, экономя 75% операций ввода-вывода. Кэш «нейронов» с эффективностью 99.5% избегает повторной загрузки одних и тех же данных. Для плотных моделей вроде Llama 70B на GPU остаются внимание и нормализация (~8 ГБ), а веса полносвязных сетей (~32 ГБ) потоково загружаются с SSD через динамический буфер.
Что это значит для вас
Если у вас Mac с 32-64 ГБ памяти и вы хотите запускать большие открытые модели вроде Llama 70B или Mixtral 8x7B локально — Hypura ваш единственный рабочий вариант. Он превращает аварийное завершение в медленную, но рабочую генерацию.
Где это использовать: для экспериментов, тестирования больших моделей без доступа к серверным GPU, для приватной офлайн-работы с кодом или текстами. Скорость в 0.3-2.2 токена/с подходит для неинтерактивных задач, где можно подождать.
Где не стоит: для чат-ботов, интерактивного общения или любой работы, где важна скорость отклика. Hypura — инструмент для исследований и специфичных задач, а не для повседневного быстрого использования. Продукт требует сборки из исходного кода на Rust, что предполагает техническую подготовку.
Место на рынке
Hypura не прямой конкурент облачным API вроде GPT-4o или Claude 3.5. Это скорее системная утилита, которая расширяет границы возможного для локального запуска моделей на Apple Silicon. Её аналог — llama.cpp с mmap, но Hypura его превосходит за счёт интеллектуального планирования загрузки данных, особенно для MoE-архитектур. В то время как llama.cpp падает при нехватке памяти, Hypura позволяет модели работать, жертвуя скоростью. Это единственное решение в своём узком сегменте — запуске моделей, превышающих объём оперативной памяти, на потребительских Mac.