İsteğin motora girişi

DeepInfer’i değerlendirirken ilk çizeceğim şey bir isteğin yolu. DeepSeek’in açtığı depo, DeepSeek-V4.1-Flash için çevrimdışı çıkarım çalıştırıyor; Apache 2.0 lisansı, bu motorun koduyla çalışmak için açık bir başlangıç sağlıyor. İçeride dikkat hesaplaması için veri ve bağlam paralelliği, uzman karışımı için de uzman paralelliği bulunuyor. Bu ayrım geliştiriciye hesabın hangi parçasının hangi kaynaklara dağıtıldığını gösteriyor. Ortaya çıkan yapı, tek bir model çağrısının arkasındaki işi daha küçük ve anlaşılabilir yürütme adımlarına ayırıyor.[1]

Bence buradaki fırsat, bütün uygulamayı tek seferde değiştirmeden hesaplama yoluna müdahale edebilmek. Dikkat ile uzmanların farklı dağıtılması, sorunun hangi aşamada oluştuğunu aramak için somut bir ayrım sağlıyor. Bu ayrım her ekip için aynı ölçüde değerli olmayabilir: elindeki hizmeti değiştirmeden yalnızca model kullanmak isteyen bir ekip, doğrudan erişebildiği bir sunucuyu tercih edebilir. Motor kodunun açık olması, model çalıştırma düzeni üzerinde söz sahibi olmak isteyen geliştirici için daha anlamlı bir başlangıç.[1]

Bekleyen işi bulmak

İsteğin sonraki durağında zamanlama var. DeepInfer, işlemci çalışmasını grafik işlemci hesaplamasıyla örtüştüren eşzamansız zamanlamayı varsayılan olarak açıyor. DSpark ise taslak belirteçlerin doğrulanmasını güven düzeyine göre düzenliyor; belgelenen varsayılan en fazla taslak uzunluğu 5. Kaydırmalı pencere dikkatinde yeniden yürütülen son bölümün varsayılanı 140 belirteç. Bunlar aynı sorunun farklı parçaları: sıradaki işi hazırlamak, önerilen üretimi doğrulamak ve yeniden ele alınan bölümü sınırlamak. Her ayar, isteğin hangi adımında iş yapıldığını daha görünür kılıyor.[1]

Bu düzeni kendi işime taşımak için önce hangi aşamanın beklediğini ayırmayı yararlı buluyorum. İşlemci hazırlığıyla grafik işlemci hesabının örtüşmesi, bu ikisinin ardışık kalması yüzünden oluşan boşluğa yönelik bir mekanizma. Buna karşılık darboğazın başka bir yerde olduğu iş yükünde aynı mekanizma belirleyici olmayabilir. Taslak uzunluğu ile yeniden yürütme sınırı da birbirinin yerine geçen ayarlar değil. Birini değiştirirken hangi işin arttığını veya azaldığını anlamak, yalnızca daha büyük bir değer seçmekten daha sağlam bir başlangıç sunuyor.[1]

Uygulamaya dönüş

İsteği uygulamaya geri döndürdüğümüzde başka bir katmana geçiyoruz. Depo, KV önbellek sistemi, hizmet düzeyindeki ilk işleme ve üretim ayrımı ile kopyalar arası yük dengelemeyi paylaşımın dışında tutuyor. Motorun içinde ayrık yürütmeyle ilgili işlevler bulunması, bu hizmet bileşenlerinin de hazır olduğu anlamına gelmiyor. Desteklenen donanım yolları NVIDIA SM100 ve Ascend 950; belirlenimci örnekleme de NVIDIA yoluyla sınırlı açıklanıyor. Dolayısıyla geliştiricinin seçimi, hem elindeki donanıma hem motorun çevresinde kurduğu hizmete bağlı.[1]

Benim başlangıç kararım şu olurdu: değiştirmek istediğim yer modelin hesaplama yoluysa bu depo doğrudan çalışma malzemesi. Asıl ihtiyacım uygulamalara istek dağıtan bir hizmetse önbelleğin, görev ayrımının ve kopyaların sorumluluğunu ayrıca üstlenmem gerekiyor. Bu, motorun değerini azaltmıyor; üstlendiğim geliştirme işini tarif ediyor. Hesaplama çekirdeği üzerinde çalışmayı seçen ekip ile hazır bir hizmet arayan ekibin aynı teslimatı beklemesi gerekmiyor. DeepInfer’in açtığı alanı, kendi uygulamamın sahip olduğu katmanla eşleştirmek daha kullanışlı bir seçim ölçütü.[1]