deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

RTX 3090 üzerinde Qwen 27B ayarlaması üretim hızını neredeyse ikiye katlayarak 60 token/s seviyesine çıkardı

Bir dev.to yazısı, IQ3_S ağırlıklarının, Q8 KV cache'in ve dört token'lık speculative decoding'in tek bir 24GB ekran kartında Qwen kod üretimini yaklaşık 33 token/s'den 60 token/s civarına çıkardığını aktarıyor.

RTX 3090 üzerinde Qwen 27B ayarlaması üretim hızını neredeyse ikiye katlayarak 60 token/s seviyesine çıkardı

Üretim hızı neredeyse iki katına çıktı

dev.to'da yazan bir geliştirici, tek bir 24GB RTX 3090 üzerinde Qwen3.8-27B modelini ayarlamanın, coding-agent görevleri sırasındaki üretim hızını saniyede yaklaşık 33 tokenden 60 token civarına çıkardığını bildiriyor. Güncel tercih edilen tarif, IQ3_S nicemlenmiş ağırlıkları, sekiz bitlik bir KV cache ve en fazla dört taslak token ile speculative decoding'i 128K'lık toplam bağlam penceresi içinde birleştiriyor.

Hız rakamı yalnızca üretimi kapsıyor: toplam üretilen token sayısının decode süresine bölünmesi, prompt işleme hariç. Toplam görev süresi ayrıca dosya erişimi, test çalıştırmaları ve araç bekleme sürelerini içerdiğinden, daha hızlı bir token oranı daha hızlı teslimat garantisi vermiyor. Yazar, tokenleri daha hızlı üreten ama kodunu teslim etmek için yaklaşık üç dakika ek süre gerektiren bir yapılandırma olduğunu belirtiyor.

Nicemleme seçimleri ve dikkat edilmesi gerekenler

Orijinal Q4_K_M ağırlıkları yaklaşık 15,66 GiB yer kaplıyordu; bir MTP tahmin kafası içeren seçilmiş ISTA-DASLab GSQ-RCO IQ3_S dosyası ise yaklaşık 11,29 GiB. Daha küçük ağırlıklar, cache'ler ve runtime tamponları için GPU belleğinde daha fazla yer bırakıyor. Yazarın uyardığı gibi iki ayar kolayca karıştırılabiliyor: IQ3 ağırlıkları sıkıştırırken, Q8 KV cache dikkat anahtarlarını ve değerlerini sekiz bitte saklıyor ve ikisi birleştirilebilir. IQ3 dosya adı, her tensörün tam olarak üç bit olduğu anlamına da gelmiyor.

Her yapılandırma için sekiz görevin üç kez tekrarlanması, 128K pencere, 32K çıktı sınırı ve xhigh reasoning ile kaydedilen sonuçlar şöyleydi: MTP kapalıyken orijinal Q4_K_M saniyede 33,29 token ve 23/24 teslim edilen geçiş; MTP3 ve Q8 KV ile GSQ-RCO IQ3_S saniyede 59,87 token ve 21/24; yerel olarak eklenmiş MTP kafasıyla Bartowski IQ4_XS, MTP2 ve Q8 KV ile saniyede 62,36 token ve 22/24.

Bu, IQ3 paketi için kabaca %80 daha hızlı üretim demek, ancak iyileşme tek başına IQ3'e bağlanamaz çünkü ağırlıklar ve speculative decoding aynı anda değişti ve karşılaştırma grupları eşzamanlı randomize bir testten değil daha önceki çalıştırmalardan geldi. Yeni bir rastgele seed ile sonraki IQ4'e karşı IQ3 koşusu IQ3'ü yerinde tuttu: IQ4 %7,8 daha hızlı üretti ama 7/8'e karşı 6/8 görev teslim etti, toplam görev süresi yaklaşık %2,1 daha uzundu ve bir IQ4 cevabı gerçek bir taşma işleme (overflow-handling) kusuru içeriyordu. Daha az CPU iş parçacığı, değiştirilmiş CUDA bekleme davranışı ve eklenen ngram spekülasyonu dahil diğer ince ayarlar tutarlı bir fayda sağlamadı.

Speculative decoding derinliği seçimi

