AIUnlimited
🌳

AI-Fundamenten

🌱
AI Seeds

Begin bij nul

🌿
AI Sprouts

Bouw een fundament

🌳
AI Branches

Pas toe in de praktijk

🏕️
AI Canopy

Ga de diepte in

🌲
AI Forest

Beheers AI

🔨

AI-Meesterschap

✏️
AI Sketch

Begin bij nul

🪨
AI Chisel

Bouw een fundament

⚒️
AI Craft

Pas toe in de praktijk

💎
AI Polish

Ga de diepte in

🏆
AI Masterpiece

Beheers AI

📘

AI Praktijk

📖
Open-source modellen begrijpen

Fundamenten en bronnen voor open-source modellen

🎯
Van probleem naar modeltaak

Bedrijfsproblemen omzetten in modeltaken

⚡
Uw eerste model uitvoeren

Zie uw eerste resultaten in 30 minuten

🔧
Fijntuning en evaluatie

Modellen fijntunen en prestaties evalueren

🚀
Applicatiesystemen

Bouw echte AI-toepassingen

🎨
Generatieve AI

Verken open-source AIGC-modellen

🤖
Agents

Leer Agent-frameworks en MCP-tools

📐
Aanvullende fundamenten

LLM-basis en evaluatie

🎓

Claude Academie

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

Lab

7 experimenten geladen
🧬Neuraal Netwerk Sandbox🤖AI of Mens?🥋Prompt Engineering Dojo🏁Algoritme-race🧠AI-triviant🏗️Systeemontwerp Canvas
🎯Proef-sollicitatieGa naar het lab→
🚀

Carrièreontwikkeling

🚀
Interview Startplatform

Start je reis

🌟
Gedragsinterview Meesterschap

Beheers soft skills

💻
Technische Interviews

Slaag voor de codeerronde

🤖
AI- & ML-interviews

ML-interview meesterschap

🏆
Aanbod & verder

Bemachtig het beste aanbod

Begin met leren
AIUnlimited

MIT-licentie.

沪ICP备18025655号-11

Leren

  • AI-basis
  • AI Praktijk
  • Claude Academie
  • Lab
  • Carrièreontwikkeling

Community

  • Over ons
  • FAQ

Ondersteuning

  • footer.terms
  • footer.privacy
  • footer.contact
AI & Engineering Opleidingen›⚡ Uw eerste model uitvoeren›Lessen›Server Configuration for Models
🖥️
Uw eerste model uitvoeren • Beginner⏱️ 15 min leestijd

Server Configuration for Models

Kies de juiste serverconfiguratie voor uw modelgrootte

Na het behalen van uw eerste resultaat is het gemakkelijk om grotere modellen te willen proberen. U kunt overschakelen van 0.5B naar 7B, maar het originele apparaat is mogelijk niet langer voldoende.

Bij het selecteren van resources onderscheidt u eerst een paar dingen. CPU en GPU verzorgen de berekening, geheugen en videogeheugen bewaren gegevens tijdens de uitvoering, en schijf slaat modelbestanden op. Een model dat succesvol wordt gedownload betekent alleen dat de schijf genoeg ruimte heeft — of het soepel kan draaien, hangt ook af van geheugen, videogeheugen en rekenkracht. Hetzelfde model, afhankelijk van de precisie waarmee u het laadt, de lengte van de invoer en hoeveel verzoeken tegelijk worden verwerkt, beïnvloedt allemaal het resourcegebruik. Inferentie en training hebben ook verschillende vereisten.

Laten we eerst kijken waar CPU en GPU elk goed in zijn, dan schatten we hoeveel ruimte modelparameters zullen innemen, om de keuze van een laptop of cloudinstantie voor te bereiden.

CPU en GPU: Waar is elk goed in?

De een blinkt uit in flexibele verwerking, de ander in parallelle rekenkracht

CPU en GPU verschillen aanzienlijk in hun rekenbenaderingen.

CPU is ontworpen voor algemene berekeningen, met elke kern die relatief volledige controle- en rekenmogelijkheden heeft. Het kan beslissingen nemen, springen en taken plannen op basis van het programma-uitvoeringsproces, en flexibel verschillende soorten taken verwerken.

GPU gebruikt een parallelle rekenarchitectuur, met een groot aantal rekeneenheden dat een groot aantal taken tegelijk kan uitvoeren. Het is geschikt voor het verwerken van taken met grote datamaten en hoge berekeningsherhaling.

Is GPU bij alles sneller?

De verwerkingssnelheid van CPU en GPU hangt af van het taaktype en de rekenomvang.

Voor scenario's met veel logische beoordeling, programmacontrole en taakplanning heeft CPU een hogere uitvoeringsefficiëntie. Taken zoals het draaien van een besturingssysteem en databasequery's zijn geschikt voor CPU.

Voor grote parallelle rekentaken kan GPU een hogere reken-doorvoer bieden. Matrixvermenigvuldiging en convolutiebewerkingen in diep leren kunnen worden opgesplitst in meerdere parallelle subtaken, tegelijk uitgevoerd door GPU-rekeneenheden, waardoor de totale rekenefficiëntie wordt verbeterd.

