Kako optimizirati AI modele

Kako optimizirati AI modele

Kratak odgovor: Za optimizaciju AI modela odaberite jedno primarno ograničenje (latencija, trošak, memorija, kvaliteta, stabilnost ili propusnost), a zatim zabilježite pouzdanu osnovnu vrijednost prije nego što bilo što promijenite. Prvo uklonite uska grla u cjevovodu, a zatim primijenite niskorizične dobitke poput mješovite preciznosti i grupiranja; ako se kvaliteta održi, prijeđite na alate za kompajliranje/izvođenje i tek zatim smanjite veličinu modela kvantizacijom ili destilacijom kada je to potrebno.

Ključne zaključke:

Ograničenje : Odaberite jednu ili dvije ciljne metrike; optimizacija je krajolik kompromisa, a ne besplatnih pobjeda.

Mjerenje : Profilirajte stvarna opterećenja s p50/p95/p99, propusnošću, iskorištenjem i vršnim opterećenjima memorije.

Cjevovod : Ispravite tokenizaciju, učitavače podataka, predobradu i grupiranje prije nego što se dotaknete modela.

Posluživanje : Koristite predmemoriranje, namjerno grupiranje, podešavanje konkurentnosti i pažljivo pratite latenciju repa.

Zaštitne ograde : Pokrenite zlatne upute, metrike zadataka i nasumične provjere nakon svake promjene performansi.

Kako optimizirati infografiku AI modela

🔗 Kako učinkovito procijeniti AI modele
Ključni kriteriji i koraci za pravedno i pouzdano prosuđivanje modela.

🔗 Kako mjeriti performanse umjetne inteligencije stvarnim metrikama
Za usporedbu koristite referentne vrijednosti, latenciju, cijenu i signale kvalitete.

🔗 Kako testirati AI modele prije produkcije
Praktični tijek rada testiranja: podjele podataka, stresni slučajevi i praćenje.

🔗 Kako koristiti umjetnu inteligenciju za stvaranje sadržaja
Pretvorite ideje u nacrte brže uz strukturirane upute i iteracije.


1) Što "Optimizirati" znači u praksi (jer svatko to koristi drugačije) 🧠

Kada ljudi kažu "optimizirati AI model", mogli bi misliti na:

  • Ubrzajte (smanjite latenciju)

  • Učinite to jeftinijim (manje sati rada GPU-a, niža potrošnja na oblak)

  • Smanjite ga (zauzimanje memorije, implementacija na rubu mreže)

  • Učiniti ga točnijim (poboljšanje kvalitete, manje halucinacija)

  • Učiniti ga stabilnijim (manje varijance, manje kvarova u proizvodnji)

  • Olakšajte posluživanje (propusnost, grupiranje, predvidljive performanse)

Evo pomalo iritantne istine: ne možete sve ovo maksimizirati odjednom. Optimizacija je kao stiskanje balona - gurnete jednu stranu unutra, a druga strana iskoči. Ne uvijek, ali dovoljno često da biste trebali planirati kompromise.

Dakle, prije nego što išta dotaknete, odaberite svoje primarno ograničenje :

  • Ako korisnicima pružate usluge uživo, važna vam je latencija p95 ( percentili AWS CloudWatch-a ) i performanse repa ( najbolja praksa za "latenciju repa" ) 📉

  • Ako treniraš, važno ti je vrijeme potrebno za postizanje kvalitete i iskorištenost GPU-a 🔥

  • Ako implementirate na uređajima, važni su vam RAM i napajanje 🔋


2) Kako izgleda dobra verzija optimizacije AI modela ✅

