/ Модель

Характеристики

Контекст
131 072 токена
Лицензия
Apache 2.0
Базовая модель
Qwen3-ASR-0.6B
Библиотека
ncnn
Опубликована
14 июл 2026

Qwen3-ASR-0.6B-ncnn

Распознавание речиАудио → текст

Конверсия многоязычной Qwen3-ASR-0.6B в NCNN FP32 для распознавания речи и транскрибации аудио на CPU и периферийных устройствах.

0скачиваний за 30 дней1лайквеса обновлены15 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Qwen3-ASR-0.6B NCNN — общественная конверсия Qwen/Qwen3-ASR-0.6B в формат NCNN, предназначенная для запуска распознавания речи на CPU и периферийных устройствах, а также проверки отдельных вычислительных подмоделей. Это не официальный выпуск команды Qwen. Конверсия выполнена в FP32 с помощью PNNX; веса разделены на пять подграфов, включая аудиофронтенд, 18-слойный аудиотрансформер и текстовый декодер из 28 слоёв. Общий объём файлов модели — около 3,75 ГБ.

Модель предназначена для многоязычной транскрибации аудио в текст. Репозиторий содержит вычислительные подграфы NCNN и токенизатор, но для полноценного распознавания необходима среда выполнения, например ncnn-omni: она выполняет загрузку аудио, извлечение Mel-признаков, подготовку последовательности и генерацию текста. Лицензия — Apache-2.0.

Подграфы нельзя напрямую загрузить через Hugging Face pipeline() или AutoModel. Приложение должно корректно оркестрировать подграфы, формировать позиционные кодировки и маски внимания, а также управлять KV-кэшем декодера. Представленная конверсия не использует INT8/INT4-квантизацию или хранение весов в FP16.

Сценарии применения

  • Транскрибация аудиозаписей на устройстве с CPU
  • Многоязычное распознавание речи в периферийных приложениях
  • Интеграция ASR в приложение на базе NCNN
  • Проверка и запуск отдельных подграфов распознавания речи

Ограничения

Репозиторий содержит подграфы, которые не работают напрямую с Hugging Face pipeline() или AutoModel; требуется совместимая среда выполнения для обработки аудио и оркестрации генерации. Корректный запуск требует точного соблюдения форматов входов, масок и управления KV-кэшем.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Qwen3-ASR-0.6B NCNN

English | 简体中文

This is a community NCNN conversion of Qwen/Qwen3-ASR-0.6B, intended for CPU/edge deployment and submodel-level inference validation.

The model was converted to NCNN FP32 with PNNX and split into five submodels: an audio convolutional frontend, an audio Transformer, token embedding, a 28-layer text decoder, and an LM head. The weights were converted from upstream checkpoint revision 5eb144179a02acc5e5ba31e748d22b0cf3e303b0.

This is not an official NCNN release from the Qwen team. The repository contains the NCNN compute subgraphs and tokenizer assets. A runtime such as ncnn-omni is still required for audio loading, Mel feature extraction, graph orchestration, prompt construction, token generation, and text post-processing.

Files

SubmodelParamBinPurpose
Audio Convaudio_conv.ncnn.paramaudio_conv.ncnn.bin (44 MB)Convolutional downsampling and projection of 128-bin Mel features
Audio Transformeraudio_transformer.ncnn.paramaudio_transformer.ncnn.bin (701 MB)18-layer audio Transformer producing 1024-dimensional audio representations
Token Embeddingembed_token.ncnn.paramembed_token.ncnn.bin (622 MB)Maps token IDs to 1024-dimensional hidden states
Text Decoderdecoder.ncnn.paramdecoder.ncnn.bin (1.76 GB)28-layer Qwen3 text decoder with KV-cache support
LM Headlm_head.ncnn.paramlm_head.ncnn.bin (622 MB)Projects 1024-dimensional hidden states to 151936 vocabulary logits

The model files total approximately 3.75 GB in decimal units. This release is not INT8/INT4 quantized and does not use FP16 weight storage.

Tokenizer and reference metadata are included alongside the model:

FilePurposeUsed directly by the current ncnn-omni runtime
vocab.jsonByte-level BPE vocabularyYes, required
merges.txtByte-level BPE merge rulesYes, required
tokenizer_config.jsonUpstream tokenizer and special-token metadataReference metadata
preprocessor_config.jsonUpstream Whisper feature-extractor settingsReference metadata
generation_config.jsonUpstream generation defaultsReference metadata
chat_template.jsonUpstream prompt/chat templateReference metadata

These assets come from the same upstream checkpoint revision as the converted weights. The original model.safetensors is intentionally not duplicated here.

Architecture

ConfigurationValue
Text hidden size1024
Text layers28
Attention heads16
KV heads8
Head dimension128
MLP intermediate size3072
Vocabulary size151936
Audio hidden size896
Audio Transformer layers18
Audio attention heads14
Audio output size1024

NCNN Inputs and Outputs

Blob names are defined by the corresponding .ncnn.param files. The batch dimension is omitted when passing data to NCNN; this conversion uses a fixed batch size of 1.

1. Audio Conv

DirectionBlobdtypeLogical shapeNCNN data layout
Inputin0float32[1, 1, 128, W][1, 128, W]
Outputout0float32[1, ceil(W/8), 896][ceil(W/8), 896]

The input is a 128-bin Mel chunk. Mel extraction, chunking, masking, and positional encoding are outside this subgraph.

2. Audio Transformer

DirectionBlobdtypeLogical shapeNCNN data layout
Inputin0float32[1, L, 896][L, 896]
Outputout0float32[1, L, 1024][L, 1024]

