Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Constrained Decoding

Kısıtlı kod çözme, her üretim adımında geçersiz belirteçleri maskeler; böylece bir LLM yalnızca izin verilen etiketleri, düzenli ifade eşleşmelerini veya şemaya uygun JSON'u üretebilir.

Kısıtlı kod çözme, bir dil modelinin her adımda üretebileceği token'ları sınırlayan bir metin üretimi tekniğidir. Böylece tamamlanan çıktının belirli bir biçime uyması garanti edilir: sabit bir etiket kümesi, düzenli ifade, dil bilgisi veya JSON Schema. Model yine de söz dağarcığındaki her token'a puan verir. Bir token seçilmeden önce kod çözücü, biçimi bozacak tüm seçenekleri eler. API arka uçları, AI ajanları ve veri çıkarma işlem hatları gibi model çıktısını ayrıştıran uygulamalar, her yanıtın ilk denemede ayrıştırılabilmesi için bu yöntemi kullanır.

Geçersiz Belirteçleri Maskeleme#

Bir büyük dil modeli metni her seferinde bir token üreterek oluşturur. Her adımda, söz dağarcığındaki her token için bir puan veya logit üretir ve softmax bu puanları olasılıklara dönüştürür. Kısıtlı kod çözme, örneklemeden önce bir işlem daha ekler: Geçerli bir çıktıya ulaşamayacak token'lara eksi sonsuz logit atanır; böylece olasılıkları sıfır olur ve kalan olasılık geçerli token'lar arasında yeniden normalleştirilir.

import torch

# Raw next-token scores from a model over a toy vocabulary
vocab = ["approved", "rejected", "review", "maybe", "{", "}"]
logits = torch.tensor([1.2, 0.4, 0.9, 2.5, 0.1, 0.3])

# The schema allows only the three status labels at this position
allowed = torch.tensor([True, True, True, False, False, False])
masked_logits = logits.masked_fill(~allowed, float("-inf"))

# Softmax renormalizes probability over the valid tokens only
for name, raw, masked in zip(vocab, logits.softmax(-1), masked_logits.softmax(-1)):
    print(f"{name:>9}: {raw:.2f} -> {masked:.2f}")

Kısıtlama olmayan model, olasılığının %56'sını "maybe" seçeneğine verir. Maske uygulandığında "maybe"nin olasılığı sıfıra iner ve izin verilen üç etiket, olasılığı özgün puanlarıyla orantılı biçimde paylaşır; böylece "approved" seçeneğinin olasılığı %15'ten %46'ya çıkar.

Üretim ortamındaki çıkarım motorları, üretim ilerledikçe kısıt durumunu izler. Sabit bir seçenek listesi veya düzenli ifade, sonlu durum makinesine derlenir. JSON ve diğer iç içe geçmiş biçimler, yığıt kullanan bir dil bilgisi gerektirir; çünkü kapanış parantezi ancak eşleşen açılış parantezinden sonra geçerlidir. Kod çözücü her token'dan sonra durumu ilerletir ve izin verilen küme değerlerini yeniden hesaplar. Tokenleştirme, uzunlukları değişen alt sözcük parçaları üretir. Bu nedenle "}, gibi tek bir token, dil bilgisi adımlarının birkaçını birden kapsayabilir. Bu yüzden kütüphaneler her durum için hangi söz dağarcığı girdilerinin geçerli olduğunu önceden hesaplar; bu da 100.000'den fazla token içeren söz dağarcıklarında bile token başına maliyeti düşük tutar. Brandon Willard ve Rémi Louf, 2023'te düzenli ifadeler ve bağlamdan bağımsız dil bilgileri için bu dizinleme yöntemini, Outlines kütüphanesinin temelini oluşturan Efficient Guided Generation for Large Language Models makalesinde açıkladı.

Kısıtlama Seçme#

