Hur man optimerar AI-modeller

Hur man optimerar AI-modeller

Kort svar: För att optimera AI-modeller, välj en primär begränsning (latens, kostnad, minne, kvalitet, stabilitet eller dataflöde) och skapa sedan en pålitlig baslinje innan du ändrar något. Ta bort flaskhalsar i pipeline först, använd sedan lågriskvinster som blandad precision och batching. Om kvaliteten håller, gå vidare till kompilator-/runtime-verktyg och minska först sedan modellstorleken via kvantisering eller destillation vid behov.

Viktiga slutsatser:

Begränsning : Välj ett eller två målvärden; optimering är ett landskap av avvägningar, inte gratisvinster.

Mätning : Profilera verkliga arbetsbelastningar med p50/p95/p99, dataflöde, utnyttjande och minnestoppar.

Pipeline : Åtgärda tokenisering, dataladdare, förbehandling och batchning innan modellen berörs.

Visning : Använd cachning, avsiktlig batchning, samtidighetsjustering och håll ett öga på svansfördröjning.

Guardrails : Kör gyllene uppmaningar, uppgiftsstatistik och stickprovskontroller efter varje prestandaförändring.

Infografik om hur man optimerar AI-modeller

🔗 Hur man utvärderar AI-modeller effektivt.
Viktiga kriterier och steg för att bedöma modeller rättvist och tillförlitligt.

🔗 Hur man mäter AI-prestanda med verkliga mätvärden.
Använd riktmärken, latens, kostnad och kvalitetssignaler för att jämföra.

🔗 Hur man testar AI-modeller före produktion.
Praktiskt testarbetsflöde: datadelning, stressfall och övervakning.

🔗 Hur man använder AI för innehållsskapande
Förvandla idéer till utkast snabbare med strukturerade uppmaningar och iteration.


1) Vad "optimera" betyder i praktiken (eftersom alla använder det på olika sätt) 🧠

När folk säger ”optimera en AI-modell” kan de mena:

  • Gör det snabbare (lägre latens)

  • Gör det billigare (färre GPU-timmar, lägre molnutgifter)

  • Gör det mindre (minnesbehov, distribution på kanten)

  • Gör det mer exakt (kvalitetsförbättringar, färre hallucinationer)

  • Gör det mer stabilt (mindre variation, färre produktionsfel)

  • Gör det enklare att servera (genomströmning, batchning, förutsägbar prestanda)

Här är den milt irriterande sanningen: du kan inte maximera alla dessa samtidigt. Optimering är som att klämma på en ballong – tryck in ena sidan och den andra sidan poppar ut. Inte alltid, men tillräckligt ofta för att du bör planera för avvägningar.

Så innan du rör vid något, välj din primära begränsning :


2) Hur en bra version av AI-modelloptimering ser ut ✅

En bra version av optimering är inte bara "använd kvantisering och vänta". Det är ett system. De bästa inställningarna har vanligtvis:

  • En baslinje du litar på
    Om du inte kan reproducera dina nuvarande resultat kan du inte veta att du har förbättrat någonting. Enkelt… men folk hoppar över det. Sedan går de i spiral.

  • Ett tydligt målmått
    "Snabbare" är vagt. "Minska p95-latensen från 900 ms till 300 ms med samma kvalitetspoäng" är ett verkligt mål.

  • Skyddsräcken för kvalitet
    Varje prestationsvinst riskerar en tyst kvalitetsregression. Du behöver tester, utvärderingar eller åtminstone en mentalsvit.

  • Hårdvarumedvetenhet
    En "snabb" modell på en GPU kan krypa på en annan. Processorer är sin egen speciella sorts kaos.

  • Iterativa förändringar, inte en big bang-omskrivning.
    När du ändrar fem saker samtidigt och prestandan förbättras, vet du inte varför. Vilket är… oroande.

Optimering ska kännas som att stämma en gitarr – små justeringar, lyssna noga, upprepa 🎸. Om det känns som att jonglera med knivar är något fel.


3) Jämförelsetabell: Populära alternativ för att optimera AI-modeller 📊

Nedan följer en snabb och något slarvig jämförelsetabell över vanliga optimeringsverktyg/metoder. Nej, det är inte helt "rättvist" – verkligheten är det inte heller.

