Ana içeriğe geç

Bonsai 27B’yi 8 GB Bellekte Yerelde Nasıl Çalıştırırsınız

Kompakt 1-bit Qwen3.6-27B modeli Bonsai 27B’yi, llama.cpp, OpenAI uyumlu bir API, bir web arayüzü ve Pi kodlama aracısı ile yerelde çalıştırmayı öğrenin.
· 10 dk. oku

Yapay Zeka ile Keşfedin

Not: Bonsai 2 27B artık Qwen3.8 27B tabanlı olarak kullanıma sunuldu

Qwen3.6-27B, yetenekli bir akıl yürütme ve kodlama modelini yerelde çalıştırmak için popüler bir seçenek haline geldi. Hızlı ve güçlüdür; ancak 27 milyar parametreli tam model hâlâ ciddi miktarda bellek gerektirir. 

Geleneksel kuantizasyon bu gereksinimleri azaltabilir; ancak fark edilir performans düşüşüne de yol açabilir.

Hugging Face üzerinde prism-ml/Bonsai-27B-gguf

Kaynak: prism-ml/Bonsai-27B-gguf

Prism ML bu soruna Bonsai 27B ile farklı yaklaştı: Qwen3.6-27B’nin yüksek sıkıştırılmış 1-bit sürümü. 

Prism ML’ye göre, Bonsai model ağırlıklarını yaklaşık 3,9 GB’a düşürürken orijinal modelin kıyaslama performansının neredeyse %90’ını korur. 

Bu da 27B sınıfı bir akıl yürütme modeliyle çok daha erişilebilir tüketici donanımında denemeler yapmayı mümkün kılar.

Bu eğitimde, 1-bit Bonsai-27B-Q1_0.gguf modelini ve Prism ML’nin özel kurulum betiğini kullanacağım. Betik modeli otomatik indirir, uyumlu bir hazır çalışma zamanı seçer ve mevcut donanım için yapılandırır. 

Ardından Bonsai’yi komut satırından test edeceğim, yerel web arayüzünü başlatacağım, OpenAI uyumlu bir API üzerinden erişeceğim ve Pi kodlama aracısına bağlayacağım.

Bonsai 27B’yi Bu Kadar Özel Kılan Nedir?

İlginç olan, Bonsai 27B’nin yalnızca başka bir geleneksel şekilde kuantize edilmiş Qwen modeli olmamasıdır. 

Yerel GGUF modellerinin çoğu, mevcut bir modelin sayısal hassasiyeti düşürülerek eğitimden sonra sıkıştırılır. 

Bonsai ise modeli ikili ağırlıklara göre uyarlayarak daha agresif bir yaklaşım benimser; bu sayede ağın büyük bir kısmı değerleri −1 veya +1’e yakın kullanarak çalışabilir.

Bu önemlidir; çünkü büyük dil modellerini çalıştırmak çoğu zaman yalnızca ham hesaplama gücünden ziyade bellek kapasitesi ve bellek bant genişliği ile sınırlıdır. 

Ağırlıkların hassasiyetini azaltmak, çıkarım sırasında depolanması ve taşınması gereken veri miktarını düşürür. 

İyileştirilmiş bir çalışma zamanı ile bu, normalde yüklemekte veya çalıştırmakta zorlanacak tüketici donanımında büyük bir 27B modeli pratik hâle getirebilir.

prism-ml/Bonsai-27B-gguf kıyaslama sonuçları

Kaynak: prism-ml/Bonsai-27B-gguf · Hugging Face 

Bonsai, basit sohbetin ötesi için gereken yetenekleri de korur. 

Şunları destekler: akıl yürütme, kodlama, yapılandırılmış araç çağrıları, uzun bağlamlı istemler ve aracısal iş akışları.

