Вышел PyTorch 2.10 Технические детали релиза: 🟦 Поддержка Python 3.14 и сборки без GIL. Добавили torch.compile для свежего Python, включая экспериментальную поддержку freethreaded-режима (3.14t). Это задел на будущее, чтобы эффективно масштабировать вычисления на CPU без ограничений Global Interpreter Lock. 🟦 Нативный оператор varlen_attn(). В ядро добавили встроенную поддержку внимания для последовательностей переменной длины. Раньше это часто реализовывали через сторонние библиотеки вроде xformers или vLLM, теперь оптимизация доступна из коробки. 🟦 Горизонтальное слияние ядер в TorchInductor. Теперь компилятор умеет объединять мелкие независимые операции в одно ядро (combo-kernels), что сокращает оверхед на запуск (kernel launch overhead) и эффективнее использует пропускную способность памяти. 🟦 Новый инструмент DebugMode. Появился продвинутый режим для поиска численных расхождений и отладки графа. Он позволяет отслеживать детерминированные хеши тензоров на разных этапах выполнения, что сильно упрощает поиск причин появления NaN или «поплывших» весов. 🟦 Продолжают активно понижать порог входа не для CUDA. Для Intel GPU завезли поддержку FP8 и работу с комплексными числами, а для AMD (ROCm) — ускоренный Scaled Dot Product Attention через AOTriton. 🟦 Детерминизм при компиляции. Теперь torch.compile корректно обрабатывает флаг use_deterministic_mode. Это критически важное обновление для тех, кому важна 100% воспроизводимость результатов при использовании графовых оптимизаций. 🟦 Гибкий Autograd. Появилась возможность задавать grad_dtype для листовых тензоров и аннотировать непересекающиеся проходы обратного распространения (disjoint backward) для оптимизации чекпоинтов. Подробности в блоге: https://pytorch.org/blog/pytorch-2-10-release-blog/