Гипура: планировщик вывода LLM с учетом уровня хранения для Apple Silicon

Что делает Hypura
Hypura — это планировщик вывода LLM для Apple Silicon, учитывающий уровни хранения данных, который распределяет тензоры модели по уровням GPU, оперативной памяти и NVMe на основе шаблонов доступа, затрат на пропускную способность и возможностей оборудования. Это позволяет запускать модели, превышающие объем физической памяти, без сбоев системы.
Ключевые особенности и принцип работы
Hypura считывает файлы GGUF, анализирует ваше оборудование (рабочий набор GPU, оперативная память, пропускная способность NVMe) и решает задачу оптимизации размещения, назначая каждый тензор определенному уровню:
- GPU (Metal) — Слои внимания, нормализации, эмбеддинги
- Оперативная память — Переполненные слои, которые не помещаются в рабочий набор GPU, доступ через mmap
- NVMe — Остальные слои, загружаемые по требованию через прямой ввод-вывод (
F_NOCACHE + pread) с упреждающей выборкой перед прямым проходом
Для моделей MoE, таких как Mixtral, Hypura реализует потоковую передачу экспертов: только неэкспертные тензоры (~1 ГБ) остаются на GPU, тогда как экспертные тензоры передаются потоком с NVMe через буферный пул по требованию. Включает кэш нейронов с 99,5% попаданий, который устраняет большую часть операций ввода-вывода после прогрева, перехват маршрутизатора для идентификации выбранных экспертов и отслеживание совместной активации для прогнозирования следующих активируемых экспертов с целью упреждающей выборки.
Для плотных моделей, таких как Llama 70B, используется плотная потоковая передача FFN: внимание и нормализации остаются на GPU (~8 ГБ), тогда как тензоры FFN (~32 ГБ) передаются потоком с NVMe через динамически изменяемый буферный пул с масштабируемой упреждающей выборкой.
Тесты производительности
Все тесты проводились на M1 Max с 32 ГБ унифицированной памяти и последовательным чтением NVMe ~5,1 ГБ/с:
- Qwen 2.5 14B Q4_K_M (8,4 ГБ): Режим полного резидентства, 21 токен/с (как в llama.cpp)
- Mixtral 8x7B Q5_K_M (30,9 ГБ): Режим потоковой передачи экспертов, 2,2 токена/с (llama.cpp — нехватка памяти)
- Llama 3.3 70B Q4_K_M (39,6 ГБ): Режим плотной потоковой передачи FFN, 0,3 токена/с (llama.cpp — нехватка памяти)
Размер буферного пула, глубина упреждающей выборки и объемы памяти вычисляются автоматически на основе профиля вашего оборудования — ручная настройка не требуется.
Установка
Hypura собирается из исходного кода с помощью Cargo. Вам потребуются Rust 1.75+ и CMake.
📖 Read the full source: HN AI Agents
👀 Смотрите также

Deblank: Инструмент для Удаления Форматирования Кода с Целью Сокращения Токенов для LLM
Deblank — это инструмент с открытым исходным кодом, который удаляет форматирование кода (отступы, пробелы, переносы строк) перед отправкой в LLM, сокращая количество токенов примерно на 30% для Java/C++ и на 9% для Python с задержкой около 76 мс. Поддерживает Python, Java, C/C++, C#, JS/TS и Go.

Интеграция OpenClaw для индийских фондовых рынков: Мультиагентный анализ и торговая платформа
Торговый терминал с открытым исходным кодом для индийских рынков был подключен в качестве сервера навыков OpenClaw, что позволяет любому агенту OpenClaw получать данные фондового рынка Индии и проводить полный анализ по HTTP без локальной установки. Система использует семь специализированных агентов, работающих параллельно, для генерации структурированного анализа с торговыми планами.

8 продвинутых советов по Claude Code: экономия затрат, управление контекстом, пользовательские команды
Практические советы от ежедневного интенсивного использования Claude Code: автоматизация git-воркфлоу, ввод мультимодальных изображений, отслеживание использования API, сжатие контекста, возобновление сессий, управление правилами, триггеры уровней размышлений и пользовательские команды.

Atoo Studio: Открытая рабочая среда для управления рабочими процессами с кодом Claude в нескольких проектах
Atoo Studio — это открытая рабочая среда, созданная для решения проблемы хаоса в терминалах и вкладках при использовании Claude Code в нескольких проектах. Она вводит ветвление сессий по аналогии с ветками Git и позволяет продолжать работу между Claude Code, Codex CLI и Gemini CLI.