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

前言:

本篇文章全文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.mzph.cn/news/857955.shtml

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

相关文章

bazel build ‘...‘

Okay, let’s discuss the Bazel build command: bazel build ‘…’. Bazel Build Command: The bazel build command is used to build the targets (e.g., libraries, binaries, tests) specified in a Bazel-based project. Target Selection: The ‘…’ part of the com…

力扣(2024.06.22)

1. 59——螺旋矩阵2 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 标签:数组,矩阵,模拟 代码: class Solution:def generateMatrix(sel…

SVN 安装教程

SVN 安装教程 SVN(Subversion)是一个开源的版本控制系统,广泛用于软件开发和文档管理。本文将详细介绍如何在不同的操作系统上安装SVN,包括Windows、macOS和Linux。 Windows系统上的SVN安装 1. 下载SVN 访问SVN官方网站或Visu…

wordpress教程自动采集并发布工具

随着互联网的快速发展,越来越多的人开始关注网络赚钱。而对于许多人来说,拥有一个自己的个人网站是一个不错的选择。然而,要让自己的个人网站内容丰富多样,就需要不断地进行更新。那么,有没有一种方法可以让我们轻松地…

如何用单位圆解释sin(150°)?

单位圆是半径为1的圆,它被用来解释三角函数。在单位圆中,角度是按照逆时针方向测量的,从正x轴开始。对于角度150,我们可以按照以下步骤来解释sin(150): 1. **确定角度位置**:150位于第二象限。在单位圆中&a…

【图像生成技术】人工智能在医疗健康领域的应用实例:图像生成技术的革新实践

在当今医疗健康的前沿阵地,人工智能(AI)技术正以前所未有的速度重塑着医疗服务的面貌,其中图像生成技术尤其在提升诊断精度、优化治疗策略及增强医疗教育方面展现出了巨大潜力。以下将通过一个简化的示例,展示如何利用深度学习模型&#xff0…

1-Wire的使用

代码: ds18b20.c /*《AVR专题精选》随书例程3.通信接口使用技巧项目:1-Wire 单总线的使用文件:ds1820.c说明:DS18B20驱动文件。为了简单,没有读取芯片地址,也没有计算校验作者:邵子扬时间&…

实现文件分片合并功能并使用Github Actions自动编译Release

一、编译IOS镜像 1.1 编译 起因是公司电脑使用的Win11 23H2的预览版,这个预览版系统的生命周期只到2024-09-18,到期后就会强制每两小时重启。这是Windows强制升级系统的一种手段。 虽然公司里的台式电脑目前用不到,但是里面还保留许多旧项…

理解动态代理底层

理解动态代理底层 public static Object newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)根据我的理解&#xff1a; 步骤 Objects.requireNonNull(h); 判断代理实例的调用处理程序对象不为空 也就是你目前实现的这个接口不为空 fin…

Why RAG is slower than LLM?

I used RAG with LLAMA3 for AI bot. I find RAG with chromadb is much slower than call LLM itself. Following the test result, with just one simple web page about 1000 words, it takes more than 2 seconds for retrieving: 我使用RAG&#xff08;可能是指某种特定的…

【大数据 复习】第8章 Hadoop架构再探讨

一、概念 1.Hadoop1.0的核心组件&#xff08;仅指MapReduce和HDFS&#xff0c;不包括Hadoop生态系统内的Pig、Hive、HBase等其他组件&#xff09;&#xff0c;主要存在以下不足&#xff1a; &#xff08;1&#xff09;抽象层次低&#xff0c;需人工编码 &#xff08;2&#xf…

md5在ida中的识别

ida中 识别md5 ,先右键转为hex 或者按h _DWORD *__fastcall MD5Init(_DWORD *result) {*result 0;result[1] 0;result[2] 1732584193;result[3] -271733879;result[4] -1732584194;result[5] 271733878;return result; }在ida中当然也可以使用搜索 search imdate-value …

xss.haozi.me靶场通关参考

url&#xff1a;https://xss.haozi.me/ 文章目录 0x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C00xD00xE00xF0x100x110x12 0x00 先看js代码&#xff0c;第一关给你热热手&#xff0c;没给你加过 payload&#xff1a; <script>alert(1)</script>0x01 这…

【大数据】—量化交易实战案例(基础策略)

声明&#xff1a;股市有风险&#xff0c;投资需谨慎&#xff01;本人没有系统学过金融知识&#xff0c;对股票有敬畏之心没有踏入其大门&#xff0c;所以只能写本文来模拟炒股。 量化交易&#xff0c;也被称为算法交易&#xff0c;是一种使用数学模型和计算机算法来分析市场数…

CronTrigger总结

CronTrigger总结 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 1. CronTrigger概述 CronTrigger是Quartz调度框架中的一种触发器类型&#xff0c;用于基于Cr…

计组--信息编码和数据表示and运算方法运算器(复习专用)

文章目录 前言一、数值的格式二、定点机器数的表示方式1.原码表示法&#xff1a;2.补码表示法:3.反码表示法&#xff1a;4.移码表示法&#xff1a; 三、浮点机器数的表示方式(规格化)四、定点数的加减乘除运算五、定点运算器的组成与结构六、浮点运算总结 前言 学无止境&#…

FlinkCDC pipeline模式 mysql-to-paimon.yaml

flinkcdc 需要引入&#xff1a; source端&#xff1a; flink-cdc-pipeline-connector-mysql-xxx.jar、mysql-connector-java-xxx.jar、 sink端&#xff1a; flink-cdc-pipeline-connector-paimon-xxx.jar flinkcdc官方提供connect包下载地址&#xff0c;pipeline模式提交作业和…

Python 函数注解,给函数贴上小标签

目录 什么是函数注解? 为什么使用函数注解? 如何编写函数注解? 实战演练 与类型提示(Type Hints)的关系 类型安全的运算器 什么是函数注解? 函数注解(Function Annotations)是Python 3中新增的一个特性,它允许为函数的参数和返回值指定类型。 这些注解不会改变…

Paimon Trino Presto的关系 分布式查询引擎

Paimon支持的引擎兼容性矩阵&#xff1a; Trino 是 Presto 同项目的不同版本&#xff0c;是原Faceboo Presto创始人团队核心开发和维护人员分离出来后开发和维护的分支&#xff0c;Trino基于Presto&#xff0c;目前 Trino 和 Presto 都仍在继续开发和维护。 参考&#xff1a;

win10 安装openssl并使用openssl创建自签名证书

win10创建自签名证书 下载安装配置openssl 下载地址&#xff1a; https://slproweb.com/download/Win64OpenSSL-3_3_1.exe https://slproweb.com/products/Win32OpenSSL.html 完成后安装&#xff0c;一路next&#xff0c;到达选位置的之后选择安装的位置&#xff0c;我这里选…