【AI技术】GPT-4o背后的语音技术猜想

news2024/11/26 10:46:42

前言:

本篇文章全文credit 给到 台大的李宏毅老师,李宏毅老师在机器学习上风趣幽默、深入浅出的讲解,是全宇宙学AI、讲中文学生的福音,强力推荐李宏毅老师的机器学习课程和深度学习 人工智能导论;

李宏毅老师的个人长视频空间:

https://www.油管.com/@HungyiLeeNTU

李宏毅老师个人主页:

Hung-yi Lee

原视频在油管,这里只能放一个B站的链接,本文中使用的所有素材和知识来自于李宏毅老师,以文字+截图的形式展现,方便大家快速阅读

欢迎大家有能力多多支持

李宏毅:GPT-4o背後可能的語音技術猜測_哔哩哔哩_bilibili

李宏毅:GPT-4o背後可能的語音技術猜測

1、GPT-4o 语音能力升级

  • 语音风格非常丰富 (包括了不同的语调、语速、包括还可以唱出来)
  • 理解语音内容以外的信息,察言观色的部分,可以听得懂一个人说话是不是比较慢,是不是大喘气
  • 能够发出非语言性的声音,比如笑声
  • 自然而即使的互动,可以支持全双工,包括 gpt-4o 会在全双工人类对话中间大喘气的部分,加一些自己的反应

谷歌和OpenAI分别推出了端到端的多模态大模型,GPT-4o 和 Gemini 的 Project Astra,下面大家可以先看一下demo视频,感受一下多模态交互的能力

OpenAI 最强模型 gpt-4o 全能力展示视频【22集全】

External Player - 哔哩哔哩嵌入式外链播放器OpenAI 最强模型 gpt-4o 全能力展示视频【22集全】_哔哩哔哩_bilibili

[中字精翻]谷歌AI已成精!有记忆,会推理 | Project Astra + AI智能眼镜

谷歌AI:Project Astra——我们对人工智能助手未来的展望_哔哩哔哩_bilibili

传统的语音交互链路(非端到端)

原始音频 -》ASR -》转文字 ChatGPT 处理 -》TTS 语音合成;也有机会在传统的非端到端的系统上,增加额外的模型,增加 以上的能力

GPT-4o为代表的端到端的多模态语音模型

官方的发布报告里面说了,GPT-4o 是一个端到端的模型,能够同时处理音频、文本、图像、视频信号

2、技术链路猜想

本文仅以其中涉及到的语音链路进行分析

LLM 的训练过程: 预训练( Pretrain) + 对齐( Alignment)

训练出来的 LLM 输出是在做 Next Token Prediction

但如果涉及到语音链路,对声音信号做 next token prediction,16k 采样率意味着输入 token 会过长

所以一般会使用一个编码器对原始音频数据进行压缩

链路: 原始音频数据 -》 编码成一系列的 speech unit -》通过解码器再解析成音频数据出来

语音版的语言模型链路:比如谷歌的 GSLM 之前也就出来了

语音技术链路猜想

单纯使用编码器、解码器的组合的话,可能需要重新把语音中代表文字的部分进行训练,有点重复造轮子的感觉了(因为现存了很多 ASR、TTS 的模型);

所以这里 OpenAI 有可能用的是 混合编码器的方式

其次 GPT-4o 也展现了 能够分辨不同对话人的能力,所以这里也需要有 speaker diarization 自动分段的能力

3、训练过程分析

预训练(Pretrain)

OpenAI 被报道使用了超过 100w 小时的油管影片

如何生成更多样化的声音(包括了不同的音色、语调、语速、包括非语言性的声音)

今年 2 月份亚马逊发的一篇文章指出:

