İçeriğe geç
parazade
Yapay Zeka

Byte Pair Encoding Nedir?

Yayın: · Son güncelleme:

Byte Pair Encoding Nedir? Kısaca

Byte Pair Encoding (BPE), metindeki en sık yan yana gelen karakter ya da parça çiftlerini adım adım birleştirerek bir alt kelime sözlüğü oluşturan ve dil modellerinde tokenizasyon için yaygın kullanılan algoritmadır.

Byte Pair Encoding nedir?
İçindekiler
  1. Byte Pair Encoding nedir?
  2. Nasıl çalışır?
  3. Nelere dikkat etmeli?

Byte Pair Encoding (BPE), metni dil modellerinin işleyebileceği alt kelime parçalarına (token'lara) bölmek için kullanılan bir algoritmadır. Aslen 1990'larda bir veri sıkıştırma tekniği olarak ortaya çıktı; 2016 civarında makine çevirisi için uyarlandı ve bugün birçok büyük dil modelinin tokenizer'ının temelini oluşturuyor.

Byte Pair Encoding nedir?

Kelime düzeyinde çalışan bir model, sözlüğünde olmayan bir kelimeyle karşılaştığında onu tanıyamaz. Karakter düzeyinde çalışan bir model ise çok uzun dizilerle uğraşmak zorunda kalır. BPE ikisinin arasında bir yol sunar: Sık geçen kelimeler tek parça kalır, nadir kelimeler daha küçük ve tanıdık parçalara bölünür.

Nasıl çalışır?

  1. Başlangıçta sözlük yalnızca tek tek karakterlerden (ya da baytlardan) oluşur.
  2. Eğitim metninde yan yana en sık geçen çift bulunur.
  3. Bu çift yeni bir parça olarak birleştirilir ve sözlüğe eklenir.
  4. İstenen sözlük büyüklüğüne ulaşana kadar işlem tekrarlanır.

Varsayımsal bir örnek: Metinde "ler" ve "lar" çok sık geçiyorsa önce "l"+"e", sonra "le"+"r" birleşir ve "ler" tek bir token olur. Böylece "kitaplar" gibi bir kelime "kitap" + "lar" şeklinde bölünebilir.

Bayt düzeyinde BPE ise karakterler yerine baytlardan başlar; bu sayede herhangi bir metin, emoji ya da dil bilinmeyen token oluşturmadan temsil edilebilir.

Nelere dikkat etmeli?

BPE sözlüğü, eğitildiği verideki dillere göre şekillenir. Eğitim verisinde az temsil edilen dillerde kelimeler daha fazla parçaya bölünür. Bu, Türkçe gibi dillerde aynı metnin daha fazla token tutmasına yol açabilir; bu da bağlam penceresinin daha hızlı dolması ve token başına ücretlendirilen hizmetlerde maliyetin artması anlamına gelir.

Sıkça Sorulan Sorular

BPE ile WordPiece arasındaki fark nedir?

İkisi de alt kelime parçaları oluşturur. BPE en sık geçen çifti birleştirirken WordPiece, birleştirmenin eğitim verisinin olasılığını ne kadar artırdığına bakarak seçim yapar.

BPE neden bilinmeyen kelime sorununu çözer?

Çünkü sözlükte olmayan bir kelime, sözlükteki daha küçük parçalara, en kötü durumda tek tek karakter veya baytlara bölünebilir. Böylece her metin temsil edilebilir.

İlgili terimler

TokenizerTokenizer, bir metni dil modelinin işleyebileceği token adlı küçük birimlere (kelime, kelime parçası ya da karakter) bölen ve bunları sayısal kimliklere çeviren bileşendir. Her modelin kendine ait bir tokenizer'ı vardır.TokenToken, yapay zekâ dil modellerinin metni işlerken kullandığı en küçük birimdir; bir kelime, kelimenin bir parçası ya da bir noktalama işareti olabilir. Modellerin hızı, bağlam penceresi ve kullanım ücretleri genellikle token sayısıyla ölçülür.WordPieceWordPiece, metni alt kelime parçalarına bölen ve sözlüğe eklenecek birleştirmeleri, eğitim verisinin olasılığını en çok artıran çiftlere göre seçen tokenizasyon algoritmasıdır; BERT gibi modellerde kullanılır.SentencePieceSentencePiece, metni önceden kelimelere ayırmadan ham hâliyle işleyen, boşluğu da özel bir sembolle token olarak ele alan ve BPE ya da unigram yöntemiyle alt kelime sözlüğü oluşturan dilden bağımsız bir tokenizasyon aracıdır.Makine Çevirisi(Machine Translation)Makine çevirisi, bir dildeki metni ya da konuşmayı insan çevirmen olmadan, bilgisayar yazılımıyla başka bir dile aktarma işlemidir; günümüzde çoğunlukla derin öğrenmeye dayalı nöral modellerle yapılır.Büyük Dil Modeli(Large Language Model)Büyük dil modeli (LLM), çok büyük miktarda metinle eğitilen ve bir metnin devamında hangi parçanın geleceğini tahmin ederek yazı üreten yapay zekâ modelidir. Sohbet asistanları, kod yardımcıları ve özetleme araçlarının temelinde bu modeller bulunur.