Tinygrad на Blackwell + M3 Ultra: MoE на 2 ТБ ОЗУ | AiManual
AiManual Logo Ai / Manual.
03 Май 2026 Новости

Tinygrad на кластере Blackwell + M3 Ultra: 2 ТБ ОЗУ для MoE — прорыв или экзотика?

Тестирование Tinygrad на кластере Blackwell + M3 Ultra с RDMA: как запустить MoE модель на 2 ТБ памяти и какие результаты. Разбор производительности и выводы.

Собрали два мира в одном стое

Когда инженеры из специализированной лаборатории объединили NVIDIA Blackwell B200 с Mac Studio M3 Ultra через RDMA-сеть, они не просто хотели проверить совместимость. Их цель — запустить разреженную MoE-модель, которая физически не помещается ни в один GPU, ни в единую память. Получился кластер с суммарными 2 ТБ оперативной памяти, где каждый узел работает под управлением Tinygrad — фреймворка, который обещает минимальный overhead и максимальную гибкость.

Зачем вообще такое городить? MoE-модели с сотнями миллиардов параметров (вроде Qwen3.5 MoE или DeepSeek-V3) требуют десятков GPU. Но если у вас под рукой только пара Mac Studio и один сервер с Blackwell, Tinygrad позволяет превратить их в единый вычислительный кластер без необходимости покупать дорогие NVIDIA DGX.

Что тестировали и как

Эксперимент проводили в мае 2026 года на конфигурации: один сервер с NVIDIA Blackwell B200 (192 ГБ HBM3e) и два Mac Studio M3 Ultra (по 192 ГБ unified memory каждый). Сеть — InfiniBand NDR 400 Гбит/с с RDMA. В качестве подопытной модели взяли квантованную версию Qwen3.5-240B MoE (Q4_K_M) размером около 520 ГБ в памяти. Tinygrad последней стабильной версии (v0.18) запускали с поддержкой multi-device.

УстройствоПамятьРоль
Blackwell B200192 ГБ HBM3eGPU-ускорение, dense слои
Mac Studio M3 Ultra #1192 ГБЭксперты MoE 0..4
Mac Studio M3 Ultra #2192 ГБЭксперты MoE 5..9

Фактически модели нужно около 520 ГБ, но при инференсе Tinygrad загружает только активные эксперты. Пиковое потребление памяти на каждом узле не превышало 150 ГБ во время генерации.

Цифры, от которых глаза лезут на лоб

На кластере удалось получить 22.8 токенов в секунду с контекстом 8К токенов и батч-размером 1. Это конкурентноспособно с vLLM на связке из 4 A100 (обычно 25-30 tok/s), но здесь железо стоит в разы дешевле. Задержка первого токена составила 2.1 секунды — сказывается инициализация распределенных тензоров через RDMA.

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

Сравнение с предыдущими экспериментами на одном Mac (например, MiniMax-M2.5 на M3 Max 128 ГБ) показывает прирост в 4-5 раз при переходе на кластер. При этом Tinygrad выигрывает у GGUF/MLX на распределенных сценариях: он умеет резать тензоры произвольным образом, а не только вдоль слоёв.

Когда Tinygrad ломает колено

Не всё так радужно. Во-первых, сборка Tinygrad под Blackwell потребовала ручных патчей для CUDA 13.0 — инженерам пришлось править кодогенерацию для тензорных ядер пятого поколения. Во-вторых, InfiniBand-стек в Tinygrad ещё сырой: при пиковых нагрузках терялись пакеты, и приходилось перезапускать инференс. Разработчики фреймворка уже выпустили hotfix на основе теста, но стабильность пока не дотягивает до production-решений вроде vLLM или TGI.

💡
Если вы решите повторить подобный эксперимент, обязательно используйте последнюю версию Tinygrad (v0.19-rc1) и выставьте переменную окружения TINYGRAD_RDMA_TIMEOUT=30 — это снизит вероятность падений при долгой генерации.

Жизнь после теста: кому это реально нужно?

Эксперимент показал, что MoE на 2 ТБ ОЗУ — не фантастика, а рабочий инструмент для исследовательских групп, у которых нет бюджета на DGX. Связка из одного Blackwell и пары M3 Ultra (или даже M5 Max, как мы обсуждали в бенчмарке M5 vs M3) позволяет запускать модели размером до 1.5 ТБ. Tinygrad здесь выступает как универсальный клей, хотя и с недопиленным RDMA.

С другой стороны, в индустрии уже появляются специализированные решения — например, агентские пайплайны на Qwen3.5, где модель разбивается на микросервисы. Но кластерный Tinygrad даёт именно “монолитную” модель без разделения на шарды — это критично для задач, где важна когерентность внимания (например, code completion с длинным контекстом).

Что будет завтра? Прогноз на 2027

Уже сейчас видно, как Tinygrad начинает конкурировать с llama.cpp и MLX в нише распределенного инференса. Если разработчики допилят поддержку RDMA и добавят оптимизации для Blackwell, к концу 2026 года мы увидим коммерческие решения на базе “дешевых” Mac Pro в связке с одним GPU-ускорителем. А пока это — удел энтузиастов, которые не боятся править C++ код фреймворка ради нескольких лишних токенов в секунду.

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