Showing posts with label Açık Kaynak. Show all posts
Showing posts with label Açık Kaynak. Show all posts

Friday, March 6, 2026

Ollama Cloud ile Açık Kaynak Büyük Dil Modellerini (LLM) Bulutta Kullanmak

Ollama Cloud ile Açık Kaynak LLM'leri İndirmeden Denemek

Açık Kaynak büyük dil modelleri (LLM) dünyasında her gün yeni bir model ve yeni bir sürüm konuşuluyor. Bu çok iyi bir haber, çünkü artık "tek bir model"e mahkum değiliz. Ama pratikte çoğu kişi aynı iki probleme takılıyor: (1) Büyük modeller yerel GPU VRAM'ine sığmıyor, (2) Birden fazla modeli denemek için her seferinde devasa dosyalar indirmek, kurmak, silmek hem zaman hem de disk alanı tüketiyor. Kısacası, öğrenme ve deneme süreci daha en başta yorucu hale gelebiliyor.

Ben bu eğitimi tam da bu yüzden hazırladım: Açık Kaynak LLM'leri Bilgisayarınıza model dosyalarını indirip biriktirmeden de test edebilin. Üstelik sadece "çalıştırma" değil, doğru model seçimi ve uygulamaya entegrasyon mantığını da anlayın. Bu yazı, YouTube'daki eğitimimin blog formatında, ders notu kadar derinlemesine hazırlanmış versiyonu. Adım adım giderken, neden-sonuç ilişkisini de kurmaya çalışacağım.

Eğitim videosu (YouTube canlı yayın kaydı): https://youtube.com/live/QEZ8oF4A68k

Kodlar ve dokümanlar (GitHub deposu): https://github.com/kmkarakaya/OllamaCloud

Not: Bu yazıda mümkün oldukça Türkçe terimler kullanıyorum. Örneğin "Açık Kaynak" (open source), "bulut", "belirteç" (token), "akış" (stream) gibi. Kod ve komutlarda ise resmi isimler ve parametreler aynen kalıyor.

Bu Ders Notunu Nasıl Kullanmalısın?

Bu yazı iki tip okuyucu için tasarlandı:

  • LLM dünyasına yeni girenler: "Ben nereden başlayacağım, hangi kavramlar önemli?" diyenler.
  • Uygulama geliştirmek isteyenler: "Ben Python ile bir şey kurmak istiyorum, model denemeyi hızlı hale getirmek istiyorum." diyenler.

Benim önerim şu: Önce kavramları ve karar mantığını oku. Sonra CLI ile bir modeli çalıştır. Ardından API ve Python bölümüne geç. En sonda repodaki iki örneği (model karşılaştırma betiği ve Streamlit demo) çalıştırıp sonuçları yorumla. Bu sırayla ilerlersen, "ne yaptığını bilerek" ilerlemiş olursun.

Temel Kavramlar: Modeller Neden Ağır? (VRAM, RAM, Disk, belirteç)

Bir modelin "büyük" veya "ağır" olması tek bir şeye bağlı değil. Yeni başlayanların kafasını en çok karıştıran nokta da bu. Ben burada üç kaynak üzerinden anlatıyorum: Disk, RAM ve VRAM.

  • Disk: Model dosyalarını indirip sakladığın yer. Birkaç model denemek bile onlarca GB yapabilir.
  • RAM: CPU belleği. Bazı durumlarda (özellikle CPU ile çalışan senaryolarda) RAM sınırlayıcı olur.
  • VRAM: GPU belleği. Büyük modellerin yerelde hızlı çalışmasında çoğu zaman asıl sınırlayıcı kaynak budur.

Parametre sayısı arttıkça (örneğin 20B, 120B gibi) modelin kapasitesi artabilir, ama kaynak ihtiyacı da artar. Ancak tek mesele parametre sayısı değildir. Model çalışırken "KV cache" (kısaca bağlam belleği) de büyür. Bu cache, konuşma uzadıkça ve context window büyüdükçe artar. Bu yüzden "kısa bir soru" ile "uzun bir sohbet" aynı modelde farklı kaynak tüketimi üretebilir.

Bir diğer kritik kavram: belirteç. Modelin okuduğu ve ürettiği metin parçaları belirteçlere bölünür. Bir prompt ne kadar uzunsa, o kadar fazla belirteç işlenir. Bir konuşma geçmişi ne kadar uzunsa, modelin "tek seferde düşünmesi" için o kadar fazla belirteç taşınır. Bu hem süreyi (gecikme) hem de bellek ihtiyacını etkiler. Bu yüzden iyi bir pratik: Modeli değerlendirirken sadece tek bir prompt değil, farklı uzunluklarda promptlar denemek.

Peki quantization (kuantizasyon) ne işe yarar? Çok basit anlatayım: Modeli daha düşük hassasiyetle temsil ederek daha az bellek kullanmasını sağlar. Bu sayede bazı modeller yerelde çalışabilir hale gelir. Ama bazen kalite ve tutarlılık üzerinde etkisi olabilir. Bu nedenle model seçimi yaparken "en büyük model en iyisidir" gibi basit bir kural yok. Senin senaryon için "yeterince iyi + yeterince hızlı + yönetilebilir maliyet" dengesi önemlidir.

Bu noktada Ollama Cloud'un değeri ortaya çıkıyor: İndirme ve donanım bariyerini azaltıp, senin hızlıca öğrenme ve deneme yapmanı sağlıyor. Yani önce doğru modeli seçiyorsun, sonra yerel veya bulut stratejini buna göre planlıyorsun.

KV Cache ve Context Window: Uzun Sohbet Neden Yavaşlar?

Yeni başlayanların en sık yaşadığı sürprizlerden biri şudur: Aynı model, kısa bir promptta çok hızlı cevap verirken; konuşma uzadıkça veya tek prompt çok uzayınca bariz şekilde yavaşlar. Bunun temel nedeni "modelin geçmişi nasıl taşıdığı" ile ilgilidir. Dil modelleri, her yeni belirteç üretirken önceki belirteçlere dikkat (attention) mekanizmasıyla bakar. Konuşma uzadıkça bakması gereken içerik artar; bu da hesaplama maliyetini ve bellek ihtiyacını yükseltir.

Bu işin bellek tarafındaki adı çoğu yerde KV cache olarak geçer. Çok basit anlatımla: Model, önceki belirteçlere ait bazı ara temsil bilgilerini (key/value) cache'ler ve sonraki adımlarda bunları kullanır. Context window büyüdükçe bu cache de büyür. Yerelde GPU kullanıyorsan bu cache çoğu zaman VRAM'de tutulur ve VRAM'in sınırlıysa uzun konuşmalarda daha çabuk sınıra dayanırsın. bulut'da bu sınır sende görünmez ama performans etkisini yine hissedebilirsin.

Bu yüzden ben model denemesinde şunu özellikle öneriyorum: Sadece "tek cümlelik bir soru" ile karar verme. Aynı modelde kısa prompt, orta prompt ve uzun prompt dene. Bir de "konuşma geçmişi" senaryosu dene. Çünkü gerçek uygulamada çoğu zaman kullanıcı bir soru sorup çıkmıyor; takip sorusu soruyor, detay istiyor, format değiştiriyor. Modelin bu akıştaki davranışı, tek seferlik cevap kadar önemlidir.

Pratik bir performans ipucu: Uygulamada konuşma geçmişini sınırsız büyütme. Gerekirse eski mesajları özetle, kritik noktaları "memory" gibi tek bir mesajda taşı. RAG (retrieval-augmented generation) gibi teknikler de burada devreye girer: Her şeyi konuşma geçmişinde tutmak yerine, ilgili bilgiyi dışarıdan çekip prompta eklersin. Bu hem maliyeti hem de gecikmeyi yönetmeyi kolaylaştırır.

Ollama Cloud Nedir? (CLI ve API İki Yol)

