AWS SageMaker'da llama.cpp Karar Modelleri: SemIf İle Olasılık Üretimi
Haberler

AWS SageMaker'da llama.cpp Karar Modelleri: SemIf İle Olasılık Üretimi

· 3 DK

Yazar: KOZBA

İçindekiler
  1. İki farklı dağıtım yolu
  2. Girdi ve çıktı şemaları
  3. SemIf: cevap yazmadan olasılık okumak
  4. Sınırlar ve dikkat edilmesi gerekenler
  5. Özet

Yapay zeka uygulamalarının önemli bir kısmı serbest metin üretmiyor; sabit bir seçenek kümesi üzerinden puan istiyor. Bir talebin hangi destek kuyruğuna gideceğini seçmek, bir ajanın hangi aracı çağıracağına karar vermek ya da bir poliçenin sonucunu atamak için modelden cümle değil, olasılık gerekiyor. AWS, bu tür karar modellerini SageMaker AI üzerinde llama.cpp ile çalıştırmanın yönetilen bir yolunu yayınladı.

İki farklı dağıtım yolu

AWS'nin yayınladığı teknik yazıya göre aynı paketlenmiş model iki şekilde sunulabiliyor:

  • Metin üretimi yolu: AWS'nin llama.cpp için hazırladığı Deep Learning Container (DLC) imajı kullanılıyor. Model S3'e model.tar.gz olarak yükleniyor, kapsayıcı /opt/ml/model altındaki ilk .gguf dosyasını buluyor ve POST /invocations çağrısını llama-server üzerinden /v1/chat/completions adresine eşliyor. SM_LLAMA_CPP_* ortam değişkenleriyle llama.cpp parametreleri ayarlanabiliyor.
  • Yapılandırılmış karar yolu: llama-server HTTP arayüzü, SemIf'in ihtiyaç duyduğu son pozisyon logitlerini ve durum işlemlerini dışa açmıyor. Bu nedenle AWS CodeBuild ile bir alt imaj üretiliyor, Amazon ECR'de saklanıyor ve DLC'nin derlenmiş CPU ya da CUDA kütüphaneleri korunarak giriş noktası SageMaker uyumlu bir adaptörle değiştiriliyor.

Her iki yol da CPU veya GPU üzerinde çalışabiliyor; seçim, iş yükünün gecikme ve maliyet gereksinimlerine göre yapılıyor.

Girdi ve çıktı şemaları

Metin üretimi yolunda API, OpenAI Chat Completions şemasını kabul ediyor. role ve content alanlarından oluşan bir messages dizisi ile max_tokens, stream gibi üretim parametreleri gönderiliyor; yanıt OpenAI uyumlu choices dizisi olarak geliyor ve üretilen metin choices[0].message.content içinden okunuyor.

SemIf: cevap yazmadan olasılık okumak

Karar yolunda kullanılan SemIf, eski adıyla OpenJev, bağımsız bir araştırma projesi. (Bu çalışma TypeSafe'in yayınladığı Jev ile bağlantılı değil ve onun tarafından desteklendiği iddia edilmiyor.) Yaklaşımın özü şu: Modelden "evet" ya da "hayır" kelimesini üretmesini istemek yerine, yalnızca tanımlı seçenek tokenlarının logitleri okunuyor ve bu değerler seçenekler arasında normalize ediliyor. Böylece tek bir ileri geçiş yeterli oluyor; örnekleme ya da kod çözme döngüsü çalışmıyor.

SemIf'in proje belgelerinde paylaşılan ölçümlere göre, sabitlenmiş bir Qwen3.5-4B modeli ve 21 ikili kriter içeren tek bir iş yükünde doğrudan logit okuma medyan 1,023 saniyede 21 olasılık çifti üretiyor. Aynı soruların JSON dizisi olarak üretilmesi 5,332 saniye ve 111 çıktı tokenı gerektiriyor. Yani karar başına maliyet yaklaşık beş kat azalıyor.

Uzun bir bağlamın 21 farklı kritere karşı tekrar tekrar puanlandığı 37 durumluk iş yükünde ise saniyedeki karar sayısı, ön ek yeniden kullanımıyla 2,33'ten 20,03'e çıkıyor. Önbelleğe alınmış ön eklerin paralel dallara ayrılması toplam süreyi yaklaşık dokuz kat kısaltıyor.

Sınırlar ve dikkat edilmesi gerekenler

SemIf'in kendi belgeleri birkaç uyarıyı açıkça yapıyor: Doğrudan okunan olasılıklar yalnızca gösterilen seçenekler üzerinde koşullu bir skor; kalibre edilmiş güven değeri değil. Modelin tercih edebileceği ama listeye yazılmayan cevaplar bu dağılımın dışında kalıyor. Ayrıca farklı llama.cpp yürütme yolları küçük sayısal farklar üretebiliyor, bu yüzden bit bazında değil toleransla karşılaştırma öneriliyor. Kimyasal panel tasarımı ya da kod arama gibi alanlarda doğruluk, iş yüküne göre değişiyor; belgelerde paylaşılan deneylerde kod aramada Recall@1 bazı sorgu setlerinde 1,000'e ulaşıyor.

Özet

AWS'nin hamlesi, "her iş için sohbet modeli" yaklaşımına bir alternatif sunuyor: Karar verilecekse modelin konuşmasına gerek yok. Quantize edilmiş küçük modellerin CPU'da ya da tek bir GPU'da karar üretmesi, ajan hatlarında hem gecikmeyi hem de token maliyetini düşürüyor. Kritik nokta, olasılıkların kalibrasyonunun iş yükü başına doğrulanması.

Paylaş