Verktyg / Tillval Publik Pris Varför det fungerar
PyTorch torch.compile ( PyTorch-dokumentation ) PyTorch-folk Gratis Grafinsamling + kompileringsknep kan minska kostnaden ... ibland är det magiskt ✨
ONNX Runtime ( ONNX Runtime-dokumentation ) Implementeringsteam Gratis-ish Starka inferensoptimeringar, brett stöd, bra för standardiserad servering
TensorRT ( NVIDIA TensorRT-dokumentation ) NVIDIA-distribution Betalda vibbar (ofta paketerade) Aggressiv kärnfusion + precisionshantering, väldigt snabb när det klickar
DeepSpeed ​​( ZeRO-dokumentation ) Träningsteam Gratis Minne- + dataflödesoptimeringar (Zero etc.). Kan kännas som en jetmotor
FSDP (PyTorch) ( PyTorch FSDP-dokumentation ) Träningsteam Gratis Shards-parametrar/gradienter, gör stora modeller mindre skrämmande
bitsandbytes kvantisering ( bitsandbytes ) LLM-plockare Gratis Låga bitvikter, enorma minnesbesparingar - kvaliteten beror på, men puh 😬
Destillation ( Hinton et al., 2015 ) Produktteam "Tidskostnad" Mindre studentmodell ärver beteende, vanligtvis bäst avkastning på investeringen på lång sikt
Beskärning ( PyTorch beskärningshandledning ) Forskning + produkt Gratis Tar bort dödvikt. Fungerar bättre i kombination med omskolning
Flash Attention / sammansmälta kärnor ( FlashAttention-dokument ) Prestandanördar Gratis Snabbare uppmärksamhet, bättre minnesbeteende. En riktig vinst för transformers
Triton Inference Server ( dynamisk batchning ) Drift/infrastruktur Gratis Produktionsserver, batchning, pipelines med flera modeller - känns företagslikt

Bekännelse av formateringssäregenhet: ”Priset” är slarvigt eftersom öppen källkod fortfarande kan kosta dig en helgs felsökning, vilket är… ett pris. 😵💫


4) Börja med mätning: Profilera som om du menar det 🔍

Om du bara gör en sak från hela den här guiden, gör detta: mät ordentligt.

I mina egna tester kom de största "optimeringsgenombrotten" från att upptäcka något pinsamt enkelt som:

  • datalastaren svälter GPU:n

  • CPU-förbehandlingsflaskhals

  • små batchstorlekar orsakar overhead för kärnstart

  • långsam tokenisering (tokeniserare kan vara tysta skurkar)

  • minnesfragmentering ( anteckningar om PyTorch CUDA-minnesallokering )

  • ett enda lager som dominerar beräkningen

Vad man ska mäta (minimivärde)

  • Latens (p50, p95, p99) ( SRE på latenspercentiler )

  • Dataflöde (tokens/sek, förfrågningar/sek)

  • GPU-utnyttjande (beräkning + minne)

  • VRAM/RAM-toppar

  • Kostnad per 1000 tokens (eller per inferens)

Praktisk profileringsinställning

  • Profilera ett scenario du bryr dig om (inte en leksaksuppmaning).

  • Anteckna allt i en liten "perfekt dagbok".
    Ja, det är tråkigt ... men det räddar dig från att gaslighta dig själv senare.

(Om du vill ha ett konkret verktyg att börja med: PyTorch Profiler ( torch.profiler docs ) och Nsight Systems ( NVIDIA Nsight Systems ) är de vanliga misstänkta.)


5) Data + Träningsoptimering: Den tysta superkraften 📦🚀

Folk är besatta av modellarkitektur och glömmer pipelinen. Samtidigt förbrukar pipelinen i tysthet halva grafikkortet.

Enkla vinster som dyker upp snabbt

  • Använd blandad precision (FP16/BF16 där det är stabilt) ( PyTorch AMP / torch.amp )
    Vanligtvis snabbare, ofta bra - men se upp för numeriska egenheter.

  • Gradientackumulering när batchstorleken är begränsad ( 🤗 Accelerationsguide )
    Håller optimeringen stabil utan att explodera minnet.

  • Gradientkontrollpunkt ( torch.utils.checkpoint )
    Byter beräkning mot minne - gör större sammanhang möjliga.

  • Effektiv tokenisering ( 🤗 Tokeniserare )
    Tokenisering kan bli flaskhalsen i stor skala. Det är inte glamoröst; det spelar roll.

  • Dataloader-justering
    Fler arbetare, fäst minne, förhämtning - oansenligt men effektivt 😴➡️💪 ( PyTorch-guide för prestandajustering )