在训练了大量的语音数据后(100k 小时的语音数据(,tts 模型的能力也能够学到 不同的词应该怎么用什么样的方式来读 ——》例如读到 :”whisper(小声说)这个词的时候,语音模型会放低声音“

这个过程中,亚马逊的研究团队也并没有对输入的文字进行特殊的处理

有可能 OpenAI 使用超过 100 万的语音资料训练,就能通过某种“涌现”的能力来获得这样多样化的语音模型

但单单从 100 万小时的语音中去训练,数据量相当不够,模型可能会不够智能

(对比 LLaMA3 的训练集,100 万语音对应的文字 token 只有其 1/2500)

所以这里可能会使用原有训练好的 LLM 来做语音模型的初始化:

有可能是:把语音的 speech unit 作为 新的 token 给到原有的 LLM 来进行训练

对齐(alignment)

我们还是需要把语音模型做对齐,这里可能需要收集到 语音对话数据来做对齐的训练

gpt-4o 另外一个功能的话就是 tts 的音色,如果需要持续输出一个稳定的音色来进行交互,传统意义是需要大量的音色数据。

这里可能通过以下两个路径:

  • 预训练完,可能只需要一些数据就可以
  • 或者再通过一层 tts 转化成一个特定的音色

另外一个核心的要考虑的点 —— 全双工对话下,语音大语言模型需要判断 “在什么时候插入对话,或者打断用户对话” “还有在什么时候停止继续对话”

所以这里需要模型能够同时去 感知(听)+生成(说),类似于 Dialogue GSLM 的能力

核心逻辑:把感知和生成分成两个频道分开进行输入,两个频道的信号都需要给到语音模型进行判断,是否需要加入对话,开始说话

那么在 GPT-4o 的 case 里面,还需要增加视觉的输入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1852222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全-如何设计一个安全的API(安全角度)

目录 API安全概述设计一个安全的API一个基本的API主要代码调用API的一些问题 BasicAuth认证流程主要代码问题 API Key流程主要代码问题 Bearer auth/Token auth流程 Digest Auth流程主要代码问题 JWT Token流程代码问题 Hmac流程主要代码问题 OAuth比较自定义请求签名身份认证&…

Day9 —— 大数据技术之ZooKeeper

ZooKeeper快速入门系列 ZooKeeper的概述什么是ZooKeeper?ZooKeeper的特点和功能使用ZooKeeper的原因 ZooKeeper数据模型ZooKeeper安装ZooKeeper配置ZooKeeper命令行操作常见服务端命令 ZooKeeper的概述 什么是ZooKeeper? ZooKeeper是一个开源的分布式协…

微服务——重复消费(幂等解决方案)

目录 一、唯一ID机制二、幂等性设计三、状态检查机制四、利用缓存和消息队列五、分布式锁总结 在微服务中,防止重复消费的核心思想是通过设计使得操作一次与多次产生相同的效果,并为每次操作生成唯一的ID。这样,即使在消息被重复发送的情况下…

动态创建接口地址

和SpringBoot版本有关系 这里用的boot 2.2.2

使用USI作为主SPI接口

代码; lcd_drive.c //***************************************************************************** // // File........: LCD_driver.c // // Author(s)...: ATMEL Norway // // Target(s)...: ATmega169 // // Compiler....: AVR-GCC 3.3.1; avr-libc 1.0 // // D…

Java并发编程:理解线程、同步和锁

第1章:引言 Java并发编程是多线程技术的一种实现方式,它在现代软件开发中扮演着至关重要的角色。随着计算机处理器核心数量的增加,以及云计算和大数据技术的普及,能够有效利用并发编程的程序员将能为企业创造更高的效率和价值。此…

小米15系列将首发骁龙8 Gen4 SoC

高通已确认2024年骁龙峰会定于10月21日举行。在这次峰会中高通将推出其最新的移动芯片Snapdragon 8 Gen4 SoC。著名科技博主DigitalChatStation今天证实,骁龙8 Gen4将以小米15系列首次亮相。这意味着小米15系列将是第一款使用这款新旗舰处理器的手机。 这不是小米第…

【软件设计】详细设计说明书(word原件,项目直接套用)

软件详细设计说明书 1.系统总体设计 2.性能设计 3.系统功能模块详细设计 4.数据库设计 5.接口设计 6.系统出错处理设计 7.系统处理规定 软件全套资料:本文末个人名片直接获取或者进主页。

使用ViewDragHelper打造属于自己的DragLayout(抽屉开关 )

</com.xujun.drawerLayout.drag.DragLayout> 在代码中若想为其设置监听器, 分别可以监听打开的 时候&#xff0c;关闭的时候&#xff0c;拖动的时候&#xff0c;可以在里面做相应的处理&#xff0c;同时我还加入了 自定义属性可以通过 app:range”480”或者setRange&am…

基于JSP技术的家用电器销售网站

开头语&#xff1a;你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSPJava 工具&#xff1a;ECLIPSE、MySQL数据库管理工具、Tomcat 系统展…

MVVM架构详解:前端开发的理想选择

目录 前言1. MVVM架构概述1.1 MVVM架构的定义1.2 MVVM与MVC的区别 2. MVVM架构的核心组件2.1 模型&#xff08;Model&#xff09;2.2 视图&#xff08;View&#xff09;2.3 视图模型&#xff08;ViewModel&#xff09; 3. MVVM架构的优势3.1 分离关注点3.2 提高代码可测试性3.3…

听说你还不会用Dagger2?Dagger2 For Android最佳实践教程

Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG,chef.cook()); } } 可以看到&#xff0c;在使用Dagger2的时候&#xff0c;使用者的代码会变得非常简洁。但是&#…

