Habari za Kiswahili
Karibuni
AI na Teknolojia

CUDA Graphs, miundo ya reasoning na kutumikia kwa kutenganisha

Picha ya mfano ya kebo za fibre za mawasiliano katika kisanduku cha chini, si vifaa vya GPU.
Picha ya mfano ya kebo za fibre za mawasiliano katika kisanduku cha chini, si vifaa vya GPU.

Miundombinu ya kisasa ya AI inasukuma utendaji hadi mipaka halisi ya silicon na clusters kupitia kuondolewa kwa CPU overhead, vitanzi vya reasoning vya wakati wa inference, na routing ya clusters za GPU iliyobobea kwa hatua. Mbinu hizi tatu huendesha mifumo ya AI ya uzalishaji ya kasi na ya busara zaidi leo.

1. CUDA Graphs na Kernel Fusion: Kuondoa CPU & Memory Overhead

Kadri GPU za kisasa (kama H100 na B200) zilivyokuwa za kasi zaidi kwa kiwango cha kupindukia, kutekeleza kernel moja nyepesi ya GPU kunaweza kuchukua microsecond 2 hadi 5 tu. Hata hivyo, CPU mara nyingi huchukua microsecond 10 hadi 20 kuandaa tu, kuhakiki, na kuzindua kernel hiyo kupitia driver ya PCIe—ikiiacha GPU yenye thamani ya mamilioni ya dola ikikaa bila kazi kabisa ikisubiri maagizo ya CPU.

  • Kernel Fusion (Kuunganisha Operesheni Kuokoa Kumbukumbu & Uzinduzi).
  • Kizibwaji Kisisochanganywa. Tabaka la kawaida la Transformer hutekeleza makumi ya operesheni ndogo kwa mfululizo (k.m., LayerNorm → Linear → Add Residual → GeLU). Bila fusion, GPU huzindua kernels tofauti kwa kila hatua, ikiandika tensor za kati kwenye HBM (VRAM) ya polepole na kuzisoma tena mara moja kwa hatua inayofuata.
  • Utekelezaji Uliounganishwa. Compilers kama torch.compile (TorchInductor) na TensorRT-LLM huunganisha operesheni nyingi za element-wise na reduction kuwa kernel moja maalum ya CUDA/Triton. Thamani hupakiwa kutoka HBM mara moja, hubadilishwa ndani ya registers/SRAM za ndani ya chip zenye kasi kubwa, na kuandikwa tena kwenye HBM mwishoni kabisa tu—kupunguza trafiki ya memory bandwidth na idadi ya uzinduzi wa kernels kwa kiasi kikubwa.
  • CUDA Graphs (Kucheza Tena Pipelines Kamili za Utekelezaji kwa Mkupuo Mmoja).
  • Rekodi na Cheza Tena. Hata baada ya kernel fusion, forward pass ya LLM bado inahitaji mamia ya uzinduzi wa kernels kwa kila token inayozalishwa. CUDA Graphs hutatua hili kwa kunasa mlolongo mzima wa operesheni za GPU—kernels, nakala za kumbukumbu, na utegemezi—wakati wa mzunguko wa warmup na kuziunganisha kuwa graph ya utekelezaji tuli iliyohifadhiwa moja kwa moja kwenye kumbukumbu ya GPU.
  • Hakuna Uingiliaji wa CPU. Wakati wa inference ya wakati halisi, badala ya CPU kuzindua kernels 300 tofauti moja moja, CPU hutoa wito mmoja tu wa API (cudaGraphLaunch) ambao huanzisha forward pass nzima kwenye GPU kujiendesha yenyewe.
  • Kushughulikia Maumbo ya Nguvu (Dynamic Shapes). Kwa sababu CUDA Graphs zinahitaji anwani tuli za kumbukumbu na maumbo tuli ya tensor, injini za inference hupakia batch zinazoingia hadi ukubwa wa ndoo (buckets) uliowekwa (k.m., ukubwa wa batch 1, 2, 4, 8, 16) na kusasisha pointers za ingizo mahali pake kabla ya kucheza tena graph iliyokwisha kunaswa.

2. Test-Time Compute & Miundo ya Reasoning (o1/o3 & DeepSeek-R1)

