antirez выпустил h3.c — движок генерации видео MiniMax-H3 на C для Apple Silicon
Сальваторе Санфилиппо (antirez), известный прежде всего как автор Redis, опубликовал проект h3.c — движок вывода для мультимодальной модели MiniMax-H3, работающий нативно на Apple Silicon. Код написан на C с использованием Metal, распространяется под лицензией MIT и на момент новости собрал более пятисот звёзд на GitHub.
Что умеет
Модель генерирует видео со звуком по текстовому описанию, а также поддерживает более тонкие сценарии: задание первого и последнего кадра (условие FL2VA), а также упорядоченные ссылки на изображения, видео и аудио (Ref2VA). Ссылки на картинки подаются модели как <Picture 1>, <Picture 2> и так далее; можно, например, попросить «заставить человека с картинки помахать в камеру». Аудио-референсы должны длиться от двух до пятнадцати секунд.
По умолчанию h3.c выдаёт ролики в 24 кадра в секунду, а длительность округляется вверх до допустимой временной формы модели: запрос на десять секунд, к примеру, превращается в 243 кадра. Для медиавхода и кодирования MP4 нужны FFmpeg и FFprobe.
Ставка на скорость
Основная часть проекта — это ручная оптимизация под конкретное железо, M3 Max и M5 Max. Автор предлагает наборы предустановок «медленное качество / по умолчанию / агрессивно», позволяющие менять число шагов зашумления, количество активных блоков трансформера и внутренний размер холста. Разброс огромен: эталонный проход по «лисе в снегу» на M5 Max занимал около 26 секунд, а урезанный четырёхшаговый вариант — примерно 3,5 секунды, теряя часть деталей, но сохраняя сюжет и движение.
Отдельно проработан путь через int8: динамическое квантование активаций и повесовые масштабы сократили время рендера с 36 до примерно 19 секунд, попутно уменьшив пиковое потребление памяти с 36 до 26 ГиБ. Модель весом 33 миллиарда параметров грузится по фазам — трансформер, текстовый кодировщик Qwen и декодеры никогда не соседствуют в единой памяти одновременно.
Инженерная дотошность
README читается как подробный инженерный дневник: десятки переменных окружения вроде H3_NAX или H3_DISABLE_FUSED_MLP позволяют включать и отключать отдельные оптимизации для точного A/B-сравнения. Правильность проверяется сверкой с эталонными выходами MLX — вплоть до относительной погрешности порядка 10⁻⁶ на аудиокодировщике. Санфилиппо честно отмечает, где ускорение даёт выигрыш лишь в доли процента и почему та или иная агрессивная комбинация настроек порождает «хроматический звон» и «призрачные конечности».
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.