Dobra verzija optimizacije nije samo "primijeni kvantizaciju i moli se". To je sustav. Najbolje postavke obično imaju:

  • Osnovna linija kojoj vjerujete
    Ako ne možete reproducirati svoje trenutne rezultate, ne možete znati da ste išta poboljšali. Jednostavno… ali ljudi to preskaču. Onda se tone u začarani krug.

  • Jasna ciljna metrika
    „Brže“ je nejasna. „Smanjiti latenciju p95 s 900 ms na 300 ms uz isti rezultat kvalitete“ je pravi cilj.

  • Zaštitne ograde za kvalitetu
    Svaka pobjeda u izvedbi riskira tihi pad kvalitete. Potrebni su vam testovi, evaluacije ili barem paket za procjenu zdravog razuma.

  • Svijest o hardveru
    "Brzi" model na jednoj grafičkoj procesorskoj jedinici može se pojaviti na drugoj. CPU-i su svoja posebna vrsta kaosa.

  • Iterativne promjene, a ne naglo prepisivanje.
    Kada promijenite pet stvari odjednom i performanse se poboljšaju, ne znate zašto. Što je... uznemirujuće.

Optimizacija bi se trebala osjećati kao ugađanje gitare - male prilagodbe, pažljivo slušajte, ponavljajte 🎸. Ako se osjeća kao žongliranje noževima, nešto nije u redu.


3) Tablica usporedbe: Popularne opcije za optimizaciju AI modela 📊

U nastavku slijedi kratka i pomalo neuredna tablica usporedbe uobičajenih alata/pristupa za optimizaciju. Ne, nije savršeno „fer“ - ni stvarni život nije.

Alat / Opcija Publika Cijena Zašto to funkcionira
PyTorch torch.compile ( PyTorch dokumentacija ) Ljudi iz PyTorcha Besplatno Hvatanje grafa + trikovi kompajlera mogu smanjiti opterećenje… ponekad je to magija ✨
ONNX Runtime ( ONNX Runtime dokumentacija ) Timovi za raspoređivanje Slobodno Snažne optimizacije zaključivanja, široka podrška, dobro za standardizirano posluživanje
TensorRT ( NVIDIA TensorRT dokumentacija ) Implementacija NVIDIA-e Plaćene vibracije (često u paketu) Agresivna fuzija kernela + precizno rukovanje, vrlo brzo kad klikne
DeepSpeed ​​( ZeRO dokumentacija ) Trenažni timovi Besplatno Optimizacije memorije + propusnosti (ZeRO itd.). Može se osjećati kao mlazni motor
FSDP (PyTorch) ( dokumentacija za PyTorch FSDP ) Trenažni timovi Besplatno Parametri/gradijenti usitnjenih elemenata čine velike modele manje zastrašujućima
kvantizacija bitova i bajtova ( bitsandbytes ) LLM majstori Besplatno Niske težine bitova, ogromne uštede memorije - kvaliteta ovisi, ali uf 😬
Destilacija ( Hinton i sur., 2015. ) Timovi proizvoda "Trošak vremena" Model manjeg učenika nasljeđuje ponašanje, obično najbolji povrat ulaganja dugoročno
Obrezivanje ( PyTorch vodič za obrezivanje ) Istraživanje + proizvodnja Besplatno Uklanja mrtvi teret. Bolje funkcionira u kombinaciji s prekvalifikacijom
Flash Attention / spojene jezgre ( FlashAttention papir ) Štreberi za performanse Besplatno Brža pažnja, bolje pamćenje. Prava pobjeda za transformatore
Triton Inference Server ( Dinamičko batchiranje ) Operacije/infrastruktura Besplatno Posluživanje proizvodnje, grupiranje, višemodelni cjevovodi - djeluje poduzetnički

Priznanje o neobičnosti formatiranja: „Cijena“ je neuredna jer vas otvoreni kod i dalje može koštati vikend otklanjanja pogrešaka, što je… cijena. 😵💫


4) Započnite s mjerenjem: Profilirajte kao da to mislite 🔍

Ako iz cijelog ovog vodiča radite samo jednu stvar, učinite ovo: pravilno izmjerite.

U mom vlastitom testiranju, najveći "optimizacijski proboji" došli su iz otkrića nečega neugodno jednostavnog poput:

  • učitivač podataka koji iscrpljuje GPU

  • Usko grlo predobrade CPU-a

  • male veličine serija koje uzrokuju opterećenje pri pokretanju kernela

  • spora tokenizacija (tokenizatori mogu biti tihi zlikovci)

  • fragmentacija memorije ( bilješke o alokatoru memorije PyTorch CUDA )

  • jednoslojno dominiranje računanja

