SoulX-Duplug 远程实验 执行机器:2033lab04ztr(Ubuntu 24.04.3,i5-9400F,RTX 3090 24GB,约62GiB RAM)。 远程工作目录:/mnt/58462F4C462F29E8/xiaobailing-turn-detection-experiments 专用Conda环境:/home/wangx/miniconda3/envs/xiaobailing-soulx-duplug Python 3.10.22,PyTorch 2.6.0+cu124,transformers 4.52.1,ModelScope 1.28.2,FunASR 1.2.6。 完整依赖版本见 results/requirements-freeze.txt,Conda基本包见 results/conda-explicit.txt。 复现运行(在远程机器执行): source /home/wangx/miniconda3/etc/profile.d/conda.sh conda activate xiaobailing-soulx-duplug cd /mnt/58462F4C462F29E8/xiaobailing-turn-detection-experiments python -u scripts/run_experiment.py all all顺序执行:真实录音基本运行、44个标注点独立评估、6段录音的增量计算延迟测试。 可分别执行: python -u scripts/run_experiment.py smoke python -u scripts/run_experiment.py evaluate python -u scripts/run_experiment.py benchmark 重新运行会覆盖对应正式结果;需要保留旧实验时,先另存 results。 原始数据来自本机 labels/EOT标注/工作数据,录音来自 data/韩泰机器人抢话/音频;远程副本位于 data/labels 和 data/audio。 代码及权重: 官方代码提交 a0b9063843df69619b087b95b74597b2176910b8。 Hugging Face权重修订 61701c4ab8193cc1ee2220d3848872ac6c720142。 大权重从Soul-AILab官方ModelScope同名仓库下载,SHA256与固定Hugging Face修订一致。 下载脚本 scripts/download_models.py;清单和校验见 results/model-download.json。 Paraformer及其FSMN VAD、CT-Transformer标点辅助模型由官方接口加载,缓存位于 cache/modelscope。 setuptools固定为官方78.1.1,以提供旧ModelScope依赖的pkg_resources。 配置声明bf16,但官方加载器实际使用FP32,本次没有另加混合精度。 严格核查训练权重:没有缺失键;多出的embed_tokens_func.weight被核实为重复的嵌入权重别名。 can_reply评估口径: 只比较complete/incomplete两个状态token的logit,softmax后complete分数>0.5表示可回复,并列出0.8等阈值。 这是条件两类别分数,不是官方校准的can_reply概率,也不是完整服务层策略。 原生argmax状态和内部修正状态分别保留,不混入超时触发speak、服务结束重置、最终整句ASR。 另有辅助原生状态转can_reply口径:complete置1,incomplete/nonidle置0,idle/backchannel保持前值,开始为0;仅使用当前标注点以前的模型状态,不加入外部结束信号、超时或重置。 每个点重置Python、NumPy、PyTorch、CUDA随机种子及SoulX KV状态;保留原生推理内部的Paraformer ASR。 用户声道0,8kHz原始音频先截取到decision_ms,再重采样到16kHz。 最多20秒真实音频,按160ms分块,后向窗口960ms,前向窗口40ms。 最后处理块在判断点前40ms结束,前向窗口恰在判断点结束,不使用标注点之后的音频或人工转写。 与MaAI(双声道,最多20秒)和Smart Turn(用户单声道,最多8秒)比较时注明输入差异。 44点由22个可回复和22个不可回复组成;29个草稿、15个未明确审核,属于探索性结果。 计算延迟: CUDA同步后的增量墙钟时间,分别记录音频特征/语音分词器、ASR阶段、状态预测模型和完整调用。 稳态统计去掉每段录音前20秒;六段录音均只处理到其最后一个标注点,不补未来音频。 GPU加载、文件解码、重采样、SSH/网络传输、160ms采集周期和回复策略等待不包含在增量计算时间中。 模型加载和每个标注点的历史重放单独记录;重放十多秒上下文的耗时不当作在线单步延迟。 SoulX在RTX3090+i5上运行;另外两种方法在M4 CPU上运行,结果不是同机速度排名。 本机文件只是远程脚本和结果的留档,SoulX安装、模型加载、推理与计时均在2033lab04ztr执行。 最终逐点对比、指标和分析见本目录 results/comparison-points.csv、results/comparison-summary.json、results/对比分析.txt。 本机汇总命令:python3 experiments/soulx-duplug/compare_results.py(先从远程复制完整正式结果)。