Deep Learning Academy · Oppitunti

TorchScript ja torch.compile

Jäädyttäkää ja nopeuttakaa malli tarjoilua varten

Oppitunti 1/413 vaihetta

TorchScript ja torch.compile on ilmainen Deep Learning Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Deep Learning Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Miksi tuotanto tarvitsee jäädytetyn mallin

Koulutuskoodinne on joustavaa Pythonia, mutta palvelimet tarvitsevat jotain nopeaa ja vakaata. TorchScript jäädyttää mallinne siirrettävään ja optimoituun muotoon. 🚀

Mitä TorchScript oikeastaan on

TorchScript on sarjallistettava ja optimoitava Pythonin osajoukko, joka toimii ilman Python-tulkkia. Siksi mallinne voidaan ottaa käyttöön C++-palvelimilla ja mobiililaitteissa.

Jäljitys: tallenna yksi todellinen suoritus

Jäljitys suorittaa mallinne esimerkkisyötteellä ja tallentaa kaikki sen tekemät operaatiot, jolloin mukaan tallentuu polku, jota data tosiasiassa kulki.

import torch
traced = torch.jit.trace(model, example_input)

Jäljitys ei huomioi ohjausvirtaa

Koska jäljitys seuraa vain yhtä suoritusta, se ohittaa hiljaisesti datasta riippuvat if-lauseet ja silmukat. Nämä haarat yksinkertaisesti katoavat.

Skriptaus: lue logiikka

Skriptaus kääntää koodinne suoraan ja säilyttää kaikki silmukat ja ehdot. Käyttäkää sitä, kun ohjausvirta riippuu syötteen arvoista.

scripted = torch.jit.script(model)

Tallenna ja lataa missä tahansa

Skripattu tai jäljitetty malli tallentuu yhteen itsenäiseen tiedostoon, jonka voitte ladata millä tahansa koneella ilman alkuperäisen luokan määritelmää.

scripted.save('model.pt')
loaded = torch.jit.load('model.pt')

Tutustukaa torch.compileen

Moderni vaihtoehto on torch.compile, joka nopeuttaa mallianne yhdellä rivillä ja säilyttää koodinne tavallisena Pythonina.

model = torch.compile(model)

Miten torch.compile nopeuttaa suoritusta

Konepellin alla torch.compile yhdistää monia pieniä operaatioita harvemmiksi optimoiduiksi kerneleiksi, mikä vähentää ylimääräistä kuormaa ja parantaa GPU:n läpimenoa.

Ensimmäinen kutsu on hidas

Ensimmäinen forward-välitys torch.compile-kutsun jälkeen on hidas, koska käännös tapahtuu taustalla. Jokainen seuraava kutsu suoritetaan paljon nopeammin. ⏳

Asettakaa eval-tila aina ensin

Ennen kuin jäljitätte, skriptaatte tai käännätte mallin palvelukäyttöön, kutsukaa model.eval(), jotta dropout ja batch norm toimivat oikein päättelyssä.

model.eval()
traced = torch.jit.trace(model, x)

Minkä vaihtoehdon valitsette

Valitkaa TorchScript, kun tarvitsette Pythonista riippumattoman käyttöönottotiedoston, ja torch.compile, kun haluatte nopean suorituskykylisän Pythonin sisällä.

Pikatarkistus

Yksi menetelmä tallentaa vain sen polun, jonka yksi esimerkki käy läpi. Mikä menetelmä se on?

Kertaus: jäädytä ja nopeuta

Opitte jäädyttämään mallin TorchScript-tekniikalla jäljityksen tai skriptauksen avulla, tallentamaan sen missä tahansa ja nopeuttamaan päättelyä Pythonissa torch.compilella. 🎉

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”TorchScript ja torch.compile” ilmainen?

Kyllä – oppitunnin ”TorchScript ja torch.compile” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Deep Learning Academy-kurssin, päivitä CoddyKit PROhon. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”TorchScript ja torch.compile”?

Jäädyttäkää ja nopeuttakaa malli tarjoilua varten Harjoittelet Deep Learning Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Deep Learning Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Deep Learning Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”TorchScript ja torch.compile”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Deep Learning Academy-oppitunnilla?

Kyllä. Jokainen Deep Learning Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. TorchScript ja torch.compile
  2. Viekää malli ONNX-muotoon
  3. Kvantisaatio pienemmille ja nopeammille malleille
  4. Tarjotkaa malli FastAPI:lla
← Takaisin: Deep Learning Academy