GH GambleHub

Węzły GPU i obliczenia ML

Krótkie podsumowanie

Udany stos ML na GPU to zbiór rozwiązań sprzętowych, oprogramowania, planowania, danych i obserwowalności. Klaster powinien być w stanie radzić sobie równie dobrze:

1. Modele pociągów (wysokie wykorzystanie, szybkie punkty kontrolne, tolerancja przerw)

2. służyć wnioskowi (niskie opóźnienie p95 przy wysokiej konwersji),

3. przewidywane koszty (FinOp, kwoty, wielopłatowość),

4. być bezpieczne (izolacja, łańcuch dostaw, kontrola skali/zbiorów danych).

Sprzęt i topologie

GPU i pamięć

Objętość i pasmo HBM są ważniejsze niż "surowe TFLOPS' dla LLM/RecSys.
Na wniosek wielu małych zapytań - priorytet pamięci wbudowanej (KV-cache) i wysoki limit zegarów/mocy.

Łączność

NVLink/NVSwitch - wewnątrz węzła do szybkiej redukcji.
InfiniBand/RoCE - wymiana między węzłami dla DDP/FSDP (≥ 100-200 Gb/s).
PCIe drzewo: spróbuj utrzymać NIC i GPU na tym samym węźle NUMA; unikać gorącego wąskiego gardła przełącznika PCIe.

Podstawowe BIOS/Tuning Host

Tryby działania, wyłączanie stanów C (lub zwiększone minimum), świadomość NUMA, ASPM wyłączone na krytycznym PCIe.
Moc: stabilne profile, nie agresywne oszczędzanie mocy - inaczej p99 „drżenie”.

Podstawowy miękki stos

NVIDIA + CUDA + cuDNN/TensorRT matrycy kompatybilności dopasowane sterowniki.
Zestaw narzędzi do pojemników NVIDIA do GPU wewnątrz pojemników.
NCCL (kolektory), UCX (transport), Apex/xFormers/Flash-Attention - dla prędkości.
Opcjonalny GDS (GPUDirect Storage) na szybkim NVMe/IB - przyspiesza przepływ danych.

Kubernetes dla GPU

Kluczowe komponenty

NVIDIA GPU Operator (sterowniki, DCGM, urządzenie-wtyczka).
Wtyczka urządzenia NVIDIA - eksport zasobów 'nvidia. com/gpu '.
MIG (A100/H100) - podział jednego fizycznego GPU na izolowane profile (na przykład, '1g. 10gb ').
Krojenie czasowe - logiczne dzielenie GPU w czasie dla małych zadań wnioskowych.
Odkrycie funkcji węzła - etykiety według typu/topologii GPU.

Planowanie i izolacja

Tains/Tolerances/NodeSelectors to separate training/inference/experiments.
Topology Manager i CPU Manager (statyczny) do dostosowania NUMA.
Wulkan/Slurm na K8s/Ray - kolejki, priorytety, preempcja do dużych miejsc pracy.

Przykład żądania GPU w Pod:
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
Przykład skażenia/powinowactwa dla specjalnej puli szkoleniowej:
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"

Uczenie się: skala i zrównoważony rozwój

Równoczesność

DDP - standardowa współistnienie danych.
FSDP/ZeRO - shading parameters/grail/optimizers, redukuje pamięć.
Równoległy tensor/rurociąg - dla bardzo dużych LLM; wymaga NVLink/IB.
Gradient Accumulation - Zwiększa efektywną partię bez zwiększania szczytów pamięci.

Mieszana dokładność i optymalizacja pamięci

AMP (bf16/fp16) + skalowanie strat; dla H100/new - FP8 w miarę możliwości.
Aktywacja/Gradient Checkpointing, Flash-Attention dla długich sekwencji.
Paged/Chunked KV-cache do przygotowania do wniosku.

Punkty kontrolne i tolerancja błędów

Częste przyrostowe punkty kontrolne dla szybkiego NVMe/obiektu z odchyleniem.
Idempotent jabs (powtarzalne identyfikatory ran).
Stabilność na miejscu: łapiemy SIGTERM, szybko łączy stan; harmonogram zwraca zadanie do kolejki.

Ważne zmienne NCCL/Network (przykład)

bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS

Wniosek: niskie opóźnienie, wysoki zwrot

Obsługa ram

Triton Inference Server jest jednym serwerem dla TensorRT/ONNX/TS/PyTorch.
vLLM/TGI/TensorRT-LLM - specjaliści LLM (przystawka-uwaga, skuteczna pamięć podręczna KV, ciągłe dozowanie).

Techniki przyspieszania

Kwantyzacja: INT8/FP8/quantum. -aware (AWQ, GPTQ) - spadek VRAM, wzrost TPS.
Dozowanie/ciągłe dozowanie: podawać wybuchy żądań bez wzrostu p95.
KV-cache szpilki w HBM, redukcja kontekstu; dekodowanie spekulacyjne (projekt modelu).
Równoczesność na GPU: wiele wątków/modeli z MIG/time-slice.

Profile docelowe (przykład SLO)

p95 opóźnienie odpowiedzi modelu czatu ≤ 300 ms na przedrostek/token;

przepustowość ≥ 200 prądów/s/GPU na profilu docelowym;

p99 ogony są kontrolowane przez sheduling (klasy QoS i limity kontekstowe).

Rozmieszczenie trytonu (fragment)

yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]

Dane i rurociągi

