Torch.compile'i kasutamisel võib tekkida mitu levinud lõkse:
1. jõudluse varieeruvus: `Torch.compile` ei paranda alati jõudlust ja võib mõnikord põhjustada aeglasemat täitmist või suuremat mälu kasutamist. Kompileeritud mudeli jõudluse võrdlemine algse mudeliga [2] [2] [4] on ülioluline võrrelda.
2. graafik puruneb: kui `tarvch.compile` kohtub toetamata koodi või keerukate toimingutega, võib see tutvustada" graafiku purunemisi ", jagades koodi optimeeritud ja optimeerimata osadeks. Ehkki need pausid pole surmaga, võivad optimeerimise eelised piirata. Problemaatiliste sektsioonide ümberkirjutamine võib aidata [2] [4].
3. Krüptilised veateated: kompileerimise tõrked tekitavad sageli krüptilisi veateateid, mida on Pytorchi meeskonnalt abita keeruline siluda. See võib muuta tõrkeotsingu väljakutseks [2] [4].
4. Pikad kompileerimise ajad: kompileerimisprotsess ise võib olla aeganõudev, võttes mõnikord suuremate mudelite jaoks mitu minutit või isegi kauem. See muudab soovitavaks hinnata tõrvik.compile'i pigem arengu lõppu kui algtappidel [1] [4].
5. dünaamilised kujundid ja uuesti kompilatsioon: "Torch.compile" eeldab algselt staatilisi tensor -kujusid. Kui kujud muutuvad, võib uuesti kompileerimine tekkida, kui dünaamilised kujundid pole lubatud. See võib viia aeglasemate esialgsete jooksudeni uuesti kompileerimise tõttu [1].
6. Multithreadinguprobleemid: praegu on mitmekeelne tõrviku.compile'iga lollakas, mis võib piirata selle kasutamist samaaegsetes keskkondades [3].
7. Toetamata funktsioonid: Torch.compile ei pruugi toetada mõnda tülitsevat funktsiooni või keerulist toimingut, mis põhjustab kompileerimisprobleeme või graafiku katkestusi [5].
Nende probleemide leevendamiseks on soovitatav rakendada kõrgetasemeliste funktsioonide jaoks tõrvik.compile, kasutada vajadusel dünaamilisi kujundeid ja katsetada kompileeritud mudeli jõudlust põhjalikult võrreldes originaaliga [1] [2].
Tsitaadid:]
[2] https://lightning.ai/docs/fabric/2.2.3/advanced/compile.html
[3] http://blog.ezyang.com/2024/11/ways-to-use-torch-compile/
]
[5] https://pytorch.org/docs/stable/torch.compiler_faq.html
]
]
[8] https://github.com/patrick-kidger/jaxtyping/issues/196