NEW
An unsupervised tokenizer and detokenizer that learns subword units directly from raw text without whitespace assumptions, enabling language-agnostic text processing.
DESCRIPTION
SentencePiece is a data-driven tokenizer/detokenizer that learns subword units from raw text, avoiding language-specific pre-tokenization. It supports Unigram LM and BPE algorithms, produces stable vocabularies, and outputs token IDs. This design makes it robust for languages without explicit word boundaries and for multilingual corpora. It is widely used to train and serve NLP models, including translation and LLMs. Additional features include normalization, user-defined symbols, and reversible detokenization.
ALTERNATIVE DEFINITIONS
SentencePiece is an unsupervised text tokenizer and detokenizer mainly for Neural Network-based text generation systems.
States unsupervised nature and focus on NN-based text systems.
arXiv
We present SentencePiece, a purely data-driven subword tokenizer and detokenizer that does not depend on language-specific pre-tokenization.
Highlights language independence and removal of pre-tokenization assumptions.
Google Open Source Blog
SentencePiece is an open-source subword tokenizer and detokenizer designed to handle arbitrary input text without relying on language-specific pre-tokenization.
Emphasizes open-source nature and arbitrary raw text handling.
RELATED TERMS
Subword Tokenization Unigram Language Model Tokenizer Detokenization Vocabulary BPE Dropout Token IDs Text Normalization
COMPETING TERMS
KNOWLEDGE AREAS
AI Data Science Platform & Tooling
TARGET AUDIENCE
AI Engineer Data Scientist MLOps Engineer Software Developer
EXTERNAL SOURCES
- Wikipedia - SentencePiece
- Google - Official repository and README
- arXiv - Original SentencePiece paper
- Google - Google open-source announcement
- TensorFlow - TF subword tokenization guide
TOP QUESTIONS
Why use SentencePiece over regex-based tokenizers?
SentencePiece learns subword units from data and does not assume whitespace boundaries, making it robust across languages and noisy text. It also provides reversible detokenization.
Category: Relevancy
How does SentencePiece differ from WordPiece and BPE?
SentencePiece is a framework supporting Unigram LM and BPE algorithms and works directly on raw text. WordPiece and vanilla BPE are specific algorithms usually requiring pre-tokenization.
Category: Differences
What is the Unigram Language Model in SentencePiece?
It models a probabilistic vocabulary of subwords and selects segmentations that maximize likelihood. It often yields compact, stable vocabularies.
Category: Concept
How do you choose the vocabulary size in SentencePiece?
Tune vocab size empirically based on model context length, memory, and OOV resilience. Larger vocabularies reduce sequence length but increase embedding size.
Category: Tuning
What are typical mistakes when training SentencePiece?
Using unrepresentative corpora, inconsistent normalization, or too small a vocab can hurt downstream performance. Forgetting to freeze the tokenizer causes drift.
Category: Mistakes
Is SentencePiece suitable for languages without spaces?
Yes. It was designed to avoid whitespace assumptions and performs well on languages like Japanese and Chinese.
Category: Usage
Can SentencePiece improve OOV handling?
Yes. Subword units compose unseen words from known pieces, mitigating OOV issues and improving robustness.
Category: Benefits
How is SentencePiece used in deployment?
Export the tokenizer model and apply the same normalization and tokenization at inference. Ensure versioning aligns with trained models.
Category: Deployment
What’s a risk of changing tokenizers mid-project?
Token index mismatches and distributional shifts can degrade model performance. Always retrain or adapt models when tokenizer changes.
Category: Risk