firered-punc / README.md
OpenASR's picture
publish firered-punc OpenASR packs
61306bc verified
|
Raw
History Blame Contribute Delete
5.52 kB
---
license: apache-2.0
base_model: FireRedTeam/FireRedPunc
pipeline_tag: automatic-speech-recognition
library_name: openasr
tags:
- openasr
- oasr
- firered-punc
---
<div align="center">
# FireRedPunc Β· OpenASR
**Chinese punctuation restoration for OpenASR -- a BERT token classifier that adds full-width marks to unpunctuated transcripts, fully on-device**
[![License](https://img.shields.io/badge/license-Apache--2.0-2563eb.svg)](https://huggingface.co/FireRedTeam/FireRedPunc)
[![Format](https://img.shields.io/badge/format-.oasr-7c3aed.svg)](https://github.com/QuintinShaw/openasr)
[![Runtime](https://img.shields.io/badge/runtime-OpenASR-111827.svg)](https://openasr.org)
[![Base model](https://img.shields.io/badge/base-FireRedPunc-f59e0b.svg)](https://huggingface.co/FireRedTeam/FireRedPunc)
A capability-pack support model for the **[OpenASR](https://github.com/QuintinShaw/openasr)**
runtime β€” pure-Rust inference, **no Python at inference time**. Not a standalone
transcription model: it augments another OpenASR ASR model's own decode path.
</div>
---
## ✨ Highlights
- 🈢 **Chinese punctuation restoration** -- restores full-width `οΌŒγ€‚οΌŸοΌ` on an unpunctuated ASR transcript (e.g. Dolphin, FireRedASR2-AED) in a finalize-only post-processing pass
- 🧠 **BERT token classifier** -- a 12-layer `chinese-lert-base` encoder with a 5-class head predicting which of none/οΌŒγ€‚οΌŸοΌ follows each subword
- πŸ‡¨πŸ‡³ **Chinese-only by construction** -- the released label set has no English half-width marks, so only Chinese text is punctuated
- πŸ”Œ **Opt-in and auto-gated** -- runs only when the ASR model is unpunctuated and this pack is installed, so punctuating families are never double-punctuated
- πŸ¦€ **Native in OpenASR** β€” `.oasr` packs run with no Python at inference, engineered for peak performance on CPU & GPU
## πŸš€ Quickstart
```bash
# 1. Install the OpenASR CLI Β· https://openasr.org
# 2. Pull the pack
openasr pull firered-punc:fp16
# 3. Use it as an opt-in refinement for another model's transcribe call
openasr transcribe meeting.wav --model <asr-model> --word-timestamps=aligned
```
## πŸ“¦ Pack
| Quant | File (`.oasr`) | Size |
|:------|:---------------|-----:|
| fp16 | `firered-punc-fp16.oasr` | 204 MB |
## 🧠 About FireRedPunc
FireRedPunc is a **punctuation-prediction** model from **FireRedTeam**, part of the
FireRedASR2S all-in-one ASR system. It adopts a BERT-style encoder initialized from
`chinese-lert-base` (a 12-layer, 768-hidden, 12-head BERT) with a token-classification head
that predicts, for each subword, which of five classes follows it: none, or one of the four
Chinese full-width marks `,`, `。`, `?`, `!`. It is a text-in / labels-out post-processor,
not an ASR model -- no audio frontend, no autoregressive decode.
In OpenASR it is packaged as an optional **punctuation capability pack**: an unpunctuated
family's finished transcript (e.g. Dolphin or FireRedASR2-AED) is passed through the classifier
once, and the predicted marks are re-inserted into the original characters. The stage is
auto-gated on the ASR model's catalog `emits_punctuation == false` and only runs when this pack
is installed, so punctuating families are never double-punctuated. Because the released label
set is Chinese-only, the integration is Chinese-only by construction (the architecture cannot
emit English half-width marks).
This OpenASR repo repackages the upstream weights as `.oasr` packs that run natively in the
OpenASR runtime -- no Python at inference, all decoding local. It ships in **fp16**.
**Not a standalone transcription model.** This pack cannot transcribe audio by itself; it is an
opt-in post-process applied to an unpunctuated ASR model's output.
**Verification status:** this is a brand-new catalog entry (no prior public listing). Local
verification covers exact per-token label parity against the upstream PyTorch forward across a
set of Chinese golden sentences (all four punctuation classes plus the no-mark class). This
pack is staged in a private repo, not yet publicly listed.
## βš™οΈ How this pack was made
Converted from [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc) with the OpenASR local-source
converter (`convert_local_qwen_forced_aligner_source_to_runtime_pack`, not yet wired
to a public `openasr model-pack import` subcommand -- the pack format and tensor
mapping are stable, but CLI/family-registry wiring is a separate stage).
The `.oasr` container is GGUF-backed; packs use zero-copy mmap weight binding.
## βš–οΈ License
This pack **inherits the upstream model's license: Apache-2.0**
([source](https://huggingface.co/FireRedTeam/FireRedPunc)). OpenASR packaging retains the upstream copyright;
the only modifications are format conversion and quantization.
## πŸ™ Acknowledgements
This pack is a redistribution of **FireRedPunc**, created and open-sourced by **FireRedTeam**
([FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc)). All credit for the
original architecture, training, and weights belongs to the authors; the license is inherited
from and identical to the upstream model (Apache-2.0). OpenASR only performs format conversion,
runtime verification, and local-inference adaptation.
## πŸ”— Links
- πŸ¦€ **OpenASR** β€” <https://github.com/QuintinShaw/openasr>
- 🌐 **Website** β€” <https://openasr.org>
- πŸ€— **Upstream model** β€” [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc)