PyTorch 2.14와 Python 3.15 조합에서 torch.compile이 실패하는 이유 | DAKER 커뮤니티
PyTorch 2.14가 Python 3.15·3.15t 휠을 제공한다고 해서, 기존의 torch.compile 경로까지 그대로 쓸 수 있는 것은 아닙니다. 이 조합에서는 성능이 조금 낮아지는 정도가 아니라, compile 호출 자체가 바로 실패할 수 있어 확인이 필요합니다.
특히 새 Python 버전에서 학습·추론 환경을 미리 올려두는 경우라면, eager 실행만 검증할 것인지, compile까지 포함한 실험을 할 것인지 분리해서 보는 것이 좋습니다.
PyTorch 2.14는 Python 3.15·3.15t에서 eager-only이며, 이 환경에서 torch.compile을 호출하면 자동 폴백이 아니라 RuntimeError가 납니다.
공식 안내에서 확인되는 내용
근거는 공식 릴리스 블로그입니다. PyTorch 2.14 Release Blog(2026-09-02)에는 Python 3.15 지원이 eager-only이며, Python 3.15에서 torch.compile을 호출하면 조용히 eager로 떨어지지 않고 RuntimeError를 낸다고 적혀 있습니다. 일반 공개 안내는 dev-discuss 게시에서도 볼 수 있습니다.
어떤 조건에서 재현되는가
재현 조건은 비교적 단순합니다. 인터프리터가 Python 3.15 또는 free-threaded 3.15t이고, 여기에 PyTorch 2.14를 설치한 뒤 모델에 torch.compile(...)을 호출하면 됩니다.
공식 블로그에 따르면 3.15·3.15t 휠은 PyPI가 아니라 https://download.pytorch.org/whl/... 인덱스에서만 받습니다. 이 조건에서 compile은 자동으로 eager로 전환되지 않고, 바로 RuntimeError로 실패합니다.
실험과 운영에서 어떻게 보는 것이 좋은가
torch.compile이 필요한 학습·추론 파이프라인이라면 Python 3.14 이하를 유지하는 편이 안전합니다. 반대로 Python 3.15 환경을 먼저 검토해야 한다면, eager API만 확인하는 실험과 compile 경로를 검증하는 실험을 분리해 두는 것이 좋습니다.
설치 명령은 공식 Getting Started와 릴리스 블로그의 CUDA·ROCm·XPU 인덱스를 따르면 됩니다. 예를 들어 CPU 환경은 pip3 install torch --index-url https://download.pytorch.org/whl/cpu처럼 설치할 수 있습니다.
또한 Dynamo의 3.15 지원은 공식 블로그 기준으로 진행 중이며, 이슈 트래킹은 pytorch/pytorch#184352입니다. 지원이 완료되기 전까지는 compile을 전제로 한 벤치마크나 성능 비교를 Python 3.15에 두지 않는 것이 좋습니다.
Python 3.15에서의 PyTorch 2.14는 새 인터프리터 적응을 위한 eager 검증용으로 보고, compile 기반 워크로드는 당분간 Python 3.14 이하에 두는 편이 현실적입니다.
관련 학습 자료
텐서·디바이스·학습 루프 기초는 아래 DAKER 공개 학습 자료에서 이어서 볼 수 있습니다.
참고 자료
https://pytorch.org/blog/pytorch-2-14-release-blog/
https://pytorch.org/get-started/locally/
https://dev-discuss.pytorch.org/t/pytorch-2-14-0-general-availability/3431
이미 Python 3.15 환경을 시험 중이라면, eager 전용 검증과 compile 검증을 어떻게 나누고 계신가요?