Sklepanje proti usposabljanju: zakaj je uporaba umetne inteligence drugačna od njenega razvoja
Dva povsem različna problema
Vsi govorijo o modelih umetne inteligence. ChatGPT. Generatorji slik. Glasovni pomočniki. A obstaja temeljna delitev, ki je nihče ne pojasni:
Gradnja modela (učenje) in uporaba modela (sklepanje) sta povsem različni operaciji. Različna strojna oprema. Različni cilji optimizacije. Različni stroški. Različni izzivi.
Razumevanje te delitve je ključno. Ker zahteve ne morejo biti bolj različne.
Kaj učenje dejansko je
Učenje je enkraten (ali občasen) postopek gradnje modela.
Imate podatke. Veliko podatkov. Imate arhitekturo modela. Sprva z naključnimi utežmi. Učenje prilagaja te uteži, dokler model ne deluje.
Značilnosti učenja:
- Enkraten trud: Učite enkrat (ali občasno znova). Ni neprekinjeno. Paketni postopek.
- Računsko zahtevno: Milijarde operacij. Dnevi ali tedni časa na grafičnih procesorjih. Ogromen računski proračun.
- Strpnost do časa: Če učenje traja teden namesto enega dneva, je to v redu. Počakate. Ni zahtev v realnem času.
- Strpnost do stroškov: Učenje lahko stane milijone. A se strošek porazdeli na vse prihodnje uporabe modela. Strošek na končno napoved je majhen.
- Obsedenost s kakovostjo: Skrbi vas kakovost modela. Natančnost. Zmogljivost. Porabili boste dodatno računsko moč za 0,1 % boljšo natančnost. Vredno je.
Učenje je paketni postopek. Nepovezan. Drag. Strpen do časa. Osredotočen na kakovost.
Kaj sklepanje dejansko je
Sklepanje je uporaba naučenega modela za napovedovanje. To se zgodi vsakič, ko nekdo uporabi vašo umetno inteligenco.
Uporabnik pošlje poizvedbo. Model jo obdela. Vrne napoved. Ponovi se milijonkrat na dan.
Značilnosti sklepanja:
- Neprekinjeno delovanje: Ni enkratno. Zgodi se milijonkrat ali milijardokrat. Ob vsaki uporabniški interakciji. Ob vsakem klicu API.
- Ključna zakasnitev: Uporabniki pričakujejo takojšnje odzive. Milisekunde so pomembne. Zamude so nesprejemljive.
- Strošek na napoved: Vsaka napoved stane denar. Računska moč. Energija. V velikem obsegu se majhni stroški pomnožijo. Optimizacija je obvezna.
- Omejeni viri: Pogosto deluje na robnih napravah. Telefoni. IoT. Omejena energija. Omejen pomnilnik. Omejena računska moč.
- Kompromis med kakovostjo in hitrostjo: Morda boste sprejeli nekoliko nižjo natančnost za veliko hitrejše sklepanje. Uporabnikom je pomembna odzivnost.
Sklepanje je spletno. V realnem času. Občutljivo na stroške. Ključno za zakasnitev. Z omejenimi viri.
Razdelitev strojne opreme
Usposabljanje in sklepanje pogosto potekata na popolnoma različni strojni opremi:
Strojna oprema za usposabljanje:
GPE v podatkovnih centrih. Vrhunski. Na tisoče evrov na enoto. Optimizirani za prepustnost. Ogromna vzporednost. Brez omejitev zakasnitve.
NVIDIA A100, H100. Googlovi TPU. Posebni pospeševalniki umetne inteligence. Poraba energije ni pomembna. Zmogljivost je.
Strojna oprema za sklepanje:
CPE. Robne naprave. Telefoni. Vgrajeni sistemi. Optimizirani za učinkovitost. Zakasnitev. Porabo energije.
Procesorji Intel Xeon. Procesorji ARM. Apple Neural Engine. Robni TPU. Poceni. Učinkoviti. Povsod.
Cilji optimizacije strojne opreme so si nasprotni. Usposabljanje: največja prepustnost. Sklepanje: najmanjša zakasnitev in poraba energije.
Računske razlike
Kar strojna oprema dejansko počne, se bistveno razlikuje:
Računanje pri usposabljanju:
Prehod naprej: izračun napovedi. Prehod nazaj: izračun gradientov. Posodobitve uteži: prilagoditev parametrov. Ponovite milijonkrat.
Tako prehod naprej kot nazaj. Ogromne zahteve po pomnilniku. Shranite vse aktivacije za povratno širjenje. Shranite gradiente. Shranite stanje optimizatorja.
Pomnilniški odtis je 3-4× velikosti modela. Računanje je 2× (naprej in nazaj). Vse je zahtevno.
Računanje pri sklepanju:
Samo prehod naprej. Brez prehoda nazaj. Brez izračuna gradientov. Brez posodobitev uteži. Samo: vhod → model → izhod.
Pomnilniški odtis je 1× velikost modela (samo uteži). Računanje je 1× (samo naprej). Precej lažje.
Isti model. Popolnoma drugačen računski vzorec.
Cilji optimizacije (kar vas dejansko zanima)
Usposabljanje in sklepanje optimizirata za različne cilje:
Optimizacija usposabljanja:
- Natančnost: Primarni cilj. Dobiti najboljši možni model. Porabite več računske moči, če to izboljša natančnost.
- Hitrost konvergence: Hitrejše usposabljanje pomeni hitrejše ponavljanje. Boljši hiperparametri. Več poskusov. A natančnost je pomembnejša.
- Stabilnost: Usposabljanje ne sme sesuti. Gradienti ne smejo eksplodirati. Konvergenca mora biti zanesljiva. Zavreči dneve računanja zaradi neuspelega zagona je nesprejemljivo.
Optimizacija sklepanja:
- Zakasnitev: Odzivni čas je pomemben. Uporabniki čakajo. Milisekunde štejejo. To je primarna metrika.
- Prepustnost: Napovedi na sekundo. V velikem obsegu to določa, koliko strežnikov potrebujete. Stroški rastejo linearno.
- Učinkovitost: Poraba energije. Še posebej na robnih napravah. Življenjska doba baterije je pomembna. Toplotne omejitve so pomembne.
- Pomnilnik: Manjši modeli se prilegajo na manjše naprave. Manj pomnilnika pomeni širšo uporabo.
Različni cilji. Različne optimizacije. Različni kompromisi.
Enačba stroškov
Ekonomika je popolnoma drugačna:
Stroški usposabljanja:
Enkratni (ali občasni). Milijoni evrov za velike modele. A razporejeni na milijarde sklepanj. Strošek na napoved iz usposabljanja: delčki centa.
Ogromen proračun za usposabljanje je upravičen, če bo model pogosto uporabljen.
Stroški sklepanja:
Strošek na napoved. Pomnožen z milijardami napovedi. Tudi majhni stroški postanejo ogromni v velikem obsegu.
Zmanjšanje stroškov sklepanja za 10 % prihrani milijone letno. Optimizacija ima takojšen donos.
Primer izračuna:
Usposabljanje: 10 milijonov evrov enkratnih stroškov
Sklepanje: 1 milijarda napovedi na dan
Stroški sklepanja: 0,001 evra na napoved = 1 milijon evrov na dan = 365 milijonov evrov na leto
Stroški sklepanja v velikem obsegu zasenčijo stroške usposabljanja. Zato je optimizacija sklepanja tako pomembna.
Binarne mreže spremenijo vse
Tu binarne mreže temeljito spremenijo enačbo:
Usposabljanje z binarnimi mrežami:
Hibridni pristop. Gradienti s polno natančnostjo. Binarni prehod naprej. 2× hitreje kot usposabljanje s plavajočo vejico. A še vedno računsko zahtevno.
Izboljšave pri usposabljanju so dobrodošle. A usposabljanje je enkratno. Prava korist je pri sklepanju.
Sklepanje z binarnimi mrežami:
XNOR in popcount namesto množenja s seštevanjem. 6 tranzistorjev namesto tisočev. Ogromno pospeševanje na CPE-jih.
40× hitrejše sklepanje na CPE-jih v primerjavi s plavajočo vejico na GPE-jih. 96-odstotno zmanjšanje porabe energije. Zmanjšanje stroškov je linearno.
Pri milijardi napovedi na dan to prihrani več sto milijonov letno. Poslovni argument je neizpodbiten.
Pristop Dweve:
Usposabljajte modele z binarnimi omejitvami. Uvajajte na CPE-jih. Za sklepanje GPE-ji niso potrebni. Deluje na kateri koli napravi. Kjerkoli.
Optimizacija sklepanja je področje, kjer binarne mreže blestijo. Koristi pri usposabljanju so drugotne. Uvajanje je prelomnica.
Stiskanje modelov (premostitev vrzeli)
Pogosto usposabljate velike, uvajate pa majhne. Tehnike stiskanja premostijo usposabljanje in sklepanje:
- Kvantizacija: Usposabljanje v plavajoči vejici. Pretvorba v nižjo natančnost (INT8, INT4). Uporaba kvantiziranega modela. Manjši, hitrejši, enaka natančnost (večinoma).
- Obrezovanje: Odstranjevanje nepotrebnih uteži. Redki modeli. Enaka natančnost, delček velikosti. Hitrejše sklepanje.
- Destilacija: Usposabljanje velikega učiteljskega modela. Usposabljanje majhnega študentskega modela za posnemanje učitelja. Uporaba študentskega modela. Stisnjeno znanje.
- Binarna pretvorba: Usposabljanje s tehnikami, ki upoštevajo binarne vrednosti. Uporaba čisto binarnega modela. Skrajno stiskanje. Največja hitrost sklepanja.
Te tehnike optimizirajo sklepanje, hkrati pa ohranjajo prilagodljivost usposabljanja. Najboljše iz obeh svetov.
Vzorci uvajanja v resničnem svetu
Kako to dejansko deluje v produkciji:
- Sklepanje v oblaku: Usposabljanje na zmogljivih grafičnih procesorjih. Uvajanje na gruče procesorjev za sklepanje. Vodoravno skaliranje. Optimizacija stroškov. To je standardni vzorec.
- Sklepanje na robu: Usposabljanje v oblaku. Stiskanje modela. Uvajanje na robne naprave. Telefoni, internet stvari, vgrajeni sistemi. Nizka zakasnitev. Zasebnost. Delovanje brez povezave.
- Hibridni pristop: Preproste poizvedbe na robu. Zapletene poizvedbe v oblaku. Najboljša zakasnitev za pogoste primere. Preusmeritev v oblak za robne primere.
- Vzorec Dweve: Usposabljanje modelov z omejitvami (evolucijsko iskanje, ne gradientni spust). Uvajanje binarnega razmišljanja na katerem koli procesorju. Arhitektura, usmerjena na rob. Oblak je neobvezen.
Spremljanje in vzdrževanje
Usposabljanje: nastavi in spremljaj. Sklepanje: spremljaj nenehno.
- Spremljanje usposabljanja: Krivulje izgube. Norme gradientov. Validacijska natančnost. Občasno preverjanje. Prilagajanje po potrebi. Ni v realnem času.
- Spremljanje sklepanja: Percentili zakasnitve. Stopnje napak. Prepustnost. Izkoriščenost virov. Nadzorne plošče v realnem času. Opozorila ob poslabšanju.
Sklepanje je produkcija. Usposabljanje je razvoj. Spremljanje produkcije poteka 24/7. Spremljanje razvoja je občasno.
Kaj si morate zapomniti
Če si ne zapomnite ničesar drugega, si zapomnite to:
- 1. Učenje in sklepanje sta si bistveno različna. Učenje: paketno, brez povezave, drago, osredotočeno na kakovost. Sklepanje: spletno, v realnem času, občutljivo na stroške, kritično glede zakasnitve.
- 2. Zahteve glede strojne opreme so si nasprotne. Učenje: največja prepustnost, neomejena poraba energije. Sklepanje: najmanjša zakasnitev, omejena poraba energije, uvajanje na robu.
- 3. V velikem obsegu prevladujejo stroški sklepanja. Učenje lahko stane milijone. Sklepanje stane na stotine milijonov letno. Donosnost optimizacije je takojšnja.
- 4. Binarne mreže blestijo pri sklepanju. Koristi pri učenju so prijetne. Koristi pri sklepanju so znatne. 40× hitreje, 96 % manj porabe energije, uporabno povsod.
- 5. Stiskanje premosti vrzel. Učite na velikem. Uvajajte na majhnem. Kvantizacija, obrezovanje, destilacija. Optimizirajte za sklepanje, hkrati pa ohranite prilagodljivost učenja.
- 6. Sklepanje v produkciji potrebuje spremljanje. Meritve v realnem času. Zakasnitev, napake, prepustnost. Vidnost 24/7. Spremljanje učenja je občasno.
- 7. Vzorci uvajanja se razlikujejo. Oblak, rob, hibridno. Izbira temelji na zahtevah glede zakasnitve, zasebnosti, stroškov in povezljivosti.
Bistvo
Učenje je deležno pozornosti. Objavljeni članki. Primerjave meril uspešnosti. Slavljenje najsodobnejše natančnosti.
Toda pri sklepanju se porablja denar. Kjer uporabniki delujejo. Kjer je zakasnitev pomembna. Kjer se stroški množijo. Kjer učinkovitost določa uspeh.
Najboljši postopek učenja ni pomemben, če je sklepanje počasno, drago ali potratno z energijo. Uvajanje je preizkus resničnosti.
Razumevanje delitve med učenjem in sklepanjem vam pomaga pravilno optimizirati. Ne optimizirajte učenja na račun sklepanja. Breme sklepanja je pravi izziv.
Binarne mreže to prepoznavajo. Učinkovitost učenja je prijetna. Učinkovitost sklepanja je bistvena. Tja je usmerjeno prizadevanje za optimizacijo. Tam je poslovna vrednost.
Učenje zgradi model. Sklepanje prinaša vrednost. Nikoli ne zamenjujte obojega.
Potrebujete umetno inteligenco, optimizirano za sklepanje? Raziščite Dweve Loom. Binarno omejitveno sklepanje, zasnovano za uvajanje. 40-krat hitrejše sklepanje na procesorjih. 96-odstotno zmanjšanje porabe energije. Uvajanje kjer koli. Takšna umetna inteligenca, ki je že od prvega dne zasnovana za produkcijo.