Što mjeriti (minimalni skup)

  • Latencija (p50, p95, p99) ( SRE na percentilima latencije )

  • Propusnost (tokeni/sek, zahtjevi/sek)

  • Iskorištenost GPU-a (izračunavanje + memorija)

  • Vrhovi VRAM-a / RAM-a

  • Cijena po 1000 tokena (ili po inferenciji)

Praktični profilirajući način razmišljanja

  • Napravi profil jednog scenarija koji te zanima (ne dječje igre).

  • Zabilježite sve u mali "dnevnik performansi".
    Da, zamorno je... ali vas štedi od kasnijeg samokritiziranja.

(Ako želite konkretan alat za početak: PyTorch Profiler ( torch.profiler docs ) i Nsight Systems ( NVIDIA Nsight Systems ) su uobičajeni osumnjičenici.)


5) Optimizacija podataka + treninga: Tiha supermoć 📦🚀

Ljudi opsjednuto koriste arhitekturu modela i zaborave na proces. U međuvremenu, proces tiho troši pola GPU-a.

Lake pobjede koje se brzo pojavljuju

  • Koristite mješovitu preciznost (FP16/BF16 gdje je stabilno) ( PyTorch AMP / torch.amp )
    Obično brže, često dobro - ali pripazite na numeričke posebnosti.

  • Akumulacija gradijenta kada je veličina serije ograničena ( 🤗 Vodič za ubrzanje )
    Održava optimizaciju stabilnom bez preopterećenja memorije.

  • Gradijentno kontrolno mjesto ( torch.utils.checkpoint )
    Zamjenjuje računanje za memoriju - omogućuje veće kontekste.

  • Učinkovita tokenizacija ( 🤗 Tokenizatori )
    Tokenizacija može postati usko grlo u velikim razmjerima. Nije glamurozna; važna je.

  • Podešavanje učitavača podataka
    Više radnika, pričvršćena memorija, prethodno dohvaćanje - neupadljivo, ali učinkovito 😴➡️💪 ( Vodič za podešavanje performansi PyTorcha )

Parametarski učinkovito fino podešavanje

Ako fino podešavate velike modele, PEFT metode (poput adaptera u LoRA stilu) mogu uvelike smanjiti troškove obuke, a istovremeno ostati iznenađujuće jake ( 🤗 Transformers PEFT vodič , LoRA rad ). Ovo je jedan od onih trenutaka "zašto ovo nismo napravili ranije?".


6) Optimizacija na razini arhitekture: Određivanje veličine modela 🧩

Ponekad je najbolji način optimizacije... prestati koristiti model koji je prevelik za posao. Znam, svetogrđe 😄.

Nazovite na temelju nekoliko osnovnih stvari:

  • Odlučite trebate li potpune vibracije opće obavještajne službe ili specijalista.

  • Kontekstni prozor neka bude onoliko velik koliko je potrebno, ne veći.

  • Koristite model obučen za dotični posao (klasifikacijski modeli za klasifikacijski rad i tako dalje).

Praktične strategije za određivanje prave veličine

  • Za većinu zahtjeva
    prebacite se na manju okosnicu, a zatim usmjerite „teške upite“ na veći model.

  • Koristite dvofazno postavljanje.
    Brzo izrađuje nacrte modela, jači model provjerava ili uređuje.
    To je kao da pišete s prijateljem koji je izbirljiv - dosadno, ali učinkovito.

  • Smanjite duljinu izlaza
    Izlazni tokeni koštaju novca i vremena. Ako vaš model luta, plaćate za lutanje.

Vidio sam timove kako drastično smanjuju troškove nametanjem kraćih rezultata. Djeluje sitno. Funkcionira.


7) Optimizacija kompajlera + grafa: Odakle dolazi brzina 🏎️

Ovo je sloj „natjerajte računalo da radi pametnije računalne stvari“.

Uobičajene tehnike:

Jednostavno rečeno: vaš model može biti brz matematički, ali spor operativno. Kompajleri ispravljaju dio toga.

