Files
xiaobailing-turn-detection/experiments/soulx-duplug/运行说明.txt
T

55 lines
4.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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(先从远程复制完整正式结果)。