Ayrıca OpenAI uyumlu bir API’nin arkasında çalıştırılabilir; bu da onu kodlama aracıları, getirme sistemleri, otomasyon araçları ve halihazırda OpenAI tarzı uç noktaları destekleyen uygulamalarla bağlamayı kolaylaştırır.

Bununla birlikte, Bonsai tam hassasiyetli Qwen3.6-27B modelinin aynısı gibi ele alınmamalıdır. 

Aşırı sıkıştırma hâlâ ödünler içerir ve yönerge takibi, araç seçimi, akıl yürütme tutarlılığı ve çıktı kalitesini görevler arasında farklı biçimlerde etkileyebilir. 

En büyük avantajı sağladığı dengedir: büyük model yetenekleri ile kayda değer ölçüde daha düşük donanım gereksinimleri.

Bonsai 27B’yi Yerelde Çalıştırmadan Önce Gerekenler

Başlamadan önce sisteminizde şunların bulunduğundan emin olun:

  • En az 8 GB sistem RAM’i; 16 GB veya daha fazlası önerilir
  • Yaklaşık 8 GB boş depolama alanı (model, çalışma zamanı ve destekleyici dosyalar için)
  • Git (Bonsai demo deposunu klonlamak için)
  • Linux, Windows veya macOS gibi desteklenen bir işletim sistemi
  • Daha hızlı çıkarım için bir NVIDIA, AMD, Vulkan uyumlu veya Apple Silicon GPU

Adanmış bir GPU isteğe bağlıdır; çünkü Bonsai CPU kullanarak da çalıştırılabilir. 

Ancak, özellikle model uzun akıl yürütme yanıtları ürettiğinde CPU üzerinde çıkarım genellikle daha yavaştır.

Bu kılavuzda tek bir NVIDIA RTX 5070 Ti (16 GB VRAM) kullanıyorum. 

Bu, yaklaşık 3,9 GB’lık model ağırlıklarının tamamen GPU’ya yüklenmesi için yeterli belleği sağlar ve KV önbelleği, model aktivasyonları ve çalışma zamanı yükü için ek bellek bırakır.

Bununla birlikte, kullanılabilir VRAM ne kadar bağlam kullanabileceğinizi de belirler. 

Bonsai 27B 256B+ token’ı aşan konuşmaları desteklese de, tam eğitim bağlamını yüklemek önemli miktarda ek bellek tüketebilir ve sınırlı RAM veya VRAM’e sahip sistemleri zorlayabilir. 

Bu nedenle Prism ML, tüm 262K-token penceresini otomatik ayırmak yerine bellek farkındalığına sahip bir varsayılan bağlam boyutu kullanır.

Bu eğitimde, komut satırı testi için başlangıçta daha küçük bir 8.192 tokenlık bağlam penceresi kullanacağız. Ardından, sunucuyu başlatırken kullanılabilir belleğe bağlı olarak bunu artıracağız. 

Daha küçük bir bağlam penceresi çoğu kodlama ve sohbet görevi için yeterlidir ve daha hızlı başlatma ile daha düşük bellek kullanımı sağlar.

Adım 1: Bonsai 27B’yi İndirin ve Kurun

Bir terminal açın ve resmi Bonsai demo deposunu klonlayın:

git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo

Depo; modeli indirmek, donanımınızı algılamak, doğru çalışma zamanı ikilisini seçmek, modeli terminalden çalıştırmak ve yerel bir sunucu başlatmak için betikler içerir.

Aşağıdaki kurulum komutunu çalıştırın:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_OPENWEBUI=0 \
BONSAI_CODE_INTERPRETER=0 \
./setup.sh

Bonsai-27B kurulum betiğini çalıştırma

Kurulum sırasında sizden bir Hugging Face erişim belirteci girmeniz istenebilir. 

Bu, herkese açık model dosyaları için isteğe bağlıdır; bu yüzden Enter tuşuna basarak atlayabilirsiniz. 

Ancak, bir belirteç kullanmak anonim indirme sınırlarından kaçınmaya yardımcı olabilir.