Doğru kısıt, uygulamanın gerçekten kullandığı çıktıyla eşleşir. Yanıtın birkaç dizeden biri olması gereken sınıflandırma ve yönlendirme işlemlerine seçenek listesi uygundur. Düzenli ifadeler, tarih, kimlik ve telefon numarası gibi kısa, yapılandırılmış değerleri kapsar. Bağlamdan bağımsız dil bilgileri SQL'i, kodu ve alana özgü dilleri tanımlar; llama.cpp'nin GBNF dil bilgisi biçimi yaygın bir örnektir. Adlandırılmış alanları olan kayıtlar için JSON Schema, gerekli anahtarları, türleri, enum'ları ve iç içe yapıyı belirtir. OpenAI Structured Outputs gibi barındırılan API'ler bir şema kabul eder ve üretim sırasında şemayı uygular; genellikle tam JSON Schema belirtiminin belgelenmiş bir alt kümesini destekler.

Kısıtlı çözümleme çoğu zaman yakın anlamlı tekniklerle karıştırılır:

  • Yapılandırılmış çıktılar: Makinece okunabilir yanıtlar elde etmeye yönelik daha geniş hedef; bu hedefe üretim sırasında kısıtlı kod çözmeyle veya sonrasında çıktıyı doğrulayıp başarısız olursa yeniden deneyerek ulaşılır.
  • JSON modu: Çıktıyı herhangi bir yapıda, sözdizimi geçerli JSON ile sınırlar; bu nedenle anahtarların, türlerin ve değerlerin yine de kontrol edilmesi gerekir.
  • İstem mühendisliği: Talimatlarda bir biçim ister; modeller de çoğu zaman buna uyar. Şema kısıtlı isteklerde genellikle alanlar istemde de açıklanır, böylece model her birinin ne anlama geldiğini bilir.
  • Fonksiyon çağırma: Çağıran kod tam alan adları beklediğinden araç adları ve bağımsız değişkenleri, şema kısıtlamalarının en yaygın hedefleri arasındadır.

Uygulamadaki Ödünleşimler#

Biçim garantisi, içerik hakkında hiçbir güvence vermez. Bir şema {"total": 1290.00} alanını sayı olmaya zorlayabilir; ancak sayı yine de yanlış olabilir ve kısıtlı bir model geçerli alanların içinde akıcı biçimde halüsinasyon görebilir. Uygulamaların üretimden sonra iş kurallarını doğrulaması gerekir.

Kısıtlar, modeli doğal olarak yazacağı metinden uzaklaştırdığında yanıt kalitesini de düşürebilir. Nihai yanıtı ilk alan olarak zorunlu kılan bir şema, ara akıl yürütmeye yer bırakmaz. Bu nedenle şemalarda genellikle yanıt alanından önce serbest metinli bir akıl yürütme veya notlar alanı bulunur. Çıktı uzunluğuna da dikkat etmek gerekir: üretim bir nesnenin ortasında token sınırına ulaşırsa, kısıt ne olursa olsun sonuç geçersiz olur. Bu yüzden yapılandırılmış isteklerde, tüm yapıya yetecek payı bırakarak maksimum uzunluklar belirlenir. Çok büyük veya derin biçimde özyinelemeli şemaların derlenmesi daha uzun sürer; bu durum, her istek için yeni şema oluşturan sistemlerde önem taşır.

Çok modlu bir modelin görüntüyle ilgili alanları döndürmesi gerektiğinde görme uygulamaları da aynı mekanizmayı kullanır. Ultralytics LLM arayüzü, istek bağımsız değişkenlerini OpenAI uyumlu API'lere değiştirmeden iletir. Böylece görüntü isteğiyle gönderilen bir JSON Schema, görsel-dil modelinin yanıtını hazard ve severity gibi alanlarla sınırlar; bu alanlar aynı kareden alınan YOLO26 algılamalarıyla birleştirilmeye hazırdır.

Explore solutions

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla