Inference pret trenēšanu: kāpēc AI darbināšana atšķiras no tā izveides
Divas pilnīgi atšķirīgas problēmas
Visi runā par mākslīgā intelekta modeļiem. ChatGPT. Attēlu ģeneratori. Balss palīgi. Taču ir būtiska atšķirība, ko neviens neizskaidro:
Modeļa izveide (apmācība) un modeļa izmantošana (inference) ir pilnīgi atšķirīgas darbības. Atšķirīga aparatūra. Atšķirīgi optimizācijas mērķi. Atšķirīgas izmaksas. Atšķirīgas problēmas.
Izprast šo atšķirību ir būtiski. Jo prasības nevarētu būt atšķirīgākas.
Kas patiesībā ir apmācība
Apmācība ir vienreizējs (vai periodisks) process, kurā tiek izveidots modelis.
Jums ir dati. Daudz datu. Jums ir modeļa arhitektūra. Sākotnēji ar nejaušiem svariem. Apmācība pielāgo šos svarus, līdz modelis darbojas.
Apmācības raksturojums:
- Vienreizējs darbs: Jūs apmācāt vienreiz (vai pārmācāt periodiski). Nevis nepārtraukti. Tas ir pakešu process.
- Skaitļošanas ziņā intensīvs: Miljardiem darbību. Dienas vai nedēļas GPU laika. Milzīgs skaitļošanas budžets.
- Iecietība pret laiku: Ja apmācība aizņem nedēļu, nevis dienu, tas ir pieņemami. Jūs gaidāt. Nav reāllaika prasību.
- Iecietība pret izmaksām: Apmācība var izmaksāt miljoniem. Taču tā tiek amortizēta visās turpmākajās modeļa izmantošanas reizēs. Izmaksas par katru galīgo prognozi ir niecīgas.
- Kvalitātes fokuss: Jums rūp modeļa kvalitāte. Precizitāte. Veiktspēja. Jūs tērēsiet papildu skaitļošanas resursus, lai iegūtu par 0,1% labāku precizitāti. Tas ir tā vērts.
Apmācība ir pakešu process. Bezsaistē. Dārga. Iecietīga pret laiku. Vērsta uz kvalitāti.
Kas patiesībā ir inference
Inference ir apmācītā modeļa izmantošana prognožu veikšanai. Tas notiek katru reizi, kad kāds izmanto jūsu mākslīgā intelekta risinājumu.
Lietotājs nosūta vaicājumu. Modelis to apstrādā. Atgriež prognozi. Atkārtojas miljoniem reižu dienā.
Inferences raksturojums:
- Nepārtraukta darbība: Nevis vienreizēja. Notiek miljoniem vai miljardiem reižu. Katra lietotāja mijiedarbība. Katrs API izsaukums.
- Kritiska latentums: Lietotāji sagaida tūlītēju atbildi. Milisekundes ir svarīgas. Kavēšanās nav pieņemama.
- Izmaksas par prognozi: Katra prognoze maksā naudu. Skaitļošana. Enerģija. Lielā mērogā sīkas izmaksas vairojas. Optimizācija ir obligāta.
- Ierobežoti resursi: Bieži darbojas uz perifērijas ierīcēm. Telefoniem. IoT. Ierobežota jauda. Ierobežota atmiņa. Ierobežota skaitļošana.
- Kvalitātes un ātruma kompromiss: Jūs varat pieņemt nedaudz zemāku precizitāti, lai iegūtu daudz ātrāku secinājumu veikšanu. Lietotājiem rūp atsaucība.
Secinājumu veikšana ir tiešsaistes. Reāllaika. Izmaksu jutīga. Latentuma kritiska. Resursu ierobežota.
Aparatūras sadalījums
Apmācība un secinājumu veikšana bieži notiek uz pilnīgi atšķirīgas aparatūras:
Apmācības aparatūra:
Datu centra GPU. Augstākās klases. Tūkstošiem eiro par vienību. Optimizēti caurlaidspējai. Masveida paralēlisms. Nav latentuma ierobežojumu.
NVIDIA A100, H100. Google TPU. Pielāgoti AI paātrinātāji. Enerģijas patēriņš nav svarīgs. Veiktspēja ir svarīga.
Secinājumu veikšanas aparatūra:
CPU. Perifērijas ierīces. Telefoni. Iegultās sistēmas. Optimizēta efektivitātei. Latentumam. Enerģijas patēriņam.
Intel Xeon CPU. ARM procesori. Apple Neural Engine. Edge TPU. Lēti. Efektīvi. Visur.
Aparatūras optimizācijas mērķi ir pretēji. Apmācība: maksimāla caurlaidspēja. Secinājumu veikšana: minimāls latentums un enerģijas patēriņš.
Skaitļošanas atšķirības
Tas, ko aparatūra faktiski dara, būtiski atšķiras:
Apmācības skaitļošana:
Uz priekšu vērstā pāreja: aprēķina prognozes. Atpakaļejošā pāreja: aprēķina gradientus. Svaru atjaunināšana: pielāgo parametrus. Atkārto miljoniem reižu.
Gan uz priekšu, gan atpakaļejošās pārejas. Milzīgas atmiņas prasības. Uzglabā visas aktivācijas atpakaļizplatīšanai. Uzglabā gradientus. Uzglabā optimizētāja stāvokli.
Atmiņas nospiedums ir 3-4× no modeļa lieluma. Skaitļošana ir 2× (uz priekšu un atpakaļ). Viss ir smags.
Secinājumu veikšanas skaitļošana:
Tikai uz priekšu vērstā pāreja. Nav atpakaļejošās pārejas. Nav gradientu aprēķina. Nav svaru atjaunināšanas. Tikai: ievade → modelis → izvade.
Atmiņas nospiedums ir 1× no modeļa izmēra (tikai svari). Aprēķini ir 1× (tikai uz priekšu). Daudz vieglāk.
Pats modelis. Pilnīgi cits aprēķinu modelis.
Optimizācijas mērķi (tas, kas tev patiesībā rūp)
Apmācība un secinājumu izpilde optimizē dažādus mērķus:
Apmācības optimizācija:
- Precizitāte: Primārais mērķis. Iegūt labāko iespējamo modeli. Tērē vairāk skaitļošanas jaudas, ja tas uzlabo precizitāti.
- Konverģences ātrums: Ātrāka apmācība nozīmē ātrāku iterāciju. Labāki hiperparametri. Vairāk eksperimentu. Bet precizitāte ir svarīgāka.
- Stabilitāte: Apmācība nedrīkst avarēt. Gradienti nedrīkst eksplodēt. Konverģencei jābūt uzticamai. Dienām ilgi tērēt skaitļošanas jaudu neveiksmīgam mēģinājumam nav pieņemami.
Secinājumu izpildes optimizācija:
- Latence: Atbildes laikam ir nozīme. Lietotāji gaida. Milisekundes ir svarīgas. Tas ir primārais rādītājs.
- Caurlaidspēja: Prognozes sekundē. Lielā mērogā tas nosaka, cik serveru tev nepieciešams. Izmaksas pieaug lineāri.
- Efektivitāte: Enerģijas patēriņš. Īpaši malu ierīcēs. Akumulatora darbības laikam ir nozīme. Termiskajiem ierobežojumiem ir nozīme.
- Atmiņa: Mazāki modeļi iederas mazākās ierīcēs. Mazāka atmiņa nozīmē plašāku izvietošanu.
Dažādi mērķi. Dažādas optimizācijas. Dažādi kompromisi.
Izmaksu vienādojums
Ekonomika ir pilnīgi atšķirīga:
Apmācības izmaksas:
Vienreizējas (vai periodiskas). Miljoniem eiro lieliem modeļiem. Bet amortizētas pāri miljardiem secinājumu. Apmācības izmaksas uz vienu prognozi: centa daļas.
Tu vari attaisnot milzīgus apmācības budžetus, ja modelis tiks plaši izmantots.
Secinājumu izpildes izmaksas:
Izmaksas par katru prognozi. Reizinātas ar miljardiem prognožu. Pat niecīgas izmaksas kļūst milzīgas lielā mērogā.
Samazinot secinājumu izpildes izmaksas par 10%, katru gadu ietaupa miljoniem. Optimizācijai ir tūlītēja IA.
Piemēra matemātika:
Apmācība: 10 miljoni eiro vienreizējas izmaksas
Secinājumu izpilde: 1 miljards prognožu dienā
Secinājumu izpildes izmaksas: 0,001 eiro par prognozi = 1 miljons eiro dienā = 365 miljoni eiro gadā
Secinājumu izpildes izmaksas lielā mērogā pārsniedz apmācības izmaksas. Tāpēc secinājumu izpildes optimizācijai ir tik liela nozīme.
Binārie tīkli maina visu
Lūk, kur binārie tīkli būtiski maina vienādojumu:
Apmācība ar binārajiem tīkliem:
Hibrīda pieeja. Pilnas precizitātes gradienti. Binārā priekšējā pāreja. 2× ātrāk nekā peldošā komata apmācība. Bet joprojām skaitļošanas ziņā intensīva.
Apmācības uzlabojumi ir jauki. Bet apmācība ir vienreizēja. Īstais ieguvums ir secinājumu izpilde.
Secinājumu izpilde ar binārajiem tīkliem:
XNOR un popcount reizināšanas-saskaitīšanas vietā. 6 tranzistori tūkstošu vietā. Milzīgs ātruma pieaugums CPU.
40× ātrāka secinājumu izpilde CPU salīdzinājumā ar peldošo komatu GPU. 96% enerģijas samazinājums. Izmaksu samazinājums pieaug lineāri.
Pie miljarda prognožu dienā tas katru gadu ietaupa simtiem miljonu. Biznesa pamatojums ir neapstrīdams.
Dweve pieeja:
Apmācīt bināro ierobežojumu modeļus. Izvietot CPU. Nav nepieciešami GPU secinājumu izpildei. Darbināt uz jebkuras ierīces. Jebkur.
Secinājumu izpildes optimizācija ir vieta, kur binārie tīkli spīd. Apmācības ieguvumi ir sekundāri. Izvietošana ir spēles mainītājs.
Modeļa saspiešana (tilta veidošana)
Bieži tu apmāci lielu, izvieto mazu. Saspiešanas paņēmieni savieno apmācību un secinājumu izpildi:
- Kvantizācija: Trenē peldošā komata formātā. Pārveido uz zemāku precizitāti (INT8, INT4). Izvieto kvantizētu modeli. Mazāks, ātrāks, tāda pati precizitāte (lielākoties).
- Retināšana: Noņem nevajadzīgos svarus. Reti savienoti modeļi. Tāda pati precizitāte, daļa no izmēra. Ātrāka secinājumu izpilde.
- Destilācija: Trenē lielu skolotāja modeli. Trenē mazu skolēna modeli, lai atdarinātu skolotāju. Izvieto skolēna modeli. Saspiestas zināšanas.
- Binārā konversija: Trenē ar binārajām metodēm. Izvieto tīri bināru modeli. Ekstrēma saspiešana. Maksimāls secinājumu ātrums.
Šīs metodes optimizē secinājumu izpildi, vienlaikus saglabājot trenēšanas elastību. Labākais no abām pasaulēm.
Reāli izvietošanas modeļi
Kā tas patiesībā darbojas ražošanā:
- Mākoņa secinājumi: Trenē uz augstas klases GPU. Izvieto uz CPU klasteriem secinājumu izpildei. Horizontālā mērogošana. Izmaksu optimizācija. Tas ir standarta modelis.
- Pieguļošās ierīces secinājumi: Trenē mākonī. Saspiež modeli. Izvieto uz pieguļošajām ierīcēm. Telefoni, IoT, iebūvētās sistēmas. Zema latentums. Privātums. Bezsaistes iespējas.
- Hibrīdā pieeja: Vienkārši vaicājumi uz pieguļošās ierīces. Sarežģīti vaicājumi uz mākoni. Vislabākā latentums parastajiem gadījumiem. Atkāpšanās uz mākoni īpašajiem gadījumiem.
- Dweve modelis: Trenē ierobežojumu modeļus (evolucionārā meklēšana, nevis gradienta nolaišanās). Izvieto bināro spriešanu uz jebkura CPU. Pieguļošo ierīču pirmā arhitektūra. Mākonis nav obligāts.
Uzraudzība un uzturēšana
Trenēšana: uzstādi un uzraugi. Secinājumi: uzraugi pastāvīgi.
- Trenēšanas uzraudzība: Zaudējuma līknes. Gradientu normas. Validācijas precizitāte. Pārbaudi periodiski. Pielāgo, ja nepieciešams. Nav reāllaika.
- Secinājumu uzraudzība: Latentuma procentiles. Kļūdu rādītāji. Caurlaidspēja. Resursu izmantošana. Reāllaika informācijas paneļi. Brīdinājumi par pasliktināšanos.
Secinājumi ir ražošana. Trenēšana ir izstrāde. Ražošanas uzraudzība ir 24/7. Izstrādes uzraudzība ir periodiska.
Kas Tev Jāatceras
Ja neko citu no šī nepaņem, atceries:
- 1. Apmācība un secinājumu izdarīšana būtiski atšķiras. Apmācība: pakešu režīms, bezsaistē, dārgi, vērsta uz kvalitāti. Secinājumu izdarīšana: tiešsaistē, reāllaikā, izmaksu jutīga, latentuma kritiska.
- 2. Aparatūras prasības ir pretējas. Apmācība: maksimāla caurlaidspēja, jauda neierobežota. Secinājumu izdarīšana: minimāls latentums, jauda ierobežota, izvietošana tīkla malā.
- 3. Lielā mērogā dominē secinājumu izdarīšanas izmaksas. Apmācība var maksāt miljonus. Secinājumu izdarīšana gadā maksā simtiem miljonu. Optimizācijas atdeve ir tūlītēja.
- 4. Binārās shēmas izceļas secinājumu izdarīšanā. Ieguvumi apmācībā ir patīkami. Ieguvumi secinājumu izdarīšanā ir ievērojami. 40× ātrāk, 96% mazāk enerģijas, izvietojamas jebkur.
- 5. Saspiešana pārvar plaisu. Apmāciet lielu. Izvietojiet mazu. Kvantizācija, apgriešana, destilācija. Optimizējiet secinājumu izdarīšanai, saglabājot apmācības elastību.
- 6. Ražošanas secinājumu izdarīšanai nepieciešama uzraudzība. Reāllaika rādītāji. Latentums, kļūdas, caurlaidspēja. Redzamība 24/7. Apmācības uzraudzība ir periodiska.
- 7. Izvietošanas modeļi atšķiras. Mākonis, tīkla mala, hibrīds. Izvēlieties, pamatojoties uz latentuma, privātuma, izmaksu un savienojamības prasībām.
Būtība
Apmācība saņem uzmanību. Tiek publicēti raksti. Tiek salīdzināti etaloni. Tiek svinēta vismodernākā precizitāte.
Bet secinājumu izdarīšana ir vieta, kur tiek tērēta nauda. Kur lietotāji mijiedarbojas. Kur latentumam ir nozīme. Kur izmaksas vairojas. Kur efektivitāte nosaka panākumus.
Labākais apmācības process nav svarīgs, ja secinājumu izdarīšana ir lēna, dārga vai energoietilpīga. Izvietošana ir realitātes pārbaude.
Izpratne par apmācības un secinājumu izdarīšanas nošķīrumu palīdz optimizēt pareizi. Neoptimizējiet apmācību uz secinājumu izdarīšanas rēķina. Secinājumu izdarīšanas slogs ir vieta, kur slēpjas īstais izaicinājums.
Binārās shēmas to apzinās. Apmācības efektivitāte ir patīkama. Secinājumu izdarīšanas efektivitāte ir būtiska. Tieši tur tiek ieguldītas optimizācijas pūles. Tieši tur ir biznesa vērtība.
Apmācība veido modeli. Secinājumu izdarīšana sniedz vērtību. Nekad nejauciet abus.
Vēlaties secinājumu optimizētu mākslīgo intelektu? Iepazīstiet Dweve Loom. Binārās ierobežojumu loģikas risinājums, kas izstrādāts ieviešanai. 40× ātrāka secinājumu apstrāde CPU. 96% enerģijas patēriņa samazinājums. Ieviešiet jebkur. Tāds mākslīgais intelekts, kas jau no pirmās dienas veidots ražošanai.