Bonsai-27B model dosyalarını indirme

Betik yaklaşık 7,15 GB dosya indirir; bunlar şunları içerir:

  • Bonsai-27B-Q1_0.gguf dil modeli
  • çok modlu projektör (mmproj)
  • Ek D-Spark ile ilgili dosyalar
  • Donanımınız için test edilmiş hazır bir çalışma zamanı ikilisi

BONSAI_FAMILY=bonsai ayarı, daha büyük üç değerli sürüm yerine kompakt 1-bit Bonsai modelini seçer.

Aşağıdaki seçenekler iki ek ortamı devre dışı bırakır:

BONSAI_OPENWEBUI=0
BONSAI_CODE_INTERPRETER=0

Dahili sunucu ikilisi zaten hafif bir tarayıcı tabanlı sohbet arayüzü sunduğu için bu eğitimde Open WebUI gerekli değildir.

 Kod yorumlayıcı ortamı da temel yerel kurulum için gerekli değildir.

Kurulum sırasında kurulum betiği otomatik olarak şunları yapar:

  • Gerekli Linux paketlerini kurar
  • Bir Python sanal ortamı oluşturur
  • Bonsai 27B model dosyalarını indirir
  • Uygun hazır çalışma zamanını indirir
  • Kullanılabilir CPU veya GPU arka ucunu algılar
  • Projeyi donanımınıza göre yapılandırır

Bonsai-27B kurulum betiği başarıyla tamamlandı.

Bu otomatik kurulum özellikle kullanışlıdır; çünkü llama.cpp’yi el ile derlemeniz veya kendi başınıza bir CUDA, ROCm, Vulkan, Metal ya da CPU ikilisi seçmeniz gerekmez.

Hızlı bir özet gerekiyorsa llama.cpp eğitimini öneririm. 

Adım 2: Bonsai 27B’yi CLI’dan Test Edin

Kurulumdan sonra, dahil edilen llama.cpp komut satırı arayüzünü kullanarak modeli doğrudan terminalden test edin:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_CTX=8192 \
./scripts/run_llama.sh \
-p "Create a simple Python function that calculates compound interest."

Bu komut şunları yapar:

  • 1-bit Bonsai model ailesini seçer
  • 27B modelini yükler
  • Bağlam penceresini 8.192 token olarak ayarlar
  • Etkileşimli llama.cpp terminalini başlatır
  • Bileşik faiz isteğini ilk istem olarak gönderir

llama.cpp CLI Bonsai-27B’yi çalıştırıyor

İlk başlatma, model sistem belleğine veya GPU VRAM’ine yüklenirken birkaç an sürebilir. 

Hazır olduğunda, terminal yanıtı üretmeden önce etkin modeli, derleme bilgilerini ve kullanılabilir komutları görüntüler.

llama.cpp CLI Bonsai-27B’yi çalıştırıyor

Çıktıda gösterildiği gibi, Bonsai önce akıl yürütme sürecini üretir, ardından fonksiyon, kullanım talimatları ve hesaplanan sonuç dahil eksiksiz bir Python örneği oluşturur. 

İlk yanıttan sonra oturum açık kalır; modeli yeniden başlatmadan ek istemler girebilirsiniz.

Adım 3: Bonsai Sunucusunu Başlatın

Önce, önceki adımdaki etkileşimli CLI oturumunu kapatmak için Ctrl+C tuşlarına basın.

Ardından yerel Bonsai sunucusunu başlatın:

BONSAI_FAMILY=bonsai \
BONSAI_MODEL=27B \
BONSAI_CTX=100000 \
./scripts/start_llama_server.sh \
--alias bonsai-27b \
--host 0.0.0.0 \
--port 8910

1-bit Bonsai-27B modelini llama.cpp ile sunma

