MigoXV/icefall-kws-zipformer-zh-en-3M-2025-12-20
033
icefall-kws-zipformer-zh-en-3M-2025-12-20
这是 Icefall 流式 Zipformer KWS 模型的 Hugging Face Transformers 格式转换仓库。 本次工作只包装模型结构,并把原始 PyTorch checkpoint 无损转换为 safetensors;没有重新训练、 微调、量化或修改任何权重,也不代表原作者发布了新的模型版本。
来源与校验
- 原始仓库或发布页:https://www.modelscope.cn/models/pkufool/icefall-kws-zipformer-zh-en-3M-2025-12-20
- 原始 revision:
541d04e28be57efc6fdf46a341da09e043a37b52 - 原始 checkpoint:
checkpoint/pretrained-epoch-13-avg-2.pt - 原始 checkpoint SHA256:
62188d073aaf7ec33f85a2c1e1f2a75751658743daeb203f17241ec3bf4ff6eb - 原始 tokenizer SHA256:
2d3f32311f9b692b964da3c90e830258d3e78e013cb0c992dbfb15cd5a1a71b0 - 参数量:
3,219,385 - 许可证:Apache License 2.0
模型实现来自 k2-fsa/icefall,本仓库保留了推理所需的 自定义模型代码。该模型使用显式 Phone/Pinyin token;本仓库不提供自动 G2P。
Transformers 加载
import torch
from transformers import AutoModel
model = AutoModel.from_pretrained(
"MigoXV/icefall-kws-zipformer-zh-en-3M-2025-12-20",
trust_remote_code=True,
).eval()
features = torch.zeros(1, 45, 80)
lengths = torch.tensor([45], dtype=torch.int64)
states = model.get_init_states(batch_size=1, device=features.device)
output = model(
input_features=features,
input_features_lens=lengths,
states=states,
)
print(output.last_hidden_state.shape, output.output_lengths)自定义代码会在加载时执行;生产环境应审阅代码并把 revision 固定为明确的 Hub commit。 模型接收已经计算好的 80 维 Kaldi Fbank,采样率为 16kHz,流式窗口为 45 帧。
对齐结果
<!-- ALIGNMENTRESULTSSTART --> 权重逐项完全一致;CPU/CUDA 数值对齐通过;本地录音 8 段(合计 274.1 秒)的离线与不同切块流式事件完全一致。 <!-- ALIGNMENTRESULTSEND -->
发布前会比较原始 PT 与 Transformers/safetensors 在 CPU、CUDA、合成特征和本地录音上的 权重、流式状态、encoder 输出与最终关键词事件。机器可读结果见 alignment.json。
限制
- 这是低层模型格式转换,不是 Hugging Face
pipeline的端到端音频分类器。 - 关键词图、音频重采样、Fbank、流式切块和 beam search 仍需调用方实现。
- 转换没有改变原模型的训练数据、精度、偏差和适用范围。
