Text Generation
Metin üretimi, dil modellerinin her seferinde bir token tahmin ederek metin yazma biçimidir; her token açgözlü kod çözme, demet arama veya örnekleme yoluyla seçilir.
Metin üretimi, tek satırlık bir yanıttan tam bir rapora veya programa kadar modelin yazılı dili otomatik olarak üretmesidir. Günümüzde bu işlem çoğunlukla otoregresif çalışan büyük dil modelleri (LLM'ler) tarafından yapılır: modele bir istem verildiğinde model, söz varlığındaki her belirteç için bir olasılık hesaplar, birini seçip istemin sonuna ekler ve durmaya karar verene kadar bunu tekrarlar. Sohbet asistanları, kod tamamlama, makine çevirisi ve metin özetleme aynı döngüyü kullanır. Önceki sistemler şablonları doldurur ya da n-gram ve tekrarlayan sinir ağı modellerinden örnekler seçerdi. Transformer ise 2019'dan itibaren GPT-2 ile uzun ve tutarlı çıktıları uygulanabilir hâle getirdi.
Otoregresif Üretim Nasıl Çalışır#
Belirteçleştirme, istemi belirteç kimliklerine dönüştürür ve model, tüm belirteçleri tek bir paralel ön doldurma geçişinde işlerken her belirtecin dikkat anahtarlarını ve değerlerini bir KV önbelleğinde saklar. Her kod çözme adımında modele yalnızca en yeni belirteç verilir; model önbelleği okur ve söz varlığındaki her öğe için bir ham puan olan logitleri üretir. Softmax, logitleri olasılıklara dönüştürür. Bir kod çözme stratejisi sıradaki belirteci seçer; bu belirteç kullanıcıya aktarılır ve diziye eklenir. Üretim, dizi sonu belirtecine, bir durdurma dizgesine veya belirteç sınırına ulaştığında biter; dolayısıyla çıktı uzunluğu üretim sırasında belirlenir:
Ön doldurma yoğun hesaplama gerektirirken kod çözme bellek bant genişliğiyle sınırlıdır; bu nedenle sunum motorları, örneğin parçalı ön doldurma kullanarak bu iki işlemi dikkatle zamanlar. Akış, uygulamaların metni göründükçe göstermesini sağlar: Ultralytics LLM arayüzü, stream=True değerini OpenAI SDK'ya iletir; böylece bir YOLO26 uygulaması, algılanan bir sahnenin model açıklamasını her response.output_text.delta olayı geldiğinde belirteç belirteç yazdırabilir.
Kod Çözme Stratejileri#
Kod çözme stratejisi, çıktıyı modelin kendisi kadar şekillendirir. Açgözlü kod çözme her zaman olasılığı en yüksek belirteci seçer; bu yöntem deterministiktir ancak tekrara düşme eğilimindedir. Beam search, olasılığı en yüksek k kısmi diziyi tutar ve en iyi tamamlanmış diziyi döndürür; bu yöntem çeviri gibi tek bir doğru yanıtı olan görevlere uygundur. Örnekleme, genellikle dağılımı yeniden şekillendirdikten sonra bu dağılımdan seçim yapar: sıcaklık, softmax'tan önce logitleri böler; top-k örneklemesi yalnızca olasılığı en yüksek k belirteci tutar; çekirdek (top-p) örneklemesi de Holtzman ve arkadaşlarının 2019'da Nöral Metin Bozulmasının İlginç Vakası başlıklı makalesinde önerildiği gibi, olasılıklarının toplamı p'ye ulaşan en küçük belirteç kümesini tutar. PyTorch'ta tanımlanan beş belirteçlik bir sözlük, her iki etkiyi de gösterir:
import torch
# Next-token logits over a five-word vocabulary after the prompt "I took the"
vocab = ["bus", "train", "car", "stairs", "banana"]
logits = torch.tensor([3.0, 2.4, 1.8, 0.6, -2.0])
# Temperature divides the logits: low values sharpen the distribution, high values flatten it
for temperature in [0.5, 1.0, 1.5]:
probs = torch.softmax(logits / temperature, dim=-1)
print(f"T={temperature}:", ", ".join(f"{w} {p:.2f}" for w, p in zip(vocab, probs)))
# Top-p (nucleus) sampling keeps the smallest set of tokens whose probabilities reach p
probs, order = torch.softmax(logits, dim=-1).sort(descending=True)
keep = probs.cumsum(dim=-1) - probs < 0.9
print("Top-p 0.9 keeps:", [vocab[i] for i in order[keep]])
# Sample from the renormalized nucleus
torch.manual_seed(0)
picks = torch.multinomial(probs[keep] / probs[keep].sum(), num_samples=10, replacement=True)
print("Samples:", [vocab[order[i]] for i in picks])0,5 sıcaklıkta "bus" belirteci 0,71 olasılık alır; 1,5 sıcaklıkta bu değer 0,42'ye düşerken "banana" 0,00'dan 0,02'ye çıkar. Top-p 0,9, olasılıkların toplamda 0,95'ini kapsayan "bus", "train" ve "car" belirteçlerini tutar; bu nedenle "stairs" ve "banana" seçilemez ve on örnekleme işlemi, geriye kalan üç belirtecin farklı bir karışımını üretir. Diğer denetimler de aynı logitler üzerinde çalışır: tekrarlama cezaları, daha önce kullanılmış belirteçlerin puanlarını düşürür; kısıtlı kod çözme ise dil bilgisini veya JSON şemasını bozacak tüm belirteçleri maskeler. API'ler bu yöntemle yapılandırılmış çıktıları garanti eder. Spekülatif kod çözme, küçük bir taslak modelin birkaç belirteç önermesine ve büyük modelin bunları tek geçişte doğrulamasına izin vererek üretimi hızlandırır.
Metin Üretimi ve İlgili Terimler#
- Dil modelleme: Üretimi mümkün kılan eğitim hedefi olan sıradaki belirtecin olasılığını öğrenme. Üretim, bu modelin çıkarım sırasında kullanılmasıdır.
- Diziden diziye modeller: Çeviride olduğu gibi ayrı bir girdiden çıktı metni üreten kodlayıcı-kod çözücü modeller. Yalnızca kod çözücü kullanan LLM'ler aynı görevleri bir istemi sürdürerek ele alır.
- Difüzyon dil modelleri: Tüm konumları tek tek değil, birkaç gürültü giderme adımında paralel olarak iyileştirerek metnin tamamını üretir.
- Metinden görüntüye: Girdi olarak metin alır ve pikseller üretir.
Kalite ve Riskler#
Üretilen metin doğru olsun ya da olmasın akıcıdır; bu nedenle olgusal çalışmalardaki temel risk halüsinasyonlardır. Getirme destekli üretim (RAG), kaynak belgeleri isteme ekleyerek halüsinasyonları azaltır. Düşük sıcaklık, yanıtları daha tekrarlanabilir hâle getirir; yüksek sıcaklık ise çeşitliliği ve düşük olasılıklı, yanlış bir belirteç seçme olasılığını artırır. Makine tarafından yazılmış metinleri tespit etmek de zordur; bu durum yapay zekâ filigranlaması üzerine çalışmaları teşvik eder. 2020 tarihli GPT-3 makalesinde, 175 milyar parametreli modelin yazdığı 200 kelimelik haber makalelerini insanlar tarafından yazılanlardan ayırt etmeleri istenen katılımcılar yalnızca %52 oranında doğru yanıt verdi.