Windows10中端口被占用处理方法

前言 在Windows 10中&#xff0c;查看端口被占用情况的方法主要依赖于命令行工具netstat。以下是详细步骤&#xff0c;以及必要的解释和归纳&#xff1a; 打开命令提示符 方法1&#xff1a;使用快捷键Win R&#xff0c;打开“运行”对话框&#xff0c;输入cmd&#xff0c;然…

2024-06-23 编译原理实验3——语义分析

文章目录 一、实验要求二、实验设计三、实验结果四、附完整代码 补录与分享本科实验&#xff0c;以示纪念。 一、实验要求 基于前面的实验&#xff0c;编写一个程序对使用 C—语言书写的源代码进行语义分析&#xff0c;输出语义分析中发现的错误&#xff08;涉及 17 种错误类…

异地局域网纯软件组网如何设置?

在现代社会中&#xff0c;随着企业的不断扩张和分布&#xff0c;异地办公成为一种常见的工作模式。随之而来的是&#xff0c;如何实现异地局域网的组网设置成为了一个挑战。在这种情况下&#xff0c;采用纯软件组网方案是一种有效的解决方案。本文将介绍异地局域网纯软件组网设…

Redis数据库的删除和安装

Redis数据库的删除和安装 1、删除Redis数据库2、下载Redis数据库 1、删除Redis数据库 没有下载过的&#xff0c;可以直接跳到下面的安装过程↓ 我们电脑中如果有下载过Redis数据库&#xff0c;要更换版本的话&#xff0c;其实Redis数据库的删除是比较简单的&#xff0c;打开我…

字节大神强推千页PDF学习笔记,弱化学历问题,已拿意向书字节提前批移动端!

主要问java&#xff0c;以及虚拟机&#xff0c;问了一点android 1.实习项目有关的介绍以及问题回答 2.反射与代理的区别&#xff0c;动态代理&#xff0c;静态代理&#xff0c;二者的区别&#xff0c;以及代理模式的UML图 3.字节码技术 4.虚拟机的双亲委派&#xff0c;以及好…

1Panel应用推荐:Bitwarden开源密码管理器

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…

贪心算法—

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。这种算法并不总是能找到全局最优解&#xff0c;但在某些问题上能提供足够好的解决方案。贪心算法的关键特性包括&#…

判断题无答案22届期末复习

判断: 1-3.结构体变量不能进行整体输入输出。 1-4.不同类型的结构变量之间也可以直接赋值。 1-5假设结构指针p已定义并正确赋值,其指向的结构变量有一个成员是int型的num,则语句 (*p).num = 100; 等价于p->num=1…