Ключевые изменения: FP8 и требования к системе
PyTorch 2.15 официально добавляет поддержку формата float8_e4m3fn для чипов Apple Silicon. Это позволяет хранить веса в два раза меньше, чем BF16, и выполнять масштабированное умножение матриц (F.scaled_mm) напрямую на GPU. Для работы требуется macOS 15 и Python 3.11+.
Производительность LLM: от 9.4 до 61.3 токенов/с
Главное достижение — оптимизация декодирования языковых моделей. Команда Hugging Face переписала ядра Metal для слоев Mixture-of-Experts (MoE), устранив лишние синхронизации CPU/GPU и внедрив нативный grouped_mm. На чипе M3 Ultra с torch.compile модель Qwen3.6-35B-A3B показала рост скорости генерации в 6.5 раз. Также ускорен софтмакс по словарю (в 8 раз) и линейные слои для однострочных входов.
| Модель | Чип | PyTorch 2.14 (токенов/с) | PyTorch 2.15 (токенов/с) | Рост скорости |
|---|---|---|---|---|
| Qwen3.6-35B-A3B | M3 Ultra | 9.4 | 61.3 | ~6.5x |
| LFM2.5-8B-A1B | M3 Ultra | 23.6 | 123.6 | ~5.2x |
Видео и память: прорыв с Wan2.2
Декодирование видео через VAE модели Wan2.2 ранее вызывало утечки памяти, достигая 270 GiB. В версии 2.15 пиковое потребление снижено до 8 GiB. Также исправлена критическая ошибка в Qwen-Image-2.1, где кодирование изображений на MPS искажало данные (PSNR вырос с 10.06 dB до 29.95 dB, что соответствует качеству CPU).
Математика и новые возможности
Добавлены ядра для комплексных чисел (complex64 LU-разложение, решение систем уравнений), быстрое обращение матриц до 4x4 и улучшенная QR-декомпозиция. Также разработчики вынесли MPS streams в публичный API Python для более точного контроля событий и таймингов.
Источник: Hugging Face blog ↗