Bu komut şunları yapar:

  • 1-bit Bonsai 27B modelini yükler
  • 100.000 tokenlık bağlam penceresi ayırır
  • Modeli bonsai-27b adıyla kaydeder
  • Sunucuyu 8910 numaralı bağlantı noktasında başlatır
  • Yerel makineden ve aynı ağdaki diğer aygıtlardan erişilebilir hâle getirir

100.000 tokenlık bağlam penceresi, daha önceki 8.192 tokenlık CLI testinden önemli ölçüde daha fazla bellek gerektirir. Model başlatılamazsa veya sisteminizin RAM’i ya da VRAM’i biterse BONSAI_CTX’yi düşürün.

--host 0.0.0.0 sunucuyu yerel ağınıza açtığı için, bunu güvenilmeyen bir ağda kullanmaktan kaçının. Yalnızca yerel erişim için bunu şu şekilde değiştirin:

--host 127.0.0.1

Modeli kullanırken bu terminali açık tutun. Kapatırsanız sunucu durur.

Bonsai sunucusu şunları sağlar:

  • Hafif bir yerel web arayüzü
  • Bir OpenAI uyumlu API
  • Akışlı yanıtlar
  • Yapılandırılmış araç çağrıları
  • Modele özel akıl yürütme denetimleri

OpenAI uyumlu API şu adreste mevcuttur:

http://127.0.0.1:8910/v1

Adım 4: CURL ile Bonsai 27B’yi Test Edin

İkinci bir terminal açın ve sohbet-tamamlama uç noktasına bir istek gönderin:

curl http://127.0.0.1:8910/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bonsai-27b",
    "messages": [
      {
        "role": "user",
        "content": "Write a Python function for loading and validating a CSV file."
      }
    ],
    "max_tokens": 1000
  }'

İstek, OpenAI Chat Completions API’si ile aynı yapıyı kullanır:

  • model daha önce oluşturulan sunucu takma adını seçer
  • messages konuşmayı içerir
  • max_tokens üretilen token sayısını sınırlar

API yaklaşık saniyede 95 token hızla JSON döndürdü; ancak yanıt 1.000 token sınırında durdu, bu yüzden Bonsai’yi uygulamalara, aracılara veya Python programlarına bağlamadan önce tam bir yanıt için "max_tokens" değerini 3000’e yükseltin.

Adım 5: Bonsai 27B Web Arayüzünü Test Edin

Tarayıcınızda aşağıdaki adresi açın:

http://127.0.0.1:8910

llama.cpp web arayüzünde Bonsai-27B’yi test etme

Yerleşik llama.cpp arayüzü, Bonsai ile sohbet etmenize, dosya yüklemenize ve akıl yürütme çabasını Kapalı’dan En Yüksek’e ayarlamanıza olanak tanır.

Şu tür bir kodlama istemiyle test edin:

Create a Python command-line application that converts CSV files to JSON.

llama.cpp web arayüzünde Bonsai-27B’yi test etme

Bonsai, RTX 5070 Ti üzerinde yaklaşık saniyede 92 token hızla eksiksiz bir Python betiği oluşturdu. 

llama.cpp web arayüzünde Bonsai-27B’yi test etme

Ayrıca kişisel bir portföy web sitesi oluşturmasını da istedim. 

Kod çalışsa da, tasarım basit ve sıradan göründüğü için oluşturulan arayüzden memnun kalmadım. 

Bu da Bonsai’nin işlevsel kod üretebildiğini; ancak cilalı bir arayüz için daha ayrıntılı istemler ve birkaç revizyon gerekebileceğini gösteriyor.

Bonsai-27B 1-bit model ile oluşturulan web sitesi.

Adım 6: Pi Kodlama Aracısını Kurun

Pi, Bonsai 27B’yi yerel OpenAI uyumlu API’si üzerinden gerçek bir aracısal kodlama iş akışında test etmek için kullandığımız terminal tabanlı bir kodlama aracısıdır.

