写在前面:开源选手中最能打的
GLM-4-Voice,由智谱 AI 和清华大学共同研发,并发表论文 “GLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken Chatbot”,旨在打造智能且类人化的端到端语音聊天机器人。GLM-4-Voice 不仅支持中文和英文,进行实时语音对话,还能根据用户指令调整语音的细微差别,例如情感、语调、语速和方言。
一、模型结构:端到端语音处理,融合文本能力
GLM-4-Voice 的模型架构以自回归 Transformer 为基础,并进行了精巧的改造,实现了端到端的语音处理能力。其核心目标是在保持 LLM 强大文本处理能力的同时,赋予模型理解和生成自然语音的能力。
GLM-4-Voice 的模型架构主要由以下几个核心组件构成:
- 语音 Tokenizer (Speech Tokenizer)
负责将连续的语音波形转换为离散的 语音 Token (Speech Token),保留语义信息和部分声学信息。GLM-4-Voice 采用了 监督式语音 Tokenizer,以 12.5Hz 的帧率,超低比特率 (175bps) 高效表示语音。
创新点: 超低比特率、单码本语音 Tokenizer。
实现逻辑: 微调预训练 ASR 模型 Whisper-large-v3,引入向量量化 (Vector Quantization, VQ) 瓶颈层,提取语音语义 Token。
- 语音 Decoder (Speech Decoder)
将离散的语音 Token 转换为自然流畅的 语音波形。GLM-4-Voice 采用了 基于流匹配 (Flow-Matching) 的语音 Decoder,保证语音生成质量。
创新点: 流匹配语音 Decoder,支持流式推理。
实现逻辑: 基于 CosyVoice 的 Decoder 架构,包含语音 Token Encoder、条件流匹配模型和 HiFi-GAN 声码器。
- LLM 主体 (LLM Body)
负责 语义理解、对话管理和文本生成。GLM-4-Voice 复用了 GLM-4-9B-Base 的 LLM 主体,并扩展词汇表以支持语音 Token。
创新点: 融合语音和文本处理能力,共享 LLM 主体。
实现逻辑: 基于 Transformer 的自回归语言模型,处理文本和语音 Token 序列。
模型架构图解:
音频Tokenizer和Decoder图解:
- 架构优势:
端到端语音处理: 模型直接处理语音输入和输出,无需 ASR 和 TTS 模块,降低延迟,避免错误累积。
融合文本能力: 复用 LLM 主体,继承强大的文本理解和生成能力,实现语音和文本的知识共享。
高效语音 Tokenization: 超低比特率语音 Tokenizer,高效表示语音信息,降低计算开销。
高质量语音生成: 流匹配语音 Decoder,生成自然流畅、富有表现力的语音。
二、模型预训练:海量语音-文本数据,多任务联合训练
GLM-4-Voice 的预训练目标是赋予 LLM 主体强大的语音建模能力,并建立语音和文本之间的跨模态知识桥梁。为了实现这一目标,GLM-4-Voice 采用了多阶段、大规模的联合预训练策略,利用了海量的语音-文本数据。
- 预训练数据类型:
交错式语音-文本数据 (Interleaved Speech-Text Data): 合成数据,利用文本预训练语料库,通过 文本到 Token 模型 合成语音 Token,构建 语音 Token 和文本 Token 交错排列 的数据。用于跨模态知识迁移,将文本知识迁移到语音模态。
创新点: 合成交错式语音-文本数据,低成本高效构建跨模态数据。
- 实现逻辑
利用预训练的文本到 Token 模型,将文本语料库转换为语音 Token 序列,并与原始文本 Token 交错排列。
无监督语音数据 (Unsupervised Speech Data): 真实语音数据,包含 70 万小时的语音,鼓励模型学习真实世界语音的特性。
创新点: 海量无监督语音数据,提升语音建模能力。
实现逻辑: 收集大规模语音数据,用于训练语音 Token 预测任务,提升模型对语音的理解和生成能力。
- 监督式语音-文本数据 (Supervised Speech-Text Data)
配对数据,包含 ASR (自动语音识别) 和 TTS (文本到语音) 数据,提升模型在基本语音任务上的能力。
创新点: 监督式语音-文本数据,提升 ASR 和 TTS 基础能力。
实现逻辑: 利用 ASR 数据训练语音到文本的映射,利用 TTS 数据训练文本到语音的映射,提升模型跨模态转换能力。
文本预训练数据 (Text Pre-training Data): 纯文本数据,用于保持模型的文本处理能力。
创新点: 混合文本预训练数据,保持 LLM 文本能力。
实现逻辑: 混合少量文本预训练数据,防止模型在语音预训练过程中遗忘文本知识。
- 预训练阶段划分:
Stage 1: 大规模语音-文本联合预训练 (Large-scale Speech-Text Pre-training): 利用上述四种数据,进行 混合训练,目标是扩展 LLM 的语音建模能力。
训练数据比例: 30% 文本数据,剩余为语音相关数据 (交错式语音-文本数据为主)。
训练时长: 1 万亿 Token。
训练目标: Next Token Prediction (预测下一个 Token)。
Stage 2: 监督式微调 (Supervised Fine-tuning): 利用高质量的 对话式语音数据,采用 Streaming Thoughts 模板 进行微调,提升聊天机器人的对话能力和语音质量。
训练数据: 高质量对话式语音数据,包括多轮对话和语音风格控制数据。
训练时长: 20 个 epoch (语音输出),4 个 epoch (文本输出)。
训练目标: 最大化对话质量和语音自然度。
预训练流程图解(两阶段):
- 预训练优势:
海量数据驱动: 1 万亿 Token 预训练,充分利用大规模语音-文本数据,提升模型性能。
多任务联合训练: 融合多种预训练任务,全面提升模型语音和文本能力,实现跨模态知识融合。
分阶段训练: 两阶段训练策略,先扩展语音建模能力,再提升对话质量和语音风格控制能力,循序渐进,高效训练。
三、后训练:Streaming Thoughts 模板,提升对话流畅性
GLM-4-Voice 的后训练 (Stage 2) 专注于提升聊天机器人的对话能力和语音质量。为了实现低延迟、高质量的语音对话,GLM-4-Voice 提出了 Streaming Thoughts (流式思考) 模板。
1 Streaming Thoughts 模板的核心思想:
解耦语音-文本任务: 将语音到语音任务解耦为语音到文本和文本到语音两个子任务。
交替输出文本和语音 Token: 在生成 response 时,模型交替输出文本 Token 和语音 Token,实现文本指导语音生成,提升语音连贯性。
降低初始延迟: 模型无需等待完整文本生成完毕,即可开始生成语音,降低用户感知延迟。
2 Streaming Thoughts 模板工作流程:
用户语音输入 (Qs): 用户通过语音输入 Query。
模型交替输出 (GLM-4-Voice): 模型以 1:2 的比例 交替输出 文本 Token 和语音 Token。
先输出 13 个文本 Token (At 部分)。
再输出 26 个语音 Token (As 部分)。
交替进行,直至生成完整 response。
文本和语音 Token 拼接: 将交替输出的文本 Token 拼接成 文本 response (At),语音 Token 拼接成 语音 response (As)。
语音 Decoder 合成语音: 使用语音 Decoder 将语音 Token 合成 语音波形 (Speech Decoder)。
语音输出 (Model Output): 将合成的语音波形输出给用户。
3 Streaming Thoughts优势:
低延迟: 无需等待完整文本生成,即可开始生成语音,降低用户感知延迟,实现实时对话。
高质量: 文本指导语音生成,保证语音内容与文本语义一致,提升语音连贯性和质量。
流式输出: 模型以流式方式输出文本和语音 Token,支持流式推理,进一步降低延迟。
四、推理:解耦式语音-语音任务,平衡质量与延迟
GLM-4-Voice 的推理过程采用了 解耦式语音-语音任务策略,将端到端语音聊天机器人任务分解为两个子任务:
语音到文本 (Speech-to-Text): 模型根据用户语音输入 (Qs),生成 文本 response (At)。
语音和文本到语音 (Speech-and-Text-to-Speech): 模型结合用户语音输入 (Qs) 和文本 response (At),生成 语音 response (As),并自适应调整语调和韵律,保证对话连贯性。
- 推理流程:
语音 Tokenization: 使用语音 Tokenizer 将用户语音输入 (Qs) 转换为语音 Token 序列。
LLM 推理 (Speech-to-Text): 将语音 Token 序列输入 LLM,模型生成 文本 response (At)。
LLM 推理 (Speech-and-Text-to-Speech): 将用户语音 Token 序列 (Qs) 和文本 response (At) 拼接 后输入 LLM,模型生成 语音 response (As) 的语音 Token 序列。
语音 Decoding: 使用语音 Decoder 将语音 Token 序列转换为 语音波形 (As)。
语音输出: 将合成的语音波形输出给用户。
- 推理策略优势:
提升语音质量: 文本 response (At) 指导语音 response (As) 生成,保证语音内容准确性和连贯性。
自适应语音风格: 模型根据用户语音输入和文本 response,自适应调整语音语调和韵律,提升对话自然度。
平衡质量与延迟: 解耦式推理策略,在保证语音质量的同时,也为 Streaming Thoughts 模板的低延迟输出创造了条件。
- 延迟优化:
GLM-4-Voice 在推理延迟方面进行了精细优化,主要包括:
流式语音 Tokenizer: 语音 Tokenizer 采用流式设计,边接收语音输入,边进行 Tokenization,降低 Tokenization 延迟。
Streaming Thoughts 模板: 模型交替输出文本和语音 Token,无需等待完整文本生成,降低 LLM 解码延迟。
语音 Decoder 流式推理: 语音 Decoder 支持流式推理,边接收语音 Token,边合成语音波形,降低语音合成延迟。
延迟计算公式:
论文中给出了 GLM-4-Voice 整体 response 延迟的计算公式,详细分析了各个环节的延迟占比,并验证了 Streaming Thoughts 模板在降低延迟方面的有效性。
五、实验评估:
多项语音-文本任务,超越 SOTA 基线
GLM-4-Voice 在多项语音-文本任务上进行了全面的实验评估,证明了其卓越的性能和类人化的语音交互能力。
评估任务:
语音语言建模 (Speech Language Modeling): 评估模型对交错式语音-文本数据的建模能力。
数据集: Spoken StoryCloze 和 Spoken Topic-StoryCloze。
评估指标: 准确率 (Accuracy)。
结果: GLM-4-Voice 在 S→T 和 S→S 两种设置下,均超越 SOTA 基线模型,展现出强大的语音语言建模能力。
语音问答 (Spoken Question Answering): 评估模型在语音理解和知识问答方面的能力。
数据集: Web Questions, Llama Questions 和 TriviaQA。
评估指标: 准确率 (Accuracy)。
结果: GLM-4-Voice 在 S→T 和 S→S 两种设置下,均大幅超越 SOTA 基线模型,特别是在 Llama Questions 数据集上,S→T 设置下准确率达到 64.7%,S→S 设置下达到 50.7%,显著优于其他模型。
ASR 和 TTS (语音识别和语音合成): 评估模型在语音识别和语音合成方面的基础能力。
数据集: LibriSpeech (英语) 和 AISHELL-1 (中文) (ASR),LibriTTS 和 Seed-TTS (TTS)。
评估指标: 词错误率 (WER) / 字错误率 (CER) (ASR),词错误率 (WER) (TTS)。
结果: GLM-4-Voice 在 ASR 和 TTS 任务上,与 Whisper-large-v3 和 CosyVoice 等 SOTA 基线模型性能相当,表明模型在语音和文本模态上都具备强大的基础能力。
聊天模型评估 (Chat Model Evaluation): 评估聊天机器人的对话质量和类人化程度。
评估数据集: Llama-Omni 的聊天评估数据集。
评估指标: ChatGPT 评分 (GPT-4o 评估,1-10 分),UTMOS (语音自然度),ASR-WER (语音-文本对齐度)。
结果: GLM-4-Voice 在 ChatGPT 评分和 UTMOS 指标上均显著优于其他基线模型,ASR-WER 指标也达到 SOTA 水平,表明 GLM-4-Voice 在对话质量、语音自然度和语音-文本对齐度方面均表现出色,证明了其类人化的语音交互能力。
实验结果总结:
GLM-4-Voice 在多项语音-文本任务上均取得了 SOTA 或接近 SOTA 的性能,全面超越现有基线模型,证明了其模型架构、预训练和后训练策略的有效性。特别是聊天模型评估结果,突显了 GLM-4-Voice 在智能性和类人化语音交互方面的优势。
六、小结:语音交互
GLM-4-Voice 的成功发布,标志着端到端语音聊天机器人技术迈出了重要一步。它有效地融合了 LLM 的强大文本能力和语音处理能力,实现了智能、自然、低延迟的语音交互体验。
GLM-4-Voice 的主要贡献:
端到端语音聊天机器人架构: 提出了一种基于 Transformer 的端到端语音聊天机器人架构,无需 ASR 和 TTS 模块,降低延迟,避免错误累积。
超低比特率语音 Tokenizer: 设计了超低比特率、单码本语音 Tokenizer,高效表示语音信息,降低计算开销。
Streaming Thoughts 模板: 提出了 Streaming Thoughts 模板,实现文本指导语音生成,提升对话流畅性和降低延迟。
大规模语音-文本联合预训练: 探索了大规模语音-文本联合预训练策略,有效提升模型语音建模能力和跨模态知识融合能力。
卓越的性能: 在多项语音-文本任务上取得 SOTA 或接近 SOTA 的性能,展现出强大的语音交互能力。