Inference vs. mokymas: kodėl AI paleidimas skiriasi nuo jo kūrimo

Mokymas sukuria modelį. Inferencija jį naudoja. Tai visiškai skirtingi iššūkiai, keliantys visiškai skirtingus reikalavimus.

Inference vs. mokymas: kodėl AI paleidimas skiriasi nuo jo kūrimo

Dvi visiškai skirtingos problemos

Visi kalba apie dirbtinio intelekto modelius. „ChatGPT“. Vaizdų generatoriai. Balso asistentai. Tačiau yra esminis skirtumas, kurio niekas nepaaiškina:

Modelio kūrimas (mokymas) ir modelio naudojimas (išvadų darymas) yra visiškai skirtingos operacijos. Skirtinga aparatinė įranga. Skirtingi optimizavimo tikslai. Skirtingos sąnaudos. Skirtingi iššūkiai.

Suprasti šį skirtumą yra labai svarbu. Nes reikalavimai negalėtų būti labiau skirtingi.

Kas iš tikrųjų yra mokymas

Mokymas yra vienkartinis (arba periodinis) modelio kūrimo procesas.

Turite duomenų. Daugybę. Turite modelio architektūrą. Iš pradžių su atsitiktiniais svoriais. Mokymas koreguoja tuos svorius, kol modelis pradeda veikti.

Mokymo ypatybės:

  • Vienkartinės pastangos: Mokote vieną kartą (arba retkarčiais mokote iš naujo). Ne nuolat. Tai paketinis procesas.
  • Didelis skaičiavimo poreikis: Milijardai operacijų. Dienos ar savaitės GPU laiko. Milžiniškas skaičiavimo biudžetas.
  • Tolerancija laikui: Jei mokymas užtrunka savaitę vietoj dienos, tai gerai. Palaukiate. Jokių realaus laiko reikalavimų.
  • Tolerancija sąnaudoms: Mokymas gali kainuoti milijonus. Tačiau šios sąnaudos paskirstomos visiems būsimiems modelio naudojimo atvejams. Sąnaudos vienai prognozei galiausiai yra mažos.
  • Siekiant kokybės: Jums rūpi modelio kokybė. Tikslumas. Našumas. Išleisite papildomų skaičiavimo resursų, kad pasiektumėte 0,1 % geresnį tikslumą. Verta.

Mokymas yra paketinis procesas. Neinternetinis. Brangus. Tolerantiškas laikui. Orientuotas į kokybę.

Kompromisas „Kas iš tikrųjų yra mokymas“ yra ten, kur vertė nuteka arba grįžta kontrolė.

Kas iš tikrųjų yra išvadų darymas

Išvadų darymas yra apmokyto modelio naudojimas prognozėms. Tai vyksta kiekvieną kartą, kai kas nors naudoja jūsų dirbtinį intelektą.

Vartotojas siunčia užklausą. Modelis ją apdoroja. Grąžina prognozę. Kartojama milijonus kartų per dieną.

Išvadų darymo ypatybės:

  • Nepertraukiamas veikimas: Ne vienkartinis. Vyksta milijonus ar milijardus kartų. Kiekviena vartotojo sąveika. Kiekvienas API iškvietimas.
  • Kritiška delsa: Vartotojai tikisi akimirksniu gauti atsakymą. Svarbios milisekundės. Vėlavimai nepriimtini.
  • Kaina už prognozę: Kiekviena prognozė kainuoja pinigus. Skaičiavimo ištekliai. Energija. Dideliu mastu mažos išlaidos dauginasi. Optimizavimas yra privalomas.
  • Riboti ištekliai: Dažnai veikia krašto įrenginiuose. Telefonuose. Daiktų internete (IoT). Ribotas energijos tiekimas. Ribotas atminties kiekis. Riboti skaičiavimo pajėgumai.
  • Kokybe ir greičio kompromisas: Galite sutikti su šiek tiek mažesniu tikslumu dėl daug greitesnio spėjimo. Vartotojams svarbus reagavimo greitis.

Spėjimas (inference) yra internetinis. Veikia realiuoju laiku. Jautrus išlaidoms. Kritiškas delsai. Ribotų išteklių.

„What Inference Actually Is" yra ciklas: stebėti, pasirinkti, veikti ir vėl išbandyti.

Aparatinės įrangos atskyrimas

