İçeriğe geç
parazade
Yapay Zeka

SentencePiece Nedir?

Yayın: · Son güncelleme:

SentencePiece Nedir? Kısaca

SentencePiece, 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.

SentencePiece nedir?
İçindekiler
  1. SentencePiece nedir?
  2. Nasıl çalışır?
  3. Neden tercih edilir?

SentencePiece, Google araştırmacıları tarafından 2018'de tanıtılan açık kaynaklı bir alt kelime tokenizasyon kütüphanesidir. En önemli özelliği, metni dile özgü kurallar uygulamadan, ham hâliyle işleyebilmesidir.

SentencePiece nedir?

Birçok klasik tokenizer, önce metni boşluklara göre kelimelere ayırır, sonra bu kelimeleri alt parçalara böler. Bu yaklaşım Japonca veya Çince gibi kelimeler arasında boşluk kullanmayan dillerde sorun çıkarır. SentencePiece ise metni bir karakter dizisi olarak görür ve boşluğu da sıradan bir karakter gibi ele alır.

Boşluk, genellikle "▁" sembolüyle gösterilir. Örneğin "Merhaba dünya" ifadesi "▁Merhaba", "▁dün", "ya" gibi parçalara bölünebilir. Bu sayede tokenizasyon tamamen geri döndürülebilir: Token'lar birleştirildiğinde orijinal metin, boşluklarıyla birlikte aynen elde edilir.

Nasıl çalışır?

SentencePiece tek bir algoritma değil, bir çerçevedir. İki ana alt kelime yöntemini destekler:

  • Byte Pair Encoding: Sık geçen çiftleri adım adım birleştirir.
  • Unigram dil modeli: Geniş bir aday sözlükle başlar ve metni en iyi açıklamaya en az katkı sağlayan parçaları budayarak sözlüğü küçültür.

Model doğrudan ham metinden eğitilir ve istenen sözlük büyüklüğü baştan belirlenir. Sözlükte bulunmayan nadir karakterler için bayta geri düşme seçeneği de vardır.

Neden tercih edilir?

  • Dilden bağımsızdır; tek bir tokenizer ile çok dilli modeller eğitilebilir.
  • Ön işleme adımlarını azaltır ve eğitimle kullanım arasında tutarlılık sağlar.
  • T5 gibi pek çok açık model tarafından kullanılmıştır.

Yine de sözlük, eğitim verisindeki dil dağılımını yansıtır; az temsil edilen dillerde metin daha fazla token'a bölünebilir.

Sıkça Sorulan Sorular

SentencePiece'teki ▁ işareti ne anlama gelir?

▁ işareti, metindeki boşluğu temsil eder ve genellikle bir kelimenin başladığını gösterir. Bu sayede token'lar birleştirildiğinde orijinal metin boşluklarıyla birlikte geri elde edilir.

SentencePiece ile BPE aynı şey mi?

Hayır. BPE bir algoritmadır, SentencePiece ise BPE ve unigram gibi algoritmaları ham metin üzerinde uygulayan bir tokenizasyon aracıdır.

İlgili terimler

Byte Pair EncodingByte 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.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.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.Kelime Dağarcığı(Vocabulary)Yapay zekâda kelime dağarcığı (vocabulary), bir dil modelinin veya tokenizer'ın tanıdığı tüm token'ların, yani kelime, alt kelime ve karakter parçalarının, her birine benzersiz bir numara atanmış sabit listesidir.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.T5T5 (Text-to-Text Transfer Transformer), Google araştırmacılarının geliştirdiği ve çeviri, özetleme, sınıflandırma gibi tüm doğal dil işleme görevlerini metin girdisinden metin çıktısı üretme biçiminde ele alan kodlayıcı-çözücü yapısında bir Transformer modelidir.