收集重庆话语音-文本数据集
-
语音数据:需包含重庆话的语音样本,覆盖多种场景(如日常对话、问答、故事讲述),并标注对应的文本转录。建议时长至少数百小时以覆盖方言的多样性35。
-
文本数据:若需提升模型在重庆话文本生成中的表现,可补充重庆话的文本语料(如方言对话、俚语等),并转化为语音Token与文本Token交错的数据格式,以适配GLM-4-Voice的预训练架构5。
-
情感与风格标注:若需增强情感表达,需标注语音的情感标签(如高兴、生气)及语速、语调参数16。
数据预处理
-
使用GLM-4-Voice的Tokenizer(基于Whisper Encoder改进的监督式Tokenizer)将重庆话语音转换为离散Token(12.5Hz帧率,超低码率175bps),保留语义和副语言信息(如语速、情感)35。
微调方法
GLM-4-Voice基于GLM-4-9B的LLM主体,支持参数高效微调(PEFT)。可能会选择以下方法:
-
LoRA(低秩适应)
-
原理:在模型的自注意力或前馈网络层引入低秩矩阵,仅微调少量参数。例如,在GLM-4-Voice的LLM主体中定位关键权重矩阵,注入低秩更新模块28。
-
优势:显著减少显存占用,适合计算资源有限场景。Datawhale团队已发布GLM-4的LoRA微调教程,可直接参考其代码框架8。
-
实现:使用Hugging Face的PEFT库,结合重庆话数据集调整低秩矩阵参数。
-
-
适配器调整(Adapter Tuning)
-
原理:在模型层间插入小型神经网络模块(适配器),仅训练适配器参数。适用于需要保留原模型通用能力的场景2。
-
适配对象:可针对GLM-4-Voice的语音Tokenizer或Decoder模块插入适配器,优化方言生成效果。
-
但是具体用哪种方法我还不清楚,目前还需要更多论证支持,还在不断探索。
通用微调流程
-
模型加载与配置
-
下载GLM-4-Voice开源代码,预训练权重36。
-
根据官方文档配置环境,安装依赖(如PyTorch、Transformers、PEFT等)38。
-
-
训练设置
-
输入格式:将重庆话语音Token与文本Token交错排列,模拟预训练阶段的“Speech2Text”和“Text2Speech”任务5。
-
训练目标:采用Next Token Prediction,结合语音生成质量评估指标(如MOS评分、ASR-WER)优化模型4。
-
超参数调整:学习率设为较低值(如1e-5),批次大小根据显存调整,训练轮次建议10-20个epoch8。
-
-
流式生成优化
-
启用Streaming Thoughts模板,实现低延迟的重庆话实时对话。模型交替生成文本和语音Token,确保内容连贯性5。
-
评估+部署
-
性能评估
-
基础任务:测试重庆话的语音识别(ASR)和语音合成(TTS)准确率,对比微调前后效果4。
-
主观评价:通过人工评测或ChatGPT自动评分,评估生成语音的自然度、情感表达及方言地道性46。
-
-
部署应用
-
集成至清言App或自定义语音助手,支持用户通过语音指令调用重庆话交互功能6。
-
结合视频通话模块(如即将上线的功能),实现多模态方言交互6。
-
项目时间安排
1月-5月:收集数据集
6月-9月:项目开销,范围等项目方案管理
9月-11月:代码阶段,代码阶段
11月-12月:测试阶段