Mokymas ir spėjimas dažnai veikia visiškai skirtingoje aparatinėje įrangoje:

Mokymo aparatinė įranga:

Duomenų centrų GPU. Aukščiausios klasės. Tūkstančiai eurų už vienetą. Optimizuota pralaidumui. Didžiulis lygiagretumas. Jokių delsos apribojimų.

NVIDIA A100, H100. Google TPU. Individualūs AI greitintuvai. Energijos suvartojimas nesvarbus. Svarbus našumas.

Spėjimo aparatinė įranga:

CPU. Krašto įrenginiai. Telefonai. Įterptinės sistemos. Optimizuota efektyvumui. Delsai. Energijos suvartojimui.

„Intel Xeon" CPU. „ARM" procesoriai. „Apple Neural Engine". Krašto TPU. Pigu. Efektyvu. Visur.

Aparatinės įrangos optimizavimo tikslai yra priešingi. Mokymas: maksimalus pralaidumas. Spėjimas: minimali delsa ir energijos suvartojimas.

Skaičiavimo skirtumai

Ką aparatinė įranga iš tikrųjų daro, iš esmės skiriasi:

Mokymo skaičiavimai:

Tiesioginis ėjimas: apskaičiuojamos prognozės. Atgalinis ėjimas: apskaičiuojami gradientai. Svorio atnaujinimai: koreguojami parametrai. Kartojama milijonus kartų.

Ir tiesioginis, ir atgalinis ėjimai. Didžiuliai atminties reikalavimai. Saugomi visi aktyvavimai atgaliniam sklidimui. Saugomi gradientai. Saugoma optimizatoriaus būsena.

Atminties poreikis yra 3-4× didesnis nei modelio dydis. Skaičiavimai yra 2× (tiesioginis ir atgalinis). Viskas yra sunku.

Spėjimo skaičiavimai:

Tik tiesioginis ėjimas. Jokio atgalinio ėjimo. Jokio gradiento skaičiavimo. Jokių svorio atnaujinimų. Tik: įvestis → modelis → išvestis.

Atminties poreikis yra 1× modelio dydžio (tik svoriai). Skaičiavimo poreikis yra 1× (tik tiesioginis ėjimas). Daug lengviau.

Tas pats modelis. Visiškai kitoks skaičiavimo būdas.

Optimizavimo tikslai (kas jums iš tikrųjų rūpi)

Mokymas ir išvadų darymas optimizuojami skirtingiems tikslams:

Mokymo optimizavimas:

  • Tikslumas: Pagrindinis tikslas. Gaukite geriausią įmanomą modelį. Skirkite daugiau skaičiavimo resursų, jei tai pagerina tikslumą.
  • Konvergencijos greitis: Greitesnis mokymas reiškia greitesnę iteraciją. Geresni hiperparametrai. Daugiau eksperimentų. Bet tikslumas svarbesnis.
  • Stabilumas: Mokymas neturi žlugti. Gradientai neturi sprogti. Konvergencija turi būti patikima. Švaistyti dienas skaičiavimų nesėkmingam bandymui nepriimtina.

Išvadų darymo optimizavimas:

  • Vėlavimas: Atsako laikas svarbus. Vartotojai laukia. Milisekundės lemia. Tai pagrindinė metrika.
  • Praleidžiamumas: Prognozės per sekundę. Dideliu mastu tai lemia, kiek serverių jums reikia. Sąnaudos auga tiesiškai.
  • Efektyvumas: Energijos suvartojimas. Ypač krašto įrenginiuose. Baterijos veikimo laikas svarbus. Šiluminės ribos svarbios.
  • Atmintis: Mažesni modeliai telpa mažesniuose įrenginiuose. Mažesnė atmintis reiškia platesnį diegimą.

Skirtingi tikslai. Skirtingos optimizacijos. Skirtingi kompromisai.

Sąnaudų lygtis

Ekonomika visiškai kitokia:

Mokymo sąnaudos:

Vienkartinės (arba periodinės). Milijonai eurų dideliems modeliams. Bet paskirstytos per milijardus išvadų. Mokymo sąnaudos vienai prognozei: cento dalys.

Galite pateisinti didžiulius mokymo biudžetus, jei modelis bus plačiai naudojamas.

Išvadų darymo sąnaudos:

Sąnaudos už kiekvieną prognozę. Padaugintos iš milijardų prognozių. Net mažos sąnaudos tampa didžiulės dideliu mastu.

Sumažinus išvadų darymo sąnaudas 10%, kasmet sutaupoma milijonai. Optimizacija turi tiesioginę investicijų grąžą.

Sąnaudų pavyzdys:

Mokymas: 10 mln. eurų vienkartinė sąnauda

Išvadų darymas: 1 milijardas prognozių per dieną

Išvadų darymo sąnaudos: 0,001 EUR už prognozę = 1 mln. EUR per dieną = 365 mln. EUR per metus

Išvadų darymo sąnaudos dideliu mastu gerokai viršija mokymo sąnaudas. Štai kodėl išvadų darymo optimizavimas toks svarbus.

Dvejetainiai tinklai keičia viską

Štai kaip dvejetainiai tinklai iš esmės keičia lygtį:

Mokymas su dvejetainiais tinklais:

Hibridinis metodas. Viso tikslumo gradientai. Dvejetainis tiesioginis ėjimas. 2× greičiau nei mokymas su slankiuoju kableliu. Bet vis tiek reikalauja daug skaičiavimų.

Mokymo patobulinimai yra malonūs. Bet mokymas yra vienkartinis. Tikroji nauda yra išvadų darymas.

Išvadų darymas su dvejetainiais tinklais:

XNOR ir popcount vietoj daugybos su sudėtimi. 6 tranzistoriai vietoj tūkstančių. Didžiulis pagreitis CPU.

40× greitesnis išvadų darymas CPU, palyginti su slankiojo kablelio GPU. 96% mažesnis energijos suvartojimas. Sąnaudų mažėjimas tiesinis.

Esant milijardui prognozių per dieną, tai kasmet sutaupo šimtus milijonų. Verslo atvejis neabejotinas.

Dweve metodas:

Mokykite dvejetainius apribojimų modelius. Diekite CPU. Išvadų darymui GPU nereikia. Veikia bet kuriame įrenginyje. Bet kur.

Išvadų darymo optimizavimas yra sritis, kurioje dvejetainiai tinklai spindi. Mokymo nauda yra antraeilė. Diegimas keičia žaidimo taisykles.

Modelio glaudinimas (mažinant atotrūkį)

Dažnai mokote didelį, diegiate mažą. Glaudinimo metodai sujungia mokymą ir išvadų darymą:

  • Kvantizavimas: Treniruokite slankiojo kablelio tikslumu. Konvertuokite į mažesnį tikslumą (INT8, INT4). Diekite kvantizuotą modelį. Mažesnis, greitesnis, beveik toks pat tikslumas.
  • Genėjimas: Pašalinkite nereikalingus svorius. Retieji modeliai. Toks pat tikslumas, maža dalis dydžio. Greitesnė inferencija.
  • Distiliacija: Treniruokite didelį mokytojo modelį. Treniruokite mažą mokinio modelį, kad jis imituotų mokytoją. Diekite mokinį. Suspaustos žinios.
  • Dvejetainė konversija: Treniruokite taikydami dvejetainiams modeliams pritaikytus metodus. Diekite gryną dvejetainį modelį. Ypatingas suspaudimas. Maksimalus inferencijos greitis.

Šie metodai optimizuoja inferenciją ir išlaiko mokymo lankstumą. Geriausia iš abiejų pasaulių.

Erdvė aplink „Model Compression (Bridging the Gap)“ susitraukia, kai susitinka taisyklės, paieška ir įrodymas.

Realaus Pasaulio Diegimo Modeliai

Kaip tai iš tikrųjų veikia gamyboje:

  • Debesijos inferencija: Treniruokite aukščiausios klasės GPU. Diekite CPU klasteriuose inferencijai. Horizontalus mastelio keitimas. Išlaidų optimizavimas. Tai standartinis modelis.
  • Krašto įrenginių inferencija: Treniruokite debesyje. Suspaudykite modelį. Diekite į krašto įrenginius. Telefonai, daiktų internetas, įterptinės sistemos. Maža delsa. Privatumas. Veikimas neprisijungus.
  • Hibridinis metodas: Paprastos užklausos krašto įrenginiuose. Sudėtingos užklausos debesyje. Geriausia delsa įprastais atvejais. Sudėtingais atvejais grįžkite prie debesijos.
  • Dweve modelis: Treniruokite apribojimų modelius (evoliucinė paieška, ne gradientinis nusileidimas). Diekite dvejetainį samprotavimą bet kuriame CPU. Architektūra, orientuota į krašto įrenginius. Debesija neprivaloma.