De voordelen van GPU worden echter pas significant wanneer de omvang van de rekentaken groot is. Wanneer het datavolume klein is, kunnen GPU-rekenresources niet volledig worden benut, en gegevensoverdracht en taakplanning tussen CPU en GPU brengen ook extra kosten met zich mee. In dat geval kan het gebruik van CPU efficiënter zijn.

Naast het kopen van apparatuur, welke andere kosten moet u overwegen?

De kosten van CPU en GPU omvatten niet alleen de hardware-aanschafprijzen, maar ook het stroomverbruik tijdens de bediening, evenals de daaropvolgende gebruik- en onderhoudskosten.

Les 2 van 50% voltooid
←Your First Inference in 30 Minutes

Discussie

Inloggen deelnemen aan de discussie

Bij de aanschaf van hardware is CPU standaard — gewone servers en personal computers hebben allemaal CPU-configuratie nodig. High-performance GPU's voor AI-training en -inferentie zijn doorgaans duur. Naast de GPU zelf moet u ook de kosten van servers, videogeheugen, opslag en ander ondersteunend hardware overwegen.

Tijdens de bediening heeft GPU hoog stroomverbruik bij het uitvoeren van grootschalige berekeningen. Hoe meer GPU's in een server, hoe groter de druk op stroomvoorziening en koeling, en de elektriciteits- en koelingskosten van datacenters zullen aanzienlijk stijgen.

Bij gebruik en onderhoud is het CPU-ecosysteem relatief volwassen, en routinematig serveronderhoud is relatief eenvoudig. GPU vereist overweging van driver, rekenframework en hardware-omgeving compatibiliteit. Conflicten tussen verschillende versies kunnen voorkomen dat modellen normaal functioneren. Multi-GPU-omgevingen omvatten ook gegevenscommunicatie tussen apparaten, wat bepaalde vereisten heeft voor hardwareverbindingen en softwareconfiguratie.

Hoe kiest u tussen CPU en GPU?

Training en inferentie hebben verschillende resourcevereisten, en modellen van verschillende groottes en types hebben ook significante verschillen in rekenresources. Hardwareselectie moet modelomvang, datavolume, prestatievereisten en resourcbehoeften in beide scenario's training en inferentie uitgebreid overwegen.

In de trainingsfase van het model, wanneer de datam­set klein is, kan CPU voldoen aan de trainingsbehoeften van de meeste traditionele machine learning modellen, zoals lineaire regressie, logistische regressie en willekeurige bossen. Sommige lichtgewicht neurale netwerken kunnen ook CPU gebruiken voor training, maar naarmate het datavolume en de complexiteit van de modelstructuur toenemen, zal de trainingstijd aanzienlijk langer worden. Als u vaak modelaanpassingen moet uitvoeren, kan het gebruik van GPU de trainingstijd verkorten.

Training van grootschalige neurale netwerken en grote taalmodellen vereist uitgebreide matrixberekeningen, met hoge eisen aan rekenkracht en videogeheugencapaciteit. Grote taalmodellen met miljarden parameters, zoals Qwen, hebben high-performance acceleratieapparaten zoals GPU nodig voor training.

De modelvereisten tijdens inferentie verschillen van die van training. Voor scenario's met kleinere parameterscalen en lagere toegangsvolumina kan CPU voldoen aan inferentiebehoeften, en het resourcegebruik kan ook worden verminderd door methoden zoals kwantificering. Voor grote modellen, hoog-concurrentiediensten en scenario's die snelle respons vereisen, kan GPU een hogere inferentie-efficiëntie bieden.

CPU en GPU hebben elk toepasbare scenario's, en u moet modelomvang, datavolume, gelijktijdige verzoeken, prestatievereisten en implementatiekosten uitgebreid overwegen.

Hoe groot is het model? Hoeveel geheugen en videogeheugen moeten worden gereserveerd?

Eerst het aantal parameters, dan de laadprecisie

Het beoordelen van de resourcevereisten van een model hangt voornamelijk af van twee indicatoren: parameterschaal en gegevensprecisie.

De parameterschaal van het model wordt over het algemeen uitgedrukt in B, waarbij 1B 1 miljard parameters vertegenwoordigt. Parameters zijn de numerieke waarden die het model tijdens de training leert. Tijdens de inferentie moeten deze parameters worden geladen in geheugen (CPU) of videogeheugen (GPU). Hoe groter het aantal parameters, hoe meer resources worden bezet.

Gegevensprecisie verwijst naar het numerieke formaat dat modelparameters gebruiken voor opslag en berekening. Gangbare formaten omvatten FP32, FP16, BF16 en kwantificeringsformaten zoals INT8 en INT4. Voor hetzelfde aantal parameters betekent hogere gegevensprecisie meer bezette resources.

De geschatte opslagruimte voor 1B parameters bij verschillende precisies is als volgt:

