Jei kada nors matėte, kaip demonstracinis modelis sutriuškina mažą testavimo apkrovą ir sustingsta vos pasirodžius tikriems vartotojams, sutikote piktadarį: mastelio keitimą. Dirbtinis intelektas yra godus – duomenų, skaičiavimo, atminties, pralaidumo – ir, keista, dėmesio. Taigi, kas iš tikrųjų yra dirbtinio intelekto mastelio keitimas ir kaip jį pasiekti neperrašant visko kiekvieną savaitę?
Straipsniai, kuriuos galbūt norėsite perskaityti po šio:
🔗 Kas yra dirbtinio intelekto šališkumas, paaiškinta paprastai
Sužinokite, kaip paslėpti šališkumai formuoja dirbtinio intelekto sprendimus ir modeliuoja rezultatus.
🔗 Pradedančiųjų vadovas: kas yra dirbtinis intelektas
Dirbtinio intelekto apžvalga, pagrindinės sąvokos, tipai ir kasdienis taikymas.
🔗 Kas yra paaiškinamas dirbtinis intelektas ir kodėl jis svarbus
Sužinokite, kaip paaiškinamas dirbtinis intelektas didina skaidrumą, pasitikėjimą ir atitiktį reglamentams.
🔗 Kas yra nuspėjamasis dirbtinis intelektas ir kaip jis veikia
Supraskite nuspėjamąjį dirbtinį intelektą, dažniausiai naudojamus naudojimo atvejus, privalumus ir apribojimus.
Kas yra dirbtinio intelekto mastelio keitimas? 📈
Dirbtinio intelekto mastelio keitimas – tai dirbtinio intelekto sistemos gebėjimas apdoroti daugiau duomenų, užklausų, vartotojų ir naudojimo atvejų, išlaikant našumą, patikimumą ir sąnaudas priimtinose ribose. Tai ne tik didesni serveriai – išmanesnės architektūros, kurios užtikrina mažą delsą, didelį pralaidumą ir pastovią kokybę kylant kreivei. Pagalvokite apie elastingą infrastruktūrą, optimizuotus modelius ir stebimumą, kurie iš tikrųjų parodo, kas vyksta.