Kihistoria, maabara za AI zilikuwa zikipanua akili kwa nguvu tu kwa kumwaga kompyuta zaidi katika pre-training (miundo mikubwa zaidi ikifundishwa kwa maandishi zaidi ya intaneti). Miundo ya reasoning kama o1/o3 ya OpenAI na DeepSeek-R1 ilifungua mhimili wa pili wa kupanua: Test-Time Compute (Inference-Time Scaling), ikiruhusu miundo "kufikiria" kwa muda mrefu zaidi kabla ya kujibu.

  • Reinforcement Learning kwa Chain-of-Thought (CoT).
  • Badala ya kutegemea tu mifano iliyoandikwa na binadamu ya reasoning ya hatua kwa hatua, miundo hii hufundishwa kupitia Reinforcement Learning (RL) ya Kiwango Kikubwa (kama GRPO – Group Relative Policy Optimization katika DeepSeek-R1) katika nyanja zinazoweza kuthibitishwa kama hisabati, uandishi wa programu, na mantiki rasmi.
  • Modeli huzalisha njia nyingi zinazowezekana za reasoning, hupokea tuzo halali tu wakati jibu lake la mwisho linapitia unit tests au uthibitishaji wa kihisabati, na hujikuta yenyewe tabia za kiutambuzi zinazojitokeza—ikiwemo kujithibitisha, kurudi nyuma inapofikiwa njia panda, na kuvunja matatizo changamano kuwa malengo madogo.
  • Jinsi Kompyuta ya Inference Inavyokua.
  • Inapopewa prompt ngumu, modeli huzalisha maelfu ya "thinking tokens" za ndani ndani ya scratchpad iliyofichwa kabla ya kutoa jibu la mwisho. Usahihi huboreka kwa njia ya logarithmic kadri modeli inavyotumia token zaidi za inference kuchunguza nadharia.
  • Mabadiliko ya Ubadilishanaji wa Kompyuta. Katika LLM za jadi, inference ni nafuu na ya haraka (kuzalisha token ~50 za pato). Katika miundo ya reasoning, swali moja linaweza kuzalisha token 10,000 hadi 50,000 za kufikiria, kugeuza inference kuwa mzigo mkubwa wa kuendelea wa uzalishaji wa batch unaotawaliwa na ukuaji wa KV cache na ufanisi wa attention wa mazingira marefu.

3. Kutenganisha Prefill na Decode

Kutumikia LLM kunajumuisha hatua mbili za kihesabu zinazopingana kabisa. Kuendesha hatua zote mbili kwenye GPU ile ile husababisha migongano kali ya ratiba na kutotumiwa vizuri kwa vifaa.

HatuaAsili ya Mzigo wa KaziKizibwaji cha VifaaKipimo cha Ucheleweshaji
Prefill (Uchakataji wa Prompt)Huchakata token zote za prompt (k.m., token 10,000) sambamba katika forward pass moja.Compute-Bound (huzijaza Tensor Cores za GPU kwa kuzidisha matrici kubwa).TTFT (Time-To-First-Token)
Decode (Uzalishaji wa Token)Huzalisha token za pato moja moja kwa mfululizo, ikisoma KV cache nzima kila hatua.Memory-Bandwidth-Bound (Tensor Cores hukaa bila kazi zikisubiri kusoma VRAM).TPOT (Time-Per-Output-Token)
  • Tatizo la Kuingiliana kwa Mahali Pamoja (Co-Location Interference).
  • Katika kutumikia kwa jadi kwa pamoja, ikiwa mtumiaji mmoja anawasilisha hati kubwa ya token 32,000 kwa Prefill wakati watumiaji wengine 50 wako katikati ya kumulika token za Decode, hisabati kubwa ya matrici ya prefill hutawala Tensor Cores za GPU—ikisababisha kusimama kunakoonekana na viimko vya ucheleweshaji ("kukwama") kwa watumiaji wote 50 wanaomulika.
  • Zaidi ya hayo, Prefill inahitaji FLOPs za juu za kompyuta, ilhali Decode inahitaji memory bandwidth kubwa ya HBM na uwezo wa kubeba KV caches za batch kubwa.
  • Kugawanya Cluster (Usanifu wa Kutenganisha).
  • Mifumo ya kisasa ya inference ya hyperscale (kama Mooncake, DistServe, na NVIDIA Dynamo) hugawanya cluster ya GPU kuwa bwawa mbili maalum:
  • 1. Bwawa la Prefill: Limeboreshwa kwa throughput halisi ya kompyuta (matumizi ya juu ya Tensor Core, tensor parallelism ndogo zaidi) ili kusagua prompts ndefu haraka na kufikia malengo makali ya Time-To-First-Token (TTFT).
  • 2. Bwawa la Decode: Limeboreshwa kwa memory bandwidth ya juu na uwezo mkubwa wa KV cache (tensor/expert parallelism pana zaidi, ukubwa mkubwa wa batch) ili kumulika token kwa laini kwa kiwango cha juu cha token kwa sekunde.
  • Uhamishaji wa KV Cache wa Kasi Kubwa. Mara tu GPU ya Prefill inapomaliza kuchakata prompt na kujenga KV Cache yake ya awali, huimulika KV Cache hiyo moja kwa moja kupitia miunganisho ya kasi kubwa mno ya NVLink au InfiniBand RDMA hadi kwenye VRAM ya GPU ya Decode, ambayo huchukua uzalishaji wa token mara moja bila kuingiliwa.

Habari zaidi: AI na Teknolojia