| #!/bin/bash |
| |
|
|
| set -e |
|
|
| echo "==============================================" |
| echo "EthioBBPE Tokenizer Training - Quick Start" |
| echo "==============================================" |
|
|
| |
| DATA_DIR="./data" |
| MODEL_NAME="EthioBBPE_AmharicBible" |
| VOCAB_SIZE=8000 |
| COMPRESSION_FORMAT="gzip" |
| COMPRESSION_LEVEL=9 |
| QUANTIZATION_BITS=8 |
| MAX_CHECKPOINTS=3 |
|
|
| echo "" |
| echo "Configuration:" |
| echo " Data Directory: $DATA_DIR" |
| echo " Model Name: $MODEL_NAME" |
| echo " Vocabulary Size: $VOCAB_SIZE" |
| echo " Compression: $COMPRESSION_FORMAT (level $COMPRESSION_LEVEL)" |
| echo " Quantization: ${QUANTIZATION_BITS}-bit" |
| echo " Max Checkpoints: $MAX_CHECKPOINTS" |
| echo "" |
|
|
| |
| if [ ! -f "$DATA_DIR/combined_corpus.txt" ]; then |
| echo "Step 1: Preparing datasets..." |
| python scripts/prepare_datasets.py --output_dir $DATA_DIR |
| else |
| echo "Step 1: Dataset already prepared (combined_corpus.txt exists)" |
| fi |
|
|
| echo "" |
| echo "Step 2: Training tokenizer..." |
| python scripts/train_tokenizer.py \ |
| --data_dir $DATA_DIR \ |
| --vocab_size $VOCAB_SIZE \ |
| --model_name $MODEL_NAME \ |
| --compression_format $COMPRESSION_FORMAT \ |
| --compression_level $COMPRESSION_LEVEL \ |
| --enable_quantization \ |
| --quantization_bits $QUANTIZATION_BITS \ |
| --max_checkpoints $MAX_CHECKPOINTS \ |
| --export_formats tokenizer.json vocab_compressed hf_export quantized \ |
| --no_checkpoint |
|
|
| echo "" |
| echo "==============================================" |
| echo "Training Complete!" |
| echo "==============================================" |
| echo "" |
| echo "Model saved to: models/$MODEL_NAME/" |
| echo "" |
| echo "Files generated:" |
| ls -lh models/$MODEL_NAME/ |
| echo "" |
| echo "Usage example:" |
| echo " from tokenizers import Tokenizer" |
| echo " tokenizer = Tokenizer.from_file('models/$MODEL_NAME/tokenizer.json')" |
| echo "" |
|
|