Praktične bilješke (tj. ožiljci)

  • Ove optimizacije mogu biti osjetljive na promjene oblika modela.

  • Neki modeli puno ubrzavaju, neki se jedva pomiču.

  • Ponekad dobiješ ubrzanje i zagonetnu bubu - kao da se gremlin uselio 🧌

Ipak, kada uspije, to je jedna od najčišćih pobjeda.


8) Kvantizacija, orezivanje, destilacija: Manje bez plakanja (previše) 🪓📉

Ovo je dio koji ljudi žele... jer zvuči kao besplatna izvedba. Može biti, ali morate to tretirati kao operaciju.

Kvantizacija (težine/aktivacije niže preciznosti)

  • Izvrsno za brzinu zaključivanja i pamćenje

  • Rizik: pad kvalitete, posebno u rubnim slučajevima

  • Najbolja praksa: procijenite na stvarnom testnom skupu, a ne na vibracijama

Uobičajeni okusi o kojima ćete čuti:

Obrezivanje (uklanjanje parametara)

  • Uklanja "nevažne" težine ili strukture ( tutorial za PyTorch orezivanje )

  • Obično je potrebna prekvalifikacija za vraćanje kvalitete

  • Radi bolje nego što ljudi misle... kada se radi pažljivo

Destilacija (učenik uči od učitelja)

Ovo je moja osobna omiljena dugoročna poluga. Destilacija može proizvesti manji model koji se ponaša slično i često je stabilniji od ekstremne kvantizacije ( Destilacija znanja u neuronskoj mreži ).

Nesavršena metafora: destilacija je kao da prolijete kompliciranu juhu kroz filter i dobijete... manju juhu. Juha ne funkcionira tako, ali shvaćate poantu 🍲.


9) Serviranje i zaključivanje: Prava bojna zona 🧯

Možete "optimizirati" model, a i dalje ga loše posluživati. Posluživanje je mjesto gdje latencija i troškovi postaju stvarni.

Serviranje pobjeđuje koje je važno

  • Grupno generiranje
    poboljšava propusnost. Ali povećava latenciju ako se pretjera. Uravnotežite to. ( Tritonovo dinamičko grupiranje )

  • Keširanje
    Prompt keširanje i ponovna upotreba KV-keširanja mogu biti ogromni za ponovljene kontekste. ( Objašnjenje KV keširanja )

  • Streaming izlaz
    Korisnici osjećaju da je brži čak i ako je ukupno vrijeme slično. Percepcija je važna 🙂.

  • Smanjenje opterećenja token po token
    Neki stogovi obavljaju dodatni posao po tokenu. Smanjite to opterećenje i dobit ćete veliku zaradu.

Pazite na latenciju repa

Vaš prosjek može izgledati sjajno, dok je vaš p99 katastrofa. Korisnici, nažalost, žive u repu. ( "Latencija repa" i zašto prosjeci lažu )


10) Optimizacija svjesna hardvera: Uskladite model sa strojem 🧰🖥️

Optimiziranje bez poznavanja hardvera je kao podešavanje trkaćeg automobila bez provjere guma. Naravno, možete to učiniti, ali je malo glupo.

Razmatranja GPU-a

  • Propusnost memorije je često ograničavajući faktor, a ne sirovo računanje

  • Veće veličine serija mogu pomoći, sve dok ne prestanu

  • Fuzija kernela i optimizacije pažnje su ogromne za transformatore ( FlashAttention: IO-svjesna točna pažnja )

Razmatranja CPU-a

  • Niti, vektorizacija i lokalnost memorije su jako važni

  • Troškovi tokenizacije mogu dominirati ( 🤗 “Brzi” tokenizatori )

  • Možda će vam trebati drugačije strategije kvantizacije nego na GPU-u

Razmatranja za rubne/mobilne uređaje

  • Memorijski otisak postaje prioritet broj jedan

  • Varijacija latencije je važna jer su uređaji… ćudljivi

  • Manji, specijalizirani modeli često pobjeđuju velike opće modele


11) Kvalitetne zaštitne ograde: Nemojte se "optimizirati" u bug 🧪

