సంక్షిప్త సమాధానం: AI మోడళ్లను ఆప్టిమైజ్ చేయడానికి, ఒక ప్రాథమిక పరిమితిని (జాప్యం, ఖర్చు, మెమరీ, నాణ్యత, స్థిరత్వం లేదా నిర్గమాంశ) ఎంచుకోండి, ఆపై ఏదైనా మార్చడానికి ముందు నమ్మదగిన బేస్లైన్ను సంగ్రహించండి. ముందుగా పైప్లైన్ అడ్డంకులను తొలగించండి, ఆపై మిశ్రమ ఖచ్చితత్వం మరియు బ్యాచింగ్ వంటి తక్కువ-రిస్క్ లాభాలను వర్తింపజేయండి; నాణ్యత ఉంటే, కంపైలర్/రన్టైమ్ టూలింగ్కు వెళ్లండి మరియు అవసరమైనప్పుడు క్వాంటైజేషన్ లేదా స్వేదనం ద్వారా మోడల్ పరిమాణాన్ని తగ్గించండి.
కీలకమైన అంశాలు:
పరిమితి : ఒకటి లేదా రెండు లక్ష్య కొలమానాలను ఎంచుకోండి; ఆప్టిమైజేషన్ అనేది ట్రేడ్-ఆఫ్ల ప్రకృతి దృశ్యం, ఉచిత విజయాలు కాదు.
కొలత : p50/p95/p99, నిర్గమాంశ, వినియోగం మరియు మెమరీ శిఖరాలతో నిజమైన పనిభారాలను ప్రొఫైల్ చేయండి.
పైప్లైన్ : మోడల్ను తాకే ముందు టోకనైజేషన్, డేటాలోడర్లు, ప్రీప్రాసెసింగ్ మరియు బ్యాచింగ్లను పరిష్కరించండి.
సర్వింగ్ : కాషింగ్, ఉద్దేశపూర్వకంగా బ్యాచింగ్, కంకరెన్సీ ట్యూనింగ్ ఉపయోగించండి మరియు టెయిల్ లేటెన్సీని నిశితంగా గమనించండి.
గార్డ్రెయిల్స్ : ప్రతి పనితీరు మార్పు తర్వాత గోల్డెన్ ప్రాంప్ట్లు, టాస్క్ మెట్రిక్స్ మరియు స్పాట్ చెక్లను అమలు చేయండి.

🔗 AI నమూనాలను సమర్థవంతంగా ఎలా మూల్యాంకనం చేయాలి
నమూనాలను న్యాయంగా మరియు విశ్వసనీయంగా నిర్ధారించడానికి కీలక ప్రమాణాలు మరియు దశలు.
🔗 నిజమైన మెట్రిక్లతో AI పనితీరును ఎలా కొలవాలి
పోల్చడానికి బెంచ్మార్క్లు, జాప్యం, ఖర్చు మరియు నాణ్యత సంకేతాలను ఉపయోగించండి.
🔗 ఉత్పత్తికి ముందు AI నమూనాలను ఎలా పరీక్షించాలి
ప్రాక్టికల్ టెస్టింగ్ వర్క్ఫ్లో: డేటా స్ప్లిట్లు, ఒత్తిడి కేసులు మరియు పర్యవేక్షణ.
🔗 కంటెంట్ సృష్టి కోసం AIని ఎలా ఉపయోగించాలి
నిర్మాణాత్మక ప్రాంప్ట్లు మరియు పునరావృతంతో ఆలోచనలను వేగంగా డ్రాఫ్ట్లుగా మార్చండి.
1) ఆచరణలో “ఆప్టిమైజ్” అంటే ఏమిటి (ఎందుకంటే ప్రతి ఒక్కరూ దీనిని భిన్నంగా ఉపయోగిస్తారు) 🧠
"AI మోడల్ను ఆప్టిమైజ్ చేయండి" అని ప్రజలు చెప్పినప్పుడు, వారు దీని అర్థం కావచ్చు:
-
దీన్ని వేగవంతం చేయండి (జాప్యం తగ్గించండి)
-
దీన్ని చౌకగా చేయండి (తక్కువ GPU-గంటలు, తక్కువ క్లౌడ్ ఖర్చు)
-
దీన్ని చిన్నదిగా చేయండి (మెమరీ పాదముద్ర, అంచు విస్తరణ)
-
దీన్ని మరింత ఖచ్చితమైనదిగా చేయండి (నాణ్యత మెరుగుదలలు, తక్కువ భ్రాంతులు)
-
దీన్ని మరింత స్థిరంగా చేయండి (తక్కువ వైవిధ్యం, ఉత్పత్తిలో తక్కువ వైఫల్యాలు)
-
సర్వ్ చేయడాన్ని సులభతరం చేయండి (త్రూపుట్, బ్యాచింగ్, ఊహించదగిన పనితీరు)
కొంచెం బాధించే నిజం ఇక్కడ ఉంది: మీరు వీటన్నింటినీ ఒకేసారి గరిష్టీకరించలేరు. ఆప్టిమైజేషన్ అనేది బెలూన్ను పిండడం లాంటిది - ఒక వైపు లోపలికి నెట్టితే మరొక వైపు బయటకు వస్తుంది. ఎల్లప్పుడూ కాదు, కానీ తరచుగా మీరు ట్రేడ్ఆఫ్ల కోసం ప్లాన్ చేసుకోవాలి.
ప్రాథమిక పరిమితిని ఎంచుకోండి :
-
మీరు వినియోగదారులకు ప్రత్యక్ష ప్రసారంలో సేవలు అందిస్తే, మీరు p95 జాప్యం ( AWS క్లౌడ్వాచ్ పర్సంటైల్స్ ) మరియు టెయిల్ పనితీరు ( “టెయిల్ లేటెన్సీ” ఉత్తమ అభ్యాసం ) గురించి శ్రద్ధ వహిస్తారు 📉
-
మీరు శిక్షణ పొందుతుంటే, మీరు సమయం-నాణ్యత మరియు GPU వినియోగం గురించి శ్రద్ధ వహిస్తారు 🔥
-
మీరు పరికరాల్లో డివైజ్ చేస్తుంటే, మీరు RAM మరియు పవర్ 🔋
2) AI మోడల్ ఆప్టిమైజేషన్ యొక్క మంచి వెర్షన్ ఎలా ఉంటుంది ✅
ఆప్టిమైజేషన్ యొక్క మంచి వెర్షన్ కేవలం "క్వాంటైజేషన్ను వర్తింపజేయడం మరియు ప్రార్థన చేయడం" కాదు. ఇది ఒక వ్యవస్థ. ఉత్తమ సెటప్లు సాధారణంగా వీటిని కలిగి ఉంటాయి:
-
మీరు విశ్వసించే బేస్లైన్
మీరు మీ ప్రస్తుత ఫలితాలను పునరుత్పత్తి చేయలేకపోతే, మీరు ఏదైనా మెరుగుపడ్డారని మీకు తెలియదు. సింపుల్… కానీ ప్రజలు దానిని దాటవేస్తారు. అప్పుడు వారు సర్పిలాకారంగా మారుతారు. -
అనే స్పష్టమైన లక్ష్య మెట్రిక్
అస్పష్టంగా ఉంది. "అదే నాణ్యత స్కోరు వద్ద p95 జాప్యాన్ని 900ms నుండి 300msకి తగ్గించడం" అనేది నిజమైన లక్ష్యం. -
నాణ్యత కోసం గార్డ్రెయిల్స్
ప్రతి పనితీరు విజయం నిశ్శబ్ద నాణ్యత తిరోగమనాన్ని ఎదుర్కొంటుంది. మీకు పరీక్షలు, అంచనాలు లేదా కనీసం ఒక తెలివి సూట్ అవసరం. -
హార్డ్వేర్ అవగాహన
ఒక GPUలోని "వేగవంతమైన" మోడల్ మరొక GPUపై క్రాల్ చేయగలదు. CPUలు వాటి స్వంత ప్రత్యేక రకమైన గందరగోళం. -
పదే పదే మార్పులు, బిగ్-బ్యాంగ్ తిరిగి వ్రాయడం కాదు
మీరు ఒకేసారి ఐదు విషయాలను మార్చినప్పుడు మరియు పనితీరు మెరుగుపడినప్పుడు, మీకు ఎందుకో తెలియదు. ఇది... కలవరపెట్టేది.
ఆప్టిమైజేషన్ అంటే గిటార్ ట్యూన్ చేసినట్లు అనిపించాలి - చిన్న చిన్న సర్దుబాట్లు, జాగ్రత్తగా వినండి, మళ్ళీ చెప్పండి 🎸. కత్తులతో గారడీ చేస్తున్నట్లు అనిపిస్తే, ఏదో తప్పు జరిగింది.
3) పోలిక పట్టిక: AI మోడల్లను ఆప్టిమైజ్ చేయడానికి ప్రసిద్ధ ఎంపికలు 📊
సాధారణ ఆప్టిమైజేషన్ సాధనాలు/విధానాల యొక్క త్వరితంగా మరియు కొంచెం అపరిశుభ్రంగా ఉన్న పోలిక పట్టిక క్రింద ఉంది. కాదు, ఇది పూర్తిగా "న్యాయంగా" లేదు - నిజ జీవితం కూడా కాదు.
| సాధనం / ఎంపిక | ప్రేక్షకులు | ధర | ఇది ఎందుకు పనిచేస్తుంది |
|---|---|---|---|
పైటోర్చ్ టార్చ్.కంపైల్ ( పైటోర్చ్ డాక్స్ ) |
పైటోర్చ్ మిత్రులారా | ఉచితం | గ్రాఫ్ క్యాప్చర్ + కంపైలర్ ట్రిక్స్ ఓవర్ హెడ్ ని తగ్గించగలవు… కొన్నిసార్లు ఇది మ్యాజిక్ ✨ |
| ONNX రన్టైమ్ ( ONNX రన్టైమ్ డాక్స్ ) | విస్తరణ బృందాలు | ఉచితమైన | బలమైన అనుమితి ఆప్టిమైజేషన్లు, విస్తృత మద్దతు, ప్రామాణిక సేవలకు మంచిది |
| TensorRT ( NVIDIA TensorRT డాక్స్ ) | NVIDIA విస్తరణ | చెల్లింపు వైబ్లు (తరచుగా బండిల్ చేయబడతాయి) | దూకుడు కెర్నల్ ఫ్యూజన్ + ఖచ్చితత్వ నిర్వహణ, క్లిక్ చేసినప్పుడు చాలా వేగంగా ఉంటుంది |
| డీప్స్పీడ్ ( జీరో డాక్స్ ) | శిక్షణ బృందాలు | ఉచితం | మెమరీ + థ్రూపుట్ ఆప్టిమైజేషన్లు (జీరో మొదలైనవి). జెట్ ఇంజిన్ లాగా అనిపించవచ్చు |
| FSDP (పైటోర్చ్) ( పైటోర్చ్ FSDP డాక్స్ ) | శిక్షణ బృందాలు | ఉచితం | షార్డ్స్ పారామితులు/ప్రవణతలు, పెద్ద మోడళ్లను తక్కువ భయానకంగా చేస్తాయి |
| బిట్సాండ్బైట్ల పరిమాణీకరణ ( బిట్సాండ్బైట్లు ) | LLM టింకరర్లు | ఉచితం | తక్కువ-బిట్ బరువులు, భారీ మెమరీ పొదుపులు - నాణ్యత ఆధారపడి ఉంటుంది, కానీ 😬 |
| స్వేదనం ( హింటన్ మరియు ఇతరులు, 2015 ) | ఉత్పత్తి బృందాలు | "సమయ ఖర్చు" | చిన్న విద్యార్థి నమూనా ప్రవర్తనను వారసత్వంగా పొందుతుంది, సాధారణంగా దీర్ఘకాలికంగా ఉత్తమ ROI |
| కత్తిరింపు ( పైటోర్చ్ కత్తిరింపు ట్యుటోరియల్ ) | పరిశోధన + ఉత్పత్తి | ఉచితం | చనిపోయిన బరువును తొలగిస్తుంది. తిరిగి శిక్షణతో జత చేసినప్పుడు బాగా పనిచేస్తుంది |
| ఫ్లాష్ అటెన్షన్ / ఫ్యూజ్డ్ కెర్నల్స్ ( ఫ్లాష్ అటెన్షన్ పేపర్ ) | ప్రదర్శన మేధావులు | ఉచితం | వేగవంతమైన శ్రద్ధ, మెరుగైన జ్ఞాపకశక్తి. ట్రాన్స్ఫార్మర్లకు నిజమైన విజయం |
| ట్రైటన్ ఇన్ఫెరెన్స్ సర్వర్ ( డైనమిక్ బ్యాచింగ్ ) | ఆప్స్/ఇన్ఫ్రా | ఉచితం | ప్రొడక్షన్ సర్వింగ్, బ్యాచింగ్, బహుళ-మోడల్ పైప్లైన్లు - ఎంటర్ప్రైజ్ లాగా అనిపిస్తుంది |
ఫార్మాట్ చేయడంలో విచిత్రమైన ఒప్పుకోలు: “ధర” అనేది అస్తవ్యస్తంగా ఉంది ఎందుకంటే ఓపెన్-సోర్స్ ఇప్పటికీ మీకు వారాంతంలో డీబగ్గింగ్ ఖర్చు చేస్తుంది, అంటే... ఒక ధర. 😵💫
4) కొలతతో ప్రారంభించండి: మీరు అనుకున్నట్లుగా ప్రొఫైల్ 🔍
ఈ మొత్తం గైడ్ నుండి మీరు ఒకే ఒక పని చేస్తే, దీన్ని చేయండి: సరిగ్గా కొలవండి.
నా స్వంత పరీక్షలో, అతిపెద్ద “ఆప్టిమైజేషన్ పురోగతులు” ఇబ్బందికరమైన సరళమైనదాన్ని కనుగొనడం ద్వారా వచ్చాయి:
-
డేటా లోడర్ GPU ని కోల్పోతోంది
-
CPU ప్రీప్రాసెసింగ్ అడ్డంకి
-
చిన్న బ్యాచ్ పరిమాణాలు కెర్నల్ లాంచ్ ఓవర్ హెడ్ కు కారణమవుతాయి
-
నెమ్మదిగా టోకనైజేషన్ (టోకనైజర్లు నిశ్శబ్ద విలన్లు కావచ్చు)
-
మెమరీ ఫ్రాగ్మెంటేషన్ ( PyTorch CUDA మెమరీ కేటాయింపు గమనికలు )
-
సింగిల్ లేయర్ డామినేటింగ్ కంప్యూట్
ఏమి కొలవాలి (కనీస సెట్)
-
జాప్యం (p50, p95, p99) ( జాప్యం శాతాలపై SRE )
-
నిర్గమాంశ (టోకెన్లు/సెకను, అభ్యర్థనలు/సెకను)
-
GPU వినియోగం (కంప్యూట్ + మెమరీ)
-
VRAM / RAM శిఖరాలు
-
1k టోకెన్లకు అయ్యే ఖర్చు (లేదా అనుమితి ప్రకారం)
ఆచరణాత్మక ప్రొఫైలింగ్ మనస్తత్వం
-
మీరు శ్రద్ధ వహించే ఒక దృశ్యాన్ని (బొమ్మ ప్రాంప్ట్ కాదు) వివరించండి.
-
ప్రతిదాన్ని ఒక చిన్న “పర్ఫ్ జర్నల్”లో రికార్డ్ చేయండి.
అవును ఇది శ్రమతో కూడుకున్నదే… కానీ తర్వాత మిమ్మల్ని మీరు గ్యాస్లైట్ చేయకుండా కాపాడుతుంది.
(మీరు ప్రారంభించడానికి ఒక నిర్దిష్ట సాధనం కావాలనుకుంటే: PyTorch Profiler ( torch.profiler docs ) మరియు Nsight Systems ( NVIDIA Nsight Systems ) సాధారణ అనుమానితులు.)
5) డేటా + శిక్షణ ఆప్టిమైజేషన్: ది క్వైట్ సూపర్ పవర్ 📦🚀
ప్రజలు మోడల్ ఆర్కిటెక్చర్పై వ్యామోహం పెంచుకుని పైప్లైన్ను మరచిపోతారు. ఈలోగా పైప్లైన్ నిశ్శబ్దంగా GPUలో సగం కాలిపోతుంది.
త్వరగా కనిపించే సులభమైన విజయాలు
-
మిశ్రమ ఖచ్చితత్వాన్ని (FP16/BF16 స్థిరంగా ఉన్న చోట) ఉపయోగించండి ( PyTorch AMP / torch.amp )
సాధారణంగా వేగంగా, తరచుగా బాగానే ఉంటుంది - కానీ సంఖ్యాపరమైన విచిత్రాల కోసం చూడండి. -
బ్యాచ్ పరిమాణం పరిమితంగా ఉన్నప్పుడు గ్రేడియంట్ అక్యుములేషన్ 🤗 యాక్సిలరేట్ గైడ్ )
మెమరీ పేలిపోకుండా ఆప్టిమైజేషన్ను స్థిరంగా ఉంచుతుంది. -
గ్రేడియంట్ చెక్పాయింట్ ( torch.utils.checkpoint )
ట్రేడ్లు మెమరీ కోసం కంప్యూట్ చేస్తాయి - పెద్ద సందర్భాలను సాధ్యమయ్యేలా చేస్తాయి. -
సమర్థవంతమైన టోకనైజేషన్ ( 🤗 టోకనైజర్లు )
టోకనైజేషన్ స్థాయిలో అడ్డంకిగా మారవచ్చు. ఇది ఆకర్షణీయంగా లేదు; ఇది ముఖ్యమైనది. -
డేటాలోడర్ ట్యూనింగ్
మరిన్ని వర్కర్లు, పిన్ చేసిన మెమరీ, ప్రీఫెచింగ్ - కనిపించవు కానీ ప్రభావవంతంగా ఉంటాయి 😴➡️💪 ( PyTorch పనితీరు ట్యూనింగ్ గైడ్ )
పరామితి-సమర్థవంతమైన ఫైన్-ట్యూనింగ్
మీరు పెద్ద మోడళ్లను చక్కగా ట్యూన్ చేస్తుంటే, PEFT పద్ధతులు (LoRA-శైలి అడాప్టర్లు వంటివి) ఆశ్చర్యకరంగా బలంగా ఉంటూనే శిక్షణ ఖర్చును భారీగా తగ్గించగలవు ( 🤗 ట్రాన్స్ఫార్మర్స్ PEFT గైడ్ , LoRA పేపర్ ). ఇది “మనం దీన్ని ముందే ఎందుకు చేయలేదు?” అనే క్షణాల్లో ఒకటి.
6) ఆర్కిటెక్చర్-లెవల్ ఆప్టిమైజేషన్: మోడల్ను కుడి-సైజు చేయండి 🧩
కొన్నిసార్లు ఆప్టిమైజ్ చేయడానికి ఉత్తమ మార్గం ఏమిటంటే... పనికి చాలా పెద్ద మోడల్ను ఉపయోగించడం మానేయడం. నాకు తెలుసు, అపరాధం 😄.
కొన్ని ప్రాథమిక విషయాలపై కాల్ చేయండి:
-
మీకు పూర్తి జనరల్-ఇంటెలిజెన్స్ వైబ్స్ అవసరమా లేదా నిపుణుడు అవసరమా అని నిర్ణయించుకోండి.
-
కాంటెక్స్ట్ విండోను పెద్దదిగా కాకుండా, అవసరమైనంత పెద్దదిగా ఉంచండి.
-
చేతిలో ఉన్న పని కోసం శిక్షణ పొందిన నమూనాను ఉపయోగించండి (వర్గీకరణ పని కోసం వర్గీకరణ నమూనాలు మరియు మొదలైనవి).
ఆచరణాత్మక హక్కు-పరిమాణ వ్యూహాలు
-
చాలా అభ్యర్థనల కోసం
చిన్న వెన్నెముకకు మారండి, ఆపై "కఠినమైన ప్రశ్నలను" పెద్ద మోడల్కు మళ్లించండి. -
రెండు-దశల సెటప్ను ఉపయోగించండి
వేగవంతమైన మోడల్ డ్రాఫ్ట్లు, బలమైన మోడల్ ధృవీకరిస్తుంది లేదా సవరిస్తుంది.
ఇది చిరాకు తెప్పించే, కానీ ప్రభావవంతమైన స్నేహితుడితో రాయడం లాంటిది. -
అవుట్పుట్ పొడవును తగ్గించండి
అవుట్పుట్ టోకెన్లకు డబ్బు మరియు సమయం ఖర్చవుతుంది. మీ మోడల్ దొర్లితే, మీరు దొర్లినందుకు చెల్లిస్తారు.
తక్కువ అవుట్పుట్లను అమలు చేయడం ద్వారా జట్లు ఖర్చులను నాటకీయంగా తగ్గించుకోవడం నేను చూశాను. ఇది చిన్నగా అనిపిస్తుంది. ఇది పనిచేస్తుంది.
7) కంపైలర్ + గ్రాఫ్ ఆప్టిమైజేషన్లు: వేగం ఎక్కడి నుండి వస్తుంది 🏎️
ఇది "కంప్యూటర్ను మరింత తెలివిగా కంప్యూటర్ పనులను చేయమని" అనే పొర.
సాధారణ పద్ధతులు:
-
ఆపరేటర్ ఫ్యూజన్ (కెర్నల్లను కలపండి) ( NVIDIA TensorRT “లేయర్ ఫ్యూజన్” )
-
స్థిరమైన మడత (స్థిర విలువలను ముందే కంప్యూట్ చేయండి) ( ONNX రన్టైమ్ గ్రాఫ్ ఆప్టిమైజేషన్లు )
-
కెర్నల్ ఎంపిక హార్డ్వేర్కు ట్యూన్ చేయబడింది
-
పైథాన్ ఓవర్ హెడ్ తగ్గించడానికి గ్రాఫ్ క్యాప్చర్
torch.compileఅవలోకనం )
సరళంగా చెప్పాలంటే: మీ మోడల్ గణితపరంగా వేగంగా ఉండవచ్చు, కానీ కార్యాచరణపరంగా నెమ్మదిగా ఉండవచ్చు. కంపైలర్లు వాటిలో కొన్నింటిని పరిష్కరిస్తాయి.
ఆచరణాత్మక గమనికలు (అకా మచ్చలు)
-
ఈ ఆప్టిమైజేషన్లు మోడల్ ఆకార మార్పులకు సున్నితంగా ఉంటాయి.
-
కొన్ని మోడల్స్ చాలా వేగాన్ని పెంచుతాయి, కొన్ని చాలా తక్కువగా ఉంటాయి.
-
కొన్నిసార్లు మీరు వేగాన్ని పెంచుతారు మరియు చిక్కుముడిని చేస్తారు - గ్రెమ్లిన్ లోపలికి వెళ్ళినట్లుగా 🧌
అయినప్పటికీ, అది పనిచేసేటప్పుడు, అది అత్యంత శుభ్రమైన విజయాలలో ఒకటి.
8) పరిమాణీకరణ, కత్తిరింపు, స్వేదనం: ఏడవకుండా చిన్నది (చాలా ఎక్కువ) 🪓📉
ఇది ప్రజలు కోరుకునే విభాగం... ఎందుకంటే ఇది ఉచిత ప్రదర్శనలా అనిపిస్తుంది. ఇది కావచ్చు, కానీ మీరు దానిని శస్త్రచికిత్స లాగా పరిగణించాలి.
పరిమాణీకరణ (తక్కువ ఖచ్చితత్వ బరువులు/క్రియాశీలతలు)
-
అనుమితి వేగం మరియు జ్ఞాపకశక్తికి గొప్పది
-
ప్రమాదం: నాణ్యత తగ్గుతుంది, ముఖ్యంగా అంచుల వద్ద
-
ఉత్తమ అభ్యాసం: వైబ్స్ మీద కాదు, నిజమైన పరీక్షా సెట్ పై మూల్యాంకనం చేయండి
మీరు వినే సాధారణ రుచులు:
-
INT8 (తరచుగా ఘన) ( టెన్సార్ఆర్టి క్వాంటైజ్డ్ రకాలు )
-
INT4 / తక్కువ-బిట్ (భారీ పొదుపులు, నాణ్యత ప్రమాదం పెరుగుతుంది) ( బిట్లు మరియు బైట్లు k-బిట్ క్వాంటైజేషన్ )
-
మిశ్రమ క్వాంట్ (ప్రతిదానికీ ఒకే ఖచ్చితత్వం అవసరం లేదు)
కత్తిరింపు (పారామితులను తొలగించండి)
-
“ముఖ్యమైనవి కాని” బరువులు లేదా నిర్మాణాలను తొలగిస్తుంది ( PyTorch కత్తిరింపు ట్యుటోరియల్ )
-
నాణ్యతను పునరుద్ధరించడానికి సాధారణంగా తిరిగి శిక్షణ అవసరం
-
జాగ్రత్తగా చేస్తే... ప్రజలు అనుకున్న దానికంటే బాగా పనిచేస్తుంది
స్వేదనం (విద్యార్థి గురువు నుండి నేర్చుకుంటాడు)
ఇది నాకు వ్యక్తిగతంగా ఇష్టమైన దీర్ఘకాలిక లివర్. స్వేదనం అదేవిధంగా ప్రవర్తించే చిన్న నమూనాను ఉత్పత్తి చేయగలదు మరియు ఇది తరచుగా తీవ్రమైన క్వాంటైజేషన్ ( డిస్టిలింగ్ ది నాలెడ్జ్ ఇన్ ఎ న్యూరల్ నెట్వర్క్ ) కంటే స్థిరంగా ఉంటుంది.
ఒక అసంపూర్ణ రూపకం: స్వేదనం అంటే సంక్లిష్టమైన సూప్ను ఫిల్టర్ ద్వారా పోసి... చిన్న సూప్ను పొందడం లాంటిది. సూప్ ఎలా పనిచేస్తుందో అలా కాదు, కానీ మీకు ఆలోచన వస్తుంది 🍲.
9) సేవ మరియు అనుమితి: నిజమైన యుద్ధ మండలం 🧯
మీరు ఒక మోడల్ను "ఆప్టిమైజ్" చేసినప్పటికీ దానిని చెడుగా అందించవచ్చు. సర్వింగ్ అంటే జాప్యం మరియు ఖర్చు నిజమైనవిగా మారతాయి.
సేవ చేయడం ముఖ్యం
-
బ్యాచింగ్
త్రూపుట్ను మెరుగుపరుస్తుంది. కానీ మీరు దానిని అతిగా చేస్తే జాప్యాన్ని పెంచుతుంది. దానిని సమతుల్యం చేయండి. ( ట్రైటాన్ డైనమిక్ బ్యాచింగ్ ) -
కాషింగ్
ప్రాంప్ట్ కాషింగ్ మరియు KV-కాష్ పునర్వినియోగం పునరావృత సందర్భాలలో భారీగా ఉంటుంది. ( KV కాష్ వివరణ ) -
స్ట్రీమింగ్ అవుట్పుట్
మొత్తం సమయం ఒకేలా ఉన్నప్పటికీ వినియోగదారులు ఇది వేగంగా ఉందని భావిస్తారు. అవగాహన ముఖ్యం 🙂. -
టోకెన్-బై-టోకెన్ ఓవర్ హెడ్ తగ్గింపు
కొన్ని స్టాక్లు ఒక్కో టోకెన్కు అదనపు పని చేస్తాయి. ఆ ఓవర్హెడ్ను తగ్గించండి మరియు మీరు పెద్దగా గెలుస్తారు.
టెయిల్ జాప్యం గురించి జాగ్రత్త వహించండి
మీ p99 ఒక విపత్తు అయితే మీ సగటు అద్భుతంగా కనిపించవచ్చు. దురదృష్టవశాత్తు వినియోగదారులు టెయిల్లో నివసిస్తున్నారు. ( “టెయిల్ జాప్యం” మరియు సగటులు ఎందుకు అబద్ధం )
10) హార్డ్వేర్-అవేర్ ఆప్టిమైజేషన్: మోడల్ను మెషీన్కు సరిపోల్చండి 🧰🖥️
హార్డ్వేర్ అవగాహన లేకుండా ఆప్టిమైజ్ చేయడం అంటే టైర్లను తనిఖీ చేయకుండా రేస్ కారును ట్యూన్ చేయడం లాంటిది. ఖచ్చితంగా, మీరు దీన్ని చేయగలరు, కానీ ఇది కొంచెం వెర్రిది.
GPU పరిగణనలు
-
మెమరీ బ్యాండ్విడ్త్ తరచుగా పరిమితం చేసే అంశం, ముడి కంప్యూట్ కాదు
-
పెద్ద బ్యాచ్ పరిమాణాలు సహాయపడతాయి, అవి చేయనంత వరకు
-
కెర్నల్ ఫ్యూజన్ మరియు అటెన్షన్ ఆప్టిమైజేషన్లు ట్రాన్స్ఫార్మర్లకు చాలా పెద్దవి ( ఫ్లాష్ అటెన్షన్: IO-అవేర్ ఎగ్జాక్ట్ అటెన్షన్ )
CPU పరిగణనలు
-
థ్రెడింగ్, వెక్టరైజేషన్ మరియు మెమరీ లోకాలిటీ చాలా ముఖ్యమైనవి
-
టోకనైజేషన్ ఓవర్ హెడ్ ఆధిపత్యం చెలాయిస్తుంది ( 🤗 “వేగవంతమైన” టోకనైజర్లు )
-
మీకు GPU కంటే భిన్నమైన క్వాంటైజేషన్ వ్యూహాలు అవసరం కావచ్చు
ఎడ్జ్ / మొబైల్ పరిగణనలు
-
మెమరీ ఫుట్ప్రింట్ ప్రాధాన్యత నంబర్ వన్ అవుతుంది
-
పరికరాలు... మూడీగా ఉంటాయి కాబట్టి జాప్య వైవిధ్యం ముఖ్యం
-
చిన్న, ప్రత్యేకమైన నమూనాలు తరచుగా పెద్ద సాధారణ నమూనాలను అధిగమిస్తాయి
11) నాణ్యమైన గార్డ్రెయిల్స్: మిమ్మల్ని మీరు బగ్గా “ఆప్టిమైజ్” చేసుకోకండి 🧪
ప్రతి స్పీడ్ గెలుపు నాణ్యత తనిఖీతో రావాలి. లేకపోతే మీరు జరుపుకుంటారు, ప్రశంసిస్తారు, ఆపై “అసిస్టెంట్ అకస్మాత్తుగా పైరేట్ లాగా ఎందుకు మాట్లాడతాడు?” వంటి సందేశం వస్తుంది 🏴☠️
ఆచరణాత్మక రక్షణ కవచాలు:
-
గోల్డెన్ ప్రాంప్ట్లు (మీరు ఎల్లప్పుడూ పరీక్షించే స్థిర ప్రాంప్ట్ల సెట్)
-
టాస్క్ మెట్రిక్స్ (ఖచ్చితత్వం, F1, BLEU, ఏది సరిపోతుందో)
-
మానవ స్పాట్ తనిఖీలు (అవును, నిజంగానే)
-
రిగ్రెషన్ థ్రెషోల్డ్లు (“X% కంటే ఎక్కువ తగ్గుదల అనుమతించబడదు”)
వైఫల్య మోడ్లను కూడా ట్రాక్ చేయండి:
-
ఫార్మాటింగ్ డ్రిఫ్ట్
-
తిరస్కరణ ప్రవర్తన మార్పులు
-
భ్రాంతులు వచ్చే ఫ్రీక్వెన్సీ
-
ప్రతిస్పందన పొడవు ద్రవ్యోల్బణం
ఆప్టిమైజేషన్ ప్రవర్తనను ఆశ్చర్యకరమైన రీతిలో మార్చగలదు. విచిత్రంగా. చిరాకు తెప్పించేలా. ఊహించినట్లుగానే, గతాన్ని పరిశీలిస్తే.
12) చెక్లిస్ట్: AI మోడల్లను దశలవారీగా ఎలా ఆప్టిమైజ్ చేయాలి ✅🤖
AI మోడల్స్ను ఎలా ఆప్టిమైజ్ చేయాలి అనే దాని కోసం మీరు స్పష్టమైన ఆపరేషన్ల క్రమాన్ని కోరుకుంటే , ప్రజలను తెలివిగా ఉంచడానికి ఇక్కడ వర్క్ఫ్లో ఉంది:
-
విజయాన్ని నిర్వచించండి
1-2 ప్రాథమిక కొలమానాలను ఎంచుకోండి (జాప్యం, ఖర్చు, నిర్గమాంశ, నాణ్యత). -
బేస్లైన్ ప్రొఫైల్ నిజమైన పనిభారాలను కొలవండి
, p50/p95 రికార్డ్ చేయండి, మెమరీ, ఖర్చు. ( PyTorch ప్రొఫైలర్ ) -
పైప్లైన్ అడ్డంకులను పరిష్కరించండి
డేటా లోడింగ్, టోకనైజేషన్, ప్రీప్రాసెసింగ్, బ్యాచింగ్. -
తక్కువ-రిస్క్ కంప్యూట్ విజయాలను వర్తింపజేయండి
మిశ్రమ ఖచ్చితత్వం, కెర్నల్ ఆప్టిమైజేషన్లు, మెరుగైన బ్యాచింగ్. -
కంపైలర్/రన్టైమ్ ఆప్టిమైజేషన్లను ప్రయత్నించండి
గ్రాఫ్ క్యాప్చర్, ఇన్ఫెరెన్స్ రన్టైమ్లు, ఆపరేటర్ ఫ్యూజన్. (torch.compileట్యుటోరియల్ , ONNX రన్టైమ్ డాక్స్ ) -
మోడల్ ఖర్చు తగ్గించండి
జాగ్రత్తగా లెక్కించండి, వీలైతే స్వేదనం చేయండి, సముచితమైతే కత్తిరించండి. -
ట్యూన్ సర్వింగ్
కాషింగ్, కాన్కరెన్సీ, లోడ్ టెస్టింగ్, టెయిల్ లేటెన్సీ పరిష్కారాలు. -
నాణ్యతను ధృవీకరించండి
రిగ్రెషన్ పరీక్షలను అమలు చేయండి మరియు అవుట్పుట్లను పక్కపక్కనే సరిపోల్చండి. -
పునరావృతం
చిన్న మార్పులు, స్పష్టమైన గమనికలు, పునరావృతం. ప్రదర్శించబడని - ప్రభావవంతమైన.
మరియు అవును, ఇది ఇప్పటికీ "రేక్లపై అడుగు పెట్టడం ఎలా ఆపాలి" అని అనిపించినప్పటికీ AI మోడల్లను ఎలా ఆప్టిమైజ్ చేయాలి
13) సాధారణ తప్పులు (కాబట్టి మీరు వాటిని మిగతా వారిలా పునరావృతం చేయకండి) 🙃
-
కొలిచే ముందు ఆప్టిమైజ్ చేయడం వల్ల
మీరు సమయం వృధా చేస్తారు. ఆపై మీరు తప్పు విషయాన్ని నమ్మకంగా ఆప్టిమైజ్ చేస్తారు… -
ఒకే బెంచ్మార్క్ను వెంబడించడం
బెంచ్మార్క్లు విస్మరించడం ద్వారా అబద్ధం చెబుతుంది. మీ పనిభారం నిజం. -
మెమరీ సమస్యలను విస్మరించడం
వల్ల మెమరీ సమస్యలు నెమ్మదించడం, క్రాష్లు మరియు జిట్టర్ ఏర్పడతాయి. ( PyTorchలో CUDA మెమరీ వినియోగాన్ని అర్థం చేసుకోవడం ) -
చాలా త్వరగా అతిగా లెక్కించడం
తక్కువ-బిట్ క్వాంట్ అద్భుతంగా ఉంటుంది, కానీ ముందుగా సురక్షితమైన దశలతో ప్రారంభించండి. -
తిరిగి చెల్లింపు ప్రణాళిక లేదు.
మీరు త్వరగా తిరిగి పని చేయకపోతే, ప్రతి విస్తరణ ఒత్తిడితో కూడుకున్నది అవుతుంది. ఒత్తిడి బగ్లను సృష్టిస్తుంది.
ముగింపు గమనికలు: ఆప్టిమైజ్ చేయడానికి మానవ మార్గం 😌⚡
AI మోడల్స్ను ఎలా ఆప్టిమైజ్ చేయాలి అనేది ఒక హ్యాక్ కాదు. ఇది ఒక లేయర్డ్ ప్రక్రియ: కొలవడం, పైప్లైన్ను పరిష్కరించడం, కంపైలర్లు మరియు రన్టైమ్లను ఉపయోగించడం, ట్యూన్ సర్వింగ్ చేయడం, ఆపై మీకు అవసరమైతే క్వాంటైజేషన్ లేదా డిస్టిలేషన్తో మోడల్ను కుదించడం. దీన్ని దశలవారీగా చేయండి, నాణ్యమైన గార్డ్రైల్లను ఉంచండి మరియు "ఇది వేగంగా అనిపిస్తుంది" అనే మెట్రిక్ను నమ్మవద్దు (మీ భావాలు అందంగా ఉంటాయి, మీ భావాలు ప్రొఫైలర్ కాదు).
మీకు అతి తక్కువ టేకావే కావాలంటే:
-
ముందుగా కొలవండి 🔍
-
తర్వాత పైప్లైన్ను ఆప్టిమైజ్ చేయండి 🧵
-
తర్వాత మోడల్ను ఆప్టిమైజ్ చేయండి 🧠
-
తర్వాత సర్వింగ్ను ఆప్టిమైజ్ చేయండి 🏗️
-
ఎల్లప్పుడూ నాణ్యత తనిఖీలు చేయండి ✅
మరియు అది సహాయపడితే, మిమ్మల్ని మీరు గుర్తు చేసుకోండి: లక్ష్యం "పరిపూర్ణ నమూనా" కాదు. లక్ష్యం వేగవంతమైనది, సరసమైనది మరియు మీరు రాత్రిపూట నిద్రపోయేంత నమ్మదగిన మోడల్... చాలా రాత్రులు 😴.
ఎఫ్ ఎ క్యూ
ఆచరణలో AI మోడల్ను ఆప్టిమైజ్ చేయడం అంటే ఏమిటి
“ఆప్టిమైజ్” అంటే సాధారణంగా ఒక ప్రాథమిక పరిమితిని మెరుగుపరచడం: జాప్యం, ఖర్చు, మెమరీ ఫుట్ప్రింట్, ఖచ్చితత్వం, స్థిరత్వం లేదా సర్వింగ్ థ్రూపుట్. కఠినమైన భాగం ట్రేడ్ఆఫ్లు - ఒక ప్రాంతాన్ని నెట్టడం మరొక ప్రాంతాన్ని దెబ్బతీస్తుంది. ఒక ఆచరణాత్మక విధానం ఏమిటంటే స్పష్టమైన లక్ష్యాన్ని (p95 జాప్యం లేదా సమయం-నుండి-నాణ్యత వంటివి) ఎంచుకుని దాని వైపు ఆప్టిమైజ్ చేయడం. లక్ష్యం లేకుండా, “మెరుగుపరచడం” సులభం మరియు ఇప్పటికీ కోల్పోతుంది.
నాణ్యతను నిశ్శబ్దంగా దెబ్బతీయకుండా AI మోడళ్లను ఎలా ఆప్టిమైజ్ చేయాలి
ప్రతి వేగం లేదా ఖర్చు మార్పును సంభావ్య నిశ్శబ్ద తిరోగమనంగా పరిగణించండి. గోల్డెన్ ప్రాంప్ట్లు, టాస్క్ మెట్రిక్లు మరియు త్వరిత మానవ స్పాట్ తనిఖీలు వంటి గార్డ్రైల్లను ఉపయోగించండి. ఆమోదయోగ్యమైన నాణ్యత డ్రిఫ్ట్ కోసం స్పష్టమైన థ్రెషోల్డ్ను సెట్ చేయండి మరియు అవుట్పుట్లను పక్కపక్కనే పోల్చండి. మీరు షిప్ చేసిన తర్వాత "ఇది వేగంగా ఉంది" "ఉత్పత్తిలో అకస్మాత్తుగా ఎందుకు వింతగా మారింది?" అనే స్థితికి మారకుండా ఇది నిరోధిస్తుంది.
మీరు ఆప్టిమైజ్ చేయడం ప్రారంభించడానికి ముందు ఏమి కొలవాలి
జాప్యం శాతాలు (p50, p95, p99), నిర్గమాంశ (టోకెన్లు/సెకను లేదా అభ్యర్థనలు/సెకను), GPU వినియోగం మరియు గరిష్ట VRAM/RAMతో ప్రారంభించండి. ఖర్చు ఒక పరిమితి అయితే అనుమితికి లేదా 1k టోకెన్లకు ధరను ట్రాక్ చేయండి. మీరు అందించే నిజమైన దృశ్యాన్ని ప్రొఫైల్ చేయండి, టాయ్ ప్రాంప్ట్ కాదు. చిన్న “పర్ఫ్ జర్నల్”ని ఉంచుకోవడం వల్ల మీరు ఊహించడం మరియు తప్పులను పునరావృతం చేయకుండా ఉండటానికి సహాయపడుతుంది.
శిక్షణ పనితీరు కోసం త్వరిత, తక్కువ-రిస్క్ విజయాలు
మిశ్రమ ఖచ్చితత్వం (FP16/BF16) తరచుగా వేగవంతమైన మొదటి లివర్, కానీ సంఖ్యాపరమైన విచిత్రాల కోసం చూడండి. బ్యాచ్ పరిమాణం పరిమితంగా ఉంటే, గ్రేడియంట్ అక్యుములేషన్ మెమరీని ఊదకుండా ఆప్టిమైజేషన్ను స్థిరీకరించగలదు. గ్రేడియంట్ చెక్పాయింట్ తక్కువ మెమరీ కోసం అదనపు కంప్యూట్ను ట్రేడ్ చేస్తుంది, పెద్ద సందర్భాలను అనుమతిస్తుంది. టోకనైజేషన్ మరియు డేటాలోడర్ ట్యూనింగ్ను విస్మరించవద్దు - అవి నిశ్శబ్దంగా GPUని ఆకలితో నింపుతాయి.
torch.compile, ONNX Runtime, లేదా TensorRT లను ఎప్పుడు ఉపయోగించాలి
ఈ సాధనాలు ఆపరేషనల్ ఓవర్హెడ్ను లక్ష్యంగా చేసుకుంటాయి: గ్రాఫ్ క్యాప్చర్, కెర్నల్ ఫ్యూజన్ మరియు రన్టైమ్ గ్రాఫ్ ఆప్టిమైజేషన్లు. అవి క్లీన్ ఇన్ఫెరెన్స్ స్పీడ్అప్లను అందించగలవు, కానీ ఫలితాలు మోడల్ ఆకారం మరియు హార్డ్వేర్ను బట్టి మారుతూ ఉంటాయి. కొన్ని సెటప్లు మ్యాజిక్ లాగా అనిపిస్తాయి; మరికొన్ని కదలకుండానే ఉంటాయి. ఆకార మార్పులకు సున్నితత్వాన్ని మరియు అప్పుడప్పుడు “గ్రెమ్లిన్” బగ్లను ఆశించండి - మీ నిజమైన పనిభారాన్ని ముందు మరియు తరువాత కొలవండి.
క్వాంటైజేషన్ విలువైనదేనా, మరియు చాలా దూరం వెళ్లకుండా ఎలా నివారించాలి
క్వాంటైజేషన్ మెమరీని తగ్గించి, అనుమితిని వేగవంతం చేస్తుంది, ముఖ్యంగా INT8తో, కానీ నాణ్యత అంచు కేసులలో జారిపోవచ్చు. లోయర్-బిట్ ఎంపికలు (INT4/k-bit వంటివి) ఎక్కువ పొదుపుతో ఎక్కువ రిస్క్ను తెస్తాయి. నిజమైన పరీక్ష సెట్లో మూల్యాంకనం చేయడం మరియు అవుట్పుట్లను పోల్చడం సురక్షితమైన అలవాటు, గట్ ఫీల్ కాదు. ముందుగా సురక్షితమైన దశలతో ప్రారంభించండి, ఆపై అవసరమైతే మాత్రమే తక్కువ ఖచ్చితత్వానికి వెళ్లండి.
మోడల్ సైజు తగ్గింపు కోసం కత్తిరింపు మరియు స్వేదనం మధ్య వ్యత్యాసం
కత్తిరింపు "డెడ్ వెయిట్" పారామితులను తొలగిస్తుంది మరియు నాణ్యతను పునరుద్ధరించడానికి తరచుగా తిరిగి శిక్షణ అవసరం, ముఖ్యంగా దూకుడుగా చేసినప్పుడు. స్వేదనం ఒక చిన్న విద్యార్థి నమూనాకు పెద్ద ఉపాధ్యాయుడి ప్రవర్తనను అనుకరించడానికి శిక్షణ ఇస్తుంది మరియు ఇది తీవ్రమైన పరిమాణీకరణ కంటే బలమైన దీర్ఘకాలిక ROI కావచ్చు. మీరు అదేవిధంగా ప్రవర్తించే మరియు స్థిరంగా ఉండే చిన్న నమూనాను కోరుకుంటే, స్వేదనం తరచుగా శుభ్రమైన మార్గం.
సేవల మెరుగుదలల ద్వారా అనుమితి ఖర్చు మరియు జాప్యాన్ని ఎలా తగ్గించాలి
సర్వింగ్ అంటే ఆప్టిమైజేషన్ స్పష్టంగా కనిపించే ప్రదేశం: బ్యాచింగ్ త్రూపుట్ను పెంచుతుంది కానీ ఎక్కువ చేస్తే జాప్యాన్ని దెబ్బతీస్తుంది, కాబట్టి దానిని జాగ్రత్తగా ట్యూన్ చేయండి. సందర్భాలు పునరావృతమైనప్పుడు కాషింగ్ (ప్రాంప్ట్ కాషింగ్ మరియు KV-కాష్ పునర్వినియోగం) భారీగా ఉంటుంది. మొత్తం సమయం ఒకేలా ఉన్నప్పటికీ స్ట్రీమింగ్ అవుట్పుట్ గ్రహించిన వేగాన్ని మెరుగుపరుస్తుంది. మీ స్టాక్లో టోకెన్-బై-టోకెన్ ఓవర్హెడ్ కోసం కూడా చూడండి - ప్రతి టోకెన్కు చిన్న పని వేగంగా పెరుగుతుంది.
AI మోడళ్లను ఆప్టిమైజ్ చేసేటప్పుడు టెయిల్ జాప్యం ఎందుకు చాలా ముఖ్యమైనది
p99 ఒక విపత్తు అయితే సగటులు అద్భుతంగా కనిపిస్తాయి మరియు వినియోగదారులు తోకలో జీవిస్తారు. టెయిల్ జాప్యం తరచుగా జిట్టర్ నుండి వస్తుంది: మెమరీ ఫ్రాగ్మెంటేషన్, CPU ప్రీప్రాసెసింగ్ స్పైక్లు, టోకనైజేషన్ స్లోడౌన్లు లేదా పేలవమైన బ్యాచింగ్ ప్రవర్తన. అందుకే గైడ్ పర్సంటైల్స్ మరియు నిజమైన పనిభారాలను నొక్కి చెబుతుంది. మీరు p50ని మాత్రమే ఆప్టిమైజ్ చేస్తే, మీరు ఇప్పటికీ "యాదృచ్ఛికంగా నెమ్మదిగా అనిపించే" అనుభవాన్ని అందించవచ్చు
ప్రస్తావనలు
-
అమెజాన్ వెబ్ సర్వీసెస్ (AWS) - AWS క్లౌడ్వాచ్ పర్సంటైల్స్ (గణాంకాల నిర్వచనాలు) - docs.aws.amazon.com
-
గూగుల్ - ది టెయిల్ ఎట్ స్కేల్ (టెయిల్ లేటెన్సీ బెస్ట్ ప్రాక్టీస్) - sre.google
-
గూగుల్ - సర్వీస్ లెవల్ లక్ష్యాలు (SRE పుస్తకం) - జాప్యం శాతాలు - sre.google
-
పైటోర్చ్ - టార్చ్.కంపైల్ - docs.pytorch.org
-
పైటోర్చ్ - ఫుల్లీషార్డెడ్ డేటా ప్యారలల్ (FSDP) - docs.pytorch.org
-
PyTorch - PyTorch ప్రొఫైలర్ - docs.pytorch.org
-
పైటోర్చ్ - CUDA సెమాంటిక్స్: మెమరీ నిర్వహణ (CUDA మెమరీ కేటాయింపు గమనికలు) - docs.pytorch.org
-
పైటోర్చ్ - ఆటోమేటిక్ మిక్స్డ్ ప్రెసిషన్ (torch.amp / AMP) - docs.pytorch.org
-
పైటోర్చ్ - torch.utils.checkpoint - docs.pytorch.org
-
పైటోర్చ్ - పనితీరు ట్యూనింగ్ గైడ్ - docs.pytorch.org
-
పైటోర్చ్ - ప్రూనింగ్ ట్యుటోరియల్ - docs.pytorch.org
-
PyTorch - PyTorchలో CUDA మెమరీ వినియోగాన్ని అర్థం చేసుకోవడం - docs.pytorch.org
-
పైటోర్చ్ - torch.compile ట్యుటోరియల్ / అవలోకనం - docs.pytorch.org
-
ONNX రన్టైమ్ - ONNX రన్టైమ్ డాక్యుమెంటేషన్ - onnxruntime.ai
-
NVIDIA - TensorRT డాక్యుమెంటేషన్ - docs.nvidia.com
-
NVIDIA - TensorRT క్వాంటైజ్డ్ రకాలు - docs.nvidia.com
-
NVIDIA - Nsight సిస్టమ్స్ - developer.nvidia.com
-
NVIDIA - ట్రైటాన్ ఇన్ఫెరెన్స్ సర్వర్ - డైనమిక్ బ్యాచింగ్ - docs.nvidia.com
-
డీప్స్పీడ్ - ZeRO స్టేజ్ 3 డాక్యుమెంటేషన్ - deepspeed.readthedocs.io
-
బిట్స్యాండ్బైట్స్ (బిట్స్యాండ్బైట్స్-ఫౌండేషన్) - బిట్స్యాండ్బైట్స్ - గితుబ్.కామ్
-
హగ్గింగ్ ఫేస్ - యాక్సిలరేట్: గ్రేడియంట్ అక్యుమ్యులేషన్ గైడ్ - huggingface.co
-
హగ్గింగ్ ఫేస్ - టోకనైజర్స్ డాక్యుమెంటేషన్ - huggingface.co
-
హగ్గింగ్ ఫేస్ - ట్రాన్స్ఫార్మర్లు: PEFT గైడ్ - huggingface.co
-
హగ్గింగ్ ఫేస్ - ట్రాన్స్ఫార్మర్లు: KV కాష్ వివరణ - huggingface.co
-
హగ్గింగ్ ఫేస్ - ట్రాన్స్ఫార్మర్లు: “ఫాస్ట్” టోకనైజర్లు (టోకనైజర్ తరగతులు) - huggingface.co
-
arXiv - న్యూరల్ నెట్వర్క్లో జ్ఞానాన్ని స్వేదనం చేయడం (హింటన్ మరియు ఇతరులు, 2015) - arxiv.org
-
arXiv - LoRA: పెద్ద భాషా నమూనాల తక్కువ-స్థాయి అనుసరణ - arxiv.org
-
arXiv - ఫ్లాష్ అటెన్షన్: IO-అవేర్నెస్తో వేగవంతమైన మరియు జ్ఞాపకశక్తి-సమర్థవంతమైన ఖచ్చితమైన అటెన్షన్ - arxiv.org