Parametereffektiv finjustering

Om du finjusterar stora modeller kan PEFT-metoder (som LoRA-liknande adaptrar) kraftigt minska träningskostnaden samtidigt som de förblir förvånansvärt starka ( 🤗 Transformers PEFT-guide , LoRA-dokument ). Detta är ett av de där "varför gjorde vi inte det här tidigare?"-ögonblicken.


6) Optimering på arkitekturnivå: Rätt storlek på modellen 🧩

Ibland är det bästa sättet att optimera… att sluta använda en modell som är för stor för jobbet. Jag vet, helgerån 😄.

Ring ett samtal om några grunder:

  • Bestäm om du behöver fullständig allmän underrättelsetjänst eller en specialist.

  • Håll kontextfönstret så stort som det behöver vara, inte större.

  • Använd en modell som är tränad för det aktuella jobbet (klassificeringsmodeller för klassificeringsarbete, och så vidare).

Praktiska strategier för rätt storlek

  • Byt till ett mindre stamnät för de flesta förfrågningar.
    Dirigera sedan "svåra frågor" till en större modell.

  • Använd en tvåstegsuppsättning.
    Snabba modellutkast, starkare modellverifieringar eller redigeringar.
    Det är som att skriva med en vän som är kräsen – irriterande, men effektivt.

  • Minska utdatalängden
    Utdatatokens kostar pengar och tid. Om din modell svamlar får du betala för svamlandet.

Jag har sett team minska kostnaderna dramatiskt genom att tillämpa kortare resultat. Det känns småaktigt. Det fungerar.


7) Kompilator- + grafoptimeringar: Varifrån hastigheten kommer 🏎️

Detta är lagret "få datorn att göra smartare datorsaker".

Vanliga tekniker:

Enkelt uttryckt: din modell kan vara snabb matematiskt, men långsam operationellt. Kompilatorer fixar en del av det.

Praktiska anteckningar (även kända som ärr)

  • Dessa optimeringar kan vara känsliga för förändringar i modellens form.

  • Vissa modeller ökar hastigheten mycket, andra rör sig knappt.

  • Ibland får man en snabbare attack och ett förbryllande insekt - som en gremlin som flyttat in 🧌

Ändå, när det fungerar, är det en av de renaste vinsterna.


8) Kvantisering, beskärning, destillation: Mindre utan att gråta (för mycket) 🪓📉

Det här är den delen folk vill ha… för det låter som gratis framträdanden. Det kan det vara, men man måste behandla det som en operation.

Kvantisering (vikter/aktiveringar med lägre precision)

  • Utmärkt för inferenshastighet och minne

  • Risk: kvalitetssänkningar, särskilt på edge-cases

  • Bästa praxis: utvärdera på ett riktigt testset, inte på vibrationer

Vanliga smaker du kommer att höra talas om:

Beskärning (ta bort parametrar)

  • Tar bort "oviktiga" vikter eller strukturer ( PyTorch-beskärningshandledning )

  • Behöver vanligtvis omskolning för att återställa kvaliteten

  • Fungerar bättre än folk tror ... när det görs noggrant

Destillation (eleven lär sig av läraren)

Detta är min personliga favorit för långsiktiga mätmetoder. Destillation kan producera en mindre modell som beter sig på liknande sätt, och den är ofta mer stabil än extrem kvantisering ( Destillation av kunskapen i ett neuralt nätverk ).

En ofullkomlig metafor: destillation är som att hälla en komplicerad soppa genom ett filter och få… en mindre soppa. Det är inte så soppa fungerar, men du fattar 🍲.


9) Servering och slutledning: Den verkliga stridszonen 🧯

Du kan "optimera" en modell och ändå visa den dåligt. Det är vid visning som latens och kostnad blir verkliga.