Svaka brza pobjeda trebala bi imati provjeru kvalitete. Inače ćete slaviti, slati pošiljku, a zatim dobiti poruku poput „zašto asistent odjednom priča kao gusar?“ 🏴☠️

Pragmatične ograde:

  • Zlatni upiti (fiksni skup upita koje uvijek testirate)

  • Metrike zadatka (točnost, F1, BLEU, što god odgovara)

  • Ljudske provjere na licu mjesta (da, ozbiljno)

  • Pragovi regresije („dopušten pad ne veći od X%)

Također pratite načine kvara:

  • pomak formatiranja

  • promjene u ponašanju odbijanja

  • učestalost halucinacija

  • inflacija duljine odgovora

Optimizacija može promijeniti ponašanje na iznenađujuće načine. Neobično. Iritantno. Predvidljivo, gledajući unatrag.


12) Kontrolna lista: Kako optimizirati AI modele korak po korak ✅🤖

Ako želite jasan redoslijed operacija za optimizaciju AI modela , evo tijeka rada koji pomaže ljudima da ostanu zdravi:

  1. Definirajte uspjeh
    Odaberite 1-2 primarne metrike (latencija, trošak, propusnost, kvaliteta).

  2. Mjerenje
    stvarnih opterećenja osnovnog profila, zapisivanje p50/p95, memorije, troškova. ( PyTorch Profiler )

  3. Ispravljanje uskih grla u cjevovodu
    Učitavanje podataka, tokenizacija, predobrada, grupiranje.

  4. Primijenite računalne pobjede niskog rizika:
    mješovita preciznost, optimizacije jezgre, bolje batchiranje.

  5. Isprobajte optimizacije kompajlera/izvršavanja:
    hvatanje grafova, izvođenje inferencije, fuziju operatora. ( tutorial za torch.compile , dokumentacija za ONNX Runtime )

  6. Smanjite trošak modela.
    Pažljivo kvantificirajte, destilirajte ako možete, orezujte ako je prikladno.

  7. Posluživanje
    podešavanja, keširanje, istodobnost, testiranje opterećenja, ispravci latencije repa.

  8. Validirajte kvalitetu.
    Pokrenite regresijske testove i usporedite rezultate jedan pored drugog.

  9. Ponavljanje
    Male promjene, jasne bilješke, ponavljanje. Neupadljivo - učinkovito.

I da, ovo je i dalje Kako optimizirati AI modele čak i ako se više čini kao "Kako prestati gaziti po grabljama". Ista stvar.


13) Uobičajene pogreške (kako ih ne biste ponavljali kao mi ostali) 🙃

  • Optimiziranje prije mjerenja.
    Izgubit ćete vrijeme. A onda ćete samouvjereno optimizirati pogrešnu stvar...

  • Potraga za jednom referentnom
    vrijednošću Referentne vrijednosti lažu zbog izostavljanja. Vaše radno opterećenje je istina.

  • Ignoriranje memorije
    Problemi s memorijom uzrokuju usporavanja, rušenja i podrhtavanje. ( Razumijevanje korištenja CUDA memorije u PyTorchu )

  • Prerano prekvantiziranje
    Kvantificiranje s malo bita može biti nevjerojatno, ali prvo počnite sa sigurnijim koracima.

  • Nema plana vraćanja na prethodno stanje.
    Ako se ne možete brzo vratiti na prethodno stanje, svako postavljanje postaje stresno. Stres stvara greške.


Završne bilješke: Ljudski način optimizacije 😌⚡

Optimizacija AI modela nije jednokratni trik. To je slojevit proces: mjerenje, popravljanje cjevovoda, korištenje kompajlera i runtimeova, podešavanje posluživanja, a zatim smanjivanje modela kvantizacijom ili destilacijom ako je potrebno. Radite to korak po korak, držite se granica kvalitete i nemojte vjerovati da se „osjeća brže“ kao metrici (vaši osjećaji su lijepi, vaši osjećaji nisu profiler).

