GPU nods და ML გამოთვლები
მოკლე რეზიუმე
GPU- ზე წარმატებული ML- სტეკი არის გადაწყვეტილებების ერთობლიობა რკინის, პროგრამული უზრუნველყოფის, დაგეგმვის, მონაცემებისა და დაკვირვებების შესახებ. მტევანი უნდა შეეძლოს თანაბრად კარგად:1. ასწავლეთ მოდელები (მაღალი განკარგვა, სწრაფი გამძლეობა, შეფერხების წინააღმდეგობა),
2. ემსახურება ინვერსიას (დაბალი p95 ლატენტობა მაღალი კონვერტაციით),
3. პროგნოზირებადი ფულის ღირებულება (FinOps, კვოტები, მულტფილმები),
4. უსაფრთხო იყოს (იზოლაცია, supply chain, წონის კონტროლი/datasets).
რკინა და ტოპოლოგია
GPU და მეხსიერება
HBM მოცულობა და ზოლები უფრო მნიშვნელოვანია, ვიდრე „ნედლეული TFLOPS“ LLM/RecSys- ისთვის.
მრავალი მცირე მოთხოვნის შესაქმნელად, ჩაშენებული მეხსიერების პრიორიტეტია (KV-cache) და მაღალი clocks/power limit.
კავშირები
NVLink/NVSwitch - კვანძის შიგნით სწრაფი ყველა რედუცისთვის.
InfiniBand/RoCE - ინტერკულტურული გაცვლა DDP/FSDP (100-200 Gb/s).
PCIE ხე: შეეცადეთ NIC და GPU იჯდეს ერთ NUMA კვანძზე; თავიდან აიცილეთ ცხელი PCIe-switch bottleneck.
ძირითადი tuning BIOS/კვანძი
Performance რეჟიმები, C- სახელმწიფოების გამორთვა (ან მინიმალური გაზრდა), NUMA awareness, ASPM off კრიტიკულ PCIe- ზე.
კვება: სტაბილური პროფილები, არ არის აგრესიული ძალა - წინააღმდეგ შემთხვევაში p99 „ტრიალებს“.
ძირითადი პროგრამული უზრუნველყოფა
NVIDIA + CUDA + cuDNN/TensorRT დრაივერები, რომლებიც შეთანხმებულია თავსებადობის მატრიცით.
NVIDIA Container Toolkit GPU- სთვის კონტეინერების შიგნით.
NCCL (კოლექტივები), UCX (ტრანსპორტი), Apex/xFormers/Flash-Attention - სიჩქარით.
სურვილისამებრ GDS (GPUDirect Storage) სწრაფი NVMe/IB - აჩქარებს მონაცემთა ნაკადს.
Kubernetes for GPU
ძირითადი კომპონენტები
NVIDIA GPU ოპერატორი (დრაივერები, DCGM, მოწყობილობები-plugin).
NVIDIA Device Plugin - რესურსების ექსპორტი 'nvidia. com/gpu`.
MIG (A100/H100) - ერთი ფიზიკური GPU დაყოფა იზოლირებულ პროფილებად (მაგალითად, '1g. 10gb`).
Time-slicing არის GPU- ს ლოგიკური გამანადგურებელი მცირე ზომის ინვესტიციის ამოცანებისთვის.
Node Feature Discovery - ეტიკეტები GPU/ტოპოლოგიის ტიპებზე.
დაგეგმვა და იზოლაცია
Taints/Tolerations/NodeSelectors ტრენინგის/ინვესტიციის/ექსპერიმენტების განცალკევებისთვის.
ტოპოლოგიის მენეჯერი და CPU მენეჯერი (static) NUMA- ს განლაგებისთვის.
Volcano/Slurm on K8s/Ray - რიგები, პრიორიტეტები, უპირატესობა დიდი ჯობებისთვის.
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 - პარამეტრების/გრადუსების/ოპტიმიზატორების შარდვა, ამცირებს მეხსიერებას.
Tensor/Pipeline Parallel - ძალიან დიდი LLM- ისთვის; მოითხოვს NVLink/IB.
Gradient Accumulation - ზრდის ეფექტურ batch მეხსიერების მწვერვალების ზრდის გარეშე.
შერეული სიზუსტე და მეხსიერების ოპტიმიზაცია
AMP (bf16/fp16) + loss scaling; N100/ახალი - FP8 სადაც შესაძლებელია.
Activation/Gradient Checkpointing, Flash-Attention გრძელი რიგითებისთვის.
Paged/Chunked KV-cache ინვესტიციისთვის მოსამზადებლად.
Chekpoints და წინააღმდეგობა
ხშირი სავარაუდო ჩეკპოინები სწრაფი NVMe/ობიექტისთვის, ჭრილით.
Idempotent Jobs (განმეორებითი იდენტიფიკატორი).
Spot სტაბილურობა: დაჭერა SIGTERM, სწრაფად შეაერთეთ სახელმწიფო; დამგეგმავი ჯობას რიგს უბრუნებს.
მნიშვნელოვანი NCCL/ქსელები (მაგალითი)
bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS
Infeles: დაბალი ლატენტობა, მაღალი დაბრუნება
Serving ჩარჩოები
Triton Inference Server არის ერთი სერვერი TensorRT/ONNX/TS/PyTorch.
VLM/TGI/TensorRT-LLM - LLM სპეციალისტები (paged-attention, ეფექტური KV-cache, Continuous batching).
აჩქარების ტექნიკა
Quantization: INT8/FP8/კვანტური. -aware (AWQ, GPTQ) - VRAM- ის შემცირება, TPS- ის ზრდა.
Batching/Continuous batching: ემსახურება მოთხოვნის პაკეტებს p95 ზრდის გარეშე.
KV-cache pinning HBM- ში, კონტექსტის შემცირება; სპეციალური decoding (draft მოდელი).
Concurrence GPU- ზე: რამდენიმე ნაკადი/მოდელი MIG/time-slice.
პროფილის მიზნები (მაგალითი SLO)
ჩატის მოდელის პასუხის 95 ლატენტობა - 300 ms პრეფიქსი/ნიშანი;
Throughput 200 doc/s/GPU სამიზნე პროფილზე;
P99 კუდები აკონტროლებენ შედუღებას (QoS კლასები და კონტექსტის შეზღუდვები).
Triton deployment (ფრაგმენტი)
yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]
მონაცემები და პარამეტრები
ფორმატები: Parquet/Arrow, webdataset (tar-shards) ნაკადის კითხვისთვის.
Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.
Feature Store ონლაინ ფიგურებისთვის (ანტიფროდიული/რეკომენდაციები).
ვერსია: DVC/LakeFS/MLflow Model Registry; ჩაწერეთ datasets, კოდი და ჰიპერპარამენტები.
დაკვირვება და 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, მეხსიერების უკმარისობა.
ტრენინგი: ნაბიჯები/წამი, ეპოქის დრო, ყოვლისმომცველი ეფექტურობა, დროის% I/O- ში.
SLO პანელი: შესაბამისობა p95, „შეცდომების ბიუჯეტი“ (99 ევრო). „წარმატებული“ ინვესტიციების 5%).
ალერტინგი (იდეები)
`fb_used / fb_total > 0. 95` 5 мин → throttle/scale-out.
TPS- ის შემცირება N% -ზე იმავე განკარგვით არის მოდელის/კოდის დეგრადაცია.
ESS/ტემპერატურის ზრდა - რკინის ჯობ/ინციდენტის მიგრაცია.
უსაფრთხოება და იზოლაცია
მრავალ ტენანტობა: MIG პროფილები ან nodes „per-team“, namespaces/ítas.
IOMMU/PSP, cgroups, პრივილეგირებული კონტეინერების აკრძალვა, შეზღუდვა 'CAP _'.
MPS (მრავალჯერადი მომსახურება) - სისუფთავე: უფრო მაღალი განკარგვა, მაგრამ განცალკევება უფრო სუსტია, ვიდრე MIG.
Supply chain: კონტეინერების ხელმოწერები (cosign), არტეფაქტების გადამოწმება, მოდელების გადმოტვირთვის კონტროლი.
მონაცემები/წონა: დისკზე დაშიფვრა, წვდომის კონტროლი (ABAC/RBAC), „წყლის ნიშნები “/მოდელების მძიმე რეესტრები.
FinOps: ღირებულება, კვოტები, სკეიტი
კვანძების პულები: 'train' (on-demand/რეზერვები), 'infer' (მიქსი on-demand + spot), 'exp' (spot-heavy).
სპოტის სტაბილურობა: ხშირი ჩეკპოინები, სწრაფი გადატვირთვის ლოგიკა, Volcano ხაზები პრიორიტეტებით.
რეზერვები/RI/Savings Plans სტაბილურ ბაზაზე; ცარიელი კვანძების გამორთვა.
Right-sizing მოდელები: რაოდენობრივი/LoRA გადამყვანები „სრული“ მოდელის ნაცვლად; MIG პროფილების არჩევანი SLA- სთვის.
ბიუჯეტების კონტური: GPU საათების კვოტები per-team, „ღირებულება 1k მოთხოვნით/ნიშნით“.
YAML შაბლონები და არტეფაქტები
1) პროფილი MIG (კონცეფციურად)
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"
GPU კლასტერის გაშვების ჩეკის სია
- NVLink/IB ტოპოლოგიის რუკა; NIC/GPU ერთ NUMA- ზე.
- დრაივერები/CUDA შეთანხმდნენ, ოპერატორი/მოწყობილობები-პლუგინი დამონტაჟებულია.
- MIG/დროის პროფილები და კვოტები ნეიმსპექციისთვის.
- DDP/FSDP pipeline stajing; chekpoints სწრაფი.
- Triton/vLLM с continuous batching; p95 და TPS მიზნები მოცემულია.
- DCGM/Prometheus/Grafana + alerts ECC/ტემპერატურა/მეხსიერება/TPS.
- უსაფრთხოების პოლიტიკა (PSP, cosign, შეფუთვა/წონის კონტროლი).
- FinOps: spot/ri აუზები, ანგარიში „$1k tokens“, ავტომობილი-ხუმრობა idle.
ტიპიური შეცდომები
აურიეთ ტრენინგი და ინვესტიცია ზოგიერთ ნოუთბუქზე taints- ის გარეშე „მფრინავები“ ერთმანეთს GPU/IO.
არ არსებობს chekpoints და preemption ლოგიკა, spot- ზე პროგრესის დაკარგვა.
DCGM მეტრიკის არარსებობა არის „ბრმა“ განკარგვა და გადახურება.
NUMA/PCIe ტოპოლოგიის უგულებელყოფა NCCL დაბალი ზოლია.
არასწორი პროფილები MIG/time-slice - p99 ლატენტობა და „მეხსიერების გარეთ“.
HPA CPU- ს ნაცვლად TPS/ლატენტობის ნაცვლად, გვიანდელი სკალია.
iGaming/fintech სპეციფიკა
ანტიფროდი/მორიელი: SLA ინვესტიცია 50 ms p95 კრიტიკულ მარშრუტებზე (გადახდა/დასკვნები); შეინარჩუნეთ მსუბუქი fallback მოდელი.
რეკომენდაციები/პერსონალიზაცია: on-policy/off-policy ტრენინგი ღამით, ონლაინ თამაშები - დაბალი ლატენტობა.
Chat თანაშემწეები/RAG: შინაარსის ქეში, მოთხოვნის დედაპლიკაცია, guardrails; ვექტორული ძიების ინდექსების შარდვა.
მწვერვალები (მატჩები/ტურნირები): მოდელების წინასწარ დათბობა/kv-cache, minReplicas- ის ზრდა, QoS კლასები VIP- სთვის.
შედეგი
GPU გაანგარიშების დასტის ნამდვილად ეფექტური ხდება, როდესაც რკინა (HBM/NVLink/IB), სოლო მატრიცა (CUDA/NCCL), დაგეგმვა (MIG, ხაზი, ხაზები), მონაცემები (სწრაფი შეკვეთა/GDS), მონიტორინგი DCGM/SLO) და ღირებულება (FinOps/კვოტები) თანმიმდევრულად მუშაობს. ეს დაფიქსირდა IaC- სა და მტევნების პოლიტიკაში - და თქვენ მიიღებთ პროგნოზირებადი ტრენინგის სიჩქარეს, სტაბილურ ინვესტიციას დაბალი p95 ლატენტობით და გამჭვირვალე GPU საათების ეკონომიკით.