Servvinster som spelar roll

  • Batchning
    förbättrar dataflödet. Men ökar latensen om du överdriver. Balansera det. ( Triton dynamisk batchning )

  • Cachning
    Prompt cachning och återanvändning av KV-cache kan vara enormt för upprepade sammanhang. ( Förklaring av KV-cache )

  • Strömmande utdata
    Användare upplever att det är snabbare även om den totala tiden är liknande. Uppfattningen spelar roll 🙂

  • Minskning av omkostnader token för token
    Vissa stackar gör extra arbete per token. Minska den omkostnaden och du vinner stort.

Se upp för svansfördröjning

Ditt medelvärde kan se bra ut medan din p99 är en katastrof. Användare lever tyvärr i svansen. ( "Svanslatens" och varför medelvärden ljuger )


10) Maskinvarumedveten optimering: Matcha modellen med maskinen 🧰🖥️

Att optimera utan hårdvarukunskap är som att trimma en racerbil utan att kontrollera däcken. Visst, man kan göra det, men det är lite fånigt.

GPU-överväganden

  • Minnesbandbredd är ofta den begränsande faktorn, inte rå beräkning

  • Större batchstorlekar kan hjälpa, tills de inte längre gör det

  • Kärnfusion och uppmärksamhetsoptimeringar är enorma för transformatorer ( FlashAttention: IO-medveten exakt uppmärksamhet )

CPU-överväganden

  • Trådning, vektorisering och minneslokalitet spelar stor roll

  • Tokeniseringsoverhead kan dominera ( 🤗 "Snabba" tokeniserare )

  • Du kan behöva andra kvantiseringsstrategier än på GPU

Att tänka på vid edge/mobila enheter

  • Minnesavtryck blir prioritet nummer ett

  • Latensvariansen är viktig eftersom enheter är ... humörsvängiga

  • Mindre, specialiserade modeller slår ofta stora generella modeller


11) Kvalitetsskyddsräcken: "Optimera" inte dig själv till en bugg 🧪

Varje snabbvinst bör göras med en kvalitetskontroll. Annars kommer du att fira, skicka och sedan få ett meddelande som "varför pratar assistenten plötsligt som en pirat?" 🏴☠️

Pragmatiska skyddsräcken:

  • Gyllene uppmaningar (en fast uppsättning uppmaningar som du alltid testar)

  • Uppgiftsmätvärden (noggrannhet, F1, BLEU, vad som än passar)

  • Mänskliga stickprovskontroller (ja, allvarligt talat)

  • Regressionsgränser ("högst X % minskning tillåten")

Spåra även fellägen:

  • formateringsdrift

  • förändringar i avvisandebeteende

  • hallucinationsfrekvens

  • inflation av svarslängd

Optimering kan förändra beteenden på överraskande sätt. Märkligt. Irriterande. Förutsägbart, så här i efterhand.


12) Checklista: Hur man optimerar AI-modeller steg för steg ✅🤖

Om du vill ha en tydlig arbetsordning för Hur man optimerar AI-modeller , här är arbetsflödet som brukar hålla folk vid sina sinnens fulla bruk:

  1. Definiera framgång.
    Välj 1–2 primära mätvärden (latens, kostnad, dataflöde, kvalitet).

  2. Mät
    verkliga arbetsbelastningar i baslinjeprofilen, registrera p50/p95, minne och kostnad. ( PyTorch Profiler )

  3. Åtgärda flaskhalsar i pipeline.
    Datainläsning, tokenisering, förbehandling, batchning.

  4. Tillämpa lågriskberäkningsvinster.
    Blandad precision, kärnoptimeringar, bättre batchning.

  5. Prova kompilator-/körtidsoptimeringar.
    Grafinsamling, inferenskörningar, operatorfusion. ( torch.compile handledning , ONNX Runtime-dokumentation )

  6. Minska modellkostnaden.
    Kvantisera noggrant, destillera om möjligt, beskär om lämpligt.

  7. Åtgärdar för
    cachelagring av finjusteringsservingar, samtidighet, belastningstestning och svarslatens.

  8. Validera kvaliteten.
    Kör regressionstester och jämför utdata sida vid sida.

  9. Iterera
    Små förändringar, tydliga anteckningar, upprepa. Osynligt - effektivt.

Och ja, det här är fortfarande Hur man optimerar AI-modeller, även om det känns mer som ”Hur man slutar trampa på krattor”. Samma sak.