Yeni bir terminal açın ve Pi kodlama aracısını kurun:

curl -fsSL https://pi.dev/install.sh | sh

Pi kodlama aracısını kurma

İstendiğinde, varsayılan kurulumla devam etmek için Enter tuşuna basın veya y yazın.

Pi’nin başarıyla kurulduğunu doğrulayın:

pi --version

Test sırasında kurulan sürüm şuydu:

0.82.0

Adım 7: Bonsai 27B’yi Pi’ye Ekleyin

Bonsai sunucusunun hâlâ çalıştığından emin olun, ardından yeni bir terminal başlatın ve Pi’nin yapılandırma dizinini oluşturun:

mkdir -p ~/.pi/agent

Özel model yapılandırma dosyasını oluşturun:

nano ~/.pi/agent/models.json

Aşağıdaki yapılandırmayı yapıştırın:

{
  "providers": {
    "bonsai-local": {
      "baseUrl": "http://127.0.0.1:8910/v1",
      "api": "openai-completions",
      "apiKey": "local",
      "compat": {
        "supportsDeveloperRole": false,
        "supportsReasoningEffort": false
      },
      "models": [
        {
          "id": "bonsai-27b",
          "name": "Bonsai 27B Local",
          "reasoning": true,
          "input": ["text"],
          "contextWindow": 100000,
          "maxTokens": 50000,
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          }
        }
      ]
    }
  }
}

Bu yapılandırma Pi’yi yerel OpenAI uyumlu uç noktaya bağlar, modeli Bonsai 27B Local olarak kaydeder ve sunucunun 100.000 tokenlık bağlam ayarıyla eşleşir.

Dosyayı kaydedip kapatın:

Ctrl + O
Enter
Ctrl + X

Pi, özel model sağlayıcılarını otomatik olarak ~/.pi/agent/models.json dosyasından yükler.

Adım 8: Pi’yi Bonsai 27B ile Çalıştırın

Bonsai sunucusunun hâlâ çalıştığından emin olun, ardından yeni bir proje dizini oluşturun:

mkdir simple-python
cd simple-python

Pi’yi yerel Bonsai modeliyle başlatın:

pi --provider bonsai-local --model bonsai-27b

Pi kodlama aracısını Bonsai-27B modeliyle çalıştırma

Şu tür bir istem girin:

Build a simple Python application with a FastAPI backend and a modern, 
responsive web interface that accepts user input, processes it, 
and displays the result.

Pi kodlama aracısında Bonsai-27B modelini test etme

Pi akıl yürütmeye başladı, proje dosyalarını oluşturdu, gerekli paketleri kurdu ve FastAPI arka ucu ile duyarlı bir ön yüzü olan bir metin analizi uygulaması üretti.

Model 100.000 tokenlık bağlam penceresi ile çalışırken, nvidia-smi RTX 5070 Ti üzerinde yaklaşık 11,9 GB VRAM kullanımını gösterdi:

Bonsai-27B 100K bağlam GPU VRAM’ine yüklendi.

Çalışmanın sonunda Pi, görevin tamamlandığını teyit etti ve yaptığı her şeyi net biçimde özetledi. 

Buna oluşturduğu dosyalar, uygulamanın temel özellikleri, yaptığı testler ve projeyi yerelde çalıştırmak için gereken tam komutlar dâhildi. 

Pi kodlama aracısında Bonsai-27B modelini test etme

Oluşturmanın ardından Pi, ürettiği dosyaları ve özellikleri özetledi. 

Arka ucu şu komutla test ettim:

curl -s -X POST http://localhost:10100/analyze \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello world! This is a test."}'

API çalıştı ve arayüz, temel web arayüzü üzerinden oluşturulan önceki web sitesinden daha iyi görünüyordu. 

Bonsai-27B ile oluşturulan uygulama

