PyTorch 2.15 додає FP8 та нативні ядра Metal для бекенду Apple Silicon MPS
PyTorch 2.15 суттєво оновлює бекенд Metal Performance Shaders (MPS) для Apple Silicon, додаючи тензори FP8 та нативне групове множення матриць. Декодування моделей Mixture-of-Experts прискорилося до 6,5 раза, а споживання пам'яті для VAE-декодування відео впало з 270 ГБ до 8 ГБ.

Чому це важливо
Тепер можна запускати більші локальні моделі на Mac у вдвічі меншому обсязі пам'яті та значно прискорити декодування MoE-архітектур.
TL;DR
- 01Тензори FP8 (float8_e4m3fn) удвічі зменшують використання пам'яті для ваг на чіпах Apple Silicon.
- 02Декодування архітектур MoE прискорюється від 5 до 6,5 раза завдяки груповому множенню матриць на GPU.
- 03Мінімальні системні вимоги оновлено: потрібні macOS 15+ та Python 3.11+.
Ключові факти
- Швидкість декодування Qwen3.6-35B-A3B
- 61,3 токена/с (проти 9,4 на M3 Ultra)
- Швидкість декодування LFM2.5-8B-A1B
- 123,6 токена/с (проти 23,6 на M3 Ultra)
- Пік пам'яті VAE Wan2.2
- 8 ГБ (знижено з 270 ГБ)
- Мінімальні вимоги до ОС
- macOS 15+
Тензори FP8 та масштабоване множення матриць
PyTorch 2.15 додає нативну підтримку torch.float8_e4m3fn на Apple Silicon через бекенд MPS. Тензори формату FP8 займають 1 байт на значення, удвічі скорочуючи використання оперативної пам'яті порівняно з FP16 або BF16. Множення виконується через F.scaled_mm із підтримкою поблочного або поковаріантного масштабування.
Прискорення генерації MoE до 6,5 раза
Під час фази декодування токени обробляються як однорядкові вектори. PyTorch 2.15 підключає оптимізовані ядра GEMV напряму до F.linear, усуваючи накладні витрати MPSGraph. Для архітектур Mixture-of-Experts оператор F.grouped_mm більше не синхронізує зміщення з CPU. На чіпі M3 Ultra з використанням torch.compile зафіксовано такі результати:
Qwen3.6-35B-A3B: прискорення з 9,4 до 61,3 токена/с (у 6,5 раза).LFM2.5-8B-A1B: прискорення з 23,6 до 123,6 токена/с (у 5,2 раза).- Розрахунок softmax за словником став швидшим приблизно у 8 разів.
Оптимізація відеопам'яті та лінійної алгебри
Усунуто проблему неконтрольованого зростання пам'яті драйвера під час генерації відео. Декодування тайлового VAE моделі Wan2.2 раніше вимагало до 270 ГБ, а тепер вкладається у 8 ГБ. Операції комплексної лінійної алгебри (complex64 LU-розклад, розв'язання трикутних систем) та інверсія невеликих матриць (до 4x4) тепер виконуються безпосередньо в Metal. Мінімальні вимоги версії 2.15 підвищено до macOS 15 та Python 3.11.
Спробуй за 2 хвилини
uv pip install torch==2.15.0 --index-url https://download.pytorch.org/whl/test/cpubash
✓ Коли використовувати
- Локальний запуск LLM, MoE та генеративних пайплайнів ComfyUI на обладнанні Apple Silicon.
- Робота в умовах обмеженої об'єднаної пам'яті із квантуванням ваг у FP8.
✕ Коли НЕ варто
- Робочі станції з macOS 14 або старішими версіями, які більше не підтримуються MPS у PyTorch 2.15.
- Продакшн-пайплайни інференсу, розгорнуті суто на хмарних кластерах із NVIDIA CUDA.
Що зробити сьогодні
- Оновіть тестове середовище на Apple Silicon до macOS 15 та Python 3.11+.
- Встановіть реліз-кандидат PyTorch 2.15 через uv або pip для тестування швидкості локальних MoE-моделей.
- Конвертуйте ваги локальних моделей у torch.float8_e4m3fn для економії об'єднаної пам'яті Mac.