---
title: Ming-3.0-asr-tiny
canonical_url: "https://www.modelscope.cn/models/inclusionAI/Ming-3.0-asr-tiny"
md_url: "https://www.modelscope.cn/models/inclusionAI/Ming-3.0-asr-tiny.md"
repository: inclusionAI/Ming-3.0-asr-tiny
last_updated: 2026-10-19
license: mit
model_type:
  - ming_v3_asr
architectures:
  - MingV3ASRForConditionalGeneration
library_name:
  - pytorch
  - transformer
  - safetensors
frameworks:
  - pytorch
language:
  - zh
  - en
downloads: 8
stars: 0
tags:
  - audio
  - speech-recognition
  - contextual-asr
---

# Ming-3.0-asr-tiny

> Ming-3.0-asr-tiny - inclusionAI 在 ModelScope 开源的模型。Ming-3.0-asr-tiny Context-aware speech recognition for Chinese, English, and dialects.

inclusionAI/Ming-3.0-asr-tiny 是 ModelScope 魔搭社区上的机器学习模型，采用 mit 许可。

- **Repository**: inclusionAI/Ming-3.0-asr-tiny
- **License**: mit
- **Tags**: audio, speech-recognition, contextual-asr
- **Downloads**: 8
- **Stars**: 0
- **Last updated**: 2026-10-19

Source: https://www.modelscope.cn/models/inclusionAI/Ming-3.0-asr-tiny

---

<div align="center">
  <img src="./figures/bailing-logo.png" width="60" alt="Bailing logo" />
  <h1>Ming-3.0-asr-tiny</h1>
  <p><i>Context-aware speech recognition for Chinese, English, and dialects.</i></p>
</div>

