当前位置: 首页 > news >正文

GLM-4-Voice:智谱AI的端到端中英语音对话模型

在人工智能领域,自然语言处理和语音识别技术的结合一直是研究的热点。今天,我要向大家介绍智谱AI推出的一款革命性产品——GLM-4-Voice,这是一款能够直接理解和生成中英文语音的智能对话系统,它支持实时对话,并能根据用户的指令改变语音的情感、语调、语速、方言等属性,让机器交流更加自然。

模型架构

GLM-4-Voice 的架构由三个核心部分组成:

  1. GLM-4-Voice-Tokenizer:这是一个语音分词器,它在 Whisper 的 Encoder 部分增加了 Vector Quantization 并在 ASR 数据上进行了有监督训练。它能够将连续的语音输入转化为离散的 token,平均每秒音频只需要用 12.5 个离散 token 表示。

  2. GLM-4-Voice-Decoder:这是一个基于 CosyVoice 的 Flow Matching 模型结构训练的语音解码器,支持流式推理。它将离散化的语音 token 转化为连续的语音输出,最少只需要 10 个语音 token 即可开始生成,有效降低了端到端对话的延迟。

  3. GLM-4-Voice-9B:在 GLM-4-9B 的基础上进行了语音模态的预训练和对齐,使其能够理解和生成离散化的语音 token。

在预训练方面,为了提升模型在语音模态下的智商和合成表现力,智谱AI将 Speech2Speech 任务解耦为两个子任务:“根据用户音频做出文本回复”和“根据文本回复和用户语音合成回复语音”,并设计了两种预训练目标。GLM-4-Voice-9B 在 GLM-4-9B 的基础上,经过了数百万小时音频和数千亿 token 的音频文本交错数据预训练,展现出强大的音频理解和建模能力。

对齐方面,为了支持高质量的语音对话,智谱AI设计了一套流式思考架构。GLM-4-Voice 可以根据用户语音流式交替输出文本和语音两个模态的内容,语音模态以文本作为参照保证回复内容的高质量,并能根据用户的语音指令要求做出相应的声音变化。

使用方法

智谱AI 提供了一个可以直接启动的 Web Demo,用户可以输入语音或文本,模型会同时给出语音和文字回复。

准备工作

首先,你需要下载仓库:

bash

git clone --recurse-submodules https://github.com/THUDM/GLM-4-Voice
cd GLM-4-Voice

然后安装依赖:

bash

pip install -r requirements.txt

由于 Decoder 模型不支持通过 transformers 初始化,因此 checkpoint 需要单独下载:

bash

git clone https://huggingface.co/THUDM/glm-4-voice-decoder

启动 Web Demo

首先启动模型服务:

bash

python model_server.py --model-path glm-4-voice-9b

此命令会自动下载 glm-4-voice-9b。如果网络条件不好,也可以手动下载之后通过 --model-path 指定本地的路径。

然后启动 web 服务:

bash

python web_demo.py

即可在 http://127.0.0.1:8888 访问 web demo。此命令会自动下载 glm-4-voice-tokenizer 和 glm-4-voice-9b。如果网络条件不好,也可以手动下载之后通过 --tokenizer-path 和 --model-path 指定本地的路径。

已知问题

Gradio 的流式音频播放效果不稳定。在生成完成后点击对话框中的音频质量会更高。

GLM-4-Voice 的出现,标志着语音对话技术的又一大进步。它不仅能够提高语音识别的准确性,还能让机器的语音输出更加自然和富有表现力。如果你对这款模型感兴趣,不妨去尝试一下,体验一下人工智能带来的便利和乐趣。🎉


http://www.mrgr.cn/news/58817.html

相关文章:

  • PostgreSQL使用clickhouse_fdw访问ClickHouse
  • 微服务网关Zuul
  • 语音提示器-WT3000A离在线TTS方案-打破语种限制/AI对话多功能支持
  • self-supervised learning(BERT和GPT)
  • 【C#】使用Visual Studio创建Windows Forms应用程序计算对角线之和
  • 5G工业路由器智能电网部署实录:一天内解决供电、网络
  • 基于SSM农业信息管理系统的设计l
  • unity开发之绳子制作 obi rope
  • 系统架构设计师教程 第2章 2.3 计算机软件 笔记
  • 【动态规划】回文串问题
  • Python 语法与数据类型详解
  • 使用 Pygame 创建生命游戏(Conway‘s Game of Life)
  • NumPy学习第六课(1):数组的高级索引
  • 【JAVA毕业设计】基于Vue和SpringBoot的房产销售系统
  • 业务开发如何才能独立于框架
  • XSS攻击原理与解决方法
  • STM32基于LL库的USART+DMA使用
  • 数据可视化技术综述(5)数据的存储
  • 如何初始化一个线上的GitHub仓库,在本地已有的仓库中上传到线上
  • 从零开始理解 Trie 树:高效字符串存储与查找的利器【自动补全、拼写检查】
  • 什么是DICOM文件?——认识DICOM:医学影像与信息管理的标准化利器
  • [专有网络VPC]网络ACL概述
  • 道路车辆功能安全 ISO 26262标准(8-7)—支持过程
  • Lua 函数
  • 使用单链表实现集合操作:并集、交集与差集
  • 【2024|滑坡数据集论文解读1】CAS滑坡数据集:用于深度学习滑坡检测的大规模多传感器数据集