在 GPT-4o 出现之前,你对着 ChatGPT 说一句话,背后其实是三个模型在跑接力。

第一棒是 Whisper,负责把你的声音变成文字。第二棒是 GPT-4,负责读文字、想回答。第三棒是 TTS,负责把回答念出来。每跑一棒,都要等上一棒完成。所以旧版语音模式的响应延迟常年徘徊在 2-3 秒——你问完问题,对面沉默半天才开口。那个沉默不是"在思考",是三个模型在排队上班。
比延迟更要命的是信息损耗。你的语调、情绪、停顿、背景音、旁边另一个人的插话——Whisper 把声音变成文字的那一刻,这些信息全部归零。GPT-4 看到的是干巴巴的文本,它根本不知道你是笑着说"你真厉害",还是冷笑着说"你真厉害"。
2024 年 5 月 13 日,OpenAI 发布了 GPT-4o。名字里的 "o" 是 omni,拉丁语"全部"的意思。发布会上最震撼的瞬间,不是它解出了什么难题,而是它说话像个人:会笑、会停顿、会模仿情绪,你打断它,它能立刻停下来听你说。我第一次用实时语音时,被它打断我的方式吓了一跳——我说着说着,它突然"嗯"了一声接话。那个"嗯"不是合成音,是带着语气的回应。那一刻我意识到,这真的不是三个模型在接力了。
技术报告里有一句话,是整个发布的关键:
"GPT-4o is a single model that processes text, vision, and audio end-to-end, which means that all inputs and outputs are handled by the same neural network."
翻译过来:GPT-4o 是一个端到端处理文本、视觉和音频的单一模型,所有输入和输出由同一个神经网络处理。没有 Whisper,没有 TTS,没有接力赛。一个模型从头管到尾。效果是:音频输入最快 232 毫秒响应,平均 320 毫秒——人类对话的自然停顿,也就这个量级。
但问题来了:一个模型,怎么同时处理文字、图像和声音?
我最早的理解错在哪
我最早以为,GPT-4o 就是 GPT-4 加了一个更聪明的语音接口。语音还是要转成文字,只不过转得更快、更准。
直到我读到系统卡里的另一段话,才发现这个理解是错的。系统卡明确对比了新旧方案:
"Before GPT-4o, users could interact with GPT-4 through voice mode by using a pipeline of three separate models… This pipeline had several limitations: it lost information because the model couldn’t directly observe tone, multiple speakers, background noises, or emotional context; and it added latency because each model had to process the conversation independently."
(在 GPT-4o 之前,语音模式依赖三个独立模型的流水线……它丢失信息,因为模型无法直接观察语调、多个说话者、背景噪音和情绪上下文;它增加延迟,因为每个模型都要独立处理对话。)
关键词是 "directly observe tone"——直接观察语调。这意味着 GPT-4o 处理的不是语音的"文字转述",而是语音本身。你的声音不是一个需要被翻译的中间产物,它就是模型直接消费的输入。直接处理音频,模型才能感知到文字转写里丢失的一切:语气、情感、背景音、说话的节奏;也才能输出带情感的声音——笑声、叹息、耳语,这些东西不可能通过文字 TTS 生成出来。
一个模型怎么处理三种模态
OpenAI 没有公开 GPT-4o 的架构细节。系统卡主要讲安全评估,对模型结构讳莫如深。所以接下来是我的推测,依据是公开的技术路线和 GPT-4o 展现出的行为特征。
最可能的结构,是一个"编码器-共享主干-解码器"的三层架构:输入侧有三个编码器。文本走传统的 BPE 分词器,每个 token 映射到一个嵌入向量;图像被切成小块,经过视觉编码器变成 patch embedding;音频则经过一个声学编码器,变成模型能处理的表示。三种模态的表示被映射到同一个嵌入空间,拼成一条 token 序列,送进共享的 Transformer 主干。主干完成"思考"后,输出侧根据任务选择文本解码头或音频解码器。
这个结构本身不新奇,GPT-4V 处理图像就是这么干的。真正的问题是:音频到底被变成了什么?
音频 token 化有三个候选方案:
| 方案 | 做法 | 优点 | 缺点 |
|---|---|---|---|
| 神经编解码器 | 用训练好的编解码器(如 EnCodec)把音频压成离散 token | 与文本 token 格式统一,共享主干可直接处理 | 有损压缩,极端情况丢失音色细节 |
| 连续表示 | 把 mel 频谱等声学特征直接映射到嵌入空间 | 信息保留最完整 | 与 Transformer 的离散 token 处理不兼容 |
| 频谱图 patch | 把音频频谱图当"图像"切块 | 复用视觉编码器,实现简单 | 时间精度不足,难捕捉细微语音变化 |
我倾向于第一种方案:离散音频 token。理由有两个。第一,只有离散 token 才能让同一个 Transformer 用完全一致的方式处理文字和声音,这与"同一个神经网络处理所有输入"的表述吻合。第二,Meta 的 EnCodec 等神经编解码器已经证明了音频可以高质量地压成离散 token,为这条路提供了成熟的技术支撑。
还有一个细节值得注意:GPT-4o 的语音模式是流式的。它不需要等你说完一整句话才开始处理,而是边听边处理。这意味着它的注意力机制支持在线处理——不是传统的"完整输入 → 完整输出",而是"输入流 → 输出流"。这大概也是它能实现自然打断的基础:当它检测到新的语音输入时,可以实时调整生成策略。
为什么统一架构这么难
如果只是"把音频变成 token 送进 Transformer",这事听着不复杂。真正的难点有三个。
第一个难点:音频太密了。人说话每秒约 3-4 个汉字,对应 2-3 个文本 token。但音频即使经过压缩,每秒也要产生 50-100 个 token。Transformer 的注意力计算复杂度是 O(n²)——token 数量翻 20 倍,计算量就翻 400 倍。一段 10 秒的语音进来,模型要处理的 token 数相当于一篇短文的文字量。这也是为什么 GPT-4o 的语音模式在 API 里单独定价——处理音频真的更贵。
第二个难点:模态对齐。模型需要理解"猫"这个字、猫的图片、猫的叫声,指的是同一个概念。这需要大量同时包含多种模态标注的训练数据。公开的图文数据还算多,但"图+文+音"三模态对齐的数据非常稀缺。
第三个难点:音频生成。文本生成是逐 token 的,音频生成也是逐 token 的——但音频 token 序列比文本长几十倍。生成 10 秒语音,要跑几百次前向传播。这解释了为什么 GPT-4o 的语音输出偶尔会卡顿或重复:它在以远高于文本生成的速度"生产"token。
统一 vs 模块化:一场豪赌
统一架构和模块化流水线各有取舍,一张表说清楚:
| 统一模型(GPT-4o) | 模块化流水线(Whisper+GPT-4+TTS) | |
|---|---|---|
| 延迟 | 平均 320ms | 2-3 秒 |
| 情绪/语气信息 | 完整保留 | 转写时全部丢失 |
| 表达丰富度 | 高:能笑、能唱、能耳语 | 低:合成音,情感僵硬 |
| 升级灵活性 | 低:改一个能力要动整个模型 | 高:可单独升级 TTS 或 Whisper |
| 调试排查 | 难:问题难以定位到具体环节 | 易:每个环节可独立测试 |
| 训练成本 | 高:需要大量跨模态对齐数据 | 低:每个模型独立训练 |
OpenAI 选择赌统一架构,说明他们判断"信息保留"和"低延迟"的体验价值,远大于工程上的可维护性。这个判断目前看是对的——GPT-4o 的语音体验至今仍是行业标杆。
我的判断
GPT-4o 的系统卡发布后,很多人翻遍了整份文档也没找到架构细节,觉得被吊了胃口。这确实是 OpenAI 的一贯风格:能力先行,技术细节能省则省。
但 GPT-4o 的意义不在它用了哪种编码器。它验证了一个方向:多模态不一定要靠拼模块,一个统一的网络可以同时理解文字、图像和声音。Google 的 Gemini 走的是同一条路,"统一多模态"正在成为大模型的主流范式。
至于局限——GPT-4o 依然会幻觉,依然会在复杂的音频理解上出错。统一架构解决的是"模态割裂"问题,不是"模型智能"问题。而且,由于架构不透明,外部研究者很难判断它的音频表示到底学得好不好。下一阶段的竞争,终究要回到数据、算力和训练方法这些更基础的问题上。
原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/314.html