--- library_name: transformers pipeline_tag: audio-text-to-text language: - zh - en tags: - edgeinstant - audio - speech-recognition - speech-translation - audio-question-answering --- # EdgeInstant-1.5b S5 bilingual audio instruction 中英文 audio-in 后训练模型,支持语音转写、语音翻译、音频问答和指令执行,同时保留 direct 与 thinking 两种输出模式。此目录是包含模型权重、处理器及自定义代码的独立 Hugging Face 包。 ## 训练 起点为 S4 最终模型,先以相同数据进行 600 步回答控制训练,再进行 1,600 步八卡混合后训练。语言模型全部参数、音频投影层和音频编码器末两层参与主训练;峰值学习率分别为 1e-6、2e-7、1e-7。 主训练清单包含 531,174 行,涵盖中英文 ASR、双向语音翻译、多来源文本指令、真实语音命令提取、语音语境问答、声音和音乐理解、直接回答及思考数据。正监督中 thinking 占 3.76%。通过 EOS 权重 4 和重复负样本 unlikelihood 权重 0.2 改善回答结束及循环输出;推理使用 greedy。 交付权重为主训练第 1,600 步。模型依据独立开发集上的生成稳定性、准确率、ASR 和翻译表现选择。完整配置见仓库 `configs/train/bilingual_s5.yaml`,方法与数据说明见 `docs/BILINGUAL_S5.md`。测试样本仅用于评测。 ## 使用 安装本目录 `requirements.txt`。音频输入为 16 kHz 单声道;保留完整波形,不设 30 秒截断。 ```python import soundfile as sf import torch from transformers import AutoModel, AutoProcessor path = "/default-filesys/workspace/chenjunzhe/EdgeInstant-1.5b/runs/bilingual_s5_full/final" processor = AutoProcessor.from_pretrained(path, trust_remote_code=True) model = AutoModel.from_pretrained( path, trust_remote_code=True, dtype=torch.bfloat16, ).to("cuda").eval() torch.backends.cuda.enable_cudnn_sdp(False) waveform, sample_rate = sf.read("speech.wav", dtype="float32") inputs = processor( audio=waveform, sampling_rate=sample_rate, task="asr", text="请将语音转写为文字,只输出转写结果。", enable_thinking=False, ).to("cuda") with torch.inference_mode(): output = model.generate(**inputs, max_new_tokens=512, do_sample=False) answer = output[0, inputs["input_ids"].shape[1]:] print(processor.decode(answer, skip_special_tokens=True)) ``` 语音翻译或问答使用 `task="qa"`,并通过 `text` 指定请求;直接执行语音中的指令时,可用“请听取并完成语音中的请求。”。文本输入使用 `processor(text=...)`。需要思考模式时设置 `enable_thinking=True`,为思考和最终答案留足输出 token。要求只输出选项时使用 `enable_thinking=False` 并在请求中明确输出格式。 ## 评测 评测结论及已知限制见 [RESULTS.md](../RESULTS.md),27 项同协议完整测试与 S4 对照见 [final_results.md](../final_results.md),固定开发集见 [dev_comparison.md](../dev_comparison.md)。CER/WER 和正确率在结果表中使用百分数,BLEU 保持原单位。W&B 评测仅记录数值指标,预测保留在本地。 真人语音命令在官方未见说话人验证集上,每种输出视图各 3,118 条:JSON 对象完全正确率 93.49%,单字段准确率 96.79%。这些结果衡量 FSC 字段约定下的语音命令提取。公开语境问答采用数据集原有参考,部分来源由模型生成标注。 ## 能力限制 开放式复杂语音推理、口述数字计算和中译英语音翻译仍有不足。输出终止、格式正确不等于内容正确;thinking 模式也不保证准确率更高。极低音量或信息不足的语音可能产生无依据转写。新增中文口述数字开发集仅一条,不能用于估计整体中文计算能力。 本轮训练与评测针对 audio-in 和文本回答;Talker 与语音合成组件沿用起点权重。模型包含 Qwen 组件,各组件及训练数据的原许可仍适用;解码器代码许可见 `LICENSE.codec`。 ## 精简推理版本 本目录保留全部多模态能力,采用 BF16 推理权重、FP32 音频投影器与特殊 token 参数,移除 codec 未使用的输入投影。CUDA 单 token 解码自动对线性注意力 decoder 层使用 CUDA Graph,模型加载与 `generate()` 调用方式不变。原始 checkpoint 按 `dtype="auto"` 加载时,MMAU 1,000 条生成 token 完全一致,准确率均为 64.9%。 参数量、权重体积、TTFT、吞吐量、验证范围和复现命令见 [推理优化说明](INFERENCE_OPTIMIZATION.md)。