kanary-v2-1b-ko-34800

Korean controllable ASR checkpoint trained for 34,800 optimizer steps in two stages (8,700 untagged/exposure steps followed by 26,100 prompt-supervised steps). The model supports independent controls for number formatting, foreign word script, and punctuation.

This package is a release candidate. It is the best completed v2 checkpoint by the checkpoint-selection metric available on 2026-09-14: 7.94% CER on the KsponSpeech development view, compared with 7.98% for the previously selected v2 checkpoint. Evaluation of this exact checkpoint on KconfSpeech, KsponSpeech eval-clean, Zeroth, and FLEURS-ko was still queued when the package was created. Do not describe it as the best model on those test sets until the queued reports are added.

Checkpoint

Item Value
File kanary-v2-1b-ko-34800.nemo
Size 3,800,760,320 bytes
SHA-256 cb12edf581adcb1561b3c7cc4edaae59d7a2ef0dc6557f5941daf153a3a2e0b8
Parameters 948,740,320
Selection metric KsponSpeech dev CER, 7.94%
Selected stage-2 step 26,000; final export after step 26,100
Total training budget 8,700 + 26,100 = 34,800 steps

The .nemo archive contains model weights, model configuration, and both tokenizers. provenance.json records the exact local experiment identity and checksums. Training configuration snapshots are included under training/.

Usage

The checkpoint declares the project-specific kanary prompt format. Install this model repository so that kanary_prompt is importable before loading the model:

pip install git+https://huggingface.co/lee1jun/kanary-v2-1b-ko-34800
import kanary_prompt
import nemo.collections.asr as nemo_asr

model = nemo_asr.models.ASRModel.from_pretrained(
    "lee1jun/kanary-v2-1b-ko-34800"
)

hyps = kanary_prompt.transcribe(
    model,
    ["sample.wav"],
    source_lang="ko",
    target_lang="ko",
    pnc="True",
    itn="itn",
    foreign="foreign:en",
)
print(hyps[0].text)

The extra slots must travel through a manifest; NeMo's ordinary model.transcribe() interface does not forward the project-specific itn and foreign fields. kanary_prompt.transcribe() creates that manifest.

Prompt controls

Slot Values Intended behavior
itn itn, noitn, itn:undefined digits/symbols, spoken-form Hangul, or model choice
foreign foreign:en, foreign:ko, foreign:undefined Latin script, Hangul transcription, or model choice
pnc True, False punctuation on or off

Only Korean (ko) is supported for source_lang and target_lang.

Training

The model was initialized from the Korean-tokenizer Canary v2 graft and trained on AI Hub KsponSpeech, KtelSpeech, and KconfSpeech.

  • Stage 1: 8,700 steps on the three-corpus exposure view.
  • Stage 2: 26,100 steps on prompt-supervised ITN/foreign/PNC views, including non-applicable examples used to teach restraint.
  • Optimizer: AdamW, learning rate 1e-4, inverse-square-root schedule, 1,000 warmup steps in each stage.
  • Batch duration: 1,800 seconds/GPU on four GPUs, bf16 mixed precision.
  • Seed: 42 for the recovered stage-2 run. The original stage-1 random state was not replayed.

The source corpora total approximately 8,684 hours before derived prompt views. Derived rows are not additional unique audio.

Current evaluation status

The 7.94% development CER is suitable for checkpoint selection, not a claim of test-set superiority. Earlier v2 checkpoints showed strong formatting control, but those numbers are not copied here because they were measured from different weights. Update this section only from the reports for this exact SHA-256.

Limitations

  • Korean only.
  • A requested script marker is weaker evidence than exact recognition of the requested span.
  • Rule-derived and LLM-generated multi-reference candidates require audio-based human approval before they can be treated as benchmark ground truth.
  • The training data includes licensed AI Hub corpora; redistributing the model does not redistribute those datasets or supersede their terms.

License

CC-BY-4.0 for the checkpoint, following the existing Kanary release lineage. The source datasets retain their own terms.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support