MTP taslağı, ana modelin doğrulaması için birkaç yaklaşan token öneriyor ve kabul edilen taslaklar modelin token token çalışmasını azaltıyor. Daha derin taslak hazırlama, reddedilen konumlar emek boşa gittiği için hesaplama maliyeti getiriyor; derinlik sayısı önerilen tokenler için bir üst sınır, kabul garantisı değil. Sekiz kodlama görevinin her biri, IQ3_S, Q8 KV, 128K pencere ve 64K çıktı sınırı sabit tutularak 2 ile 6 arasındaki derinliklerde çalıştırıldığında, 4 derinliği 61,31 token/s ile en üste çıktı; 2 derinlikte 57,98 idi, yaklaşık %5,7 daha hızlı ve 5 ile 6 derinlikler daha da yavaştı. Kısa girdili bir eleme, 2 derinliğini öne çıkarmıştı; yazar bunu, gerçek iş yüklerine benzeyen testlere öncelik verilmesi için bir gerekçe olarak gösteriyor. Sonuç, tek bir makinede tanıdık sekiz görev üzerinde tek bir geçişi yansıtıyor, evrensel bir optimumu değil.

Başarısız olan bir görev modele değil teste işaret etti

Sürekli başarısız olan bir Ledger görevinin iki ayrı nedeni vardı. Bir yanıt gerçekten 32K çıktı sınırına takıldı; sınırın 64K'ya çıkarılması, tüm kontrollerden geçen 40.612 tokenlik bir yanıt üretirken görev yaklaşık 628 saniyeden 1.140 saniyeye büyüdü. Ayrı olarak, derinlik karşılaştırmasındaki beş Ledger yanıtı hiçbir bütçeyi tüketmeden başarısız oldu çünkü testin dosya ve çıktı mock'ları normal arayüzlerden yoksundu ve geçerli çözümler reddedildi. Bu arayüzler düzeltildikten sonra, okuma hatası işlemenin mevcut olma gereksinimi gevşetilmeden, değiştirilmemiş yanıtlar 13/13 kontrolü geçti ve yeniden puanlama, MTP4 grubunu hiçbir yeni şey üretmeden 7/8'den 8/8'e çıkardı. Yazar artık tekrarlayan başarısızlıkları, kesme işlemi, kod kusurları ve bir testin iddia ettiğini gerçekten ölçüp ölçmediğini incelemek için bir sinyal olarak görüyor.

Uzun bağlam: 220K çalışıyor, 256K MTP ile çalışmıyor

Girdi ve çıktı tek bir pencereyi paylaştığından, 170K girdi bütçesi artı 50K çıktı, 220K'lık toplam pencere gerektiriyor. Gönderiye göre IQ3_S, Q8 KV ve MTP4 ile 220K penceresi altında 179.532 girdi tokenini ve ardından kısa çıktıyı işledi ve GPU belleği zirvede yaklaşık 22,80 GiB'e yaklaştı. 256K'da MTP4 başlangıç sırasında bellek ayırma hatası verdi; MTP devre dışı bırakılarak ve batch boyutları küçültülerek daha büyük yapılandırmanın başlatılması sağlandı. 220K'da tam kod doğrulaması hâlâ eksik. Yazar ayrıca yazının, kaydedilmiş yerel deneylerden AI yardımıyla taslaklandığını ve sonra gözden geçirildiğini de belirtiyor.

Neden önemli

27B sınıfı bir modeli tek bir tüketici GPU'sunda kullanılabilir hızlarda çalıştırmak, yanıt veren hissi veren bir yerel coding-agent ile vermeyen arasındaki fark. Gönderi, uygulayıcılar için somut, tekrarlanabilir bir başlangıç noktası sunuyor: belirli bir nicemleme dosyası, KV cache hassasiyeti ve taslak derinliği, rakamlarla ve karşılaştırmaların neleri kanıtlayıp neleri kanıtlayamayacağına dair dürüst uyarılarla birlikte. En az bunun kadar değerli olan metodoloji: üretim hızını teslim süresinden ayırıyor, kısa elemeleri karar yerine aday filtresi olarak görüyor ve kusurlu bir benchmark'ın yapılandırmaları sessizce nasıl yanlış sıralayabileceğini gösteriyor. Kendi görevlerinde yerel modelleri değerlendiren herkes, bu başarısızlık modellerinin ne kadar kolay ortaya çıktığını fark edecektir.

  • #local-llm
  • #quantization
  • #qwen
  • #speculative-decoding
  • #gpu

İlgili yazılar