Ollama Cloud, desteklenen modelleri bulut üzerinden çalıştırıp denemeni sağlayan bir altyapı. Senin tarafında iki "arayüz" var: Ollama CLI ve Ollama API. Benim ders notu yaklaşımımda bunlar iki farklı hedefe hizmet eder:

  • CLI yolu: Hızlı deneme ve hızlı kıyaslama. Prompt yaz, cevap al, model davranışını gör.
  • API yolu: Uygulama entegrasyonu. Python ile web app, bot, servis veya otomasyon kur.

Resmi dokümanlar (okurken açık dursun): https://docs.ollama.com/cloud, https://docs.ollama.com/api

Not: "Ücretsiz deneme" ve limitler dönemsel olarak değişebilir. En güncel bilgiyi resmi sayfalardan kontrol etmeni öneririm.

Ne Zaman bulut, Ne Zaman Yerel?

bulut ve yerel kullanım birbirinin alternatifi değil; çoğu zaman birbirini tamamlar. Ben pratikte şöyle karar veriyorum:

  • bulut-öncelikli: Model denemek, model seçmek, hızlı prototip yapmak, eğitim/demo üretmek.
  • Local-first: Offline çalışma, çok sık istek, veri politikası nedeniyle tamamen yerel zorunluluk.

Eğer amacın "hangi model işimi görür?" sorusunu cevaplamaksa bulut yaklaşımı büyük hız kazandırır. Modeli seçtikten sonra yerelde koşmak istiyorsan, o aşamada donanım yatırımı veya daha küçük/kuantize bir model seçimi mantıklı hale gelir. Yani benim için bulut çoğu zaman bir "hızlandırıcı katman".

Model Deneme ve Karşılaştırma İçin Basit Bir Rubrik

Model denemek demek, aynı soruyu üç modele sormak demek değildir. Gerçek bir karşılaştırma yapmak için küçük bir rubrik gerekir. Benim kullandığım basit rubrik şu başlıklardan oluşur:

  • Talimat takibi: "Şu formatta yaz" dediğimde uyuyor mu?
  • Tutarlılık: Aynı soruyu tekrar sorunca benzer kalite veriyor mu?
  • Yapı ve okunabilirlik: Cevap düzenli mi, maddeleme iyi mi?
  • Doğruluk: Bariz hatalar yapıyor mu, uydurma eğilimi var mı?
  • Hız: Aynı prompt için yanıt süresi kabul edilebilir mi?
  • Dil uyumu: Türkçe sorularda Türkçe kalitesi yeterli mi?

Bu rubriği kullanarak "model seçimi"ni hızlandırabilirsin. Örneğin eğitimde kullandığım yaklaşım: Aynı konuda 2-3 farklı prompt tipi hazırla, sonra her modeli bu prompt setiyle test et. Böylece tek bir cevaba göre karar vermezsin. Özellikle "format zorlayan" promptlar modelin talimat takibini çok net gösterir.

Bu rubriği repodaki compare_models.py ile otomatikleştirmeye başladık. betik mükemmel bir kıyaslama değil, ama doğru düşünme biçimini öğretir: Önce yapılandırılmış görevler, sonra gerçek çıktı incelemesi.

Prompt Tasarımı İpuçları: Modeli Doğru Sınamak

Bir modelin "iyi" veya "kötü" olduğuna karar vermek için önce doğru prompt yazmak gerekir. Çünkü LLM'ler, soruyu nasıl sorduğuna göre çok farklı davranabilir. Benim ders notu şeklinde önerdiğim basit yaklaşım: Promptu dört parçaya böl ve her parçayı net yaz.

  • Rol: Modelden nasıl davranmasını istiyorsun? (Örn: "Bir eğitmen gibi anlat.")
  • Hedef: Tam olarak ne istiyorsun? (Örn: "RAG'i 5 maddeyle açıkla.")
  • Kısıt: Uzunluk, dil, format, ton gibi sınırlar. (Örn: "Her madde 1 cümle olsun.")
  • Çıktı formatı: Madde madde mi, JSON mu, tablo mu? (Örn: "Başlık + maddeler.")

Karşılaştırma yaparken de aynı konsept geçerli: Aynı rubrikle ölçmek istiyorsan, modellerin hepsine aynı formatı zorlayan promptları ver. Örneğin Türkçe üreteceksen mutlaka Türkçe prompt seti hazırla. Kod yazdıracaksan "basit kod", "hata ayıklama", "refactor" gibi farklı kod görevleri ekle. Bu sayede tek bir promptta parlayan ama diğer görevlerde dağılan modelleri erken fark edersin.

Bir başka pratik ipucu: Deneme promptlarını "gerçek iş" promptlarından ayır. Deneme promptu daha kısa ve daha kontrollü olur; gerçek iş promptu ise daha karmaşık ve daha çok bağlam içerir. Bu yüzden karar verirken iki tür promptu da kullan. Deneme promptu ile ele, gerçek iş promptu ile doğrula.

Güvenlik ve İyi Pratikler: API Key ile Çalışmak

API key bir şifre gibi düşünülmeli. En sık yapılan hata, API key'i koda gömmek veya depo içinde paylaşmak. Benim önerim: API key'i bir ortam değişkeni olarak tanımla ve uygulamada oradan oku.

Resmi yetkilendirme dokümanı: https://docs.ollama.com/api/authentication

Windows PowerShell tarafında, geçerli oturum için örnek:

$env:OLLAMA_API_KEY = "your_api_key_here"

Bu şekilde key'i kaynak koduna yazmadan, hem CLI tarafında hem de Python tarafında kullanabilirsin. Eğitim içeriklerinde özellikle şunu vurguluyorum: Key yönetimi "küçük bir detay" değil; ileride üretim ortamına gittiğinde en kritik alışkanlıklardan biri olacak.

CLI ile Başlamak: İlk Deneme Akışı (Neden Bu Komutlar?)

Önce Ollama'nın Windows kurulumu gerekiyor. Resmi Windows kurulum sayfası: https://docs.ollama.com/windows

Kurulumdan sonra amaç şu: bulut tarafına giriş yap ve bir modeli terminalde çalıştır. Temel akış:

ollama --version
ollama signin
ollama run gpt-oss:120b-cloud

Burada ollama signin kritik. bulut erişimi gerektiren işlemlerde yerel CLI'nin kimlik doğrulamasını yapmış oluyorsun. Sonra ollama run ile modeli interaktif moda alıyorsun. Bu noktada önemli pratik: İlk denemelerde kısa promptlarla başla, sonra uzun promptlara geç. Çünkü uzun prompt, hem hız hem de bağlam yönetimi açısından modeli daha fazla zorlar.

Bir diğer önemli not: bulut model isimleri CLI tarafında bazen -cloud ekiyle gelir. API tarafında ise model adları farklı görünebilir. Bu yüzden ben API entegrasyonlarında "model adını hardcode etme" alışkanlığını bırakmanı öneriyorum. Bunun çözümü bir sonraki bölümde: /api/tags.

Direkt API Yolu: /api/tags ile Model Keşfi, /api/sohbet ile Cevap

Uygulama geliştireceksen API tarafı kritik. Ben burada iki endpointi "temel taş" gibi görüyorum:

  • /api/tags: Hangi modeller erişilebilir? Bu sorunun cevabı.
  • /api/sohbet: Mesaj gönderip cevap almak.

Endpoint dokümanları: https://docs.ollama.com/api/tags, https://docs.ollama.com/api/chat

Benim pratik yaklaşımım: Model adını "varsayma". Önce /api/tags ile listeyi çek, sonra uygulamanda o listeden seçim yaptır. Bu sayede bir model erişilebilir değilse uygulama kırılmaz; sadece seçeneklerde görünmez.

