Yerel (on-premise) LLM kurulumu: ne zaman gerekir, nasıl yapılır?
Yerel (on-premise) LLM kurulumu, büyük bir dil modelinin bulut sağlayıcısının API’si yerine şirketin kendi sunucularında veya kendi kontrolündeki bir bulut ortamında çalıştırılmasıdır. Verinin kurum dışına çıkmaması gereken, hacmi yüksek ve sürekli olan ya da ağ bağlantısından bağımsız çalışması gereken işlerde anlamlıdır. Kurulum için yeterli belleğe sahip donanım, Ollama veya vLLM gibi OpenAI uyumlu bir model sunucusu ve istekleri yerel ile bulut modelleri arasında yönlendiren bir katman gerekir.
Yerel LLM nedir, ne işe yarar?
Yerel model, ağırlıkları indirilebilen (açık ağırlıklı) bir LLM’in sizin altyapınızda çalıştırılmasıdır. Llama, Qwen, Gemma ve Mistral gibi model aileleri bu şekilde kullanılabilir. Model kurumun veri merkezinde (on-premise), kuruma ait bir sanal özel bulutta (VPC) veya ağdan yalıtılmış bir sunucuda çalışabilir. Ortak nokta, istemlerin ve cevapların sizin kontrolünüzdeki altyapıda kalmasıdır.
Yerel modeller özellikle üç işte kullanılır: kişisel veri veya ticari sır içeren metinleri işlemek, sınıflandırma ve alan çıkarma gibi yüksek hacimli dar görevleri yürütmek ve RAG uygulamalarında kurum belgelerine dayanarak cevap üretmek.
Nasıl çalışır?
Yerel bir LLM kurulumunun dört parçası vardır:
- Model ağırlıkları. Açık ağırlıklı bir model seçilir. Belleğe sığması için çoğu zaman kuantizasyon uygulanır: ağırlıklar 16 bit yerine 8 veya 4 bitle saklanır.
- Model sunucusu. Modeli belleğe yükler ve istekleri karşılar. Ollama hızlı başlangıç ve tek sunucu için kolaydır. vLLM, GPU’da çok sayıda eşzamanlı isteği verimli işlemek için tasarlanmıştır. llama.cpp tabanlı sunucular CPU’da da çalışabilir. Üçü de OpenAI uyumlu bir API sunar.
- Uygulama bağlantısı. OpenAI uyumlu API sayesinde mevcut uygulamalar çoğu zaman yalnızca adres ve model adı değiştirilerek yerel modele bağlanır.
- Yönlendirme katmanı. Bir AI gateway (model erişim katmanı), hangi isteğin yerel modele, hangisinin bulut modeline gideceğine kurallarla karar verir.
Bellek ihtiyacı kabaca parametre sayısı ile parametre başına bayt sayısının çarpımıdır. Buna, bağlam penceresi ve eşzamanlı kullanıcı sayısıyla büyüyen KV önbelleği (modelin önceki token’lar için tuttuğu ara hesaplar) eklenir. Aşağıdaki değerler yalnız ağırlıklar içindir:
| Model boyutu | 16 bit ağırlık | 4 bit ağırlık |
|---|---|---|
| 8 milyar parametre | yaklaşık 16 GB | yaklaşık 4–5 GB |
| 32 milyar parametre | yaklaşık 64 GB | yaklaşık 16–20 GB |
| 70 milyar parametre | yaklaşık 140 GB | yaklaşık 35–40 GB |
Ne zaman gerekir, ne zaman gerekmez?
Yerel kurulum şu durumlarda anlamlıdır:
- Veri: İstemler kişisel veri, özel nitelikli veri veya ticari sır içeriyorsa ya da sözleşmeler verinin kurum dışına çıkmasını kısıtlıyorsa. Bkz. KVKK ve yapay zekâ.
- Gecikme ve erişim: Uygulamanın internet bağlantısı kısıtlı bir ağda, sahada veya üretim hattında çalışması gerekiyorsa; ağ gecikmesini ve sağlayıcı kesintilerini denklemden çıkarmak istiyorsanız.
- Maliyet: İş sürekli ve yüksek hacimliyse sabit donanım maliyeti, istek başına ödenen ücretten düşük kalabilir. Bunu kendi iş yükünüzle hesaplayın.
- Göreve özel modeller: Fine-tuning (ince ayar) veya distilasyon ile eğitilmiş küçük bir model, dar bir işte büyük bir modele yakın sonuç verebiliyorsa.
Şu durumlarda bulut modeli çoğu zaman daha uygundur: hacim düşükse, istekler kişisel veri içermiyorsa, iş en güçlü modellerin akıl yürütmesini gerektiriyorsa veya GPU sunucularını işletecek bir ekip yoksa.
Yerel ve bulut modellerinin karşılaştırması
| Ölçüt | Yerel model | Bulut modeli |
|---|---|---|
| Veri | Kurum altyapısında kalır | Sağlayıcıya gider; saklama koşulları sözleşmeye bağlıdır |
| Model kalitesi | Açık modellerle sınırlıdır; karmaşık görevlerde en büyük modellerin gerisinde kalabilir | En büyük ve güncel modellere erişilir |
| Maliyet | Başta donanım yatırımı, sonra sabit işletme maliyeti | Kullanıma göre artar |
| Gecikme | Ağ gecikmesi yoktur; donanıma ve yüke bağlıdır | Ağa ve sağlayıcının yüküne bağlıdır |
| İşletme | Güncelleme, izleme ve kapasite sizdedir | Sağlayıcıdadır |
| Ölçek | Donanımla sınırlıdır | Hızla büyütülebilir |
Adım adım yerel LLM kurulumu
- İş yükünü tanımlayın. Görevi, günlük istek sayısını, eşzamanlı kullanıcı sayısını, ortalama metin uzunluğunu, kabul edilebilir yanıt süresini ve veri sınıfını yazın.
- Modelleri kendi örneklerinizle karşılaştırın. Model kartındaki skorlar sizin sonucunuz değildir. Türkçe metinlerde tokenizer (metni modelin okuduğu parçalara ayıran bileşen) aynı cümleyi daha fazla parçaya bölebilir; bu hem kaliteyi hem hızı etkiler. Gerçek işten seçilmiş, geliştirmede kullanılmayan örneklerle değerlendirme yapın.
- Donanımı boyutlandırın. Ağırlıklar, KV önbelleği ve eşzamanlılık için bellek hesaplayın. Kuantizasyonun kaliteye etkisini aynı test setinde ölçün.
- Sunucuyu seçin ve kurun. Deneme için Ollama, çok kullanıcılı üretim için vLLM gibi bir sunucu seçin. OpenAI uyumlu uç noktayı yalnız iç ağa açın.
- Gateway’e bağlayın. Yerel ve bulut modellerini tek bir adresin arkasına alın, yönlendirme ve veri kurallarını yazın.
- Ölçün ve işletin. Yanıt süresini, saniyede üretilen token sayısını, bellek kullanımını, başarılı istek oranını ve maliyeti izleyin. Model sürümlerini kayıt altında tutun.
Gateway yerel ve bulut modelleri arasında nasıl yönlendirir?
Uygulama tek bir adrese ve tek bir model adına istek gönderir; modeli gateway’deki kural seçer. Örnek kurallar:
| İstek | Kural | Hedef |
|---|---|---|
| Metinde TCKN tespit edildi | Kişisel veri kurum içinde kalır | Yerel model |
| Kişisel veri yok, uzun bir analiz | Bulut izni var | Onaylı bulut modeli |
| Müşteri listesi dış bir API’ye gidiyor | Toplu kişisel veri dışarı çıkamaz | Engellenir |
| Veri taraması hata verdi | Güvenli varsayılan | Yerel model |
Bu düzende model değişikliği uygulama kodunu etkilemez: yeni bir yerel model eklemek veya bir bulut sağlayıcısını değiştirmek gateway ayarıyla yapılır. Kurallar ve model yönlendirme için AI gateway nedir? rehberine bakın.
Dikkat edilmesi gerekenler
- Lisans: Açık ağırlıklı modellerin lisansları farklıdır. Bazıları Apache-2.0 veya MIT ile, bazıları kullanım koşulları içeren kendi lisanslarıyla gelir. Ticari kullanımdan önce lisansı okuyun.
- Erişim güvenliği: Ollama gibi bazı sunucular varsayılan olarak kimlik doğrulama sunmaz. Model sunucusunu internete açmayın, önüne erişim kontrolü koyun.
- Yerel olmak tek başına yetmez: Kayıtlar, erişim yetkileri ve saklama süreleri yerel kurulumda da tasarlanmalıdır.
- Kapasite: Eşzamanlı kullanıcı sayısı arttıkça yanıt süresi uzar. Yük testini gerçek istek uzunluklarıyla yapın.
- Güncelleme: Yeni model sürümleri çıktıkça aynı test setiyle yeniden karşılaştırma yapın.
ALTAI’de nasıl yapıyoruz
Projelerde yerel modelle çalışmayı ilk seçenek olarak değerlendiriyoruz. Modelleri kurumunuzun donanımında veya size ait bulut ortamında çalıştırıyor; bellek kullanımını, yanıt süresini ve maliyeti uygulamanın gerçek iş yüküyle ölçüyoruz. Özel model eğittiğimizde model boyutunu donanımınıza göre seçiyor, sonuçları eğitimde kullanılmayan örneklerle test ediyoruz.
Yerel ve bulut modelleri arasındaki yönlendirmeyi Yada ile yapıyoruz. Uygulama OpenAI uyumlu tek bir API’ye ve tek bir model adına bağlanır; modeli kural seçer. Yerel modeller Ollama veya OpenAI uyumlu sunucular üzerinden, bulut modelleri Gemini, OpenAI ve Anthropic üzerinden bağlanır. Tarama çalışmazsa istek yerel modelde kalır. Projede isteğin doğru modele yönlendirilmesini, başarılı istek oranını ve yönlendirmeden kaynaklanan ek süreyi birlikte ölçüyoruz.
Her bileşen GPU gerektirmez. Açık kaynak Akana kütüphanesindeki 2,5 MB’lık Türkçe embedding modeli ve ALTAI’nin geliştirdiği hibrit arama yöntemi, Türkçe RAG testlerinde yalnız CPU ile %96,7–100 Recall@10 sonucu verir (değerler projenin kendi testlerinden). Açık Türkçe embedding modellerimizi kendi verinizle test edebilirsiniz. Doküman Asistanı gibi uygulamaları kurum içinde, VPC’de veya seçilen bulut ortamında kurabiliyoruz. Kurulum ihtiyacınızı bize yazarak anlatabilirsiniz.
Sık sorulan sorular
Yerel LLM için GPU şart mı?
Küçük ve kuantize edilmiş modeller CPU’da çalışabilir, ancak cevap üretme hızı düşer. Birden fazla kullanıcıya makul sürede cevap verecek bir dil modeli için genellikle GPU gerekir. Embedding, arama ve klasik metin işleme gibi bileşenler ise çoğu zaman CPU’da yeterince hızlı çalışır.
Yerel modeller bulut modelleri kadar iyi mi?
Göreve bağlıdır. Belgeye dayalı cevap, sınıflandırma veya alan çıkarma gibi dar işlerde açık modeller, özellikle RAG veya fine-tuning ile birlikte, yeterli olabilir. Karmaşık akıl yürütme gerektiren işlerde en büyük bulut modelleri öndedir; kararı kendi örneklerinizle verin.
Ollama mı, vLLM mi kullanmalıyız?
Ollama’nın kurulumu kolaydır; deneme veya az kullanıcılı işler için uygundur. vLLM, GPU’da çok sayıda eşzamanlı isteği yüksek verimle işlemek için tasarlanmıştır. İkisi de OpenAI uyumlu API sunduğu için başlangıçtaki seçim sizi uygulama kodunda bağlamaz.
Yerel model kurmak KVKK için yeterli mi?
Tek başına yeterli değildir. Yerel model, veriyi üçüncü taraf bir model sağlayıcısına göndermeyi önler; erişim yetkileri, kayıtlar ve saklama süreleri yine tasarlanmalıdır. Ayrıntılar için KVKK ve yapay zekâ rehberine bakın. Bu metin hukuki danışmanlık değildir; kendi durumunuz için bir hukukçuya danışın.
Yerel ve bulut modellerini birlikte kullanabilir miyiz?
Evet, birçok kurum için pratik bir düzen budur. Bir AI gateway hassas istekleri yerel modelde tutar, izin verilen istekleri bulut modellerine gönderir. Uygulama her iki durumda da aynı adrese bağlanır.