`torch.compile '을 사용할 때는 몇 가지 일반적인 함정이 발생할 수 있습니다.
1. 성능 변동성 :`Torch.comPile`은 항상 성능을 향상시키지 않으며 때로는 실행 속도가 느리거나 메모리 사용이 증가 할 수 있습니다. 컴파일 된 모델의 성능을 원래 모델과 비교하는 것이 중요합니다 [2] [4].
2. 그래프 브레이크 :`torch.compile`이 지원되지 않는 코드 또는 복잡한 작업을 만나면 "그래프 브레이크"를 도입하여 코드를 최적화되고 최적화되지 않은 부품으로 나눌 수 있습니다. 치명적이지는 않지만 이러한 휴식은 최적화 이점을 제한 할 수 있습니다. 문제가있는 섹션을 다시 쓰면 도움이 될 수 있습니다 [2] [4].
3. 암호 오류 메시지 : 컴파일 실패는 종종 Pytorch 팀의 도움없이 디버깅하기 어려운 암호 오류 메시지를 생성합니다. 이로 인해 문제 해결이 어려울 수 있습니다 [2] [4].
4. 긴 컴파일 시간 : 컴파일 프로세스 자체는 시간이 소요될 수 있으며 때로는 더 큰 모델의 경우 몇 분 이상이 걸릴 수 있습니다. 이로 인해 초기 단계에서가 아니라 개발 종료로 'Torch.compile'을 평가하는 것이 좋습니다 [1] [4].
5. 동적 모양과 재 컴파일 :`Torch.compile '은 처음에 정적 인 텐서 모양을 가정합니다. 모양이 변경되면 동적 모양이 활성화되지 않으면 재 컴파일이 발생할 수 있습니다. 이로 인해 재 컴파일로 인해 초기 실행이 느려질 수 있습니다 [1].
6. 멀티 스레딩 문제 : 현재,``torch.compile '을 사용한 멀티 스레딩은 버그가되며, 이는 동시 환경에서의 사용을 제한 할 수 있습니다 [3].
7. 지원되지 않는 기능 :``Torch.comPile ''에 의해 일부 Numpy 기능 또는 복잡한 작업이 지원되지 않아 컴파일 문제 또는 그래프 브레이크로 이어질 수 있습니다 [5].
이러한 문제를 완화하려면 'Torch.comPile`을 고급 기능에 적용하고 필요할 때 동적 모양을 사용하고 원래 [1] [2]에 비해 컴파일 된 모델의 성능을 철저히 테스트하는 것이 좋습니다.
인용 :[1] https://pytorch.org/docs/stable/torch.compiler_troubleshooting.html
[2] https://lightning.ai/docs/fabric/2.2.3/advanced/compile.html
[3] http://blog.ezyang.com/2024/11/ways-to-use-torch-compile/
[4] https://lightning.ai/docs/pytorch/stable/advanced/compile.html
[5] https://pytorch.org/docs/stable/torch.compiler_faq.html
[6] https://stackoverflow.com/questions/75886125/how-should-i-us- torch-compile-properly
[7] https://www.aionlinecourse.com/blog/how-should-i-us-torch-compile-properly
[8] https://github.com/patrick-kidger/jaxtyping/issues/196