Instructions to use sedayzc/turkish-bpe-tokenizer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use sedayzc/turkish-bpe-tokenizer with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("sedayzc/turkish-bpe-tokenizer", device_map="auto") - Notebooks
- Google Colab
- Kaggle
🔤 Turkish Byte-Level BPE Tokenizer
Türkçe metinler üzerinde sıfırdan eğitilmiş küçük ölçekli bir Byte-Level BPE (Byte Pair Encoding) Tokenizer.
📌 Tokenizer Hakkında
Bu tokenizer, Byte-Level BPE algoritmasının Türkçe metinler üzerinde uygulanmasını deneyimlemek ve küçük ölçekli LLM çalışmalarında kullanılmak amacıyla hazırlanmıştır.
Byte-Level yaklaşımı sayesinde tokenizer, yalnızca eğitim vocabulary'sinde bulunan karakterlerle sınırlı kalmadan metni byte düzeyinde temsil edebilir.
BPE algoritması ise eğitim corpusunda sık tekrar eden token çiftlerini birleştirerek daha kompakt bir vocabulary oluşturur.
⚙️ Tokenizer Yapılandırması
| Özellik | Değer |
|---|---|
| Tokenizer algoritması | Byte-Level BPE |
| Dil | Türkçe |
| Vocabulary Size | 512 |
| Minimum Frequency | 2 |
| Pre-tokenizer | ByteLevel |
| Decoder | ByteLevel |
| Transformers uyumluluğu | Evet |
| AutoTokenizer desteği | Evet |
🔑 Özel Tokenlar
Tokenizer aşağıdaki özel tokenları kullanmaktadır:
| Token | Amaç |
|---|---|
<unk> |
Bilinmeyen token |
<pad> |
Padding |
<bos> |
Sequence başlangıcı |
<eos> |
Sequence sonu |
🔄 Tokenization Pipeline
flowchart LR
A["📝 Türkçe Metin"]
B["🔡 Byte-Level Encoding"]
C["✂️ Pre-Tokenization"]
D["🔗 BPE Merge İşlemleri"]
E["📚 Token Vocabulary"]
F["🔢 Token IDs"]
A --> B
B --> C
C --> D
D --> E
E --> F
🚀 Kullanım
Tokenizer Hugging Face Hub üzerinden doğrudan yüklenebilir:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"sedayzc/turkish-bpe-tokenizer"
)
Bir metni tokenize etmek için:
text = "Bu bilmecenin anlamını çözmek günler sürdü"
token_ids = tokenizer.encode(
text
)
tokens = tokenizer.convert_ids_to_tokens(
token_ids
)
decoded = tokenizer.decode(
token_ids
)
print("Tokens:", tokens)
print("Token IDs:", token_ids)
print("Decoded:", decoded)
📊 Örnek Tokenization
Girdi
Bu bilmecenin anlamını çözmek günler sürdü
Örnek tokenlar
[
'B',
'u',
'Ġb',
'i',
'lm',
'e',
'c',
'en',
'in',
...
]
Decode
Bu bilmecenin anlamını çözmek günler sürdü
Byte-Level BPE tokenlarında görülebilen Ġ benzeri semboller tokenizer'ın
byte-level iç temsilinden kaynaklanmaktadır.
Bunlar gerçek metne eklenen karakterler değildir.
Decode işlemi sonucunda orijinal metin yeniden elde edilir.
📦 Repo İçeriği
Tokenizer temel olarak aşağıdaki dosyalardan oluşmaktadır:
tokenizer.json
tokenizer_config.json
special_tokens_map.json
tokenizer.json
Tokenizer vocabulary'sini, BPE merge yapılarını ve tokenizer pipeline'ını içerir.
tokenizer_config.json
Tokenizer'ın Hugging Face Transformers tarafından yüklenmesi için gerekli yapılandırmayı içerir.
special_tokens_map.json
<unk>, <pad>, <bos> ve <eos> özel tokenlarının eşlemesini içerir.
⚠️ Sınırlamalar
Bu tokenizer:
- Küçük ölçekli bir eğitim corpusuyla eğitilmiştir.
- Vocabulary size değeri yalnızca
512olarak belirlenmiştir. - Büyük üretim modellerinde kullanılan tokenizer'larla aynı kapsam ve token verimliliğine sahip değildir.
🔗 İlgili Proje
Tokenizer'ın eğitim ve deney kodları aşağıdaki GitHub reposunda yer almaktadır:
👩💻 Oluşturan
Seda Nur Yazıcı