„Jax“ palaikymas automatui žymiai pagerina jo našumą, nes funkcijos bus taikomos visoms duomenų masyvams ar partijoms vienu metu, o ne apdorojant kiekvieną elementą atskirai. Tai pasiekiama naudojant „VMAP“ funkciją, kuri automatiškai generuoja vektorizuotą bet kurios funkcijos įgyvendinimą. Tai darydamas, „Jax“ gali išsiųsti šias operacijas į tokią aparatinę įrangą kaip CPU, GPU ir TPU, kur jos gali būti vykdomos lygiagrečiai, maksimaliai padidindami aparatūros efektyvumą.
Pagrindiniai automatinio faktoriaus pranašumai JAX:
1. Parallelizmas: Taikydamas operacijas ištisoms masyvams vienu metu, „Jax“ gali panaudoti šiuolaikinės aparatūros lygiagrečių apdorojimo galimybes, todėl, palyginti su tradiciniais kilpų pagrindu, palyginimu.
2. Efektyvus kodas: „VMAP“ naudojimas pašalina aiškių kilpų poreikį, todėl gaunamas švaresnis ir glaustesnis kodas. Tai ne tik supaprastina plėtrą, bet ir sumažina klaidų, susijusių su rankiniu kilpomis, tikimybę.
3. Integracija su kitomis „Jax“ funkcijomis: Automobektorizacija sklandžiai integruoja su kitomis galingomis JAX funkcijomis, tokiomis kaip JIT kompiliacija (`JIT“) ir automatinė diferenciacija („Grad“). Tai leidžia dar labiau optimizuoti, pavyzdžiui, sudaryti vektorines funkcijas, kad būtų galima dar greičiau vykdyti ir automatiškai apskaičiuoti sudėtingų modelių gradientus.
4. Mastelio keitimas: „Jax“ sugebėjimas efektyviai tvarkyti dideles skaičiavimų partijas daro jį ypač vertingu tokioms programoms kaip mašininio mokymosi modelio mokymui, kur įprasta apdoroti didelius duomenų rinkinius. Šis mastelio keitimas yra labai svarbus realiojo pasaulio programoms, kai veikimas ir greitis yra kritiški.
Apskritai, „Jax“ automatinės verslininkystės palaikymas per „VMAP“ yra pagrindinis jo aukšto našumo veiksnys, todėl tai yra patrauklus pasirinkimas atliekant užduotis, kurioms reikalingi veiksmingi skaitiniai skaičiavimai ir mašinų mokymosi tyrimai [1] [2] [4].
Citatos:[1] https://towardsdataSsicence.com/automatic-vectorization-in-Jax-801e53dfe99c/
[2] https://www.shakudo.io/blog/a-quick-introduction-to- josx
[3] https://stackoverflow.com/questions/76240674/how-to-vectortize-Jax-funktions-using-jit-compiliation ir-vmap-auto-recektorizavimas
[4] https://www.upwork.com/resources/google-Jax
[5] https://jax.readthedocs.io/en/latest/automatic-vectoration.html
[6] https://www.assemblyai.com/blog/why-you-hould-orhouldnt-be-using- jax-in-2023/
[7] https://github.com/google/jax/issues/6312
[8] https://pyimagesearch.com/2023/02/27/learning-Jax-in-2023-Part-2-JAXS-Power-Tools-grad-jit-vmap-and-pmap/