deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

CPU destekli bir sunucuda Ollama modelleri için RAM nasıl boyutlandırılır

CPU sunucu sağlayıcısı VeloxaHost'un dev.to'daki rehberi, Ollama modellerini sunucu RAM'iyle eşleştirmeyi anlatıyor: indirme boyutlarına bakın, quantization varsayılanlarına dikkat edin, modelleri belleğin yarısıyla sınırlayın ve sonra sunucuda doğrulayın.

CPU destekli bir sunucuda Ollama modelleri için RAM nasıl boyutlandırılır

İndirme boyutundan başlayın

CPU sunucu barındırma şirketi VeloxaHost'un dev.to'da yayımladığı bir rehber, kendi kendine barındırma yapanlara yalnızca CPU ile çalışan makinelere uygun Ollama modelleri seçmeyi anlatıyor. Yöntem şu: modelin indirme boyutundan yola çıkın, quantization varsayılanlarına dikkat edin, modeli sistem RAM'inin yaklaşık yarısıyla sınırlayın, sonra sunucunun kendisinde doğrulayın.

Rehbere göre, Ollama model kütüphanesinde her etiket için listelenen boyut, herhangi bir context yükü eklenmeden önce modelin yüklendikten sonra kaplayacağı bellek miktarı için iyi bir göstergedir. Boyutlar geniş bir aralıkta değişiyor: gemma3:270m 292 MB, llama3.2:1b 1.3 GB, llama3.2:3b 2.0 GB, mistral:7b 4.4 GB, llama3.1:8b 4.9 GB, gemma3:12b 8.2 GB ve gemma3:27b listeyi 17 GB ile zirvede tamamlıyor.

Quantization varsayılanları modeller arasında değişir

Birçok etiket varsayılan olarak 4-bit quantization kullanır ama hepsi kullanmaz ve fark, önemsenecek kadar büyüktür. Rehber, llama3.2:1b'nin varsayılan olarak 1.3 GB ile 8-bit geldiğini, 4-bit varyantının ise yalnızca 808 MB olduğunu belirtiyor. Ters yönde, llama3.1:8b 4-bit'te 4.9 GB ama 8-bit'te 8.5 GB'dır. Öneri, hassasiyetin önemli olduğu durumlarda tam belirtilmiş etiketi çekmektir; örneğin llama3.2:1b-instruct-q4_K_M.

Pratik kural: RAM'in yarısı

Rehberin temel sezgisel kuralı — yazarının vurguladığı gibi bu onların kendi kuralıdır, bir Ollama önerisi değil — model dosyasını varsayılan context'te sunucu RAM'inin en fazla yaklaşık yarısı kadar tutmak ve sonra deneysel olarak doğrulamaktır. Yaygın sunucu boyutlarına uygulanınca:

RAM Rahatça sığanlar
2 GB ~1 GB modeller: gemma3:1b, qwen3:0.6b, llama3.2:1b (4-bit)
4 GB ~2 GB'a kadar 1B–3B modeller: llama3.2:3b, qwen3:1.7b
8 GB 4B modeller (gemma3:4b, qwen3:4b, phi4-mini); daha az payla 7B–8B
16 GB Daha uzun context'le 8B; gemma3:12b, qwen3:14b gibi 12B–14B

Rehber, 27B bir modelin 16 GB'dan fazlasına ihtiyaç duyduğunu ekliyor — ve CPU'da daha büyük aynı zamanda daha yavaş demek, yani bellek tek kısıt değil.

Üzerine bellek ekleyen dört ayar

Model dosyasının ötesinde, dört ortam değişkeni toplam bellek kullanımını belirler. OLLAMA_CONTEXT_LENGTH varsayılan context'i ayarlar; büyük bir GPU yokken Ollama 4096 token'a geri düşer ve daha uzun context'ler daha fazla belleğe mal olur. OLLAMA_NUM_PARALLEL model başına eşzamanlı çalışan istek sayısını kontrol eder (varsayılan 1) ve rehber, RAM'in paralellik ile context uzunluğunun çarpımıyla ölçeklendiğini Ollama SSS'sinden aktarır. CPU'da varsayılanı 3 olan OLLAMA_MAX_LOADED_MODELS, küçük sunucularda 1'e düşürülmelidir. Son olarak, OLLAMA_KV_CACHE_TYPE=q8_0, KV cache'i varsayılan f16'nın yaklaşık yarısına indirir ve çok az hassasiyet kaybı yaşatır; ancak yalnızca OLLAMA_FLASH_ATTENTION=1 ile Flash Attention etkinleştirildiğinde etkili olur. Bunların tümü systemctl edit ollama.service üzerinden ayarlanır ve ardından yeniden başlatılır.

Doğrulayın, sonra saniye başına token ölçün

Doğrulama akışı basittir: ollama run ile boş bir prompt kullanarak bir model yükleyin, ardından ollama ps çıktısını inceleyin — SIZE kullanılan belleği gösterir, PROCESSOR %100 CPU okumalıdır ve CONTEXT neyin yüklendiğini doğrular — ve hâlâ pay kaldığını teyit etmek için free -h çıktısına bakın. Hız ise API'den gelir; API eval_count ve eval_duration döndürür; token sayısını süreye bölmek saniye başına token verir. Birkaç kez çalıştırın ve iş yükü için çok yavaşsa daha küçük bir modele geçin ya da vCPU ekleyin.

Sorun giderme bölümü yaygın hata biçimlerini ele alıyor. Yük altında yeniden başlayan bir servis genellikle bellek yetersizliği demektir, o yüzden journalctl'e bakın. Boşta kaldıktan sonra yavaş ilk yanıt genellikle modelin kaldırıldığı anlamına gelir; varsayılan keep-alive süresi 5 dakikadır, OLLAMA_KEEP_ALIVE=30m ile artırın. Başını unutan konuşmalar, prompt'un context penceresini aştığına işaret eder. Ayrıca çekilen etiketler diskte birikir, bu yüzden kullanılmayanlar ollama rm ile kaldırılmalıdır.

Yalnızca CPU ne zaman değer

Rehbere göre CPU çıkarımı (inference) küçük modeller, toplu işler ve özel iç araçlar için mantıklıdır ve yüksek hacimli sohbet için genellikle değildir. Rehber, kendi self-hosting ile SaaS maliyet karşılaştırmasına atıfta bulunarak, ayda yaklaşık 150 milyon girdi artı 30 milyon çıktı token'ının altında küçük bir barındırılmış API modelinin daha ucuza geldiğini söylüyor. Yazarın beyanına dikkat etmek gerekir: VeloxaHost CPU sunucu satar, yani CPU barındırmayı erişilebilir kılmakta çıkarı vardır — ancak boyutlandırma yönteminin kendisi satıcıdan bağımsızdır.

Neden önemli

LLM dağıtım rehberlerinin çoğu GPU varsayar. Küçük VPS örneklerindeki self-hosting yapanlar için gerçek bütçe RAM'dir ve hata yapmak kolaydır: bir modelin ayak izini ikiye katlayan bir quantization varsayılanı, sessizce bir gigabayt yiyen bir context ayarı ya da bir tane yeterliyken üç yüklü model. Bu kopya kağıdı boyutlandırmayı tahminden tekrarlanabilir bir kontrole dönüştürür — RAM'inizin yarısının altında bir model seçin, dört ortam değişkenini ayarlayın, sonra donanıma karar vermeden önce ollama ps ve saniye başına token ölçümüyle doğrulayın.

  • #ollama
  • #llm
  • #self-hosting
  • #cpu-inference
  • #open-source

İlgili yazılar