13) Vanliga misstag (så att du inte upprepar dem som vi andra) 🙃

  • Optimera innan du mäter.
    Du slösar tid. Och sedan optimerar du fel saker med självförtroende…

  • Att jaga ett enda riktmärke
    Riktmärken ljuger genom att utelämna dem. Din arbetsbelastning är sanningen.

  • Ignorera minne
    Minnesproblem orsakar nedgångar, krascher och flimmer. ( Förstå CUDA-minnesanvändning i PyTorch )

  • Överkvantisering för tidigt.
    Lågbitskvantisering kan vara fantastiskt, men börja med säkrare steg först.

  • Ingen återställningsplan
    Om du inte kan återställa snabbt blir varje driftsättning stressig. Stress skapar buggar.


Avslutande anteckningar: Det mänskliga sättet att optimera 😌⚡

Att optimera AI-modeller är inte ett enda knep. Det är en process i flera lager: mät, fixa pipeline, använd kompilatorer och runtimes, finjustera visningen och krymp sedan modellen med kvantisering eller destillation om det behövs. Gör det steg för steg, håll kvalitetsskydden och lita inte på "det känns snabbare" som ett mått (dina känslor är underbara, dina känslor är inte en profilerare).

Om du vill ha den kortaste avhämtningen:

  • Mät först 🔍

  • Optimera pipelinen härnäst 🧵

  • Optimera sedan modellen 🧠

  • Optimera sedan serveringen 🏗️

  • Gör alltid kvalitetskontroller ✅

Och om det hjälper, påminn dig själv: målet är inte en "perfekt modell". Målet är en modell som är snabb, prisvärd och tillräckligt pålitlig för att du kan sova på natten ... de flesta nätter 😴.

Vanliga frågor

Vad optimering av en AI-modell innebär i praktiken

”Optimera” innebär vanligtvis att förbättra en primär begränsning: latens, kostnad, minnesavtryck, noggrannhet, stabilitet eller visningskapacitet. Det svåra är avvägningarna – att tänja på ett område kan påverka ett annat negativt. En praktisk metod är att välja ett tydligt mål (som p95-latens eller tid till kvalitet) och optimera mot det. Utan ett mål är det lätt att ”förbättra” och ändå förlora.

Hur man optimerar AI-modeller utan att tyst påverka kvaliteten negativt

Behandla varje hastighets- eller kostnadsförändring som en potentiell tyst regression. Använd skyddsräcken som gyllene uppmaningar, uppgiftsstatistik och snabba mänskliga stickprovskontroller. Sätt en tydlig tröskel för acceptabel kvalitetsavvikelse och jämför utdata sida vid sida. Detta förhindrar att "det är snabbare" förvandlas till "varför blev det plötsligt konstigt i produktionen?" efter att du har levererat.

Vad du bör mäta innan du börjar optimera

Börja med latenspercentiler (p50, p95, p99), dataflöde (tokens/sek eller förfrågningar/sek), GPU-utnyttjande och maximal VRAM/RAM. Spåra kostnad per inferens eller per 1000 tokens om kostnaden är en begränsning. Profilera ett verkligt scenario du hanterar, inte en leksaksuppmaning. Att föra en liten "prestandajournal" hjälper dig att undvika gissningar och upprepade misstag.

Snabba vinster med låg risk för träningsprestanda

Blandad precision (FP16/BF16) är ofta den snabbaste första spaken, men var uppmärksam på numeriska egenheter. Om batchstorleken är begränsad kan gradientackumulering stabilisera optimeringen utan att spränga minnet. Gradientkontrollpunkter byter ut extra beräkningskraft mot lägre minne, vilket möjliggör större sammanhang. Ignorera inte tokenisering och dataloader-justering – de kan i tysthet svälta ut GPU:n.

När man ska använda torch.compile, ONNX Runtime eller TensorRT

Dessa verktyg riktar sig mot operativa kostnader: grafinsamling, kärnfusion och optimering av grafer under körning. De kan leverera rena inferenshastighetsökningar, men resultaten varierar beroende på modellens form och hårdvara. Vissa inställningar känns som magi; andra rör sig knappt. Förvänta dig känslighet för formförändringar och enstaka "gremlin"-buggar - mät före och efter på din verkliga arbetsbelastning.

