Unigram: Baytları Tam Olarak 1 LLM Token'ı Tutan Kelimelere Kodlayan Rust Kütüphanesi
Unigram, baytları tam 1 LLM token'lık kelimelere kodlayan Rust kütüphanesi; hex ve base64'e göre sabit, öngörülebilir token maliyeti sunuyor.
Unigram, rastgele baytları (UUID, nonce, korelasyon kimliği gibi) 256 kelimelik özel bir alfabe üzerinden kodlayan bijektif bir Rust kodek'i. Tasarımın temel iddiası şu: alfabedeki her kelime, GPT-2/3/3.5/4/4o, o200k ve Claude dahil test edilen tüm tokenizer'larda hem boşluklu hem çıplak haliyle tam olarak 1 token'a denk geliyor. Sonuç olarak N baytlık bir değer, değerden bağımsız olarak sabit N token'a mal oluyor; hex, base64url ve base58 gibi alternatiflerde ise bu maliyet değere göre değişkenlik gösteriyor ve en kötü durum belirsiz kalıyor.
Kütüphane, ayrıştırma için iki mod sunuyor: parse (kurallara sıkı sıkıya uyan, tek doğru yazım kabul eden) ve recover (büyük/küçük harf, ayraç ve satır kaydırma gibi model round-trip'lerinden kaynaklanan farklılıkları tolere eden). CheckedUnigramId varyantı, bozulmuş bir değerin geçerli görünmesini önlemek için tek kelimelik CRC-8 kontrolü ekliyor.
Alfabe, BIP39, Diceware ve what3words gibi mevcut kelime listelerinden farklı bir amaç için tasarlanmış: token maliyeti sabitliği. BIP39'un 2048 kelimesinden yalnızca 349'u tüm tokenizer ailelerinde tek token koşulunu sağlıyor; unigram ise 256 kelimelik alfabesiyle bu garantiyi sıfırdan inşa ediyor. Prompt, log ve hata mesajlarında insan tarafından okunabilir, telaffuz edilebilir kimlikler üretmek isteyen mühendisler için LLM token bütçesi öngörülebilirliği sunan niş ama somut bir araç.
Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz