İçeriğe geç
edumintsBlog
Yazılım3 dk okuma

DeepSeek Çıkarım (Inference) Motoru DeepInfer'ı Açık Kaynak Olarak Yayınladı

Kaynak: Hacker News

Paylaş
YazılımEdumints Blog
İçindekiler 6 başlık

DeepInfer, DeepSeek'in büyük ölçekli üretim servislerine güç veren yüksek performanslı çıkarım (inference) çerçevesidir. Bu açık kaynaklı sürüm, büyük ölçekte model sunumu (serving) için gereken temel özelliklerle birlikte çevrimdışı (offline) çıkarım yetenekleri sunmaktadır. Büyük dil modellerini (LLM) üretim ortamında verimli çalıştırmak isteyen yazılım mühendisleri için bu mimari, modern çıkarım optimizasyonlarını öğrenmek adına eşsiz bir referans niteliğindedir.

Desteklenen Modeller#

  • DeepSeek-V4.1-Flash

Desteklenen Özellikler#

  • Optimize edilmiş çekirdekler (kernels), model ve örnekleyici (sampler) çalışma zamanı
  • Paralellik: Attention DP / dengeli CP, MoE EP + EPLB
  • DSpark ve güven planlamalı doğrulama (confidence-scheduled verification)
  • SWA sınırlı yeniden oynatma (bounded replay)
  • Asenkron zamanlama (sıfır ek yüklü toplu iş zamanlayıcısı)
  • Yığın-değişmez (batch-invariant) çıkarım
  • Deterministik örnekleme
  • Yapılandırılmış çıktılar (Structured outputs)

Özellik Detayları ve Yapılandırma#

  • Optimize edilmiş çekirdekler: FlashMLA, DeepGEMM, DeepEP, TileKernels, DeepSelect ve özel TileLang çekirdeklerini içerir. Donanım seviyesinde hızlandırma sağlamak için bu kütüphanelerin birleşimi kritik bir rol oynar.
  • DSpark ve güven planlamalı doğrulama: Taslak token'lar (draft tokens) ile kod çözmeyi (decoding) hızlandırır ve doğrulamayı planlamak için güven tahminlerini kullanır. Aktifleştirmek için DEEPINFER_ENABLE_MTP_VARLEN=1 ayarlanır; DEEPINFER_USE_NEXTN_DECODE ise maksimum taslak uzunluğunu kontrol eder (varsayılan: 5).
  • Decoder SWA sınırlı yeniden oynatma: Yalnızca sınırlı bir soneki yeniden oynatarak decoder ön-doldurma (prefill) iş yükünü azaltır. Varsayılan V4.1 ayarları için DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact ve DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140 olarak ayarlanır; korunan sonek, SWA penceresini ve maksimum geri izleme (backtracking) uzunluğunu kapsamalıdır.
  • Asenkron zamanlama: CPU toplu iş (batch) zamanlamasını cihaz yürütmesiyle örtüştürür. Varsayılan olarak etkindir ve darboğazları önler.
  • Yığın-değişmez çıkarım: Farklı yığın (batch) bileşimlerinde model sonuçlarını birebir aynı tutar. DEEPINFER_BATCH_INVARIANT=1 ile etkinleştirilir (yalnızca NVIDIA). Test ve hata ayıklama süreçlerinde tutarlılık için çok değerlidir.
  • Deterministik örnekleme: Aynı girdi token'ları ve örnekleme parametreleri için birebir aynı çıktıları üretir. DEEPINFER_BATCH_INVARIANT=1 ve DEEPINFER_ENABLE_MTP_VARLEN=0 ayarlanarak SamplingParams içerisine sabit bir seq_seed verilir (yalnızca NVIDIA).
  • Yapılandırılmış çıktılar: Üretimi bir regex, JSON şeması veya EBNF grameri ile sınırlandırır. SamplingParams içerisine so_args={"schema_type": ..., "schema": ...} parametresi geçilerek kullanılır. Uygulama geliştirirken API entegrasyonlarında veri güvenilirliğini garanti altına alır.

Desteklenen Donanımlar#

  • NVIDIA SM100 GPU'lar
  • Huawei Ascend 950 NPU'lar

Tam Bir Çıkarım Servisi İçin Gerekenler (Bu Sürümde Yer Almayanlar)#

  • Bir KV önbellek (cache) sistemi
  • VE/Prefill/Decode ayrıştırması (disaggregation): Gerekli motor işlevselliğinin çoğu halihazırda uygulanmıştır.
  • Hem prefill hem de decode aşamaları için veri-paralel kopyalar (replicas) arasında yük dengeleme (load balancing)

Başlarken: Ön Koşullar#

  • Linux
  • GCC = 13.0
  • Python 3.12
  • CUDA 13 (yalnızca NVIDIA)
  • CANN 9.2 (yalnızca Ascend)

Geliştiriciler için çıkarım motorlarının kaynak kodlarını incelemek, Ölçeklendirme ve Optimizasyon ile Structured Output ve JSON Modu gibi üretim pratiklerini derinlemesine anlamayı sağlar.

Kaynak ve atıf

Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • github.com/deepseek-ai/DeepInfer