Minimal bir curl örneği (PowerShell'de):

curl __URL_16__ `
  -H "Authorization: Bearer $env:OLLAMA_API_KEY"

sohbet tarafında stream parametresi önemli bir kavram. stream=false dersen tek seferde cevap alırsın. stream=true dersen cevap parça parça gelir. Web uygulamalarında akış kullanıcı deneyimini iyileştirir, ama kodu biraz daha dikkatli yazmayı gerektirir. Eğitimde ben önce stream=false ile mantığı kurup, sonra akışa geçmeni öneriyorum.

Python ile Entegrasyon: Mantığı Bir Kez Kur, Her Yerde Kullan

Python tarafında benim önerim şu: Önce en küçük "çalışıyor mu?" prototipini kur. Sonra aynı mantığı web uygulamasına taşı. Ollama Cloud Python dokümanı burada: https://docs.ollama.com/cloud#python

Kullandığımız Python paketi: https://github.com/ollama/ollama-python

Python tarafında temel fikir:

  • İstemciyi host="__URL_21__" ile bulut'a yönlendir
  • Header'a Authorization: Bearer ... koy
  • chat() çağrısında model ve mesajları gönder

Minimal örnek:

import os
from ollama import Client

client = Client(
    host="__URL_22__",
    headers={"Authorization": f"Bearer {os.environ['OLLAMA_API_KEY']}"},
)

resp = client.chat(
    model="gpt-oss:120b",
    messages=[{"role": "user", "content": "RAG nedir? 5 maddeyle anlat."}],
    stream=False,
)

print(resp["message"]["content"])

Burada mesaj formatı çok önemli. Mesajlar bir liste ve her mesajın role alanı var (örneğin user). Gerçek uygulamada konuşma geçmişi tutarsın: Önceki mesajları da yeni promptla birlikte gönderirsin. Bu sayede model bağlamı "hatırlar". Ama şu riski unutma: Konuşma geçmişi uzadıkça belirteç sayısı artar; bu da gecikmeyi artırabilir. Bu yüzden pratik bir yöntem: Geçmişi sınırlamak veya kritik noktaları özetleyip "memory" gibi göndermek.

Hata senaryolarını ders notu gibi düşünelim:

  • 401 Unauthorized: API key yanlış veya header formatı hatalı. İlk kontrol: ortam değişkeni + auth dokümanı.
  • 404 / model not found: Model adı erişilebilir değil; önce /api/tags ile listeyi kontrol et.
  • Timeout/slow: Çok büyük model veya yoğunluk; daha küçük modelle dene, istekleri azalt, akış kullan.

Bu üç hata tipi, pratikte en sık görülenler. Eğitimde de özellikle "önce tags, sonra sohbet" mantığını vurguluyorum.

depo Walkthrough: İki Bağımsız Örnekle Öğrenmeyi Hızlandırmak

Eğitimi izleyip "tamam anladım" demek kolay. Asıl değer, iki örneği çalıştırıp sonuçları yorumlamakta. depo içinde üç kritik dosya var: requirements.txt, compare_models.py, app.py. Bu üçü birlikte "deneme -> karşılaştırma -> demo" akışını tamamlıyor.

Önce bağımlılıkları kurmak ve örnekleri çalıştırmak için pratik komutlar:

pip install -r requirements.txt
python compare_models.py
streamlit run app.py

Şimdi iki örneği tek tek ders notu gibi inceleyelim.

compare_models.py ne yapıyor? Bu betik "model seçimi" problemine pratik bir yaklaşım getiriyor. İçindeki iki yapı çok önemli:

  • MODELS: Karşılaştırılacak model listesi (ör. gpt-oss:20b, gpt-oss:120b, qwen3-coder:480b)
  • TASKS: Modelin cevap vermesini istediğin yapılandırılmış görevler

Scriptin yaklaşımı şu: Her modele aynı görevleri sorar, yanıt süresini ölçer ve basit bir kalite skoru çıkarır. Bu skor bir hakem değil; bir "erken sinyal". Skorun mantığı dosyada açık:

  • Anahtar kelime kapsama skoru (0-60): Görev için kritik kelimeleri geçiriyor mu?
  • Format skoru (0-40): Maddeleme var mı, satır sayısı makul mü, yanıt uzunluğu yeterli mi?

Skorun amacı şu: Hızlıca "bu model talimatları takip ediyor mu?" sorusuna yaklaşmak. Ama karar verirken mutlaka raporu okuyacaksın. betik, tüm çıktıları model_comparison_report.md dosyasına yazar. Bu dosyayı açıp yanıtları yan yana okumak, gerçek kalite farkını görmenin en iyi yoludur.

Bu betiği kendi senaryona uyarlamak için pratik öneriler:

  • Kendi işine uygun 3-5 görev ekle (Türkçe özetleme, kod üretimi, e-posta yazma, hata ayıklama vb.).
  • MODELS listesini /api/tags ile gördüğün erişilebilir modellere göre güncelle.
  • Skorun "tek ölçüt" olmadığını unutma; raporu mutlaka oku.

Şimdi ikinci örnek: app.py. Bu dosya Streamlit ile basit bir web arayüzü kuruyor. Bu demo, özellikle öğrenme ve manuel test için çok değerli. Çünkü CLI'de hızlı denersin ama bazen promptları düzenlemek, farklı formatları denemek, çıktıyı kopyalayıp incelemek tarayıcıda daha rahattır.

Uygulamanın akışı:

  • API key'i ortamdan alır veya kullanıcıdan ister.
  • bulut'dan model listesini çeker ve seçim sunar.
  • Prompt gönderilir, cevap ekranda gösterilir.

Bu yapının asıl öğretici tarafı şudur: Modeli "hardcode" etmek yerine listeden seçtirmek. Böylece erişilebilir modeller değişse bile uygulama dayanıklı olur. Bu, üretim sistemlerinde de çok işe yarayan bir alışkanlıktır.

Uygulamayı geliştirmek istersen, başlangıç için birkaç fikir:

  • Konuşma geçmişi (sohbet geçmişi) ekle: Önceki mesajları saklayıp tekrar gönder.
  • akış yanıt ekle: Cevap yazılıyor gibi görünsün.
  • Prompt şablonları ekle: "özetle / maddele / kod yaz" gibi hazır butonlar.
  • Çıktıyı kaydet: Prompt ve cevapları logla, sonra analiz et.

Sık Yapılan Hatalar ve Pratik Çözümler

Bu bölüm gerçek hayatın özeti: Hata alırsın ve çözersin. Ben en sık şunları görüyorum:

  • 401 Unauthorized: API key yok, yanlış veya header formatı hatalı. Önce Authentication dokümanına bak, sonra ortam değişkenini kontrol et.
  • Model bulunamadı: Model adı erişilebilir değil. İlk adım: /api/tags ile modelleri listele ve doğru adı seç.
  • Çok yavaş yanıt: Büyük model veya yoğunluk olabilir. Daha küçük model dene, promptu kısalt, akış kullanmayı düşün.
  • Virtualenv karışıklığı: Farklı Python ortamına kurulum yapılıyor. En temiz yöntem: venv aç, sonra pip install -r requirements.txt.
  • Türkçe karakterler bozuk görünüyor: Kopyalama yaparken HTML editör modu dışında yapıştırmış olabilirsin. Blogger'da HTML görünümünde yapıştırmak genelde en sorunsuz yoldur.

Bu hataların ortak mesajı şu: Önce bağlantı ve yetkiyi doğrula, sonra model listesini doğrula, en son uygulama kodunu kurcala. Bu sırayla ilerlemek zamandan tasarruf ettirir.

Sık Sorulan Sorular (SSS)

Bu eğitimden sonra en çok gelen soruları kısa ve net cevaplayayım. Buradaki amaç "ezber" değil; doğru kontrol noktalarını öğretmek.

  • Ollama Cloud ücretsiz mi? Çoğu kişi bulutu "hızlı deneme" için kullanıyor. Ancak limit/politikalar zaman içinde değişebilir. En güncel bilgi için bulut sayfasını kontrol et.
  • Hangi modeller var, hangisini seçmeliyim? "Şu model kesin var" diye varsayma. Önce /api/tags ile listeyi gör. Seçimi rubrikle yap: talimat takibi, tutarlılık, hız, Türkçe kalitesi ve senin senaryona uygunluk.
  • CLI'de -bulut var ama API'de yok, neden? CLI ve API tarafında isimlendirme farklı görünebilir. Uygulama tarafında modeli listeden seçtirmen bu sorunu pratikte çözer.
  • ollama signin ile API key aynı şey mi? Hayır. ollama signin daha çok CLI akışı için oturum açma mantığıdır. API tarafında ise genelde API key + Bearer header ile çalışırsın. Detay için Authentication sayfasına bak.
  • Veri gizliliği açısından neye dikkat etmeliyim? Kural basit: Hassas veriyi göndermeden önce mutlaka politika/şartları oku ve kurumunun kurallarına göre hareket et. Eğitim ve demo sırasında gerçek müşteri verisi yerine sentetik/anonim veri kullanmak iyi bir alışkanlıktır.
  • Türkçe karakterler bozuk görünürse? Genelde iki sebep olur: dosya encoding'i veya Blogger'a yapıştırma modu. Bu dosya UTF-8 olarak hazırlanmıştır. Blogger'da HTML modunda yapıştırmak çoğu zaman sorunu çözer.

Mini Çalışma: Kendi Deneme Setini Oluştur

Bu yazıyı gerçekten değerli kılmak için sana küçük bir "ödev" seti bırakmak istiyorum. Eğer bir modeli seçmek istiyorsan, şu üç tip prompt hazırla:

  • Format testi: "5 maddeyle anlat, her madde 1 cümle olsun" gibi.
  • Akıl yürütme testi: "Adım adım açıkla" gibi.
  • Senaryo testi: "Benim işim şu, bana bir taslak çıkar" gibi.

Sonra aynı üç promptu üç farklı modelde dene. Karşılaştırma yaparken sadece "doğru mu?" diye bakma; rubriğe geri dön: Talimat takibi, tutarlılık, okunabilirlik ve hız. Bu küçük alışkanlık, öğrenme sürecini hızlandırır ve model seçimini daha sağlam yapar.

Benim Önerdiğim Deneme Stratejisi

Eğer bir proje için model seçeceksem ben genelde şu akışla ilerliyorum:

  • Önce 2-3 aday model belirlerim (biri hızlı/küçük, biri büyük/kaliteli, biri kod odaklı vb.).
  • compare_models.py ile hızlı karşılaştırma yaparım.
  • Rapor dosyasından cevapları okur, talimat takibi ve tutarlılığa bakarım.
  • Seçtiğim 1-2 modeli app.py ile manuel prompt testine sokarım.
  • Sonra uygulama entegrasyonuna geçerim (Python client ile).

Bu akışın güzelliği şu: Model seçimi "hissiyat" değil, kısa ama sistematik bir deneme sürecine dayanıyor. Üstelik bunu donanım yatırımı yapmadan başlatabiliyorsun.

Videoyu ve Kodları Burada Bulabilirsin

YouTube eğitim kaydı: https://youtube.com/live/QEZ8oF4A68k

GitHub deposu (README ve örnek kodlar): https://github.com/kmkarakaya/OllamaCloud

Resmi kaynaklar:

Kapanış

Ben bu eğitimi, "donanımım yetmiyor" bahanesinin seni açık kaynak LLM denemekten uzaklaştırmaması için hazırladım. Ollama Cloud ile hem farklı modelleri hızlıca deneyebilir, hem de seçtiğin modeli Python tarafında gerçek bir uygulamaya bağlayabilirsin.

Eğer sen de açık kaynak LLM'leri hızlıca denemek, karşılaştırma yapmak ve pratik bir akış kurmak istiyorsan videoyu izle, depo içindeki örnekleri çalıştır, sonra kendi senaryona uyarlayıp geliştirmeye başla. Benzer içerikler için Murat Karakaya Akademi'yi takip etmeyi unutma.

Thursday, January 22, 2026

Google Gemma 3: Türkçe Destekli Açık Kaynak Yapay Zeka Devrimi

Google Gemma 3: Türkçe Destekli Açık Kaynak Yapay Zeka Devrimi

Merhabalar arkadaşlar, hoş geldiniz. Bugün sizlerle Google DeepMind tarafından yayınlanan ve yapay zeka dünyasında, özellikle açık kaynak modeller tarafında büyük ses getiren Gemma 3 modelini derinlemesine inceleyeceğiz.

Biliyorsunuz, açık kaynak dünyası hızla gelişiyor ancak Türkçe dil desteği konusunda her zaman bazı kısıtlarla karşılaşıyorduk. Gemma 3, 128.000 token bağlam penceresi (context window) ve resmi Türkçe desteği ile oyunun kurallarını değiştiriyor olabilir. Peki, 4 milyar parametreli "küçük" bir model, 27 milyarlık abileriyle veya ChatGPT gibi devlerle yarışabilir mi? Gelin, teknik detaylara ve performans testlerine birlikte bakalım.

Bu konuyu uygulamalı olarak görmek, kodları adım adım takip etmek ve modelin canlı performans testlerini izlemek için videoyu izlemenizi şiddetle öneririm:

Bu Eğitimde Neler Öğreneceksiniz?

  • Gemma 3'ün teknik mimarisi ve getirdiği yenilikler (Multimodal yapı).
  • Modelin Türkçe dil performansı, mantık ve muhakeme yetenekleri.
  • 4B ve 27B modellerin donanım gereksinimleri (VRAM tüketimi).
  • Açık kaynak modellerin yerel bilgisayarda çalıştırılması.
  • RAG ve Agent (İş Gören) sistemlerinde kullanım potansiyeli.

Gemma 3 Nedir ve Neden Önemli?

Google'ın "Gemma" serisi, aslında kapalı kaynak olan Gemini modellerinin teknolojisiyle üretilmiş, ağırlıkları (weights) halka açılmış versiyonlarıdır. Gemma 3 ile birlikte Google, sadece ağırlıkları değil, teknik raporu da yayınlayarak şeffaflık konusunda önemli bir adım attı.

Bu modelin en çarpıcı özelliği Multimodal (Çok Modlu) olmasıdır. Yani modele hem metin hem de görsel verip, metin çıktısı alabilirsiniz. Ayrıca daha önceki versiyonlarda 8K olan bağlam penceresi, Gemma 3 ile 128K seviyesine çıkarılmış. Bu, yaklaşık olarak yüzlerce sayfalık bir kitabı tek seferde modele verip üzerinde konuşabileceğiniz anlamına gelir.

Türkçe Performansı ve Tokenizer Devrimi

Videodaki testlerimizde gördük ki, Gemma 3 özellikle Türkçe konusunda çok başarılı. Bunun arkasındaki temel sebep, Google'ın Tokenizer yapısını değiştirmesidir. Eski modeller genellikle İngilizce ağırlıklı eğitildiği için Türkçe kelimeleri çok fazla parçaya bölüyor ve anlam bütünlüğünü kaybedebiliyordu. Gemma 3, 140 dili kapsayan özel eğitim setiyle Türkçeyi "anadil" seviyesine yakın bir akıcılıkta işliyor.

Mantık ve Muhakeme Testleri

4 milyar parametreli (4B) versiyonu 4-bit quantize edilmiş haliyle test ettik. Şaşırtıcı sonuçlar aldık:

  • Oğuz Atay Özeti: "Tutunamayanlar" kitabından ağır bir paragrafı başarıyla ve felsefi derinliği koruyarak özetledi.
  • Mantık Soruları: Klasik "kuruyan gömlek" veya "otobüs durağı" sorularında, kendisinden çok daha büyük modellerin (hatta bazen GPT-4 seviyesindeki modellerin) düştüğü tuzaklara düşmedi. Kendi hatasını fark edip düzeltebilen bir yapı sergiledi.

Kodlama ve Teknik Kurulum

Gemma 3'ü yerel bilgisayarınızda çalıştırmak için Unsloth, Hugging Face Transformers veya Ollama kullanabilirsiniz. 4B modeli çalıştırmak için yaklaşık 7-8 GB VRAM (veya RAM) yeterli oluyor. Bu da ortalama bir oyun bilgisayarında veya Apple Silicon işlemcili bir Mac'te rahatlıkla çalışabileceği anlamına gelir.

Aşağıda, modeli Python ortamında `unsloth` kütüphanesi ile nasıl yükleyebileceğinize dair basit bir örnek paylaşıyorum:

from unsloth import FastLanguageModel
import torch

# 4-bit quantization ile modeli yükle (Daha az bellek kullanımı için)
max_seq_length = 2048
dtype = None 
load_in_4bit = True 

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/gemma-3-4b-it-bnb-4bit", 
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
)

# Inference (Tahmin) Moduna Al
FastLanguageModel.for_inference(model)

# Prompt Formatı
messages = [
    {"role": "user", "content": "Bana Python'da bir QuickSort algoritması yazabilir misin?"},
]

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize = True,
    add_generation_prompt = True,
    return_tensors = "pt",
).to("cuda")

# Çıktı Üret
outputs = model.generate(input_ids = inputs, max_new_tokens = 1024, use_cache = True)
print(tokenizer.batch_decode(outputs)[0])

Bu kod bloğu, Unsloth kütüphanesinin optimize edilmiş yapısını kullanarak modeli çok daha hızlı ve az bellek tüketerek çalıştırmanızı sağlar.

Sıkça Sorulan Sorular (SSS)

1. Gemma 3 tamamen ücretsiz mi?
Evet, Gemma 3 açık ağırlıklı (open weights) bir modeldir. Ticari kullanım şartlarına (Google'ın lisansına) uymak kaydıyla projelerinizde ücretsiz kullanabilirsiniz.

2. ChatGPT yerine kullanılabilir mi?
Günlük sohbetler için ChatGPT daha geniş bir genel kültüre sahip olabilir. Ancak veri gizliliğinin önemli olduğu şirket içi projelerde, RAG (Retrieval Augmented Generation) sistemlerinde ve yerel "Agent" (İş Gören) uygulamalarında Gemma 3 harika bir alternatiftir.

3. Hangi donanıma ihtiyacım var?
4 milyar parametreli (4B) modeli çalıştırmak için 8GB RAM/VRAM yeterlidir. 27 milyar parametreli (27B) versiyonu verimli çalıştırmak için ise RTX 3090 veya 4090 gibi en az 24GB VRAM'e sahip kartlar önerilir.

Sonuç

Özetle, Google Gemma 3, özellikle Türkçe doğal dil işleme projeleri geliştirmek isteyen mühendisler, öğrenciler ve araştırmacılar için muazzam bir fırsat. Açık kaynak olması, yerelde çalışabilmesi ve mantıksal çıkarım yeteneğinin boyutuna göre çok yüksek olması onu öne çıkarıyor. Projelerinizde API maliyetlerinden kurtulmak ve verinizi dışarı çıkarmadan işlemek istiyorsanız, Gemma 3'ü mutlaka test etmelisiniz.

Daha Fazlasını Keşfedin:
Yapay zeka, Büyük Dil Modelleri (LLM) ve yazılım dünyasındaki en güncel gelişmeleri teknik derinlikle öğrenmek için Murat Karakaya Akademi YouTube kanalına abone olun.

Kanalı Ziyaret Et & Abone Ol 🚀

#MuratKarakayaAkademi #Gemma3 #YapayZeka #LLM #DeepLearning #Python

Llama 4: 10 Milyon Token, MoE Mimarisi ve Gerçekler

Llama 4: 10 Milyon Token, MoE Mimarisi ve Gerçekler

Merhaba değerli okuyucularım. Meta AI tarafından geliştirilen ve yapay zeka dünyasında büyük ses getiren Llama 4 modelleri nihayet duyuruldu. Özellikle "Scout" ve "Maverick" gibi kod adlarıyla piyasaya sürülen bu yeni nesil modeller, kağıt üzerinde muazzam yetenekler vaat ediyor. Ancak bir akademisyen ve mühendis gözüyle baktığımızda, bu modeller gerçekten anlatıldığı kadar erişilebilir ve "açık kaynak" mı? Bu yazımda, Llama 4'ün teknik detaylarını, Mixture of Experts (MoE) mimarisini ve Türkiye'deki kullanıcılar için ne anlama geldiğini laboratuvar notlarım eşliğinde sizlerle paylaşacağım.

Konuyu daha derinlemesine kavramak ve canlı yayında yaptığım performans testlerini (kodlama, mantık ve Türkçe kültürü soruları) adım adım takip etmek için aşağıdaki eğitim videosunu mutlaka izlemenizi öneririm:

Llama 4 Ailesi: Devlerin Savaşı

Meta AI bu sefer karşımıza tek bir modelle değil, devasa bir aileyle çıktı. Ancak baştan uyarayım; "küçük" dediğimiz model bile aslında bir dev. Modelleri şöyle sınıflandırabiliriz:

  • 🚀 Llama 4 Scout (Öncü): Yaklaşık 110 milyar parametreye sahip. En dikkat çekici özelliği 10 Milyon Token Context Window (Bağlam Penceresi) sunması. Bu, yaklaşık 8.000 sayfalık bir kitabı tek seferde hafızasında tutabilmesi demek.
  • 🦅 Llama 4 Maverick (Başıbozuk): 400 milyar parametreli devasa bir model. Özellikle karmaşık akıl yürütme (reasoning) görevleri için tasarlandı.
  • 🦖 Behemoth (Dev): Henüz eğitimi devam eden, yaklaşık 2 trilyon parametreli "canavar" model. Diğer modeller aslında bu dev modelin ara çıktılarından damıtılarak (distillation) oluşturulmuş durumda.

Teknolojik Altyapı: Mixture of Experts (MoE) Nedir?

Llama 4 ile Meta, mimari bir değişikliğe giderek Mixture of Experts (Uzmanların Karışımı) yapısını benimsedi. Daha önceki Llama modelleri (Dense) tek bir büyük blok halindeyken, Llama 4'te işler değişti.

Bu yapıyı şöyle hayal edebilirsiniz: Elinizde her işten anlayan tek bir kişi yerine, her biri farklı konuda (fizik, kodlama, edebiyat vb.) uzmanlaşmış 16 kişilik bir ekip var. Sisteme bir soru geldiğinde, bir "Router" (Yönlendirici) devreye giriyor ve soruyu en iyi çözebilecek uzmana iletiyor.

Neden Önemli?

  • Verimlilik: 110 milyar parametrenin hepsi aynı anda çalışmıyor. Örneğin Scout modelinde, her token üretimi için sadece belirli uzmanlar aktif oluyor. Bu da inference (çıkarım) hızını artırıyor.
  • Uzmanlaşma: Her bir "uzman" sinir ağı, veri setinin belli bir bölümünde daha yetkin hale geliyor.

Ev Kullanıcısı İçin Kötü Haber: Donanım Gereksinimleri

Videoda da detaylıca bahsettiğim gibi, "Açık Kaynak" olması bu modeli hemen indirip evdeki bilgisayarınızda çalıştırabileceğiniz anlamına gelmiyor. Gerçekler biraz acı:

Scout modeli (110B) bile, 8-bit quantization ile çalıştırılsa dahi tek bir Nvidia RTX 4090'a (24GB VRAM) sığmaz. Bu modeli ayağa kaldırmak için en az:

- Minimum 70-80 GB VRAM (Sadece modeli yüklemek için)
- 10 Milyon Token Context kullanacaksanız çok daha fazlası (KV Cache şişmesi)
- Pratikte: Nvidia H100 (25-30 Bin Dolar) veya çoklu GPU kurulumu

Eğer bir KOBİ veya bireysel geliştiriciyseniz, şu aşamada Gemma 2 (27B veya 9B) gibi daha optimize ve tek GPU dostu modelleri tercih etmeniz çok daha mantıklı olacaktır.

Lisans ve Erişim Sorunları: Gerçekten "Açık" mı?

Yayında canlı olarak denediğimizde gördük ki, Llama 4'ü indirmek Hugging Face üzerinden tek tıkla mümkün olmuyor. Meta, katı lisans kuralları ve onay mekanizmaları getirmiş. Özellikle:

  • Ticari kullanımda "Built with Llama" logosu zorunluluğu.
  • Modelin çıktılarını kullanarak başka modelleri eğitirken orijinal lisansı koruma şartı.
  • Onay süreçlerindeki belirsizlikler (Bazı kullanıcılara anında onay verilirken, bazı bölgelerdeki veya profillerdeki kullanıcılara erişim verilmemesi).

Bu durum, Llama'nın "Open Weights" (Açık Ağırlıklar) felsefesini biraz zedeliyor. Tam erişim için kurumsal bir kimlik veya onaylı bir araştırma geçmişi gerekebilir.

Performans Testleri: Türkçe ve Mantık Soruları

Yayında Grok API üzerinden Scout modelini test etme şansı bulduk. Sonuçlar karmaşıktı:

✅ Başarılı Olduğu Alanlar:

  • Kodlama: Python ile çekiliş kodu yazma ve JSON çıktısı üretme konusunda oldukça hızlı ve başarılıydı.
  • Hız: Grok altyapısı üzerinde (LPU'lar sayesinde) inanılmaz bir token üretim hızı var.
  • Finansal Hesaplama: Karmaşık faiz/getiri hesaplama sorusunu doğru yanıtladı.

❌ Başarısız Olduğu Alanlar (Halüsinasyonlar):

  • Kültürel Sorular: "Nasrettin Hoca göle neden maya çaldı?" veya "Keloğlan neden keldir?" gibi kültürel sorulara tamamen uydurma (halüsinasyon) cevaplar verdi.
  • Yerel Bilgi: Türkiye'nin il sayısını bile karıştırdı, olmayan futbol takımı lakapları uydurdu.
  • Sonuç: Model çok dilli (Multilingual) olduğunu iddia etse de, Türkçe kültürel derinliği henüz bir ChatGPT veya Gemini seviyesinde değil.

Sonuç: Kimler Kullanmalı?

Llama 4, teknolojik olarak (özellikle MoE ve Context Window açısından) büyük bir mühendislik başarısı. Ancak:

  1. Evinizde H100 GPU'nuz yoksa yerel (local) olarak çalıştıramazsınız.
  2. Türkçe dil desteği teknik konularda iyi olsa da, kültürel konularda zayıf.
  3. Büyük ölçekli kurumsal AR-GE projeleri için uygun, bireysel kullanım için fazla maliyetli.

Benim önerim; eğer yerel bir model arıyorsanız Google Gemma serisi veya Mistral modelleri şu an için fiyat/performans açısından daha erişilebilir seçenekler sunuyor.

Daha fazla içerik, kodlama örnekleri ve düzenli yapay zeka eğitimleri için Murat Karakaya Akademi YouTube kanalımı ziyaret etmeyi ve abone olmayı unutmayın:
👉 https://www.youtube.com/@MuratKarakayaAkademi

#MuratKarakayaAkademi #Llama4 #YapayZeka #LLM #BüyükDilModelleri #OpenSourceAI #DerinÖğrenme #Python #Yazılım

Türkçe İçin Ücretsiz ve Güçlü Bir Alternatif: Qwen 3 ve Açık Kaynak LLM Devrimi

Türkçe İçin Ücretsiz ve Güçlü Bir Alternatif: Qwen 3 ve Açık Kaynak LLM Devrimi

Murat Karakaya Akademi'ye hoş geldiniz. Değerli arkadaşlar, bu akşamki yazımızda, henüz geçen hafta yayınlanan ve yapay zeka dünyasında kartları yeniden dağıtmaya aday olan Qwen 3 model ailesini derinlemesine inceleyeceğiz. Çin menşeli Alibaba grubunun geliştirdiği bu model, sadece performansıyla değil, sunduğu mimari yeniliklerle de dikkat çekiyor.

Canlı yayında gerçekleştirdiğimiz testler, benchmark sonuçları ve teknik analizlerle şu sorulara yanıt arayacağız: Qwen 3 bize neler vaat ediyor? "Mixture of Experts" (MoE) mimarisi nedir ve neden önemlidir? En önemlisi, bir Türk mühendisi veya araştırmacısı olarak bu modeli kendi bilgisayarımızda (lokalimizde) çalıştırıp Türkçe projelerde verimli bir şekilde kullanabilir miyiz? Gelin, teknik detaylara inelim.

1. Qwen 3 Ailesi ve Model Çeşitliliği: Devler ve Cüceler

Qwen 3, tek bir modelden ziyade bir "aile" olarak karşımıza çıkıyor. Bu ailede, devasa veri merkezlerinde çalışacak büyük modellerden, tarayıcı içinde (Web Browser) çalışabilecek kadar küçük modellere kadar geniş bir yelpaze mevcut.

Büyük Abiler: MoE Mimarisi

Listenin tepesinde 235 Milyar parametreli devasa bir model var. Ancak burada dikkat etmemiz gereken nokta, bu modelin bir Mixture of Experts (MoE), yani "Uzmanların Karışımı" yapısında olmasıdır. Bu mimaride, modelin tamamı her işlemde çalışmaz; sadece ilgili "uzmanlar" devreye girer. Örneğin Qwen 3'ün bu dev modelinde, aktif olarak çalışan parametre sayısı yaklaşık 22 Milyardır. Bu sayede, çok daha büyük bir modelin zekasına sahip olurken, çok daha az donanım kaynağı tüketirsiniz.

Küçük ve Hızlı Modeller: Dense Yapısı

Ailenin diğer üyeleri ise bildiğimiz "Dense" (Yoğun) modellerdir. Bunlar arasında 32B, 14B, 8B, 4B ve hatta 1.7B parametreli versiyonlar bulunuyor. Canlı yayında özellikle üzerinde durduğum 4 Milyar (4B) ve 8 Milyar (8B) parametreli modeller, evlerimizdeki standart oyuncu bilgisayarlarında (örneğin RTX 3060 gibi kartlarda) bile rahatlıkla çalışabiliyor.

Hatta 0.6 Milyar (600M) parametreli o kadar küçük bir versiyon var ki, bunu doğrudan web tarayıcınızın içinde, hiçbir kurulum yapmadan JavaScript tabanlı olarak çalıştırabiliyorsunuz. Bu, uç cihazlarda (Edge AI) yapay zeka kullanımı için muazzam bir gelişme.

2. Teknik Derinlik: Mixture of Experts (MoE) Nedir?

Yayınlarımızda sıkça değindiğimiz, ancak Qwen 3 ile tekrar gündeme gelen MoE mimarisini biraz daha açalım. Geleneksel "Dense" modellerde, bir soru sorduğunuzda modelin tüm nöronları (parametreleri) o soruyu cevaplamak için ateşlenir. Bu, büyük modellerde inanılmaz bir işlem gücü gerektirir.

MoE yapısında ise, modelin içinde farklı "Uzman Ağlar" (Experts) bulunur. Bunların başında bir Router (Yönlendirici) yer alır. Router, gelen sorunun niteliğine göre (matematik mi, edebiyat mı, kodlama mı?) hangi uzmanların devreye gireceğine karar verir. Genellikle 64 veya 128 uzmandan sadece 2 veya 8 tanesi aktif edilir.

Önemli Bir Yanılgı: Literatürde bunlara "Uzman" denilse de, son yapılan akademik çalışmalar (OpenAI ve Anthropic makaleleri), bu uzmanların bizim anladığımız anlamda "Matematikçi", "Tarihçi" gibi net ayrımları olmadığını gösteriyor. Aynı soruya farklı zamanlarda farklı uzmanlar cevap verebiliyor. Yine de bu yöntem, hesaplama maliyetini (Inference Cost) düşürmek için şu an elimizdeki en iyi teknoloji.

3. "Düşünen" Modeller (Reasoning/Thinking Models)

OpenAI'ın o1 modelinden sonra hayatımıza giren "Thinking" (Düşünme/Muhakeme) konsepti, Qwen 3'te de mevcut. Bu modeller, size hemen cevap vermek yerine, arka planda bir "Düşünce Zinciri" (Chain of Thought) oluşturuyor. Kendi kendine konuşuyor, strateji belirliyor, hata yaparsa düzeltiyor ve en sonunda size nihai cevabı sunuyor.

Qwen 3'ün güzel yanı, bu özelliğin açılıp kapatılabilir (toggle) olması. Bir kod yazarken veya zor bir matematik problemi çözerken "Thinking" modunu açabilir, basit bir "Merhaba" dedirtmek için kapatabilirsiniz. Ancak testlerimizde gördük ki, "Thinking" modu çok fazla token harcıyor (dolayısıyla maliyeti artırıyor) ve bazen basit sorularda bile gereksiz döngülere (loop) girerek süreci uzatabiliyor.

4. Kurulum ve Kullanım: Ollama ve Open WebUI

Bu modelleri kullanmak için dev sunuculara ihtiyacınız yok. Benim eğitimlerimde de sıkça önerdiğim Ollama aracı ile Qwen 3'ü saniyeler içinde bilgisayarınıza indirebilirsiniz.

Adım 1: Ollama Kurulumu
Ollama'nın resmi sitesinden işletim sisteminize uygun sürümü indirin.

Adım 2: Modeli İndirme ve Çalıştırma
Terminal veya PowerShell ekranını açarak şu komutu girmeniz yeterli (Örneğin 4B modeli için):

ollama run qwen3:4b

Eğer siyah terminal ekranında çalışmak istemiyorsanız, Open WebUI arayüzünü Docker üzerinden kurarak, ChatGPT benzeri modern bir arayüze sahip olabilirsiniz. Open WebUI sayesinde:

  • Farklı modelleri aynı anda yarıştırabilirsiniz.
  • Doküman yükleyip (RAG) soru sorabilirsiniz.
  • İnternet araması yaptırabilirsiniz.

5. Türkçe Performans Testleri ve Benchmark Sonuçları

Gelelim en can alıcı noktaya: Bu model Türkçe biliyor mu? Kurumlarımızda kullanabilir miyiz?

Yayında, kendi hazırladığım "Toy Benchmark" (Basit Test Seti) ile Qwen 3'ün 4B ve 8B modellerini zorladım. Sonuçlar biraz karışık:

  • Kelime Sıralama: Modeller basit kelime sıralama işlerinde bile zorlandı.
  • Mantık Soruları: Klasik "Güneşte 3 gömlek 1 saatte kurursa, 10 gömlek kaç saatte kurur?" sorusunda 4B model, lineer mantık kurarak "3 saatte kurur" gibi hatalı (veya matematiksel işlem yapmaya çalışarak) cevaplar verdi. "Thinking" modunu açtığımızda ise sayfalarca düşünüp yine saçmaladığı anlar oldu.
  • Edebi Metin Analizi: Oğuz Atay'dan aldığımız karmaşık bir paragrafı analiz ederken, 8B modelin daha başarılı çıkarımlar yaptığını, ancak 4B modelin metni yanlış yorumladığını (yapmak/yapmamak gibi olumsuzluk eklerini karıştırdığını) gördük.

Karşılaştırma: Google'ın Gemma 2 veya Gemma 3 modelleri, Türkçe dil bilgisi ve mantık yürütme konusunda Qwen 3'ün küçük modellerine kıyasla daha stabil sonuçlar veriyor. Qwen 3, özellikle 4B ve 8B seviyesinde, Türkçe mantık sorularında beklediğimiz "zeki" davranışı tam olarak sergileyemedi.

6. Eğitim Metodolojisi ve Veri Seti Tartışması

Qwen 3, 30-36 Trilyon Token gibi muazzam bir veri setiyle eğitilmiş. Karşılaştırma yapmanız açısından; GPT-4 döneminde konuşulan rakamlar 10-12 Trilyon civarındaydı. Peki bu kadar veri nereden geldi?

Teknik raporda "PDF-like documents" (PDF benzeri dokümanlar) ve OCR (Görüntüden metin okuma) teknolojilerinin kullanıldığı belirtiliyor. Benim şahsi tahminim ve endişem, internette halka açık olmayan, kütüphanelerdeki fiziksel kitapların veya telifli içeriklerin de taranarak bu veri setine dahil edilmiş olabileceği yönünde. Çünkü internetteki kaliteli metin verisi 12 Trilyon token civarında sınırlanıyor. Bu durum, gelecekte telif hakları konusunda baş ağrıtabilir.

Eğitim süreci üç aşamada gerçekleşmiş:

  1. Pre-training: Temel dil becerilerinin kazanılması.
  2. Post-training: Matematik, kodlama ve muhakeme yeteneklerinin, sentetik verilerle (daha büyük modellerin ürettiği verilerle) modele öğretilmesi.
  3. Distillation (Damıtma): 235B'lik dev modelin bilgisinin, öğretmen-öğrenci ilişkisiyle küçük modellere aktarılması.

Sonuç: Hangi Modeli Seçmeliyiz?

Özetle; eğer donanımınız kısıtlıysa ve Türkçe NLP (Doğal Dil İşleme) projeleri yapacaksanız, Qwen 3'ü mutlaka test edin ancak Gemma serisini de alternatif olarak cebinizde tutun. Büyük ölçekli kurumsal projeler için ise Qwen 3'ün 32B veya 72B (varsa) versiyonları, kapalı kaynak modellerle (GPT-4o, Gemini) yarışabilecek düzeyde.

Türkiye olarak kendi dil modelimizi eğitememiş olsak da, açık kaynak dünyası bize bu teknolojiyi "al ve kullan" şeklinde sunuyor. Bize düşen, bu modelleri indirip, ince ayar (Fine-Tuning) yaparak veya RAG sistemleri kurarak kendi problemlerimize çözüm üretmektir.

Bu tür derinlemesine teknik analizlerin devamı için kanala abone olmayı ve yorumlarda deneyimlerinizi paylaşmayı unutmayın. Hepinize verimli kodlamalar dilerim.

#MuratKarakayaAkademi #Qwen3 #YapayZeka #LLM #Ollama #OpenWebUI #AcikKaynakAI

Wednesday, January 21, 2026

Kurumlar İçin Açık Kaynak Büyük Dil Modelleri: Güvenlik, Maliyet ve Yerel Kurulum Rehberi

Kurumlar İçin Açık Kaynak Büyük Dil Modelleri: Güvenlik, Maliyet ve Yerel Kurulum Rehberi

Murat Karakaya Akademi'ye hoş geldiniz. Değerli arkadaşlar, bugünkü yazımızda özellikle kamu kurumları, savunma sanayi şirketleri ve verilerini dışarıya (Cloud) açmak istemeyen özel sektör firmaları için hayati bir konuyu ele alacağız: Açık Kaynak Büyük Dil Modellerinin (LLM) Kurumlarda Kullanımı.

Bu içerik, yakın zamanda Genelkurmay Başkanlığı tarafından düzenlenen Yapay Zeka Etkinliği'ne davetli konuşmacı olarak katıldığımda hazırladığım sunumun ve yaptığımız canlı yayın tartışmalarının genişletilmiş bir özetidir. Bir kurum, neden ChatGPT veya Gemini gibi hazır servisler yerine kendi sunucularında çalışan Llama, Qwen veya DeepSeek gibi açık kaynak modelleri tercih etmeli? Bunun maliyeti nedir? Donanım ihtiyaçları nelerdir? Gelin, bu soruların cevaplarını teknik detaylarıyla inceleyelim.

1. Neden Açık Kaynak? Güvenlik ve Şeffaflık İlkesi

Yazılım dünyasında "Open Source" (Açık Kaynak) kavramı yıllardır hayatımızda. Ancak konu Yapay Zeka olduğunda bu tercih, bir lüksten ziyade bir zorunluluğa dönüşüyor. Kapalı bir sistem kullandığınızda (örneğin OpenAI'ın GPT modelleri), o sistemin içinde ne döndüğünü, verinizin nasıl işlendiğini veya modelde bir "backdoor" (arka kapı) olup olmadığını bilmeniz mümkün değildir. Ancak açık kaynak modellerde:

  • Şeffaflık: Mimarisi, ağırlıkları (weights) ve eğitim metodolojisi açık olduğu için topluluk tarafından denetlenir. Hatalar veya açıklar çok daha hızlı kapatılır.
  • Veri Güvenliği: Modeli indirip kendi sunucunuza (On-Premise) kurduğunuzda, internet bağlantısını kesseniz bile çalışmaya devam eder. Bu, TSK, MİT veya bankacılık gibi hassas verilerle çalışan kurumlar için kritik öneme sahiptir.
  • Topluluk Desteği: DeepSeek gibi firmaların yayınladığı 50-60 sayfalık teknik makaleler sayesinde, tüm dünya bu modellerin nasıl eğitildiğini (örneğin pekiştirmeli öğrenme tekniklerini) öğreniyor ve üzerine koyarak geliştiriyor.

2. Kapalı Sistemlerde (Intranet) LLM Çalıştırma Altyapısı

Kurumların en büyük çekincesi genellikle "Bizim verimiz dışarı çıkmasın" şeklindedir. İntranet, yani internete kapalı iç ağlarda LLM çalıştırmak bugün mümkündür ve sandığınızdan daha erişilebilirdir. Bunun için şu araçları ve yöntemleri kullanıyoruz:

Hugging Face ve Model Ekosistemi

Modellerin "GitHub'ı" diyebileceğimiz Hugging Face, 200.000'den fazla modele ev sahipliği yapıyor. Buradan Llama 3, Gemma 2, Qwen veya Mistral gibi modelleri indirip, SafeTensors formatında kendi sisteminize çekebilirsiniz. Bir kez indirdikten sonra internete ihtiyacınız kalmaz.

Ollama ve Open WebUI

Benim eğitimlerimde ve kişisel kullanımımda en çok önerdiğim araç Ollama'dır. Kurulumu son derece basittir ve Linux, Windows veya Mac üzerinde çalışabilir. Ollama'nın üzerine kuracağınız Open WebUI gibi arayüzler sayesinde, çalışanlarınıza ChatGPT benzeri bir deneyimi, tamamen kurum içi sunucularınızdan sunabilirsiniz. Open WebUI, sadece bir sohbet botu değildir; doküman yükleme (RAG), internet araması yapma ve hatta Python kodu çalıştırma yeteneklerine sahip tam teşekküllü bir çalışma ortamıdır.

// Örnek: Ollama ile Model Çalıştırma
ollama run llama3

// Bu komut, modeli lokal bilgisayarınıza indirir ve çalıştırır. 
// Verileriniz asla dışarı çıkmaz.

3. Donanım ve Maliyet Analizi: GPU mu, Apple Silicon mı?

Kurumlar için en büyük soru işareti maliyettir. "Bulut ucuz, donanım pahalı" algısı her zaman doğru değildir. Bulut sistemlerde (Cloud), token başına veya kullanıcı başına sürekli ödeme yaparsınız ve maliyeti önceden kestirmek (özellikle Rate Limit aşımlarında) zordur. Kendi sunucunuzu kurduğunuzda ise bir defalık yatırım yaparsınız (CAPEX).

Sunumda da değindiğim gibi, donanım seçimi yaparken modelin boyutu (Parametre Sayısı) ve Quantization (Sıkıştırma) seviyesi önemlidir:

  • Giriş Seviyesi (Bireysel/Küçük Ekip): 7B - 14B parametreli modeller için (örneğin Llama 3 8B), Nvidia RTX 4080/4090 serisi kartlar veya 12-24 GB VRAM'e sahip sistemler yeterlidir.
  • Alternatif Bir Güç: Mac Studio: Apple'ın M serisi (M2/M3 Ultra) çipleri, "Unified Memory" mimarisi sayesinde RAM'i hem CPU hem GPU için ortak kullanır. 96 GB veya 192 GB RAM'li bir Mac Studio, Nvidia'nın yüz binlerce liralık sunucu kartlarının (A100, H100) yapabildiği "büyük model yükleme" işini çok daha az enerji tüketerek ve sessizce yapabilir. Eğitim (Training) için yavaş olabilir ama Çıkarım (Inference) için harika bir fiyat/performans ürünüdür.
  • Kurumsal Seviye (Büyük Ölçek): 70B ve üzeri modelleri yüzlerce kişiye aynı anda kullandırmak istiyorsanız, Nvidia A100/H100 gibi veri merkezi kartlarına ve bunları yönetecek vLLM gibi gelişmiş sunucu yazılımlarına ihtiyacınız olacaktır.

4. Uygulamalı Örnek: RAG ile Açık Kaynak İstihbarat (OSINT)

Videoda canlı bir demo gerçekleştirdim. Senaryomuz şuydu: Bir askeri karargahta veya istihbarat biriminde çalıştığınızı düşünün. Elinizde Çin yapımı "Wing Loong" İHA'ları hakkında yüzlerce sayfalık PDF teknik raporlar var. Bunları okuyup özetlemek günler sürer.

Open WebUI kullanarak bu dokümanları sisteme yükledik (RAG - Retrieval Augmented Generation). Modeli, internete kapalı bir ortamda bu dokümanlar üzerinden soru-cevap yapacak şekilde özelleştirdik. Sonuç muazzam: Model, 200 sayfalık dokümanın içinden "Kanat açıklığı ne kadar?", "Hangi ülkeler satın almış?", "Motor tipi nedir?" gibi soruları saniyeler içinde, sayfa referansı vererek yanıtladı.

Üstelik bunu yaparken "Gölge Yapay Zeka" (Shadow AI) riskine girmedik, verilerimizi OpenAI'a göndermedik. Tamamen lokal GPU gücümüzle, kendi "Knowledge Base"imizle çalıştık.

5. Gelecek Vizyonu ve Öneriler: "Baby Steps"

Kurumlara ve yöneticilere tavsiyem şudur: Dev sistemler kurmaya çalışarak işe başlamayın. Japonların dediği gibi "Baby Steps" (Bebek Adımları) ile ilerleyin.

  1. Önce küçük bir GPU'lu makine veya güçlü bir Mac Studio alın.
  2. Ollama ve Open WebUI kurarak küçük bir ekibe (pilot bölge) açın.
  3. Çalışanlarınızı, "Prompt Mühendisliği" ve sistemin yetenekleri konusunda eğitin.
  4. Trafiği ve kullanım alışkanlıklarını analiz ettikten sonra büyük sunucu yatırımlarına geçin.

Unutmayın, açık kaynak bir felsefedir. Bir tedarikçiye (Vendor Lock-in) bağımlı kalmadan, teknolojiyi kendi mutfağınızda pişirip sunmak, uzun vadede kurumunuza en büyük yetkinliği kazandıracaktır. Bu ekosistemi öğrenmek için kod yazmaktan, Docker ile uğraşmaktan, hata alıp düzeltmekten korkmayın.

Sonuç

Yapay zeka, robotik ve siber güvenlik üçlüsü geleceğin savunma doktrinlerini belirleyecek. Bizim de bu treni kaçırmamak için sadece kullanıcı değil, geliştirici ve uygulayıcı olmamız gerekiyor. Bu konuları daha derinlemesine tartıştığımız, teknik detaylara girdiğimiz ve birlikte kodladığımız eğitimlerimiz için kanala abone olmayı ve yorumlarda düşüncelerinizi paylaşmayı unutmayın.

Bir sonraki yazıda ve videoda görüşmek üzere, hepinize verimli çalışmalar dilerim.

#MuratKarakayaAkademi #AcikKaynakAI #YerelLLM #SiberGuvenlik #YapayZeka #Ollama #OpenWebUI #KurumsalAI