Ako želite najkraću dostavu:

  • Prvo izmjeri 🔍

  • Sljedeće optimizirajte cjevovod 🧵

  • Zatim optimizirajte model 🧠

  • Zatim optimizirajte posluživanje 🏗️

  • Uvijek provjeravajte kvalitetu ✅

I ako pomaže, podsjetite se: cilj nije „savršen model“. Cilj je model koji je brz, pristupačan i dovoljno pouzdan da možete spavati noću... većinu noći 😴.

Često postavljana pitanja

Što optimizacija AI modela znači u praksi

„Optimizacija“ obično znači poboljšanje jednog primarnog ograničenja: latencije, troškova, memorijskog otiska, točnosti, stabilnosti ili propusnosti posluživanja. Teški dio su kompromisi - poticanje jednog područja može ugroziti drugo. Praktičan pristup je odabrati jasan cilj (poput latencije p95 ili vremena potrebnog za postizanje kvalitete) i optimizirati prema njemu. Bez cilja, lako je „poboljšati se“ i ipak izgubiti.

Kako optimizirati AI modele bez tihog narušavanja kvalitete

Tretirajte svaku promjenu brzine ili troškova kao potencijalnu tihu regresiju. Koristite zaštitne ograde poput zlatnih uputa, metrika zadataka i brzih ljudskih provjera. Postavite jasan prag za prihvatljivo odstupanje kvalitete i uspoređujte rezultate jedan pored drugog. To sprječava da se "brže je" pretvori u "zašto je odjednom postalo čudno u produkciji?" nakon što isporučite.

Što treba mjeriti prije početka optimizacije

Započnite s percentilima latencije (p50, p95, p99), propusnošću (tokeni/sek ili zahtjevi/sek), iskorištenjem GPU-a i vršnom VRAM/RAM vrijednošću. Pratite trošak po inferenciji ili po 1k tokena ako je trošak ograničenje. Napravite profil stvarnog scenarija kojem služite, a ne prompta igračke. Vođenje malog "dnevnika performansi" pomaže vam da izbjegnete nagađanja i ponavljanje pogrešaka.

Brze pobjede s niskim rizikom za učinkovitost treninga

Mješovita preciznost (FP16/BF16) često je najbrža prva ručica, ali pripazite na numeričke neobičnosti. Ako je veličina serije ograničena, akumulacija gradijenta može stabilizirati optimizaciju bez trošenja memorije. Kontrolne točke gradijenta mijenjaju dodatno računanje za manje memorije, omogućujući veće kontekste. Nemojte zanemariti tokenizaciju i podešavanje učitavača podataka - oni mogu tiho iscrpiti GPU.

Kada koristiti torch.compile, ONNX Runtime ili TensorRT

Ovi alati ciljaju operativne troškove: snimanje grafova, fuziju kernela i optimizaciju grafova za vrijeme izvođenja. Mogu pružiti čista ubrzanja inferencije, ali rezultati se razlikuju ovisno o obliku modela i hardveru. Neke postavke djeluju kao magija; druge se jedva pomiču. Očekujte osjetljivost na promjene oblika i povremene "gremlinske" greške - mjerite prije i poslije na svom stvarnom opterećenju.

Isplati li se kvantizacija i kako izbjeći pretjerano korištenje

Kvantizacija može smanjiti memoriju i ubrzati zaključivanje, posebno s INT8, ali kvaliteta može pasti u rubnim slučajevima. Opcije s nižim bitovima (poput INT4/k-bit) donose veće uštede s većim rizikom. Najsigurnija navika je procijeniti na stvarnom testnom skupu i usporediti rezultate, a ne intuiciju. Prvo počnite sa sigurnijim koracima, a zatim idite na nižu preciznost samo ako je potrebno.

Razlika između obrezivanja i destilacije za smanjenje veličine modela

Obrezivanje uklanja parametre "mrtvog tereta" i često zahtijeva ponovnu obuku kako bi se povratila kvaliteta, posebno kada se provodi agresivno. Destilacija obučava manji model učenika da oponaša ponašanje većeg učitelja i može biti dugoročni povrat ulaganja veći od ekstremne kvantizacije. Ako želite manji model koji se ponaša slično i ostaje stabilan, destilacija je često čišći put.

