CUDA Graphs, akıl yürütme modelleri ve ayrıştırılmış sunum

Modern yapay zeka altyapısı, CPU ek yükü eliminasyonu, çıkarım-zamanı akıl yürütme döngüleri ve faz-uzmanlaşmış GPU küme yönlendirmesi yoluyla performansı silikonun ve kümelerin fiziksel sınırlarına zorlar. Bu üç teknik, bugünün en hızlı, en akıllı üretim yapay zeka sistemlerine güç verir.
1. CUDA Graphs ve Kernel Fusion: CPU & Bellek Ek Yükünü Ortadan Kaldırma
Modern GPU'lar (H100 ve B200 gibi) katlanarak hızlandıkça, tek bir hafif GPU çekirdeğini çalıştırmak 2 ile 5 mikrosaniye kadar kısa sürebilir. Ancak CPU, bu çekirdeği PCIe sürücüsü üzerinden hazırlamak, doğrulamak ve başlatmak için genellikle 10 ile 20 mikrosaniye harcar — milyonlarca dolarlık GPU, CPU talimatlarını beklerken tamamen boşta kalır.
- Kernel Fusion (Bellek & Başlatma Tasarrufu için İşlemleri Birleştirme).
- Birleştirilmemiş Darboğaz. Standart bir Transformer katmanı, düzinelerce küçük işlemi ardışık olarak yürütür (ör. LayerNorm → Linear → Add Residual → GeLU). Birleştirme olmadan, GPU her adım için ayrı çekirdekler başlatır, ara tensörleri yavaş HBM'ye (VRAM) yazar ve bir sonraki adım için hemen geri okur.
- Birleştirilmiş Yürütme. torch.compile (TorchInductor) ve TensorRT-LLM gibi derleyiciler, birden fazla eleman-bazlı ve indirgeme işlemini tek bir özel CUDA/Triton çekirdeğinde birleştirir. Değerler HBM'den bir kez yüklenir, ultra hızlı çip üzeri yazmaçlar/SRAM içinde dönüştürülür ve yalnızca en sonda HBM'ye geri yazılır — hem bellek bant genişliği trafiğini hem de çekirdek başlatma sayısını önemli ölçüde azaltır.
- CUDA Graphs (Tüm Yürütme Hatlarını Tek Seferde Yeniden Oynatma).
- Kaydet ve Yeniden Oynat. Kernel fusion sonrasında bile, bir LLM ileri geçişi üretilen token başına hâlâ yüzlerce çekirdek başlatma gerektirir. CUDA Graphs bunu, bir ısınma çalıştırması sırasında tüm bir GPU işlem dizisini — çekirdekler, bellek kopyaları ve bağımlılıklar — yakalayarak ve doğrudan GPU belleğinde saklanan statik bir yürütme grafiğine derleyerek çözer.
- Sıfır CPU Müdahalesi. Gerçek zamanlı çıkarım sırasında, CPU'nun 300 ayrı çekirdeği tek tek başlatması yerine, CPU tek bir API çağrısı (cudaGraphLaunch) yapar ve bu, tüm ileri geçişi GPU üzerinde bağımsız olarak tetikler.
- Dinamik Şekilleri Ele Alma. CUDA Graphs statik bellek adresleri ve tensör şekilleri gerektirdiğinden, çıkarım motorları gelen batch'leri sabit kova boyutlarına (ör. batch boyutları 1, 2, 4, 8, 16) doldurur ve önceden yakalanmış grafiği yeniden oynatmadan önce girdi işaretçilerini yerinde günceller.
2. Test-Zamanı Hesaplama & Akıl Yürütme Modelleri (o1/o3 & DeepSeek-R1)
Tarihsel olarak, yapay zeka laboratuvarları zekayı kesinlikle ön eğitime daha fazla hesaplama yığarak ölçeklendirdi (daha fazla internet metniyle eğitilen daha büyük modeller). OpenAI'ın o1/o3 ve DeepSeek-R1 gibi akıl yürütme modelleri ikinci bir ölçeklendirme ekseni açtı: Test-Zamanı Hesaplama (Çıkarım-Zamanı Ölçeklendirme), modellerin yanıtlamadan önce daha uzun "düşünmesine" olanak tanır.
- Chain-of-Thought (CoT) için Pekiştirmeli Öğrenme.
- Bu modeller, tamamen insanların yazdığı adım adım akıl yürütme örneklerine güvenmek yerine, matematik, kodlama ve biçimsel mantık gibi doğrulanabilir alanlarda Büyük Ölçekli Pekiştirmeli Öğrenme (RL) (DeepSeek-R1'de GRPO – Group Relative Policy Optimization gibi) ile eğitilir.
- Model, birden fazla aday akıl yürütme yolu üretir, yalnızca nihai yanıtı birim testlerinden veya matematiksel doğrulamadan geçtiğinde nesnel ödüller alır ve özyinelemeli doğrulama, çıkmaz sokağa ulaşıldığında geri izleme ve karmaşık problemleri alt hedeflere bölme dahil ortaya çıkan bilişsel davranışları bağımsız olarak keşfeder.
- Çıkarım Hesaplaması Nasıl Ölçeklenir.
- Zor bir istem verildiğinde, model nihai bir yanıt çıkarmadan önce gizli bir karalama defteri içinde binlerce dahili "düşünme token'ı" üretir. Model hipotezleri keşfetmek için daha fazla çıkarım token'ı harcadıkça doğruluk logaritmik olarak iyileşir.
- Hesaplama Ödünleşimi Kayması. Geleneksel LLM'lerde çıkarım ucuz ve hızlıdır (~50 çıktı token'ı üretme). Akıl yürütme modellerinde, tek bir sorgu 10.000 ile 50.000 düşünme token'ı üretebilir ve çıkarımı KV-önbellek büyümesi ve uzun bağlam attention verimliliğinin hâkim olduğu devasa, sürekli bir batch-üretim iş yüküne dönüştürür.
3. Ayrıştırılmış Prefill ve Decode
Bir LLM'ye hizmet vermek, temelde zıt iki hesaplama fazından oluşur. Her iki fazı tam olarak aynı GPU'da çalıştırmak ciddi zamanlama çakışmaları ve donanımın düşük kullanımı yaratır.
| Faz | İş Yükü Doğası | Donanım Darboğazı | Gecikme Metriği |
|---|---|---|---|
| Prefill (İstem İşleme) | Tüm istem token'larını (ör. 10.000 token) tek bir ileri geçişte paralel olarak işler. | Hesaplama Sınırlı (GPU Tensor Core'larını devasa matris çarpımlarıyla doyurur). | TTFT (Time-To-First-Token) |
| Decode (Token Üretimi) | Her adımda tüm KV önbelleğini okuyarak çıktı token'larını tek tek ardışık olarak üretir. | Bellek Bant Genişliği Sınırlı (Tensor Core'ları çoğunlukla VRAM okumalarını beklerken boşta kalır). | TPOT (Time-Per-Output-Token) |
- Birlikte Konumlandırma Girişim Sorunu.
- Geleneksel birleşik sunumda, 50 kullanıcı Decode token'larını akış halinde alırken bir kullanıcı Prefill için devasa 32.000 token'lık bir belge gönderirse, devasa prefill matris matematiği GPU'nun Tensor Core'larını tekeller — 50 akış kullanıcısının tümü için fark edilir donmalar ve gecikme artışları ("takılma") yaratır.
- Ayrıca, Prefill yüksek hesaplama FLOP'larına ihtiyaç duyarken, Decode büyük batch KV önbelleklerini tutmak için devasa HBM bellek bant genişliğine ve kapasiteye ihtiyaç duyar.
- Kümeyi Bölme (Ayrıştırılmış Mimari).
- Modern hiper-ölçekli çıkarım sistemleri (Mooncake, DistServe ve NVIDIA Dynamo gibi) GPU kümesini iki özel havuza böler:
- 1. Prefill Havuzu: Uzun istemleri hızla işlemek ve agresif Time-To-First-Token (TTFT) hedeflerine ulaşmak için ham hesaplama verimliliğine (yüksek Tensor Core kullanımı, daha küçük tensör paralelliği) göre optimize edilmiştir.
- 2. Decode Havuzu: Token'ları saniyede en yüksek token hızında sorunsuz akıtmak için yüksek bellek bant genişliğine ve büyük KV-önbellek kapasitesine (daha geniş tensör/uzman paralelliği, büyük batch boyutları) göre optimize edilmiştir.
- Yüksek Hızlı KV Önbellek Aktarımı. Bir Prefill GPU'su bir istemi işlemeyi bitirip ilk KV Önbelleğini oluşturduğunda, bu KV Önbelleğini ultra hızlı NVLink veya InfiniBand RDMA bağlantıları üzerinden doğrudan bir Decode GPU'sunun VRAM'ine akıtır; Decode GPU'su hiçbir girişim olmadan token üretimini hemen devralır.