Найти Ρ‚Π΅ΠΌΡƒ
9847 подписчиков

πŸš— ВСст-Π΄Ρ€Π°ΠΉΠ² PyTorch 2.0 ΠΈ заглядываСм ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ Β«Π΄Π²ΡƒΡˆΠΊΠΈΒ»


JIT-компиляция (Just-In-Time compilation) - это процСсс, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄ Π½Π° высокоуровнСвом языкС прСобразуСтся Π² ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌ языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС ΠΈ эффСктивнСС исполнСн процСссором ΠΈΠ»ΠΈ графичСским ускоритСлСм. torch.compile() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ TorchDynamo ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ бэкСнд для JIT-компиляции ΠΊΠΎΠ΄Π° PyTorch.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ torch.compile() рассмотрим основныС Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты JIT-компиляции ΠΊΠΎΠ΄Π° PyTorch:

β€’ TorchDynamo – это динамичСский компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ PyTorch ΠΈ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ части ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ядра. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚ измСнСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΡ€ΠΈ нСобходимости.
β€’ AOT AutoGrad – это систСма автоматичСского диффСрСнцирования, которая позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ для скомпилированных ядСр. Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ распространСния ошибки Π²ΠΎ врСмя компиляции, Π° Π½Π΅ Π²ΠΎ врСмя исполнСния, Ρ‡Ρ‚ΠΎ ускоряСт процСсс обучСния Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй.
β€’ PrimTorch – это Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для построСния скомпилированных ядСр. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±Π°Π·ΠΎΠ²Ρ‹Π΅ матСматичСскиС ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ‚Π΅Π½Π·ΠΎΡ€Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ слоТСниС, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, свСртка ΠΈ Ρ‚.Π΄.
β€’ TorchInductor – это бэкСнд для JIT-компиляции ΠΊΠΎΠ΄Π° PyTorch Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ядра для Ρ€Π°Π·Π½Ρ‹Ρ… устройств. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ бэкСнды ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ PyTorch ΠΊ спСцификС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ устройства.

Π”Π°Π»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ TorchDynamo ΠΈ TorchInductor ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠ΄Π° PyTorch.


πŸš— ВСст-Π΄Ρ€Π°ΠΉΠ² PyTorch 2.
1 ΠΌΠΈΠ½ΡƒΡ‚Π°