Kako smanjiti troškove zaključivanja i latenciju poboljšanjima posluživanja

Posluživanje je mjesto gdje optimizacija postaje opipljiva: grupiranje povećava propusnost, ali može umanjiti latenciju ako se pretjera, stoga ga pažljivo podesite. Predmemoriranje (brzo predmemoriranje i ponovna upotreba KV-predmemorije) može biti ogromno kada se konteksti ponavljaju. Streaming izlaza poboljšava percipiranu brzinu čak i ako je ukupno vrijeme slično. Također obratite pozornost na opterećenje tokena po tokenu u svom stogu - mali rad po tokenu se brzo zbraja.

Zašto je latencija repa toliko važna pri optimizaciji AI modela

Prosjeci mogu izgledati sjajno dok je p99 katastrofa, a korisnici obično žive u repu. Latencija repa često dolazi od podrhtavanja: fragmentacije memorije, skokova u predprocesiranju CPU-a, usporavanja tokenizacije ili lošeg ponašanja u grupiranju. Zato vodič naglašava percentile i stvarna opterećenja. Ako optimizirate samo p50, i dalje možete pružiti iskustvo koje se „nasumično čini sporim“

Reference

  1. Amazon Web Services (AWS) - AWS CloudWatch percentili (definicije statistike) - docs.aws.amazon.com

  2. Google - Rep u mjerilu (najbolja praksa za latenciju repa) - sre.google

  3. Google - Ciljevi razine usluge (SRE knjiga) - percentili latencije - sre.google

  4. PyTorch - torch.compile - docs.pytorch.org

  5. PyTorch - FullyShardedDataParallel (FSDP) - docs.pytorch.org

  6. PyTorch - PyTorch Profiler - docs.pytorch.org

  7. PyTorch - CUDA semantika: upravljanje memorijom (bilješke o CUDA alokatoru memorije) - docs.pytorch.org

  8. PyTorch - Automatska mješovita preciznost (torch.amp / AMP) - docs.pytorch.org

  9. PyTorch - torch.utils.checkpoint - docs.pytorch.org

  10. PyTorch - Vodič za podešavanje performansi - docs.pytorch.org

  11. PyTorch - Vodič za orezivanje - docs.pytorch.org

  12. PyTorch - Razumijevanje korištenja CUDA memorije u PyTorchu - docs.pytorch.org

  13. PyTorch - vodič / pregled za torch.compile - docs.pytorch.org

  14. ONNX Runtime - Dokumentacija za ONNX Runtime - onnxruntime.ai

  15. NVIDIA - Dokumentacija za TensorRT - docs.nvidia.com

  16. NVIDIA - TensorRT kvantizirani tipovi - docs.nvidia.com

  17. NVIDIA - Nsight Systems - developer.nvidia.com

  18. NVIDIA - Triton Inference Server - dinamičko batchiranje - docs.nvidia.com

  19. DeepSpeed ​​- Dokumentacija za ZeRO Stage 3 - deepspeed.readthedocs.io

  20. bitsandbytes (bitsandbytes-foundation) - bitsandbytes - github.com

  21. Zagrljaj lica - Ubrzanje: Vodič za akumulaciju gradijenta - huggingface.co

  22. Hugging Face - Dokumentacija tokenizatora - huggingface.co

  23. Hugging Face - Transformersi: PEFT vodič - huggingface.co

  24. Hugging Face - Transformers: KV objašnjenje predmemorije - huggingface.co

  25. Hugging Face - Transformers: “Brzi” tokenizatori (klase tokenizatora) - huggingface.co

  26. arXiv - Destilacija znanja u neuronskoj mreži (Hinton i sur., 2015.) - arxiv.org

  27. arXiv - LoRA: Prilagodba modela velikih jezika niskog ranga - arxiv.org

  28. arXiv - FlashAttention: Brza i memorijski učinkovita točna pažnja s IO-svjesnošću - arxiv.org

Pronađite najnoviju umjetnu inteligenciju u službenoj trgovini AI Assistant

O nama

Natrag na blog