Выбор ответа Senior PyTorch на практике обновлено

torch.compile

Вопрос

Что делает torch.compile в PyTorch 2.x?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Захватывает граф модели и генерирует оптимизированные ядра со слиянием операций. TorchDynamo перехватывает выполнение Python и строит граф, бэкенд (по умолчанию Inductor) сливает операции и генерирует ядра.

Варианты ответа

  1. Переписывает модель на C++ и собирает отдельный бинарник для деплоя без интерпретатора Python
  2. Квантует модель в int8 и подбирает масштабы на первом батче
  3. Проверяет корректность градиентов численным дифференцированием
  4. Захватывает граф модели и генерирует оптимизированные ядра со слиянием операцийправильный ответ

Разбор

TorchDynamo перехватывает выполнение Python и строит граф, бэкенд (по умолчанию Inductor) сливает операции и генерирует ядра. Первый запуск медленный из-за компиляции, при изменении форм входов возможна перекомпиляция, и не любой Python-код захватывается целиком (graph breaks).

  • Экспорт без Python это отдельные механизмы (torch.export и другие).
  • Квантование отдельный инструмент.
  • Градиенты проверяет gradcheck.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.