· kaynak dev.to (home feed)
Rust ve Candle ile Gemma 4, Qwen 3 ve Phi-4-mini sıfır Python ile CPU'da çalışıyor
Bir dev.to yazısı, kuantalanmış Gemma 4, Qwen 3 ve Phi-4-mini modellerini sıradan CPU'larda çalıştıran tek bir Rust binary'si oluşturuyor; RAM, soğuk başlama süresi ve token hızı ölçülüyor.

Hossein Mortazavi'nin dev.to'daki yazısı, üç güncel küçük dil modelini — Google'ın Gemma 4 E4B'sini, Alibaba'nın Qwen 3 4B'sini ve Microsoft'un Phi-4-mini 3.8B'sini — tamamen sıradan bir CPU üzerinde, Python runtime olmadan, CUDA araç zinciri olmadan ve GPU olmadan çalıştıran saf Rust tabanlı bir komut satırı motorunun nasıl oluşturulacağını adım adım anlatıyor. Proje, aynı yazarın Hugging Face'in Candle framework'ünü kullanarak Microsoft'un Phi-3'ünü tüketici donanımında çalıştırdığı önceki bir deneyimin devamı niteliğinde ve derlenen dille CPU çıkarımının (inference) merak uyandıran bir denemeden olgun, işler bir üretim mimarisine dönüştüğünü savunuyor.
Python'suz bir çıkarım yığını
Motor, Rust için Hugging Face'in makine öğrenimi framework'ü Candle 0.8 üzerine, ağırlıkları çekmek için hf-hub crate'i, prompt'ları kodlamak için tokenizers crate'i ve komut satırı arayüzü için clap ile birlikte inşa edilmiş. Yazıya göre motivasyon dağıtım: edge cihazları, IoT ağ geçitleri veya ucuz, yalnızca CPU'lu bulut sunucuları için Python runtime'ının getirdiği ek yük önem taşıyor. Rust programı tek bir çalıştırılabilir dosyaya derleniyor; yazar bunu, yerel yapay zeka araçlarının genellikle beraberinde getirdiği gigabayt ölçeğindeki Docker image'ları ve karmaşık hızlandırıcı kurulumlarıyla karşılaştırıyor.
Tüm hesaplama Candle'ın açık CPU aygıtına karşı yürütülüyor ve modeller, llama.cpp tarzı runtime'ların kullandığıyla aynı biçim olan kuantalanmış GGUF dosyalarından yükleniyor — böylece ağırlıklar, ayrık video belleği olmayan makineler için yeterince küçük kalıyor.
Üç model, tek binary
Araç tek bir mimariye bağlamak yerine, her seçeneği ilgili Hugging Face deposuna, GGUF dosyasına, tokenizer'a ve chat şablonuna eşleyen bir model ailesi seçicisi tanımlıyor. Qwen 3 ChatML biçimini kullanıyor, Phi-4-mini kendi end-token kuralını kullanıyor ve Gemma 4 Google'ın tur işaretleyicilerini kullanıyor. Phi-4-mini ve Gemma 4 ağırlıkları bartowski'nin yayımladığı kuantalanmış dönüşümlerden geliyor, Qwen ise resmi Qwen deposundan yükleniyor; üçü de 4-bit Q4_K_M kuantalamayla çalışıyor.
Üretim tanıdık iki adımlı deseni izliyor: önce bir prefill geçişi prompt'u işliyor, ardından token'lar sıcaklık örneklemesiyle (varsayılan 0.6) ve sabit rastgele tohumla tek tek akıyor. Araç ayrıca yükleme adımını da zamanlıyor ve ağırlıklar diskten okunurken soğuk başlama süresini yazdırıyor.
Yazı, 3B ile 4B arasındaki bu yarışmacıları şöyle tanımlıyor: Gemma 4 E4B güçlü çok dilli ve talimat izleme davranışına sahip, edge öncelikli bir mimari; Qwen 3 4B özellikle kodlama, matematik ve yapılandırılmış JSON çıktısında yetkin; Phi-4-mini ise — Phi-3-mini'nin halefi — mantıksal akıl yürütme için sentetik ders kitabı verileriyle eğitilmiş.
Neler ölçülüyor
Kıyaslama paketi, CPU çıkarımının pratik olup olmadığını belirleyen üç sayıyı hedefliyor: RAM kullanımı, model ağırlıklarını yüklemek için soğuk başlama gecikmesi ve token üretim hızı. Yazar bunları gerçek dünya dağıtım ölçümleri olarak tanımlıyor; çünkü belleğe sığan ama yavaş yüklenen ya da ağır akan bir model, etkileşimli veya servis iş yükleri için kötü bir tercih. Herhangi bir tek makine kıyaslamasında olduğu gibi, mutlak rakamlar kullanılabilir CPU'ya ve belleğe bağlı olacak.
Neden önemli
Yerel yapay zeka eğitimlerinin çoğu bir Python ortamı ve er geç bir GPU varsayıyor. İnsanların zaten sahip olduğu donanımda 3B-4B parametreli modelleri çalıştıran derlenmiş bir Rust binary'si, yerel çıkarımın ekonomisini değiştiriyor: gigabaytlarla ölçülen container image yok, kurulacak hızlandırıcı sürücüsü yok ve bellek kullanımı tüketici makineler için yeterince öngörülebilir.
Bu ayrıca yapay zekanın hiç olabildiği yeri genişletiyor. Edge ağ geçitleri, gömülü denetleyiciler, CI hatları ve düşük maliyetli sanal makineler genellikle yalnızca CPU'lu olur ve küçük bir runtime ayak izine ile güçlü bellek güvenliği garantilerine sahip bir dil, uzun süre çalışan, gözetimsiz çıkarım servislerine uyar. dev.to yazısına göre en yeni küçük modeller tam da bu kısıtlar göz önünde bulundurularak tasarlanmış; yani kalan darboğaz giderek modellerin kendisi değil, dağıtım yığını oluyor.
- #rust
- #local-ai
- #cpu-inference
- #small-language-models
- #candle