Ancak uygulama hâlâ eksikti: bazı düğmeler ve kontroller yoktu ve ön yüz, arka uç API’sinde bulunan tüm istatistikleri görüntülemiyordu. 

Bu, Bonsai’nin işlevsel bir uçtan uca uygulama inşa edebildiğini; ancak sonucun yine de test ve iyileştirme gerektirdiğini gösteriyor.

Bonsai-27B ile oluşturulan uygulama

Son Düşünceler

Benim testlerimde, Bonsai 27B hâlâ yoğun şekilde sıkıştırılmış bir model gibi hissettiriyor. 

Çıktı kalitesi, daha önce test ettiğim ve kodlama aracısı iş akışlarında daha güvenilir bulduğum Q4 kuantize Qwen3.6-27B ile tamamen aynı seviyede değil. 

Q4 sürümü daha fazla bellek gerektirir; ancak daha güçlü akıl yürütme, daha iyi kod üretimi ve daha tutarlı sonuçlar sunar.

Yine de, yaklaşık 3,8 GB ayak izine sahip bir model için Bonsai 27B şaşırtıcı derecede yetenekli.

Yönergeleri anlar, proje dosyaları oluşturur, komutlar çalıştırır, işini test eder ve yerelde işlevsel uygulamalar inşa edebilir. Bu boyut kategorisinde denediğim en yetenekli modellerden biridir.

Ciddi kodlama aracısı çalışmaları için yine de Qwen3.6-27B’nin Q4 sürümünü seçerdim; özellikle de RTX 3090’ımın 24 GB VRAM’i bulunduğu ve daha büyük modeli rahatça çalıştırabildiği için. 

Buna rağmen, Bonsai 27B’yi kullanmaktan gerçekten keyif aldım ve daha geniş Prism ML ekosisteminden etkilendim. Otomatik kurulumu, optimize edilmiş çalışma zamanı, yerleşik web arayüzü, OpenAI uyumlu API’si ve aracı entegrasyonları; daha fazla kişinin tüketici donanımında yerelde büyük bir akıl yürütme modelini çalıştırmasını ve deneyimlemesini çok daha kolaylaştırıyor.

SSS

Bonsai 27B’nin 1-bit ve Üç Değerli (Ternary) varyantları arasındaki fark nedir?

1-bit varyantı (3,9 GB) ikili ağırlıklar (değerleri -1 veya +1’e yakın) kullanır ve aşırı bellek kısıtları için optimize edilmiştir; Qwen3.6-27B’nin temel performansının yaklaşık %90’ını korur. Varsayılan Üç Değerli (Ternary) varyant (5,9 GB) 1,58-bit ağırlıklar (-1, 0 veya +1) kullanır. Biraz daha fazla bellek gerektirir; ancak kıyaslama korunmasını %95’e çıkarır; sisteminizde 16 GB veya daha fazla RAM/VRAM varsa daha iyi bir seçimdir.

Bonsai 27B görsel veya belge girişlerini destekliyor mu?

Evet. Hem 1-bit hem de Üç Değerli varyantlar çok modludur. Kurulum betiği sırasında indirilen mmproj dosyası olan kompakt 4-bit bir görsel kule kullanırlar. Bu sayede yerel uygulamalar, metin istemlerinin yanında ekran görüntüleri, belgeler ve kamera girişlerini de modele iletebilir.

Bonsai 27B bir Mac’te veya akıllı telefonda yerel olarak çalışır mı?

Evet. Bu kılavuz bir NVIDIA GPU’ya odaklansa da, Prism ML Apple Silicon için özel olarak optimize edilmiş MLX derlemeleri de sağlar. 1-bit varyantın 3,9 GB’lık ayak izi, modern telefonların uygulama başına bellek bütçesine sığacak kadar küçüktür—iPhone 17 Pro Max’te yaklaşık saniyede 11 token elde edilir—ve Apple M serisi dizüstülerde birleşik bellekle son derece verimli çalışır.

Konular

İlgili