PrecisieRuimte per 1B Parameters (ca.)Gebruikelijk Gebruik
FP32 (Enkele Precisie) 4GBTraining, hoge precisie inferentie
FP16 (Half Precisie) 2GBTraining, inferentie
BF16 2GBTraining, inferentie
INT8 1GBGekwantificeerde inferentie
INT4 0.5GBLaag-precisie gekwantificeerde inferentie

Modelgewichten = Aantal parameters × Opslagruimte per 1B parameters bij die precisie. Voor een 7B model met FP16-precisie inferentie is de bezetting van modelgewichten ongeveer: 7 × 2GB ≈ 14GB.

Eerst het aantal parameters, dan de laadprecisie

Tijdens modelinferentie zijn naast het laden van modelgewichten extra resources nodig voor KV Cache, runtime framework en tijdelijke berekeningen.

KV Cache wordt gebruikt om Token-gerelateerde informatie op te slaan die al tijdens het gegenereerproces is berekend, om redundante berekeningen te voorkomen. Het gebruik ervan hangt af van de modelstructuur, contextlengte en aantal gelijktijdige verzoeken. Hoe langer de context, hoe meer informatie moet worden opgeslagen; hoe meer verzoeken tegelijk worden verwerkt, hoe meer het KV-Cache-gebruik toeneemt.

Schattingsformule voor inferentie-resourcegebruik:

CPU-inferentie vereist geheugen ≈ Modelgewichten + Framework- en tijdelijke overhead.

GPU-inferentie vereist videogeheugen ≈ Modelgewichten + KV Cache + Framework- en tijdelijke overhead.

Hiervan zijn gewichten statisch, framework-overhead is fundamenteel constant, en de variabel bevindt zich volledig in KV Cache. In lange sequentie-scenario's moet KV-Cache-ruimte worden gereserveerd.

Voor hetzelfde model, waarom gebruikt training meer resources?

De resourcevereisten van de trainingsfase zijn hoger dan die van de inferentiefase. Naast het opslaan van modelgewichten moeten ook gradiënten, optimizer-toestanden en tussenresultaten tijdens de training worden opgeslagen, wat meer resources vereist. De trainings-resourcevereisten hangen af van het type optimizer en de trainingsstrategie.

(1) Volledige modeltraining

Voor volledige modeltraining moeten modelgewichten, gradiënten, optimizer-toestanden en activeringen tegelijk worden opgeslagen. Met als voorbeeld volledige training met Adam-optimizer en FP16-precisie, vereist elke 1B parameter ongeveer:

OnderdeelPer 1B Parameters
Modelgewichten (FP16)2 GB
Gradiënten (FP16)2 GB
Optimizer-toestanden8 GB
FP32 gewichtskopie4 GB
Totaal (zonder activeringen)16 GB

Opmerking: De Adam-optimizer moet twee kopieën van FP32-precisie toestanden (momentum en variantie) opslaan, daarom nemen optimizer-toestanden 8GB in; de FP32 gewichtskopie wordt gebruikt voor optimizer-parameterupdates.

De voorlopige schattingsformule voor volledige training is:

GPU-training vereist videogeheugen ≈ Aantal parameters × 16 Byte + Activeringsoverhead

CPU-training vereist geheugen ≈ Aantal parameters × 16 Byte + Activeringsoverhead

GPU-training is beperkt door videogeheugencapaciteit, terwijl CPU-training beperkt is door reken snelheid. Een 7B model met volledige FP16-training op GPU vereist minimaal 7B × 16 Byte ≈ 112GB videogeheugen, en de werkelijke behoefte zal na toevoeging van activeringen groter zijn.

(2) Parameter-efficiënte fijntuning (zoals LoRA)

Voor fijntuning van grote modellen worden parameter-efficiënte fijntuningmethoden zoals LoRA (Low-Rank Adaptation) in de praktijk vaker gebruikt. LoRA werkt niet alle originele modelparameters bij tijdens de training; het bevriest de originele modelgewichten en traint alleen nieuw toegevoegde lage-rang aanpassingsparameters, waardoor de videogeheugenvereisten aanzienlijk worden verminderd.

LoRA-training videogeheugen ≈ Basis modelgewichten + LoRA-parameters + LoRA-parametergradiënten en optimizer-toestanden + Activeringen.

Hiervan moeten basis modelgewichten alleen worden geladen en nemen niet deel aan updates; de door LoRA toegevoegde parameters zijn slechts 0,1%~1% van het originele model, en hun gradiënten en optimizer-overhead zijn bijna verwaarloosbaar. Het werkelijke videogeheugen hangt voornamelijk af van modelgewichten, contextlengte, batchgrootte en trainingsframework-optimaliseringsmethoden. LoRA-fijntuning kan de videogeheugenvereisten aanzienlijk verminderen in vergelijking met volledige training.

Bijvoorbeeld, het laden van een 7B model met FP16, modelgewichten nemen 4GB in. Op een enkele GPU met 24GB videogeheugen kan LoRA-fijntuning meestal draaien (met passende aanpassingen van batchgrootte en contextlengte). Het gebruik van QLoRA (het basismodel kwantificeren naar INT4) kan het videogeheugebruik verder verminderen, waardoor fijntuning op beperktere hardware mogelijk wordt.