При використанні `torch.comPile` може виникнути кілька загальних підводних каменів:
1. Важливо порівняти продуктивність складеної моделі з оригінальною моделлю [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`, що призводить до проблем компіляції або розривів графіків [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-shouldi-use-comc-compile-properly
[7] https://www.aionlinecourse.com/blog/how-should-iuse-torch-compile-properly
[8] https://github.com/patrick-kidger/jaxtyping/issues/196