GPU-nods և ML հաշվարկներ
Live ռեզյումե
Հաջողակ ML-stack-ը GPU-ում երկաթի, սոֆի, պլանավորման, տվյալների և դիտարկման լուծումների հավաքածու է։ Կլաստերը պետք է կարողանա հավասարապես լավ
1. պատրաստել մոդելներ (բարձր հեռացում, արագ ստուգումներ, ընդհատումների դիմադրություն),
2. ծառայելը (ցածր p95-լատենտ բարձր փոխադարձությամբ),
3. արժե կանխատեսելի գումար (FinOps, քվոտաներ, մուլտֆիլմեր),
4. ապահով լինել (մեկուսացում, suply chain, քաշի/ամսաթվերի վերահսկողություն)։
Երկաթի և տեղաբանության
GPU և հիշողություն
HBM ծավալը և շերտերը ավելի կարևոր են, քան «հում TFLOPS» LLM/RecPors-ի համար։
Շատ փոքր հարցումների համար 'ներկառուցված հիշողության գերակայությունը (KV-cache) և բարձր clocks/www.limit։
Կապակցություններ
NVLink/NVSwitch-ը արագ reduce հանգույցի ներսում է։
InfiniBand/RoCE-ը միջանձնային փոխանակում է DDP/FSDP-ի համար (55100-200 Gb/s)։
PCIE ծառը 'փորձեք, որ NIC-ը և GPU-ն մեկ NUMA-2019-ում նստեն։ խուսափեք «տաք» PCIE-switch bottleneck-ից։
Հիմնական թյունինգը III/հանգույց
Performae-ի ռեժիմները, C-states-ի անջատումը (կամ նվազագույն), NUMA awareness, ASPM off կրիտիկական PCIe-ի վրա։
Սնունդը 'կայուն պրոֆիլներ, ոչ ագրեսիվ տեղեկատվական-save, հակառակ դեպքում «դողում է» p99։
Հիմնական ծրագրավորման հոսքը
NVIDIA + CUDA + cuDNN/TronorRT-ի շարժիչները, որոնք պատրաստված են մատրիցով։
NVIDIA Invainer Toolkit-ը GPU-ի համար բեռնարկղերի ներսում։
NCCL (կոլեկտիվներ), UCX (տրանսպորտը), Apex/xPress/International-Attention-ը արագության համար։
Oporational GDS (GPUDirae Storage) արագ NVMe/IB-ի վրա արագացնում է տվյալների հոսքը։
Kubernetes GPU-ի համար
Հիմնական բաղադրիչները
NVIDIA GPU Operts (վարորդներ, DCGM, device-plugin)։
NVIDIA Device Plugin-ը ռեսուրսների արտահանումն է 'nvidia։ com/gpu`.
MFC (A100/H100) - մեկ ֆիզիկական GPU բաժանումը մեկուսացված պրոֆիլների վրա (օրինակ '1g։ 10gb`).
Time-slicing-ը GPU-ի տրամաբանական թուլացումն է ժամանակի ընթացքում ինֆիսի փոքր խնդիրների համար։
Node Feature Discovery-ը GPU/տեղաբանության տեսակի կոմպոզիցիա է։
Պլանավորումը և մեկուսացումը
Tainault/Toler.ru/NodeProdectors-ը բաժանելու համար։
Topology You և CPU Systic (ստատիկ) NUMA հավասարման համար։
Volcano/Slurm on K8s/Ray - հերթեր, գերակայություններ, emption մեծ ջոյի համար։
GPU-ի հարցման օրինակ Pod-ում
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
Taint/affinity-ի օրինակը հատուկ ուսուցման փամփուշտի համար
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"
Ուսուցում ՝ մասշտաբներ և կայունություն
Զուգահեռ
DDP-ը ստանդարտ ամսաթվերն է։
FSDP/ZeRO-ը 108/աստիճան/օպտիմիզատորների շարդիզացիա է, նվազեցնում է հիշողությունը։
Tensor/Pipeline Parallel-ը շատ մեծ LLM-ի համար։ Պահանջում է NVLink/IB։
Gradient Accumulation-ը մեծացնում է www.batch առանց հիշողության գագաթների աճի։
Հիշողության խառը ճշգրտությունն ու օպտիմիզացումը
AMP (bf16/fp16) + loss scaling; N100/նոր - FP8 որտեղ հնարավոր է։
Activation/Gradient Diskpointing, System-Attention երկար հաջորդականության համար։
Paged/Chunked KV-cache-ը պատրաստելու համար։
Chekpoints եւ անկայունություն
Հաճախակի պերիմենտալ ստուգումներ արագ NVMe/օբյեկտի վրա։
Idempotent ջոբները (կրկնվող ռան լուծիչներ)։
Spot-կայունությունը 'SIGTERM-ը, արագ միավորում ենք state; պլանավորողը վերադարձնում է ջոբին։
Կարևոր NCCL/ցանց (օրինակ)
bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS
Ինֆիս 'ցածր լատենտ, բարձր եկամուտ
Serving-Fremorks
Triton Inference Server-ը TultorRT/ONNX/TS/PyTorch-ի միակ սերվերն է։
VLM/TGI/TronorRT-LLM - LLM մասնագետներ (paged-attention, www.KV-cache, inuous batching)։
Արագացման ընդունումներ
Quantization: INT8/FP8/քվանտ։ -07 (AWQ, GPTQ) - VTS-ի նվազումը, TPS աճը։
Batching/Entinuous batching-ը 'առանց p95 աճի։
KV-cache pinning-ում HBM-ում, ենթատեքստերի նվազումը։ speculative decoding (www.aft մոդել)։
Concurrency-ում GPU-ում մի քանի հոսքեր/մոդելներ MLS/Time-slice-ում։
Նպատակների ավելցուկ (SLO օրինակ)
p95 chat մոդելի պատասխանը 300 ms prefix/tocen;
Throughput 24200 tom/s/GPU-ը բուժական աղյուսակում։
P99 պոչերը վերահսկում ենք գլուխգործոցը (QoS դասարաններ և ենթատեքստերի լիմիտներ)։
Triton deploy.ru (հատված)
yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]
Տվյալները և www.pline
Մոսկվա: Parquet/Arrow, webdataset (tar-shards) հոսքի կարդալու համար։
Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.
Feature Store-ը առցանց ֆիչի համար (հակաֆրոդ/առաջարկություն)։
Տարբերակումը 'DVC/LakeFS/MLflow Model Registry; արձանագրեք թվեր, կոդ և հիպերպարամետրեր։
Դիտարկումը և SLO
DCGM/Prometheus մետրերը (նվազագույն)
`dcgm_sm_util`, `dcgm_fb_used`, `dcgm_power_usage`, `dcgm_pcie_rx/tx`, `dcgm_dram_bw`
Ջերմաստիճաններ/հաճախականություններ և ECC errors (աճի ալերտ)։
Achieved Occupancy և stall reasons (նեղ շերտ)։
Ծառայության մետրերը
Գեներատիվ մոդելները ՝ հոսանքներ/վայրկյան, p50/p95/p99, queue depth, հիշողության մերժում։
Դասընթացը 'քայլեր/վայրկյան, դարաշրջանի ժամանակը, all-reduce արդյունավետությունը, ժամանակի տոկոսը I/O.
SLO վահանակ 'p95, «սխալների բյուջե» (3699։ Հինգ տոկոսը «հաջողակ» հինֆսներ)։
Ալերտինգը (գաղափարներ)
`fb_used / fb_total > 0. 95` 5 мин → throttle/scale-out.
Նույն հեռացման ժամանակ TPS-ի նվազումը մոդելի/կոդի քայքայումն է։
ESS/ջերմաստիճանի աճը բացատրում է ջո/երկաթի դեպքը։
Անվտանգություն և մեկուսացում
Multi-tenanty 'MMS-պրոֆիլներ կամ «per-team» նոդներ, namespaces/www.tas։
IOMMU/PSA, cgroups, արտոնյալ բեռնարկղերի արգելք, «CAP _» սահմանափակումը։
MPS (multi-process) - ուշադիր 'ավելի բարձր հեռացում, բայց բաժանումը ավելի թույլ է, քան MLS-ը։
Supply chain: Բեռնարկղերի ստորագրությունները (cosport), արտեֆակտների վերականգնումը, մոդելների բեռնման վերահսկումը։
Տվյալները/քաշը 'կոդավորումը կոդավորման վրա, մուտքի վերահսկումը (ABAC/RBAC), «հիբրիդային նշանները »/hash-dechra մոդելները։
FinOps: արժեքը, քվոտաները, ավտո սկեյլը
Հանգույցների պուլերը ՝ «train» (on-demand/պահուստներ), «infer» (միկս on-demand + spot), «exp» (spot-heavy)։
Spot կայունություն 'հաճախակի chekpoints, արագ վերարտադրողական տրամաբանություն, Volcano-ի հերթերը գերակայություններով։
Պահեստները/RI/Savings Plans կայուն հիմքի վրա։ դատարկ հանգույցների անջատումը։
Right-sizing մոդելներ 'քվանտացիա/LoRA ադապտերներ «ամբողջական» մոդելի փոխարեն։ MLS-ի ընտրությունը SLA-ի տակ։
Ստանիսլավ 'GPU-ժամ per-team քվոտաները, «1,k հարցումների/հոսանքների արժեքը»։
YAML և արտեֆակտներ
1) MFC պրոֆիլը (հայեցակարգային)
yaml apiVersion: nvidia. com/v1 kind: MigStrategy metadata: { name: mig-a100-1g10gb }
spec:
deviceFilter: "a100"
mode: single resources:
- profile: "1g. 10gb"
count: 7
2) Volcano հերթը ուսուցման համար
yaml apiVersion: scheduling. volcano. sh/v1beta1 kind: Queue metadata: { name: train-q }
spec:
weight: 100 reclaimable: true capability:
resources:
- name: nvidia. com/gpu quantity: 64
3) KEDA-ն ինֆելսի ավտոկանգառի համար գծային խորության վրա
yaml apiVersion: keda. sh/v1alpha1 kind: ScaledObject metadata: { name: llm-infer }
spec:
scaleTargetRef: { name: llm-deploy }
pollingInterval: 5 minReplicaCount: 2 maxReplicaCount: 80 triggers:
- type: rabbitmq metadata:
queueName: infer-queue mode: QueueLength value: "200"
Chek-թերթ GPU-2019
- NVLink/IB տեղաբանության քարտեզը; NIC/GPU-ը մեկ NUMA-ում։
- Վարորդները/CUDA համաձայնեցված են, Oper.ru/Device-plugin տեղադրված են։
- MMS/time-slicing ավելցուկ և քվոտաներ նյարդային սպեյսների վրա։
- DDP/FSDP pipeline-ը ստեյջինգում է. chekpoints արագ են։
- Triton/vLLM с continuous batching; p95 և TPS նպատակները նշանակված են։
- DCGM/Prometheus/Grafana + ECC/ջերմաստիճան/հիշողություն/TPS։
- Անվտանգության քաղաքականությունը (PFC, cosport, կրճատում/քաշի վերահսկում)։
- FinOps: spot/ri փամփուշտներ, «դոլար/1k towen» զեկույցը, auto-kutdoon idle։
Տիպիկ սխալներ
Խառնել դասընթացը և ինֆիսը մի նոդների վրա առանց tain.ru-ի «pilyat» միմյանց GPU/IO-ի։
Chekpoints-ը և wwww.emption-տրամաբանությունները կանխատեսում են spot-ի առաջընթացի կորուստ։
DCGM-մետրիկի բացակայությունը բացատրում է «կույր» հեռացումը և գերտաքացումը։
NUMA/PCIe-ի անտեսումը բացատրվում է NCCL ցածր շերտով։
MLS/time-slice p99 լատենտ և «Out of Memory» սխալ պրոֆիլները։
HPA-ն CPU-ի փոխարեն TPS/լատենտության փոխարեն հաստատեց ուշ սկեյլ։
iGaming/fintech առանձնահատկությունները
Antifrod/corping: SLA infess 2450 ms p95 կրիտիկական ճանապարհների վրա (վճարումներ/եզրակացություններ); պահեք «fallback» թեթև մոդել։
Առաջարկություններ/կերպարներ ՝ on-policy/off-policy ուսուցում գիշերը, onome-features - ցածր լատենտ։
Չաթ-օգնականները/RAG 'բովանդակության քեշ, հարցումների դեդեոպլիկացիա, guardrails; վեկտորի որոնման ինդեքսների շարդինգը։
Պիկի (խաղեր/մրցույթներ) 'մոդելների նախնական տաքացում/kv-cache, minReplicas, QoS դասարաններ VIP-ի համար։
Արդյունքը
Stek GPU հաշվարկները դառնում են իսկապես արդյունավետ, երբ երկաթը (HBM/NVLink/IB), սոֆական մատրիցը (CUDA/NCCL), պլանավորումը (MFC, հերթը, tainae), տվյալները (արագ pline/GDS), դիտարկումը (DCGM/SLO) և արժեքը (FinOps/քվոտաներ) աշխատում են համաձայնեցված։ Ամրագրեք դա IaC-ում և կլաստերների քաղաքականությունում, և դուք կստանաք կանխատեսելի ուսուցման արագություն, կայուն ինտֆիս ցածր p95-լատենտ և GPU-ժամերի թափանցիկ տնտեսագիտություն։