Formaty: Parkiet/strzałka, webdataset (tar-shards) do odczytu strumieniowego.
Prefetch/Async I/O: Pin-memory, prefetch-pipelines, GDS.
Funkcja Sklep dla funkcji online (przeciwdziałanie oszustwom/zalecenia).
Wersioning: rejestr modeli DVC/L, FS/MLFlow; przechwytywanie zbiorów danych, kodu i hiperparametrów.

Obserwowalność i SLO

DCGM/Prometheus metrics (minimum)

'dcgm _ sm _ util', 'dcgm _ fb _ used', 'dcgm _ power _ use', 'dcgm _ pcie _ rx/tx', 'dcgm _ dram _ bw'

Temperatury/częstotliwości i błędy ECC (uwaga na wzrost).
Osiągnięty Obłożenie i powody straganu (wąska warstwa rdzenia).

Mierniki usług

Modele generacyjne: żetony/sec, p50/p95/p99, głębokość kolejki, awaria pamięci.
Trening: kroki/s, czas ery, wydajność redukcyjna, czas% w I/O.
Panel SLO: zgodność p95, „budżet błędu” (≥ 99. 5% „udanych” wniosków).

Ostrzeganie (pomysły)

"fb _ used/ fb_total> 0. 95 '5 мила → przepustnica/skala-out.
Spadek TPS o N% przy tej samej utylizacji - degradacja modelu/kodu.
ECC/wzrost temperatury → migracja żelaza w pracy/incydent.

Bezpieczeństwo i izolacja

Wielopoziomowość: profile MIG lub węzły zespołu, obszary nazw/kontyngenty.
IOMMU/PSP, cgroups, uprzywilejowany kontener barring, CAP _ constraint.
MPS (multi-process service) - schludny: wyższa dyspozycja, ale separacja jest słabsza niż MIG.
Łańcuch dostaw: podpisy kontenerów (cosign), weryfikacja artefaktów, kontrola przesyłania modeli.
Dane/wagi: szyfrowanie na dysku, kontrola dostępu (ABAC/RBAC), znaki wodne/rejestry skrótów modeli.

FinOps: koszty, kwoty, autoskale

Puli węzłów: „pociąg” (na żądanie/rezerwy), „infer” (mieszanka na żądanie + miejsce), „exp” (miejsce ciężkie).
Stabilność spotu: częste punkty kontrolne, szybka logika ponownego uruchomienia, kolejki wulkanu z priorytetami.
Rezerwy/RI/plany oszczędności do stabilnej bazy; automatycznie wyłączyć puste węzły.
Modele prawej wielkości: adaptery kwantyzacyjne/LoRA zamiast „pełnego” modelu; Wybierz profile MIG w SLA.
Zarys budżetu: kontyngenty godzinowe GPU na zespół, „koszt 1k wniosków/żetonów”.

Wzory i artefakty YAML

1) profil MIG (koncepcyjny)

yaml apiVersion: nvidia. com/v1 kind: MigStrategy metadata: { name: mig-a100-1g10gb }
spec:
deviceFilter: "a100"
mode: single resources:
- profile: "1g. 10gb"
count: 7

2) Kolejka wulkanu do treningu

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 dla autoskali inferencji głębokości skrętu

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"

Lista kontrolna startowa klastra GPU

  • Mapa topologii NVLink/IB; NIC/GPU na jednym NUMERA.
  • Sterowniki/CUDA spójne, zainstalowany operator/wtyczka urządzenia.
  • Profile i kwoty MIG/krojenia czasowego dla obszarów nazw.
  • Rurociąg DDP/FSDP testowany na etapie postoju; punkty kontrolne są szybkie.
  • Tryton/vLLM - ciągła partia; Wyznaczono cele p95 i TPS.
  • DCGM/Prometheus/Grafana + alerty ECC/temperatura/pamięć/TPS.
  • Polityka bezpieczeństwa (PSP, cosign, waga obfuscation/control).
  • FinOps: baseny spot/ri, raport tokenów $/1k, bezczynne automatyczne wyłączenie.

Częste błędy

Trening i wnioskowanie są mieszane na tych samych węzłach bez pasów → GPU/IO jest „piłowane” do siebie.
Brak punktów kontrolnych i logika preempcji → utrata postępu na miejscu.
Brak DCGM-metrics → „ślepa” utylizacja i przegrzanie.
Ignorowanie topologii NUMA/PCIe → niska przepustowość NCCL.
Niepoprawne profile MIG/time-slice → p99 latency i „Out of Memory”.
HPA przez procesor zamiast TPS/latency → późna skala.

iGaming/specyfika fintechu

Antyfraud/punktacja: wnioskowanie SLA ≤ 50 ms p95 na ścieżkach krytycznych (płatności/wnioski); Zachowaj światło modelu „fallback”.
Zalecenia/personalizacja: uczenie się nocą w ramach polityki/poza polityką, funkcje online - niskie opóźnienia.
Asystenci czatu/RAG: pamięć podręczna treści, dedykowanie zapytania, szyny ochronne; indeksy wyszukiwania wektorów.
Szczyty (mecze/turnieje): wstępnie rozgrzać modele/kv-cache, zwiększyć minReplicas, klasy QoS dla VIP.

Razem

Stos obliczeniowy GPU staje się naprawdę wydajny, gdy sprzęt (HBM/NVLink/IB), matryca oprogramowania (CUDA/NCCL), harmonogram (MIG, kolejka, tains), dane (szybki rurociąg/GDS), obserwowalność (DCGM/SLO) i koszty (FinOps/kwoty) pracują w ramach koncertu. Wrzuć to do polityki IaC i klastra - i dostajesz przewidywalne prędkości uczenia się, stabilne niskie p95-latency i przejrzystą gospodarkę zegarową GPU.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.