| --- |
| license: apache-2.0 |
| language: |
| - zh |
| - en |
| tags: |
| - gguf |
| - ggml |
| - punctuation |
| - text-processing |
| - bert |
| - nlp |
| base_model: FireRedTeam/FireRedPunc |
| pipeline_tag: token-classification |
| --- |
| |
| # FireRedPunc (GGUF) |
|
|
| GGUF conversion of [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc) for use with [CrispASR](https://github.com/CrispStrobe/CrispASR). |
|
|
| Adds punctuation to unpunctuated ASR output using a BERT-based token classifier. |
|
|
| ## Model Details |
|
|
| - **Architecture**: BERT-base (LERT) — 12L, d=768, 12 heads, d_ffn=3072, GELU |
| - **Parameters**: ~102M |
| - **Classifier**: Linear(768, 5) — 5 punctuation classes |
| - **Labels**: space, ,(comma), 。(period), ?(question), !(exclamation) |
| - **Vocabulary**: chinese-bert-wwm-ext (21,128 tokens, WordPiece) |
| - **Max sequence**: 512 tokens (longer texts are automatically chunked) |
| - **Languages**: Chinese + English |
| - **License**: Apache 2.0 |
| |
| ## Usage with CrispASR |
| |
| ```bash |
| # Add punctuation to any ASR backend's output |
| crispasr --backend wav2vec2 -m wav2vec2.gguf --punc-model fireredpunc-q8_0.gguf -f audio.wav |
|
|
| # Works with all backends |
| crispasr --backend omniasr -m omniasr-ctc-1b-q4_k.gguf --punc-model fireredpunc-q8_0.gguf -f audio.wav |
| ``` |
| |
| ## Available Files |
| |
| | File | Quant | Size | Description | |
| |------|-------|------|-------------| |
| | `fireredpunc.gguf` | F16 | 195 MB | Full precision | |
| | `fireredpunc-q8_0.gguf` | Q8_0 | 104 MB | Recommended — lossless quality | |
| | `fireredpunc-q4_k.gguf` | Q4_K | 56 MB | Smaller but may miss some punctuation | |
| |
| **Recommendation**: Use Q8_0. Token classification is more sensitive to quantization than language modeling — Q4_K occasionally drops commas that Q8_0 and F16 correctly predict. |
| |
| ## Example |
| |
| Input (from CTC ASR): |
| ``` |
| and so my fellow americans ask not what your country can do for you ask what you can do for your country |
| ``` |
| |
| Output (with FireRedPunc): |
| ``` |
| And so my fellow americans, ask not what your country can do for you, ask what you can do for your country? |
| ``` |
| |
| ## Conversion |
| |
| ```bash |
| python models/convert-fireredpunc-to-gguf.py \ |
| --input /path/to/FireRedPunc \ |
| --output fireredpunc.gguf |
| ``` |
| |
| ## Original Model |
| |
| - **Source**: [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc) |
| - **Paper**: [FireRedASR2S](https://arxiv.org/abs/2603.10420) |
| - **Base**: [LERT (Linguistically-motivated BERT)](https://github.com/ymcui/LERT) |
| - **Training**: 18.57B Chinese characters + 2.20B English words |
| |