Выбор ответа Senior PyTorch на практике обновлено
torch.compile
Вопрос
Что делает torch.compile в PyTorch 2.x?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Захватывает граф модели и генерирует оптимизированные ядра со слиянием операций. TorchDynamo перехватывает выполнение Python и строит граф, бэкенд (по умолчанию Inductor) сливает операции и генерирует ядра.
Варианты ответа
- Переписывает модель на C++ и собирает отдельный бинарник для деплоя без интерпретатора Python
- Квантует модель в int8 и подбирает масштабы на первом батче
- Проверяет корректность градиентов численным дифференцированием
- Захватывает граф модели и генерирует оптимизированные ядра со слиянием операцийправильный ответ
Разбор
TorchDynamo перехватывает выполнение Python и строит граф, бэкенд (по умолчанию Inductor) сливает операции и генерирует ядра. Первый запуск медленный из-за компиляции, при изменении форм входов возможна перекомпиляция, и не любой Python-код захватывается целиком (graph breaks).
- Экспорт без Python это отдельные механизмы (torch.export и другие).
- Квантование отдельный инструмент.
- Градиенты проверяет gradcheck.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.