This subgraph does not contain positional encoding or attention scheduling. CPU FP32 conversion validation covers boundary lengths through L=104 and longer dense cases L=196 and L=251. The Qwen3-ASR CPU/SDPA reference performs global audio attention; FlashAttention varlen windowing is a different execution policy and must not be selected silently.

3. Token Embedding

DirectionBlobdtypeShape
Inputin0int32[T]
Outputout0float32[T, 1024]

Valid token IDs are in the range [0, 151935].

4. Text Decoder

The decoder has 60 inputs and 57 outputs. Let S be the current sequence length and P the existing KV-cache length:

DirectionBlobdtypeShapeMeaning
Inputin0float32[S, 1024]Current hidden states
Inputin1float32[S, P+S]Additive attention mask; use 0 for visible positions and typically -1e4 for masked positions
Inputin2float32[S, 64]RoPE cosine, half the head dimension
Inputin3float32[S, 64]RoPE sine, half the head dimension
Inputin4+2*ifloat32[8, P, 128]Past key for layer i, where i=0...27
Inputin5+2*ifloat32[8, P, 128]Past value for layer i, where i=0...27
Outputout0float32[S, 1024]Final decoder hidden states
Outputout1+2*ifloat32[8, P+S, 128]Updated key cache for layer i
Outputout2+2*ifloat32[8, P+S, 128]Updated value cache for layer i

Use S > 1 for prefill and S = 1 for single-token decoding. The caller must generate the causal mask and RoPE cosine/sine tensors outside the graph and maintain all 56 KV-cache tensors across the 28 layers.

5. LM Head

DirectionBlobdtypeShape
Inputin0float32[1024]
Outputout0float32[151936]

The current model was converted and validated for one hidden state at a time. During generation, the LM head is normally applied only to the decoder hidden state of the final token.

Download

hf download songqiuyu/Qwen3-ASR-0.6B-ncnn \
  --local-dir ./Qwen3-ASR-0.6B-ncnn

You can also download the .param/.bin pairs directly from the repository's Files page. Both files of a submodel must be present.

The downloaded directory is self-contained for the current ncnn-omni Qwen3-ASR runtime. Pass the same directory as both the model and asset paths:

ncnn-omni-asr \
  --model ./Qwen3-ASR-0.6B-ncnn \
  --assets ./Qwen3-ASR-0.6B-ncnn \
  --audio ./audio.wav

NCNN Loading Example

The following example loads the token embedding model with the NCNN Python binding:

import ncnn
import numpy as np

net = ncnn.Net()
net.opt.use_fp16_packed = False
net.opt.use_fp16_storage = False
net.opt.use_fp16_arithmetic = False
net.opt.use_bf16_storage = False

assert net.load_param("embed_token.ncnn.param") == 0
assert net.load_model("embed_token.ncnn.bin") == 0

token_ids = np.asarray([0, 1, 151676], dtype=np.int32)
ex = net.create_extractor()
assert ex.input("in0", ncnn.Mat(token_ids).clone()) == 0
ret, embeddings = ex.extract("out0")
assert ret == 0

embeddings = np.asarray(embeddings)  # [3, 1024]
print(embeddings.shape)

The other submodels are loaded in the same way, but their inputs must follow the blob names, dtypes, and layouts documented above exactly.

Alignment Validation

All five submodels were tested by comparing PyTorch eager and NCNN outputs on identical inputs. The tests covered:

  • zero, random, and dynamic-width boundary inputs for Audio Conv;
  • multiple sequence lengths for the Audio Transformer;
  • boundary and random token IDs for Token Embedding;
  • zero, impulse, linear-ramp, and random inputs for the LM Head;
  • prefill, single-token decode, PyTorch-generated KV caches, and NCNN-generated KV caches for the decoder.

All cases passed the predefined tolerances. Because the decoder contains 28 layers, FP32 rounding differences in attention and matrix multiplication accumulate during long prefills, so its absolute-error tolerance is higher than those of the other subgraphs. The validation also checks mean error, cosine similarity, and error relative to the reference magnitude; no graph-structure, shape, cache-ordering, or weight-conversion issue was detected.

Validation environment:

ItemEnvironment
PlatformmacOS arm64
PyTorch2.12.1
NCNN1.0.20260526
PrecisionCPU FP32
Threads4

FP16, BF16, Vulkan/GPU, INT8/INT4, and the complete audio-to-text pipeline have not been validated. Run submodel-level alignment tests and end-to-end recognition evaluation before using any of these modes in production.

Limitations

  • These five models are composable compute subgraphs and cannot be loaded directly with Hugging Face pipeline() or AutoModel.
  • vocab.json and merges.txt are bundled and are the only asset files read directly by the current ncnn-omni runtime. The small JSON files preserve upstream reference metadata; the executable implementation of the Mel frontend and generation loop remains in the runtime.
  • The caller must reproduce Audio Conv tail padding and positional encoding, then select the Audio Attention policy that matches the reference backend (global for CPU/SDPA; varlen windowing only for its corresponding FlashAttention path).
  • Decoder input order, per-layer KV-cache order, and NCNN Mat dimensions must match this document exactly.

Acknowledgements and License

The original architecture and weights are from Qwen/Qwen3-ASR-0.6B and QwenLM/Qwen3-ASR. Thanks to the Qwen team for their open-source work.

This conversion follows the upstream model's declared Apache License 2.0. Use, redistribution, and modification of this repository must also comply with the upstream model license and all applicable terms.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · ncnn

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
81cf6a9

0 моделей