Huruvida kvantisering är värt det, och hur man undviker att gå för långt

Kvantisering kan minska minnet och snabba upp inferensen, särskilt med INT8, men kvaliteten kan sjunka i marginalfall. Alternativ med lägre bitar (som INT4/k-bitar) ger större besparingar med högre risk. Den säkraste vanan är att utvärdera på en riktig testuppsättning och jämföra utdata, inte magkänsla. Börja med säkrare steg först, gå sedan bara ner på lägre precision om det behövs.

Skillnaden mellan beskärning och destillation för modellstorleksreduktion

Beskärning tar bort "dödviktsparametrar" och kräver ofta omträning för att återställa kvaliteten, särskilt när det görs aggressivt. Destillation tränar en mindre elevmodell att härma en större lärares beteende, och det kan ge en starkare långsiktig avkastning på investeringen än extrem kvantisering. Om du vill ha en mindre modell som beter sig på liknande sätt och förblir stabil är destillation ofta den renare vägen.

Hur man minskar inferenskostnader och latens genom förbättringar av servering

Det är vid servering som optimering blir konkret: batchning ökar dataflödet men kan skada latensen om den överdrivs, så justera den noggrant. Cachning (snabb cachning och återanvändning av KV-cache) kan vara enorm när kontexter upprepas. Strömmande utdata förbättrar den upplevda hastigheten även om den totala tiden är liknande. Leta också efter token-för-token-overhead i din stack – litet arbete per token ackumuleras snabbt.

Varför svansfördröjning är så viktig när man optimerar AI-modeller

Medelvärden kan se bra ut medan p99 är en katastrof, och användare tenderar att leva i svansen. Svansfördröjning kommer ofta från jitter: minnesfragmentering, CPU-förbehandlingstoppar, tokeniseringsfördröjningar eller dåligt batchbeteende. Det är därför guiden betonar percentiler och verkliga arbetsbelastningar. Om du bara optimerar p50 kan du fortfarande leverera en upplevelse som "slumpmässigt känns långsam"

Referenser

  1. Amazon Web Services (AWS) - AWS CloudWatch-percentiler (statistikdefinitioner) - docs.aws.amazon.com

  2. Google - The Tail at Scale (bästa praxis för svansfördröjning) - sre.google

  3. Google - Servicenivåmål (SRE-bok) - latensprocentiler - 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-semantik: minneshantering (anteckningar om CUDA-minnesallokering) - docs.pytorch.org

  8. PyTorch - Automatisk blandad precision (torch.amp / AMP) - docs.pytorch.org

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

  10. PyTorch - Guide för prestandajustering - docs.pytorch.org

  11. PyTorch - Beskärningshandledning - docs.pytorch.org

  12. PyTorch - Förstå CUDA-minnesanvändning i PyTorch - docs.pytorch.org

  13. PyTorch - torch.compile handledning / översikt - docs.pytorch.org

  14. ONNX Runtime - ONNX Runtime-dokumentation - onnxruntime.ai

  15. NVIDIA - TensorRT-dokumentation - docs.nvidia.com

  16. NVIDIA - TensorRT-kvantiserade typer - docs.nvidia.com

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

  18. NVIDIA - Triton Inference Server - dynamisk batchning - docs.nvidia.com

  19. DeepSpeed ​​- ZeRO Steg 3-dokumentation - deepspeed.readthedocs.io

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

  21. Kramansikte - Accelerera: Guide till gradientackumulering - huggingface.co

  22. Kramande ansikte - Tokenizers dokumentation - huggingface.co

  23. Kramansikte - Transformers: PEFT-guide - huggingface.co

  24. Kramande ansikte - Transformers: KV cache förklaring - huggingface.co

  25. Kramansikte - Transformers: "Snabba" tokeniserare (tokeniserarklasser) - huggingface.co

  26. arXiv - Destillering av kunskap i ett neuralt nätverk (Hinton et al., 2015) - arxiv.org

  27. arXiv - LoRA: Lågrankig anpassning av stora språkmodeller - arxiv.org

  28. arXiv - FlashAttention: Snabb och minneseffektiv exakt uppmärksamhet med IO-Awareness - arxiv.org

Hitta den senaste AI:n i den officiella AI-assistentbutiken

Om oss

Tillbaka till bloggen