LIONFIN
VPS & Sunucu

LLM Çalıştırma: Açık Modelleri Kendi Sunucunuzda Kullanın

6 dk okuma Güncelleme: 1 görüntülenme
LLM Çalıştırma: Açık Modelleri Kendi Sunucunuzda Kullanın

LLM çalıştırma, büyük dil modelinin (Large Language Model) ağırlık dosyalarını bir sunucuya indirip istemlere yanıt üreten bir servis olarak ayağa kaldırmaktır. Açık ağırlıklı modelleri kendi sunucunuzda çalıştırdığınızda istemleriniz üçüncü taraf bir API’ye gitmez, kullanım başına ücret ödemezsiniz; modeli, bağlam uzunluğunu ve erişim kurallarını kendiniz belirlersiniz.

Aşağıdaki komutlar Ubuntu 24.04 LTS ve NVIDIA ekran kartlı bir sunucu için yazılmıştır; LIONFIN GPU’lu AI sunucu ya da benzeri bir makinede sürücü kurulduktan sonra sırasıyla uygulanabilir.

Kısa cevap

Kendi sunucunuzda LLM çalıştırma için en kısa yol, NVIDIA sürücüsü kurulu bir Linux GPU sunucuya Ollama’yı tek komutla kurup modeli ollama pull ile indirmek ve ollama run ile başlatmaktır. Çok kullanıcılı, yüksek verimli bir servis gerekiyorsa vLLM OpenAI uyumlu bir API sunar; küçük kartlar ya da yalnız işlemci için llama.cpp ve nicelenmiş GGUF modeller uygundur. Hangi aracı seçerseniz seçin API’yi kimlik doğrulamasız biçimde internete açmayın.

Kendi sunucunuzda LLM çalıştırmak için ne gerekir?

Başlamadan önce dört şeyin hazır olması gerekir: modele yetecek GPU belleği, çalışan bir NVIDIA sürücüsü, yeterli disk alanı ve kullanımınıza uygun lisanslı bir model.

  • GPU ve VRAM: 7–8B sınıfı bir model 4 bit nicelemeyle birkaç GB, FP16’da yalnız ağırlıklar için 14–16 GB ister; boyut hesabı yapay zekâ sunucusu seçimi yazısında.
  • Sürücü: nvidia-smi komutu kartı ve sürücü sürümünü göstermelidir; göstermiyorsa önce CUDA kurulumu rehberini uygulayın.
  • Disk: Model dosyaları birkaç gigabayttan yüzlerce gigabayta kadar tutar; hızlı NVMe yükleme süresini kısaltır.
  • Model ve lisans: Hugging Face gibi depolardaki model kartında lisans yazar. Bazı modeller Apache 2.0 gibi serbest lisanslarla, bazıları ticari kullanıma koşul koyan özel lisanslarla yayınlanır; üretime almadan önce okuyun.

Ollama, vLLM mi llama.cpp mi?

Tek kullanıcı ya da küçük bir ekip için Ollama, çok kullanıcılı üretim servisi için vLLM, küçük kart ya da yalnız işlemci için llama.cpp genellikle doğru başlangıçtır.

AraçGüçlü yanıUygun senaryoVarsayılan API
OllamaTek komutla kurulum, hazır model kütüphanesi, nicelenmiş GGUF modellerPrototip, kurum içi asistan, geliştirme127.0.0.1:11434; kendi API’si ve OpenAI uyumlu /v1 uçları
vLLMSürekli toplu işleme (continuous batching) ve PagedAttention ile yüksek eşzamanlılıkÇok kullanıcılı API, yüksek trafikPort 8000, OpenAI uyumlu
llama.cppHafif; katmanları GPU ile işlemci arasında bölebilirKüçük VRAM, GPU’suz sunucullama-server, varsayılan 127.0.0.1:8080

Üç araç da OpenAI API biçimini desteklediği için uygulamanızı birinden diğerine taşımak çoğu zaman adres ve model adını değiştirmekten ibarettir.

Ollama ile model nasıl kurulur ve çalıştırılır?