English · [简体中文](https://huggingface.co/inclusionAI/Ming-3.0-asr-tiny/blob/main/README.zh.md)

[GitHub code and cookbook](https://github.com/inclusionAI/Ming-3.0-asr) · [Quick Start](#quick-start) · [Evaluation](#evaluation)

**Ming-3.0-asr-tiny** combines the Ling-tiny-v3 language backbone with an audio encoder. It transcribes single-turn Chinese and English speech, covers regional dialects, and can use hotwords or preceding dialogue to improve recognition of domain-specific terms. This repository includes the model weights, tokenizer, custom Transformers implementation, and runnable inference example.

## Capabilities

- **Chinese and English ASR:** speech-to-text transcription through one model interface.
- **Dialect recognition:** evaluated on 15 regional dialect test sets, including Cantonese, Minnan, and Shanghainese.
- **Context ASR:** accepts relevant hotwords or dialogue context as part of the transcription prompt.
- **Challenging speech:** evaluated on noisy speech and five application domains.

## Architecture

<p align="center"><img src="./figures/model.jpg" width="850" alt="Ming-3.0-asr-tiny architecture" /></p>

## Quick Start

### Download and install

Use Python 3.12 on a Linux machine with a compatible CUDA GPU. Download the complete checkpoint and install its dependencies, including PyTorch and torchaudio:

```bash
python -m pip install "huggingface_hub[cli]"
hf download inclusionAI/Ming-3.0-asr-tiny --local-dir Ming-3.0-asr-tiny
cd Ming-3.0-asr-tiny
python -m pip install -r requirements.txt
```

### Run the PyTorch / Transformers example

```bash
python examples/transcribe.py \
  --model . \
  --audio /path/to/speech.wav
```

Add `--language-hint zh` or `--language-hint en` when the language is known. The example uses CUDA, BF16, SDPA, greedy decoding, and up to 256 new tokens; it loads the bundled model code with `trust_remote_code=True`. The dependency versions are listed in `requirements.txt`, including Transformers 5.12.1, fla-core 0.5.2, and PyTorch 2.11.0. For another CUDA version, first install matching PyTorch and torchaudio 2.11.0 wheels using the [official PyTorch instructions](https://pytorch.org/get-started/previous-versions/), then run `pip install -r requirements.txt`.

### PyTorch / Transformers Python API

Run this directly from the downloaded model directory with your own `speech.wav`. It is the same inference path as the bundled [executable example](./examples/transcribe.py):

```python
import soundfile as sf
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
from asr_request import decode_transcript, prepare_asr_request

processor = AutoProcessor.from_pretrained(".", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    ".", trust_remote_code=True, dtype=torch.bfloat16,
    device_map="cuda:0", attn_implementation="sdpa",
).eval()
waveform, rate = sf.read("speech.wav", dtype="float32", always_2d=True)
inputs = prepare_asr_request(
    processor, (waveform.T, rate), return_tensors="pt",
).to(model.device)
eos = model.config.text_config.eos_token_id
with torch.inference_mode():
    output = model.generate(
        **inputs, max_new_tokens=256, do_sample=False,
        eos_token_id=eos, pad_token_id=eos, no_repeat_ngram_size=10,
    )
print(decode_transcript(
    processor.tokenizer, output[0, inputs.input_ids.shape[1]:].tolist(),
))
```

### Context ASR

Ordinary transcription and Context ASR use the same input format. Append the topic and hotwords directly to the base instruction, without a newline. For known-language clips up to 60 seconds, `--context-chunks` selects 3000 mel frames up to 30 seconds and 6000 beyond 30 seconds:

```bash
python examples/transcribe.py --model . --audio /path/to/speech.wav \
  --language-hint zh --context-chunks \
  --prompt $'Please recognize the language of this speech and transcribe it, placing a `\t` between the identified language and the transcribe.This is an audio about 电影蜥蜴.This audio may contains the following words or phrases:蜥蜴,姜知垠,曹承佑,姜惠贞,八音盒.'
```

For English, use `--language-hint en`. The topic and hotwords above are illustrative. Dialogue context can also be included in the prompt text. For Python calls, pass the full prompt through `prepare_asr_request(..., prompt=...)`.

### SGLang serving

For GPU serving, see the [Ming SGLang adapter](https://github.com/inclusionAI/sglang_ling_v3/tree/ling_v3_audio_for_pr) and the [ASR serving guide](https://github.com/inclusionAI/Ming-3.0-asr/blob/main/cookbook/sglang/README.en.md), which includes pinned adapter patches, environment setup, a server launcher, and client examples. Once the server is running, transcribe a WAV file through its audio endpoint:

```bash
curl --fail-with-body --max-time 600 \
  http://127.0.0.1:8000/v1/audio/transcriptions \
  -F 'file=@/path/to/speech.wav' -F 'model=ming-asr' \
  -F 'response_format=json' -F 'temperature=0'
```

The response contains a `text` field. The cookbook also covers dataset evaluation settings.

## Evaluation

### ASR Overview

<p align="center"><img src="./figures/asr.png" width="1000" alt="ASR performance overview" /></p>

### Chinese and English ASR

<p align="center"><img src="./figures/开源asr.png" width="1000" alt="Chinese and English ASR evaluation" /></p>

### Dialects and Domains

<p align="center"><img src="./figures/自建asr.png" width="1000" alt="Dialect and domain ASR evaluation" /></p>

### Context ASR

<p align="center"><img src="./figures/contextasr.png" width="1000" alt="Context ASR evaluation" /></p>

## Usage Notes

- Output is transcription text, without word-level timestamps or speaker diarization.
- The included example does not support streaming input; image and video inputs are unsupported.
- Long audio can be encoded in chunks with `--audio-chunk-frames`, subject to the model context limit.
- Hotwords are hints, not a guarantee that a term will appear in the transcript.

For local Transformers inference, run the bundled [PyTorch example](./examples/transcribe.py).

## License

The model weights and original project code are released under the [MIT License](./LICENSE), following the [Ming project](https://github.com/inclusionAI/Ming). Bundled Apache-2.0 source files retain their own headers and [license text](./LICENSE-APACHE-2.0). `modeling_whisper_encoder.py` retains the MIT notice for code adapted from OpenAI Whisper.

## Citation

Use the repository-level metadata in [CITATION.cff](./CITATION.cff).