Kas lemia gerą dirbtinio intelekto mastelio keitimą ✅
Kai dirbtinio intelekto mastelio keitimas yra gerai atliktas, gaunamas:
-
Numatomas delsos laikas esant staigiam arba ilgalaikiam krūviui 🙂
-
Pralaidumas, kuris auga maždaug proporcingai pridėtai įrangai ar kopijoms
-
Sąnaudų efektyvumas , kuris nedidėja su kiekvienu prašymu
-
Kokybės stabilumas , nes įvairėja žaliavos ir didėja kiekiai
-
Ramus veikimas dėl automatinio mastelio keitimo, sekimo ir protingų SLO
Po gaubtu tai paprastai apjungia horizontalų mastelio keitimą, paketavimą, kaupimą talpykloje, kvantavimą, patikimą pateikimą ir apgalvotas išleidimo politikas, susietas su klaidų biudžetais [5].
Dirbtinio intelekto mastelio keitimas, našumas ir pajėgumas 🧠
-
Našumas – tai greitis, kuriuo viena užklausa įvykdoma atskirai.
-
Talpa – tai kiek tokių užklausų galite apdoroti vienu metu.
-
Dirbtinio intelekto mastelio keitimas priklauso nuo to, ar išteklių pridėjimas, ar išmanesnių metodų naudojimas padidina pajėgumus ir išlaiko pastovų našumą, nepadidindamas sąskaitos ar pranešimų gaviklio.
Mažas skirtumas, milžiniškos pasekmės.
Kodėl mastelis apskritai veikia dirbtiniame intelekte: mastelio dėsnių idėja 📚
Šiuolaikiniame mašininiame mokymesi plačiai taikoma įžvalga yra ta, kad nuostoliai mažėja nuspėjamai, keičiant modelio dydį, duomenis ir skaičiavimo galimybes – proto ribose. Taip pat yra optimali skaičiavimo pusiausvyra tarp modelio dydžio ir mokymo žetonų; abiejų keitimas kartu yra geresnis nei tik vieno keitimas. Praktiškai šios idėjos informuoja apie mokymo biudžetus, duomenų rinkinių planavimą ir aptarnavimo kompromisus [4].
Trumpai tariant: didesnis gali būti geresnis, bet tik tada, kai keičiate įvestis ir skaičiuojate proporcingai – kitaip tai tas pats, kas dėti traktoriaus padangas ant dviračio. Atrodo intensyviai, bet niekur neveda.
Horizontalus ir vertikalus: dvi mastelio keitimo svirtys 🔩
-
Vertikalus mastelio keitimas : didesnės dėžės, galingesni GPU, daugiau atminties. Paprasta, kartais brangu. Tinka vieno mazgo mokymui, mažo delsos laiko išvadoms arba kai jūsų modelis atsisako gražiai skaidytis.
-
Horizontalus mastelio keitimas : daugiau replikų. Geriausiai veikia su automatinio mastelio keitimo įrankiais , kurie prideda arba pašalina ankštis pagal procesoriaus / grafikos procesoriaus arba pasirinktinės programos metriką. „Kubernetes“ sistemoje „HorizontalPodAutoscaler“ keičia ankštis pagal poreikį – tai pagrindinė minios valdymo priemonė srauto šuoliams [1].
Anekdotas (sudėtinis): didelio atgarsio sulaukusio paleidimo metu tiesiog įjungus serverio pusės paketinį vykdymą ir leidus automatiniam skalavimui reaguoti į eilės gylį, p95 stabilizavosi be jokių kliento pakeitimų. Neryškūs laimėjimai vis tiek yra laimėjimai.
Visas dirbtinio intelekto mastelio keitimo galimybių rinkinys 🥞
-
Duomenų sluoksnis : greitas objektų saugojimas, vektoriniai indeksai ir srautinio perdavimo įvedimas, kuris neapribos jūsų treniruoklių galios.
-
Mokymo sluoksnis : paskirstytos sistemos ir planuoklės, kurios tvarko duomenų / modelio lygiagretumą, kontrolinius taškus, pakartotinius bandymus.
-
Aptarnavimo sluoksnis : optimizuotas vykdymo laikas, dinaminis paketavimas , puslapiuojamas dėmesys LLM, kaupimas talpykloje, žetonų srautinis perdavimas. Triton ir vLLM čia dažnai naudojami [2][3].
-
Orkestravimas : „Kubernetes“ elastingumui užtikrinti naudojant HPA arba pritaikytus automatinio skalavimo įrankius [1].
-
Stebimumas : pėdsakai, metrikos ir žurnalai, kurie seka naudotojų keliones ir modeliuoja elgesį produkcijoje; kurkite juos pagal savo SLO [5].
-
Valdymas ir sąnaudos : užklausų ekonomika, biudžetai ir išjungimo jungikliai nekontroliuojamiems darbo krūviams.
Palyginimo lentelė: DI mastelio keitimo įrankiai ir modeliai 🧰
Šiek tiek netolygu tyčia – nes tikrasis gyvenimas toks ir yra.
| Įrankis / Raštas | Auditorija | Brangūs | Kodėl tai veikia | Pastabos |
|---|---|---|---|---|
| Kubernetes + HPA | Platformos komandos | Atvirasis kodas + infrastruktūra | Keičia ankštis horizontaliai, kai metrikos išauga | Pasirinktinės metrikos yra aukso vertės [1] |
| NVIDIA Triton | Išvada SRE | Nemokamas serveris; GPU $ | Dinaminis paketavimas padidina našumą | Konfigūruoti naudojant config.pbtxt [2] |
| vLLM (Paskelbtas dėmesys) | LLM komandos | Atvirojo kodo | Didelis pralaidumas naudojant efektyvų KV talpyklos puslapiavimą | Puikiai tinka ilgiems raginimams [3] |
| ONNX vykdymo aplinka / TensorRT | Tobulumo mėgėjai | Nemokami / tiekėjų įrankiai | Branduolio lygio optimizavimas sumažina delsą | Eksporto keliai gali būti sudėtingi |
| RAG modelis | Programėlių komandos | Infrastruktūra + indeksas | Perkelia žinias į paiešką; keičia indekso mastelį | Puikiai tinka šviežumui |
Gilusis nardymas 1: Patiekimo gudrybės, kurios pajudina adatą 🚀
-
Dinaminis paketų kūrimas sugrupuoja mažus išvadų iškvietimus į didesnes paketus serveryje, taip žymiai padidindamas GPU panaudojimą be kliento pakeitimų [2].
-
Puslapiavimo funkcija , naudojant KV talpyklų puslapiavimo funkciją, atmintyje išsaugo daug daugiau pokalbių, o tai pagerina pralaidumą lygiagrečiai dirbant [3].
-
Prašykite sujungti ir kaupti talpykloje identiškus raginimus arba įterpimus, kad išvengtumėte pasikartojančio darbo.
-
Spekuliacinis dekodavimas ir žetonų srautinis perdavimas sumažina suvokiamą delsą, net jei sieninis laikrodis vos pajuda.
2-oji giluminė analizė: modelio lygio efektyvumas – kvantavimas, distiliavimas, genėjimas 🧪
-
Kvantavimas sumažina parametrų tikslumą (pvz., 8 bitai / 4 bitai), kad sumažėtų atminties kiekis ir paspartėtų išvadų darymas; visada iš naujo įvertinkite užduoties kokybę po pakeitimų.
-
Distiliavimas perduoda žinias iš didelio mokytojo mažesniam mokiniui, kuris iš tikrųjų patinka jūsų techninei įrangai.
-
Struktūrinis genėjimas pašalina mažiausiai prisidedančius svarelius / galvutes.
Būkime atviri, tai šiek tiek panašu į lagamino sumažinimą ir tada reikalavimą, kad visi batai vis tiek tiktų. Kažkaip dažniausiai taip ir yra.
3-ioji giluminė analizė: duomenų ir mokymo mastelio keitimas be jokių plyšimų 🧵
-
Naudokite paskirstytą mokymą, kuris paslepia sudėtingus paralelizmo aspektus, kad galėtumėte greičiau pateikti eksperimentus.
-
Atminkite tuos mastelio dėsnius : apgalvotai paskirstykite biudžetą pagal modelio dydį ir žetonus; abiejų bendras mastelio keitimas yra efektyvus skaičiavimo požiūriu [4].
-
Mokymo programa ir duomenų kokybė dažnai daro įtaką rezultatams labiau, nei žmonės pripažįsta. Geresni duomenys kartais pranoksta didesnį duomenų kiekį – net jei jau užsisakėte didesnį duomenų rinkinį.
4-oji giluminė analizė: RAG kaip žinių mastelio keitimo strategija 🧭
Užuot iš naujo apmokius modelį, kad jis neatsiliktų nuo kintančių faktų, RAG prideda paieškos žingsnį išvados metu. Galite išlaikyti modelį stabilų ir keisti indeksą bei paieškos įrankius augant jūsų korpusui. Elegantiška ir dažnai pigesnė nei visiškas pakartotinis mokymas programoms, kuriose daug žinių.
Pastebimumas, kuris atsiperka 🕵️♀️
Neįmanoma padidinti to, ko nematai. Du esminiai dalykai:
-
Pajėgumų planavimo ir automatinio mastelio keitimo metrikos
-
Pėdsakai , kurie seka vieną užklausą per šliuzą → paiešką → modelį → papildomą apdorojimą. Susiekite matavimus su savo SLO, kad ataskaitų suvestinės atsakytų į klausimus per mažiau nei minutę [5].
Kai ataskaitų suvestinės atsako į klausimus per mažiau nei minutę, žmonės jas naudoja. Kai to nedaro, na, jie apsimeta, kad tai daro.
Patikimumo apsaugos priemonės: SLO, klaidų biudžetai, protingi diegimai 🧯
-
Apibrėžkite SLO, atsižvelgiant į delsą, prieinamumą ir rezultatų kokybę, ir naudokite klaidų biudžetus , kad subalansuotumėte patikimumą ir išleidimo greitį [5].
-
Prieš globalų perjungimą dislokuokite už srauto padalijimo taškų, atlikite kanarėlių manevrus ir šešėlių testus. Jūsų būsimasis „aš“ atsiųs užkandžių.
Sąnaudų kontrolė be dramos 💸
Mastelio keitimas yra ne tik techninis, bet ir finansinis. GPU valandas ir žetonus traktuokite kaip aukščiausios klasės išteklius, kurių vieneto ekonomika yra ekonomiška (kaina už 1000 žetonų, už įterpimą, už vektoriaus užklausą). Pridėkite biudžetus ir įspėjimus; švęskite elementų ištrynimą.
Paprastas dirbtinio intelekto mastelio keitimo planas 🗺️
-
Pradėkite nuo SLO, skirtų p95 delsai, prieinamumui ir užduočių tikslumui; priskirkite metriką / pėdsakus pirmąją dieną [5].
-
Pasirinkite apdorojimo steką , kuris palaiko paketinį ir nuolatinį paketinį apdorojimą: „Triton“, „vLLM“ arba lygiavertį [2][3].
-
Optimizuokite modelį : kvantuokite ten, kur tai naudinga, įgalinkite greitesnius branduolius arba distiliuokite konkrečioms užduotims; patikrinkite kokybę realiais įvertinimais.
-
Elastingumo architektas : „Kubernetes HPA“ su tinkamais signalais, atskirais skaitymo / rašymo keliais ir be būsenos išvadų replikomis [1].
-
Naudokite paieškos strategiją, kai svarbus jos atnaujinimas, kad indeksas būtų keičiamas, o ne mokomasi iš naujo kiekvieną savaitę.
-
Užbaikite ciklą su sąnaudomis : nustatykite padalinio ekonomiką ir savaitines apžvalgas.
Dažniausi gedimų režimai ir greiti sprendimai 🧨
-
GPU panaudojimas 30 %, o delsa bloga
-
Įjunkite dinaminį paketų apdorojimą , atsargiai padidinkite paketų limitus ir dar kartą patikrinkite serverio lygiagretumą [2].
-
-
Pralaidumas sumažėja esant ilgiems raginimams
-
Naudokite aptarnavimą, kuris palaiko puslapio dėmesį , ir nustatykite maksimalų lygiagrečių sekų skaičių [3].
-
-
Automatinio skalerio atvartai
-
Sklandūs rodikliai su langais; mastelio keitimas pagal eilės gylį arba pasirinktiniai žetonų per sekundę skaičiai vietoj vien tik CPU [1].
-
-
Kainos šoktelėjo po paleidimo
-
Pridėkite užklausų lygio kainos metriką, įjunkite kvantavimą, kur saugu, kaupkite populiariausias užklausas talpykloje ir apribokite dažnį, kai užklausos yra blogiausios.
-
Dirbtinio intelekto mastelio keitimo vadovas: trumpas kontrolinis sąrašas ✅
-
SLO ir klaidų biudžetai egzistuoja ir yra matomi
-
Metrika: delsa, TP/s, GPU atmintis, paketo dydis, žetonų skaičius (token/s), talpyklos pasiekimas
-
Pėdsakai nuo įėjimo į modelį ir po apdorojimo
-
Pateikimas: paketinis apdorojimas įjungtas, suderintas veikimas, šiltos talpyklos
-
Modelis: kvantinis arba distiliuotas, kur tai naudinga
-
Infra: HPA sukonfigūruotas su tinkamais signalais
-
Žinių atnaujinimo kelias
-
Dažnai peržiūrima vieneto ekonomika
Per ilgai neskaičiau ir baigiamosios pastabos 🧩
Dirbtinio intelekto mastelio keitimas nėra viena funkcija ar slaptas jungiklis. Tai šablonų kalba: horizontalus mastelio keitimas su automatiniu mastelio keitikliu, serverio pusės paketinis apdorojimas panaudojimui, modelio lygio efektyvumas, žinių paieška ir stebimumas, dėl kurio diegimas tampa nuobodus. Įtraukite SLO ir sąnaudų higieną, kad visi būtų suderinti. Tobulo darbo nepadarysite iš pirmo karto – niekas to nedaro – bet su tinkamais grįžtamojo ryšio ciklais jūsų sistema augs be to šalto prakaito jausmo 2 val. nakties 😅
Nuorodos
[1] „Kubernetes“ dokumentai – horizontalus automatinis pod'o mastelio keitimas – skaityti daugiau
[2] NVIDIA Triton – dinaminis maišymo įrenginys – skaityti daugiau
[3] vLLM dokumentai – Puslapinis dėmesys – skaityti daugiau
[4] Hoffmann ir kt. (2022) – Skaičiavimo požiūriu optimalių didelių kalbų modelių mokymas – skaityti daugiau
[5] „Google SRE“ darbaknygė – SLO įgyvendinimas – skaityti daugiau