Ollama resmî kurulum betiğiyle birkaç dakikada kurulur ve kendini ollama adlı bir systemd hizmeti olarak başlatır:

  1. Kurulum betiğini çalıştırın:
    curl -fsSL https://ollama.com/install.sh | sh
  2. Hizmetin çalıştığını doğrulayın: systemctl status ollama
  3. Modeli indirip etkileşimli olarak deneyin (model adı örnektir; güncel listeyi Ollama model kütüphanesinden seçin):
    ollama pull llama3.1:8b
    ollama run llama3.1:8b
    Sohbetten /bye yazarak çıkılır.
  4. API’yi sunucunun kendisinden test edin:
    curl http://127.0.0.1:11434/api/chat -d '{
      "model": "llama3.1:8b",
      "messages": [{"role": "user", "content": "Merhaba!"}],
      "stream": false
    }'
  5. Modelin GPU’da çalıştığını ollama ps ile kontrol edin; PROCESSOR sütununda 100% GPU görmelisiniz. CPU oranı görünüyorsa model VRAM’e tam sığmamıştır.

Modeller varsayılan olarak /usr/share/ollama/.ollama/models altında tutulur; büyük bir veri diskine taşımak için hizmete OLLAMA_MODELS ortam değişkeni tanımlanır ve yeni klasörün ollama kullanıcısına ait olması sağlanır.

Ollama API’si güvenli biçimde nasıl dışarı açılır?

Ollama’nın yerleşik kimlik doğrulaması olmadığı için 11434 portunu asla doğrudan internete açmayın; önüne parola, IP kısıtı ve HTTPS uygulayan bir ters vekil (reverse proxy) koyun. Hizmet varsayılan olarak yalnızca 127.0.0.1 üzerinde dinler. Uygulama sunucunuz özel ağdaysa dinleme adresini OLLAMA_HOST ile o ağın IP’sine bağlayabilirsiniz:

sudo systemctl edit ollama
# Açılan düzenleyiciye ekleyin (yalnızca özel ağ adresi):
[Service]
Environment="OLLAMA_HOST=10.0.0.5:11434"

sudo systemctl daemon-reload
sudo systemctl restart ollama

İnternetten erişim gerekiyorsa Nginx’i önüne koyun (kurulum için Ubuntu Nginx kurulumu rehberi) ve HTTPS sunucu bloğuna şu konumu ekleyin:

location / {
    allow 203.0.113.10;   # izin verilen ofis adresi
    deny all;
    auth_basic "LLM API";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:11434;
    proxy_set_header Host localhost:11434;
    proxy_read_timeout 300s;
}

Parola dosyası sudo apt install apache2-utils ardından sudo htpasswd -c /etc/nginx/.htpasswd kullanici ile oluşturulur. Güvenlik duvarında yalnızca gereken portları açık tutun; adımlar UFW firewall kurulumu rehberinde.

Dikkat: Ollama’yı Docker’da -p 11434:11434 ile yayınlarsanız port tüm arayüzlere açılır ve çoğu kurulumda UFW kuralları bunu engellemez; yalnız yerel erişim için -p 127.0.0.1:11434:11434 kullanın.

vLLM ile çok kullanıcılı API nasıl kurulur?

vLLM, çok sayıda isteği aynı GPU’da verimli biçimde işleyen ve OpenAI uyumlu bir API sunan Python tabanlı bir çıkarım sunucusudur. Sistem Python’unu kirletmemek için sanal ortamda kurun:

sudo apt install -y python3-venv
python3 -m venv ~/vllm-env
source ~/vllm-env/bin/activate
pip install vllm

Ardından modeli Hugging Face’teki adıyla başlatın (model adı örnektir):

vllm serve Qwen/Qwen2.5-7B-Instruct \
  --host 127.0.0.1 --port 8000 \
  --api-key GIZLI_ANAHTAR \
  --max-model-len 8192

İlk çalıştırmada model indirilir; erişim onayı isteyen (gated) modeller için Hugging Face erişim belirtecini HF_TOKEN ortam değişkeniyle tanımlayın. Test isteği:

curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer GIZLI_ANAHTAR" \
  -d '{"model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "Merhaba!"}]}'

vLLM, GPU belleğinin büyük bölümünü (--gpu-memory-utilization, varsayılan 0.9) model ve KV önbelleği için önceden ayırır; aynı kartta başka bir servis çalışacaksa bu oranı düşürün. Birden fazla kartta --tensor-parallel-size 2 modeli kartlara böler. Kalıcı çalıştırma için bir systemd hizmeti ya da resmî vllm/vllm-openai Docker imajı kullanılabilir.

Küçük GPU ya da yalnız işlemci: llama.cpp ve GGUF

VRAM’i sınırlı kartlarda ya da GPU’suz sunucularda llama.cpp, GGUF biçimindeki nicelenmiş modelleri çalıştırmanın en hafif yoludur; Ollama da bu biçimdeki modelleri kullanır. CUDA destekli derleme için CUDA Toolkit (nvcc) kurulu olmalıdır:

sudo apt install -y build-essential cmake git libcurl4-openssl-dev
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j

GPU’suz bir makinede -DGGML_CUDA=ON parametresini çıkarmanız yeterlidir. Sunucuyu başlatmak için:

./build/bin/llama-server -m /modeller/model-Q4_K_M.gguf -ngl 99 -c 8192 --port 8080

-ngl GPU’ya taşınacak katman sayısıdır; kart belleği yetmiyorsa değeri düşürün, kalan katmanlar işlemcide çalışır. Q4_K_M, Q5_K_M gibi niceleme seviyeleri boyut ile kalite arasında denge kurar. Yalnız işlemciyle yanıtlar yavaşlar, ancak küçük modeller güçlü bir VDS sunucu işlemcisinde iç kullanım için yeterli olabilir.

Çalışan model nasıl izlenir ve güncel tutulur?

Çalışan bir dil modeli servisi GPU belleği, kullanım oranı ve sıcaklık üzerinden izlenir; yazılım ve model planlı aralıklarla güncellenir. Anlık görünüm ve beş saniyede bir CSV kaydı için:

watch -n 2 nvidia-smi
nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total,temperature.gpu --format=csv -l 5
  • Bellek: memory.used sürekli sınıra yakınsa bağlam uzunluğunu ya da eşzamanlı istek sayısını düşürün.
  • Kullanım: GPU kullanımı düşük ama yanıtlar yavaşsa darboğaz işlemcide, diskte ya da ağdadır.
  • Güncelleme: Ollama kurulum betiği yeniden çalıştırılarak, vLLM sanal ortamda pip install -U vllm ile güncellenir; önce test ortamında deneyin.

Modeli kapsayıcı (container) içinde çalıştırmayı tercih ederseniz önce Docker kurulumu adımlarını, ardından NVIDIA Container Toolkit yapılandırmasını tamamlayın.

Sık Sorulan Sorular

Ollama GPU kullanıyor mu, nasıl anlarım?

ollama ps komutunu çalıştırın: PROCESSOR sütununda 100% GPU yazıyorsa model tamamen ekran kartında çalışıyordur. CPU ve GPU oranı birlikte görünüyorsa model VRAM’e sığmamış, bir kısmı işlemciye taşmıştır. Hiç GPU görünmüyorsa nvidia-smi ile sürücüyü kontrol edin; sürücüyü Ollama’dan sonra kurduysanız hizmeti yeniden başlatın.

Ollama’yı internete açmak güvenli mi?

Doğrudan açmak güvenli değildir. Ollama’nın yerleşik kimlik doğrulaması olmadığından portu bulan herkes modellerinizi kullanabilir, GPU’nuzu meşgul edebilir ve sunucuya yeni model indirtebilir. Erişimi parola, IP izin listesi ve HTTPS uygulayan bir ters vekil, VPN ya da SSH tüneli üzerinden verin; hizmetin kendisi yerel adreste dinlemeye devam etsin.

vLLM CPU’da çalışır mı?

vLLM’in işlemci desteği bulunsa da asıl hedefi GPU’lardır ve en iyi performansı ekran kartlarında verir. GPU’suz bir sunucuda dil modeli çalıştıracaksanız llama.cpp ya da Ollama ile nicelenmiş GGUF modeller daha pratik ve kaynak dostudur. Bu durumda yanıt hızı işlemcinin çekirdek sayısına ve bellek bant genişliğine bağlıdır.

Hangi açık model ticari kullanımda serbest?

Bu, modelin lisansına bağlıdır ve model kartında yazar. Apache 2.0 ya da MIT gibi lisanslar ticari kullanıma genellikle izin verir; bazı modeller ise kullanıcı sayısı eşiği, kullanım politikası ya da atıf zorunluluğu gibi koşullar içeren özel lisanslarla yayınlanır. Lisans metnini okuyun, şüphede kaldığınızda hukuki görüş alın.

LLM çalıştırmak için internet bağlantısı gerekir mi?

Yalnızca kurulum ve model indirme aşamasında gerekir. Model dosyaları sunucuya indikten sonra çıkarım yerel olarak yapılır; istemler ve yanıtlar sunucudan çıkmaz. Hassas veriyle çalışan ortamlarda modeli indirip doğruladıktan sonra sunucunun dış bağlantılarını güvenlik duvarıyla kısıtlayabilir, güncellemeler için bu kuralı kontrollü biçimde açabilirsiniz.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.