VPS uzerinde GLM 5.2 calistirma rehberi
GLM 5.2 bulut tabanli bir modeldir ve yerel sunucuda calismaz. VPS kaynaklariniza uygun GLM modelini, gerekli RAM miktarlarini ve farkli kuantizasyon seviyelerini ogrenin.
GLM 5.2 bir VPS üzerinde çalıştırılabilir mi?
Hayır; herhangi bir kiralama işlemi yapmadan önce bunun nedenini bilmek önemlidir. 18 Ağustos 2026 itibarıyla, Ollama kütüphanesindeki GLM 5.2 tam olarak tek bir etikete sahiptir: glm-5.2:cloud. Bir :cloud etiketi, Ollama'nın sunucularında çalışır. Sunucunuz istemi gönderir ve belirteçleri (token) alır; bu nedenle ağırlıklar diskinize asla dokunmaz. Model 756 milyar parametrelidir. 756 milyar parametre üzerinden parametre başına dört bit, yaklaşık 378 GB ağırlık eder; bu hesaplama bağlam, aktivasyonlar veya işletim sistemi hesaba katılmadan önceki ham aritmetiktir. Hiçbir standart VPS planı bu kadar bellek sunmaz.
Kiraladığınız bir sunucuya sığabilecek GLM modeli glm-4.7-flash modelidir. Bu model, 4 etikette indirilebilir ağırlıklarla yayınlanmıştır. Bu, uzmanların karışımı (mixture-of-experts) yapısında bir modeldir; yani her belirteç için ağın yalnızca küçük bir kısmı çalışır. Z.ai bunu 30B-A3B olarak tanımlar: toplamda 30 milyar parametre, belirteç başına yaklaşık 3 milyar aktif parametre. Dolayısıyla bu kılavuz, üzerinde işlem yapabileceğiniz soruyu yanıtlar. Bir etiket sabitleyin, sunucuyu boyutlandırın, kendi hızınızı ölçün ve uç noktayı gizli tutun.
Buradakiler de dahil olmak üzere herhangi bir komutu kopyalamadan önce etiketi doğrulayın. Ollama kütüphanesi bildirim yapılmaksızın değişebilir. glm-4.7-flash etiket listesini açın ve etiketin hala mevcut olduğunu onaylayın. Eğer yerel ağırlıklara sahip daha yeni bir GLM sürümü çıktıysa onu tercih edin ve gerçekte hangi etiketi test ettiğinizi kaydedin.
Yine de GLM 5.2'nin kendisini istiyorsanız, ollama run glm-5.2:cloud, ollama signin sonrasında çalışır ve istemci tarafında diğer tüm Ollama modelleri gibi davranır. Neyi kabul ettiğinizi anlayın: istem sunucunuzdan ayrılır. Self-host etme nedeniniz verilerin makinenizde kalması zorunluluğu ise, bir :cloud etiketi bu gereksinimi karşılamaz.
Hangi GLM etiketleri mevcut ve hangisi sabitlenmeli
Burada üç resmi GLM girdisi önem taşır. glm-5.2 ve glm-5.1 yalnızca bulut tabanlıdır. glm-4.7-flash yerel sürümdür ve aşağıda, Ollama'nın her biri için listelediği indirme boyutlarıyla birlikte yayınlanmış etiketleri yer almaktadır.
The data behind this chart
[
{
"label": "q4_K_M",
"download_gb": 19
},
{
"label": "latest",
"download_gb": 19
},
{
"label": "q8_0",
"download_gb": 32
},
{
"label": "bf16",
"download_gb": 60
}
]Bunlar kütüphane sayfasındaki yayınlanmış verilerdir, ölçüm sonuçları değildir. latest ve q4_K_M etiketlerinin her ikisi de 19 GB olarak listelenmiştir, bu nedenle latest şu anda Q4 derlemesine karşılık gelmektedir. Bu durum her yeniden yayınlamada değişebilir; bu yüzden bir betik veya Dockerfile içerisine asla yalın bir ollama pull glm-4.7-flash yazmamalısınız. Niceleme (quantisation) adını belirtin. En büyük etiket olan bf16, niceleme uygulanmamış bfloat16 ağırlıklarını içeren 60 GB boyutunda bir indirmedir.
Kütüphanede yapılan bir arama, someuser/glm-5.2 gibi isminde eğik çizgi (slash) bulunan ad alanı (namespaced) yüklemelerini de döndürür. Eğik çizgi, içeriğin bir kullanıcı hesabı tarafından yayınlandığını gösterir; dolayısıyla bu, resmi bir girişten ziyade topluluk tarafından yapılmış bir yeniden yüklemedir. İçerisinde hangi ağırlıkların bulunduğu konusunda hiçbir garanti yoktur. Bu tür bir içeriğe, internette bulduğunuz herhangi bir imzalanmamış ikili dosyaya (binary) nasıl yaklaşıyorsanız öyle yaklaşın.
Ollama kurulumu ve tam sürüm etiketini çekme
Ollama Linux yükleyicisi tek bir komuttan oluşur.
curl -fsSL https://ollama.com/install.sh | sh
ollama --versionYükleyici, ollama kullanıcısı olarak çalışan bir systemd servisi oluşturur. Herhangi bir işlem yapmadan önce servisin başladığını doğrulayın.
systemctl status ollama --no-pagerActive: active (running), API'nin 11434 numaralı portu dinlediği anlamına gelir. Eğer birim mevcut değilse, yükleyici standart bir ikili dosya kurulumuna dönmüştür; bu durumda Ollama Linux belgeleri üzerinden servis dosyasını manuel olarak oluşturmanız gerekir.
glm-4.7-flash sayfası, minimum Ollama sürümünü listeler. Eski bir ikili dosya modeli yavaş çalıştırmaz, doğrudan reddeder: çekme işlemi, modelin daha yeni bir Ollama sürümü gerektirdiğine dair bir hata ile başarısız olur. Yükseltme yapmak için kurulum betiğini tekrar çalıştırın. 18 Ağustos 2026 itibarıyla güncel sürüm 0.32.14'tür ve bu sürüm belirtilen minimum gereksinimin üzerindedir.
Şimdi ismiyle bir etiket çekin.
ollama pull glm-4.7-flash:q4_K_M
ollama lsollama ls, glm-4.7-flash:q4_K_M öğesini 19 GB boyutuna yakın bir değerle listelemelidir. Yarım kalan bir çekme işlemi çalıştırılabilir bir dosya bırakmaz, bu nedenle aynı komutu tekrar çalıştırın. Küçük bir planda başarısız olan çekme işlemlerinin en yaygın nedeni ağ sorunlarından ziyade disk doluluğudur; çünkü model kök dosya sistemindeki /usr/share/ollama/.ollama/models dizinine yazılır. Başlamadan önce df -h /usr/share/ollama ile kontrol edin.
Her bir kuantizasyon ne kadar RAM gerektirir?
İndirme boyutunu bir taban değeri olarak alın ve üzerine ekleme yapın. Ağırlıkların bellekte yerleşik olması gerekir. Bunların üzerinde, çalışma zamanının konuşmadaki mevcut belirteçleri (tokens) hatırlamak için kullandığı bellek olan KV cache (anahtar/değer önbelleği), hesaplama arabellekleri ve işletim sisteminin kullandığı diğer kaynaklar yer alır. Tam olarak 19 GB RAM'e sahip bir kutu, 19 GB etiketli modeli çalıştıramaz.
Herkes için geçerli tek bir çarpan yoktur; çünkü KV cache izin verdiğiniz bağlam uzunluğuyla (context length) birlikte büyür ve geri kalan kısım çalışma zamanı sürümleri arasında değişiklik gösterir. Bu nedenle tahmin etmek yerine ölçüm yapın. Modeli basit bir komutla yükleyin ve ardından sunucunun ne kadar bellek ayırdığını kontrol edin.
ollama run glm-4.7-flash:q4_K_M "Reply with the single word: ready"
ollama psollama ps, yüklenen modeli SIZE sütunu ve PROCESSOR sütunu ile birlikte yazdırır. SIZE, çalışma zamanının fiilen ayırdığı miktardır ve planınızla karşılaştırmanız gereken sayı budur. PROCESSOR, işlemin nerede gerçekleştiğini belirtir; dolayısıyla 100% CPU, hiçbir GPU'nun kullanılmadığı anlamına gelir.
Model sığmadığında, hata sessizce gerçekleşir ve iki şekilde kendini gösterir. Swap etkinleştirilmişse yükleme başarılı görünür ancak her belirteç için sayfalar disk ile RAM arasında taşındığından üretim hızı aşırı yavaşlar. Swap yoksa süreç doğrudan sonlandırılır ve journalctl -k | grep -i "out of memory", çekirdeğin Out of memory: Killed process satırında ollama ifadesini gösterir. Her ikisini de kontrol edin; çünkü terminalde hiçbirinde yardımcı bir hata mesajı görüntülenmez.
19 GB Q4 etiketinden 32 GB Q8 etiketine geçiş, bu sayı üzerinde sahip olduğunuz temel kontrol mekanizmasıdır. Q4, çıktı kalitesinden bir miktar ödün vermenize neden olur; bunun boyutu göreve bağlıdır. Yapılandırılmış çıktılar ve uzun mantık yürütme zincirleri, gündelik sohbetlere kıyasla bu durumdan daha fazla etkilenir. Q4, Q8 ve FP16 pratikte nasıl farklılaşır başlıklı yazı, karar vermeden önce okunmaya değerdir; çünkü yalnızca CPU kullanılan bir VPS üzerinde kuantizasyon tercihi, genellikle modelin çalışıp çalışmayacağını belirleyen temel faktördür.
Sadece CPU içeren bir VPS üzerinde ne olur
Çoğu VPS planı GPU içermez ve Ollama, sizi uyarmadan modeli CPU üzerinde çalıştırır. Sonucun kullanılabilir olup olmadığı iş yüküne ve sabrınıza bağlıdır.
Mixture-of-experts tasarımı hız konusunda yardımcı olur. Herhangi bir token için 30 milyar parametrenin yalnızca yaklaşık 3 milyarı kullanılır, bu nedenle token başına düşen aritmetik işlem, yoğun bir 30B modelinin gerektireceğinden çok daha azdır. Azalmayan tek şey bellek ihtiyacıdır. Yönlendirici bir sonraki token için herhangi bir uzmanı seçebileceğinden, her uzman bellekte yerleşik kalmalıdır. Bu nedenle, sadece CPU içeren bir sunucu, Q4 etiketi için yine de tam 19 GB veya daha fazlasına ihtiyaç duyar ve verimliliği saat hızından ziyade bellek bant genişliği tarafından belirlenir.
Bunun pratik bir sonucu vardır: aynı çekirdek sayısına ve aynı RAM miktarına sahip iki plan, bellek altsistemleri farklı olduğu için gözle görülür şekilde farklı hızlarda üretim yapabilir. Paylaşımlı bir plan ikinci bir değişken ekler; çünkü gürültülü bir komşudan kaynaklanan CPU çalınma süresi, saatten saate değişen saniye başına token değeri olarak kendini gösterir. Başkalarının yayınladığı rakamların sizinkini tahmin edememesinin ve bir sonraki bölümün bir sonuç tablosu yerine bir ölçüm tarifi olmasının nedeni budur.
Kendi saniye başına token değerinizi ölçün
Ollama'nın generate uç noktası, nihai JSON nesnesi içerisinde zamanlama alanları döndürür. Üretilen token sayısını üretim süresine böldüğünüzde, kendi planınız ve isteminiz (prompt) üzerindeki değerinize ulaşırsınız.
sudo apt install -y jq
curl -s http://localhost:11434/api/generate -d '{
"model": "glm-4.7-flash:q4_K_M",
"prompt": "Write a 200 word explanation of how TCP congestion control works.",
"stream": false,
"options": {"num_ctx": 8192}
}' | jq '{
tokens: .eval_count,
tokens_per_second: (.eval_count / .eval_duration * 1e9),
prompt_seconds: (.prompt_eval_duration / 1e9),
load_seconds: (.load_duration / 1e9)
}'eval_count üretilen token sayısını, eval_duration ise bu üretimin gerçekleşmesi için harcanan nanosaniyeyi temsil eder; dolayısıyla eval_count / eval_duration * 1e9 saniye başına düşen token sayısıdır. prompt_eval_duration, isteminizin okunması için geçen süreyi kapsar; bu süre, bir kullanıcının ilk token görünene kadar beklediği "ilk yanıt süresi" deneyimidir. load_duration, modelin diskten yüklenmesi için harcanan süredir; bu nedenle yeniden başlatma sonrası yapılan ilk çağrıda büyük, sonraki çağrılarda ise sıfıra yakındır.
Testi üç kez çalıştırın ve ikinci ile üçüncü sonuçları dikkate alın; çünkü ilk sonuç yükleme süresini de içerir. Ardından testi çok daha uzun bir istemle tekrar çalıştırın; çünkü istem işleme süresi girdi uzunluğuyla ölçeklenirken, üretim hızı bu durumdan etkilenmez. Elde ettiğiniz sayıları plan adınızın ve kuantizasyon değerinizin yanına not edin. Bu kayıt, okuduğunuz herhangi bir kıyaslama (benchmark) testinden daha değerlidir; çünkü ödemesini yaptığınız donanım üzerinde ölçülmüştür.
Bağlam uzunluğu belleği nasıl katlar
Ollama varsayılan olarak 4096 token'lık bir bağlam uzunluğu kullanır. Model, glm-4.7-flash için 198K token gibi çok daha yüksek değerler sunsa da, bu değer varsayılan olarak gelmez ve etkinleştirilmesinin bir maliyeti vardır.
KV önbelleği, her katmandaki her token için bir anahtar vektörü ve bir değer vektörü tutar. Boyutu, izin verdiğiniz token sayısıyla doğru orantılı olarak artar. 4096'dan 32768 token'a çıkmak, bağlamı sekiz katına çıkarır; dolayısıyla KV önbelleği de yaklaşık sekiz katına çıkar. Yalnızca ağırlıkları sığdıracak şekilde yapılandırılmış bir sunucuda, bu ek bellek tahsisi doğrudan swap kullanımına neden olur. Kısa istemlere sorunsuz yanıt veren bir makinenin, uzun bir belge yapıştırıldığında aniden yavaşlamasının nedeni budur.
Bu değeri, yukarıdaki curl komutunda olduğu gibi options nesnesi içindeki num_ctx parametresiyle her istek bazında ayarlayabilir veya sunucu varsayılanını değiştirebilirsiniz.
sudo install -d -m 755 /etc/systemd/system/ollama.service.d
printf '[Service]\nEnvironment="OLLAMA_CONTEXT_LENGTH=16384"\n' \
| sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
systemctl show ollama --property=EnvironmentSon komut, OLLAMA_CONTEXT_LENGTH değerinizi yazdırmalıdır. Eğer boş bir Environment= çıktısı alıyorsanız, geçersiz kılma dosyası yanlış dizindedir veya yeniden yükleme işlemi atlanmıştır. Bir sonraki model yüklemesinden sonra ollama ps, 4096 değerine kıyasla gözle görülür biçimde daha büyük bir SIZE göstermelidir. Değeri kademeli olarak artırın ve her seferinde bu sayıyı izleyin. Ollama bağlam uzunluğunu num_ctx ile ayarlama bölümü, bu ayarın keep-alive ve eşzamanlı isteklerle nasıl etkileşime girdiğini açıklar; her ikisi de aynı maliyeti katlar. Sunucuyu birden fazla istemci kullanacaksa, eşzamanlılık sınırlarını bağlam ayarıyla aynı anda belirleyin; çünkü her paralel yuva kendi KV önbelleğini taşır ve kuyruk ayarı, ikinci bir isteğin bekletilip bekletilmeyeceğine veya doğrudan reddedilip reddedilmeyeceğine karar verir.
API, kutudan daha ucuz olduğunda
Self-hosting (kendi kendine barındırma) otomatik olarak daha ucuz değildir; bu aile için yayınlanan liste fiyatları durumu oldukça net bir şekilde ortaya koymaktadır.
The data behind this chart
[
{
"label": "GLM-5.2 input",
"usd_per_million_tokens": 1.4
},
{
"label": "GLM-5.2 output",
"usd_per_million_tokens": 4.4
},
{
"label": "GLM-4.7-Flash input",
"usd_per_million_tokens": 0
},
{
"label": "GLM-4.7-Flash output",
"usd_per_million_tokens": 0
}
]18 Ağustos 2026 itibarıyla Z.ai, GLM-5.2 modelini milyon girdi token'ı başına $1.4 ve milyon çıktı token'ı başına $4.4 fiyatla listelemektedir. Bu rehberde yerel olarak çalıştırılan model olan GLM-4.7-Flash ise her iki yönde $0 fiyatla sunulmaktadır. Bunlar yayınlanan fiyatlardır ve değişiklik gösterebilirler; bu nedenle bir bütçe planlaması yapmadan önce güncel sayfayı kontrol edin.
Dolayısıyla, şu an için self-hosting lehine olan maliyet argümanı glm-4.7-flash zayıftır. Yeterli RAM kapasitesine sahip bir VPS her ay gerçek bir maliyet oluştururken, yayıncı aynı modeli ücretsiz olarak sunmaktadır. Kendi sisteminizi çalıştırarak satın aldığınız şey farklıdır: istemleriniz kontrolünüz altındaki bir makinede kalır ve siz değiştirmedikçe model sürümü asla değişmez. Bunlar self-hosting için geçerli nedenlerdir. Ancak bu model ve bu fiyatlar için maliyet, geçerli bir neden değildir.
İstediğiniz model ücretsiz olmadığında veya verilerinizin yasal olarak ağınızın dışına çıkmaması gerektiğinde hesap değişir. GPU VPS ile API token'ları arasındaki başa baş noktası, her değişkeni adlandırarak bu hesaplamayı detaylandırır. Eğer hala makine seçimi aşamasındaysanız, bir VPS'in aylık gerçek maliyeti toplamın diğer yarısını oluşturur.
Uç noktayı localhost üzerinde tutun
Bu, insanların atladığı ancak en önemli olan adımdır.
Ollama varsayılan olarak 11434 numaralı portta 127.0.0.1 adresine bağlanır, bu nedenle yalnızca sunucunun kendisinden erişilebilir durumdadır. Varsayımda bulunmak yerine bunu kendi sunucunuzda doğrulayın.
ss -ltnp | grep 11434127.0.0.1:11434 çıktısını görmeniz gerekir. 0.0.0.0:11434 veya *:11434 görmek, API'nin genel arayüz dahil olmak üzere her arayüzde dinleme yaptığı anlamına gelir.
Bu önemlidir çünkü Ollama API'sinin kimlik doğrulama özelliği yoktur. Parola, token veya izin listesi bulunmaz. 11434 numaralı porta erişebilen herkes modellerinizi listeleyebilir, ücretini ödediğiniz donanım üzerinde üretim çalıştırabilir, disk dolana kadar yeni modeller indirebilir ve mevcut olanları silebilir. 11434 numaralı port sabit ve bilinen bir porttur, bu nedenle tarayıcılar açık olanları hızla bulur.
OLLAMA_HOST=0.0.0.0 ayarını yapmayın. Birçok rehber, dizüstü bilgisayarınızdaki bir istemci bağlanamadığında çözüm olarak bunu önerir ancak bu yanlış bir çözümdür. Bunun yerine portu yönlendirin.
ssh -N -L 11434:127.0.0.1:11434 you@your-serverBu komut, dizüstü bilgisayarınızdaki 11434 numaralı portu SSH üzerinden sunucunun loopback adresine eşler; böylece http://localhost:11434 için yapılandırılmış herhangi bir istemci değişiklik yapılmadan çalışır ve dışarıya yeni bir şey açılmaz. Birden fazla kişi veya makine için sunucuyu özel bir tünel ağına alın ve Ollama'yı 0.0.0.0 adresine değil, tünel adresine bağlayın.
Sunucu dışındaki bir yerden doğrulama yapın. SSH tüneli kapalıyken dizüstü bilgisayarınızdan şu komutu çalıştırın:
curl -m 5 http://your-server-ip:11434/api/tagscurl: (28) Connection timed out veya curl: (7) Failed to connect doğru sonuçtur. Modellerinizin JSON listesini görüyorsanız port internete açıktır ve derhal düzeltilmesi gerekir. Sağlayıcınızın ağ güvenlik duvarı, sunucu üzerinde çalışan güvenlik duvarından ayrı bir denetim mekanizmasıdır, bu yüzden her ikisini de kontrol edin. VPS barındırmanın güvenli olup olmadığına dair daha geniş kapsamlı soru, çalışır durumda bıraktığınız bir makine için temel güvenlik önlemlerinin geri kalanını ele alır.
glm-4.7-flash hala çok büyükse
Q4 etiketi planınıza sığmadığında çözüm, bağlamı küçültmek değil, daha küçük bir model kullanmaktır. Modeli sığdırmak için bağlamı kısmak, yüklenen ancak ilk uzun istemde hata veren bir yapıya yol açar. 8B ve 27B boyutlarında Qwen 3 ile VPS üzerinde kurulum, mütevazı sunuculara uygun boyutlarda aynı kurulum yolunu izler; Ollama ile VPS üzerinde LLM self-hosting rehberi ise hangi modeli seçerseniz seçin değişmeyen kısımları ele alır. Hangi modelde karar kılarsanız kılın, etiketi sabitleyin, kendi planınız üzerinde ölçüm yapın ve uç noktayı loopback üzerinde bırakın.
FAQ
Can GLM 5.2 run locally on a VPS?
No. As of 18 August 2026, GLM 5.2 exists in Ollama's library only as glm-5.2:cloud, a tag that runs on Ollama's own infrastructure and needs ollama signin before it will work. The model is 756 billion parameters, so even at four bits per parameter the weights alone come to hundreds of gigabytes, far past what any standard VPS plan offers. The GLM model with downloadable weights that fits a rented server is glm-4.7-flash.
How much RAM does glm-4.7-flash need?
Treat the tag's download size as a floor and add room for the KV cache and the operating system on top. Ollama lists the Q4 tag at 19 GB, Q8 at 32 GB, and the bfloat16 tag at 60 GB. No fixed multiplier is right for everyone, because the KV cache grows with the context length you set. Load the model, run ollama ps, and read the SIZE column for the real figure on your own box.
How do I measure tokens per second on my own VPS?
Send one request to http://localhost:11434/api/generate with "stream": false, then read eval_count and eval_duration from the response. Tokens per second is eval_count / eval_duration * 1e9, because eval_duration is reported in nanoseconds. Discard the first run, since load_duration on that one includes reading the weights from disk. Repeat with a long prompt as well, because prompt_eval_duration grows with input length while generation speed does not.
Why should I not set OLLAMA_HOST to 0.0.0.0?
Because Ollama's API has no authentication, so binding it to 0.0.0.0 places an unauthenticated endpoint on the public internet. Anyone who reaches port 11434 can generate on your hardware and change which models are installed. Keep the default 127.0.0.1 bind, check it with ss -ltnp | grep 11434, and reach the API from your laptop over an SSH tunnel such as ssh -N -L 11434:127.0.0.1:11434 you@your-server.