Stebėsena ir Priežiūra

Mokymas: nustatykite ir stebėkite. Inferencija: stebėkite nuolat.

  • Mokymo stebėsena: Nuostolių kreivės. Gradiento normos. Validacijos tikslumas. Tikrinkite periodiškai. Koreguokite, jei reikia. Ne realiuoju laiku.
  • Inferencijos stebėsena: Delsos procentiliai. Klaidų rodikliai. Pralaidumas. Išteklių naudojimas. Skydeliai realiuoju laiku. Įspėjimai apie pablogėjimą.

Inferencija yra gamyba. Mokymas yra kūrimas. Gamybos stebėsena vyksta 24/7. Kūrimo stebėsena yra pertraukiama.

Ką Reikia Atsiminti

Jei nieko kito neįsiminsite, atsiminkite:

  • 1. Mokymas ir inferencija iš esmės skiriasi. Mokymas: paketinis, neprisijungęs, brangus, orientuotas į kokybę. Inferencija: internetinė, realiuoju laiku, jautri sąnaudoms, kritiškai priklausoma nuo delsos.
  • 2. Techninės įrangos reikalavimai yra priešingi. Mokymas: maksimalus pralaidumas, galia neribojama. Inferencija: minimali delsa, ribota galia, diegimas krašte.
  • 3. Dideliu mastu dominuoja inferencijos sąnaudos. Mokymas gali kainuoti milijonus. Inferencija kasmet kainuoja šimtus milijonų. Optimizavimo investicijų grąža yra tiesioginė.
  • 4. Dvejetainiai tinklai puikiai tinka inferencijai. Mokymo privalumai yra malonūs. Inferencijos privalumai yra dideli. 40× greičiau, 96% mažiau energijos, diegiama bet kur.
  • 5. Suspaudimas užpildo spragą. Mokykite didelį modelį. Diekite mažą. Kvantizavimas, retinimas, distiliavimas. Optimizuokite inferencijai, išlaikydami mokymo lankstumą.
  • 6. Gamybinė inferencija reikalauja stebėjimo. Metrika realiuoju laiku. Delsa, klaidos, pralaidumas. Matomumas 24/7. Mokymo stebėjimas yra pertraukiamas.
  • 7. Diegimo modeliai skiriasi. Debesija, kraštas, hibridinis. Rinkitės pagal delsos, privatumo, sąnaudų ir ryšio reikalavimus.
Šis žemėlapis rodo, kur iš tikrųjų atsiduria „Ką reikia įsiminti“: duomenys, autoritetas ir vykdymas.

Esmė

Mokymas sulaukia dėmesio. Skelbiami straipsniai. Lyginami etalonai. Švenčiamas naujausias tikslumas.

Tačiau būtent inferencijai išleidžiami pinigai. Kur sąveikauja vartotojai. Kur svarbi delsa. Kur sąnaudos dauginasi. Kur efektyvumas lemia sėkmę.

Geriausias mokymo procesas nieko nereiškia, jei inferencija yra lėta, brangi ar daug energijos reikalaujanti. Diegimas yra realybės patikrinimas.

Suprasdami mokymo ir inferencijos skirtumą, galėsite tinkamai optimizuoti. Neoptimizuokite mokymo inferencijos sąskaita. Inferencijos našta yra tikrasis iššūkis.

Dvejetainiai tinklai tai supranta. Mokymo efektyvumas yra malonus. Inferencijos efektyvumas yra būtinas. Būtent ten dedamos optimizavimo pastangos. Būtent ten yra verslo vertė.

Mokymas sukuria modelį. Inferencija suteikia vertę. Niekada nepainiokite šių dviejų dalykų.

Norite išvadoms optimizuoto DI? Susipažinkite su Dweve Loom. Dvejetainis apribojimų samprotavimas, sukurtas diegimui. 40× greitesnės išvados CPU. 96 % mažesnis energijos suvartojimas. Diekite bet kur. Toks DI, kuris nuo pirmos dienos sukurtas gamybai.