多模态大模型通过在文本大模型两端增加编码器与投影层将图片、音频、视频等非文本信息转化为向量序列与文本向量拼接后输入LLM核心进行处理。输入端采用ViT等方法将图像切分为patch并编码成向量再通过投影层对齐至文本向量空间输出端则利用自回归Transformer生成文本并借助扩散Transformer如DiT或声学Token生成图像、音频。音频处理需先转化为梅尔频谱图视频处理则需考虑时间维度并通过时序位置编码保证帧间连贯性。尽管多模态模型在理解与生成上展现出强大能力但也面临上下文窗口压力、推理成本高以及对齐难度等挑战。引子这个系列前文讲了好几篇全是纯文本大模型——输入是文字输出也是文字一切都是 token。但你有没有好奇过为什么 ChatGPT 能回答这张图里有什么为什么你发给它一张手绘数学题它能帮你解题图片不是 tokenLLM 不直接认像素。那它是怎么看懂图片的反过来问你让它画一幅日落图它是怎么生成一张图片的它输出的 token 怎么变成像素的这两个问题分别对应多模态大模型的两面输入端理解多模态和输出端生成多模态。一、先说结论多模态大模型并不是另一套架构而是在文本大模型的两端各接了几根管道输入侧图片/音频/视频 → 各模态编码器 → 向量序列 → 拼入 LLM输出侧LLM 生成文本扩散模型 DiT 生成图片/视频声码器生成音频LLM 核心本身——Attention FFN 的堆叠——完全不变。前文讲的所有东西Attention 公式、残差连接、LayerNorm、KV Cache、预测下一个 token在多模态模型里照用不误。二、核心思路把一切都变成向量前文第三篇讲过文本进入 LLM 核心堆叠 Attention FFN之前要走两步文字 → Token → 向量 → 进入多层 Attention FFN 堆叠LLM 核心只操作向量。它不关心这些向量是从文字来的还是从图片来的。只要是向量它就能处理。多模态的核心思路就这么简单给每种模态各配一个编码器把图片、音频都翻译成向量然后交给同一个 LLM 核心处理。文本大模型 文字 → Tokenizer → Embedding → [向量₁, 向量₂, 向量₃] → 多层 Attention FFN多模态大模型 文字 → Tokenizer → Embedding → [向量₁, 向量₂, 向量₃] ─┐ ├→ 拼在一起 → 多层 Attention FFN 图片 → 图像编码器 → 投影层 → [向量ₐ, 向量ᵦ, 向量ᵧ, ...] ─┘对 LLM 核心来说它看到的就是一个向量序列——前几个来自图片后面几个来自文字。它用同样的 Attention 机制处理所有向量根本不区分来源。三、图片是怎么变成向量的文本变向量前文讲透了文字 → BPE 分词 → Token ID → 查 Embedding 表。图片的路径不同但目标一样——变成一组向量。3.1 把图片切成碎片ViT最常用的方法叫ViTVision Transformer思路非常直接一张 224×224 的图片 │ ▼ 切成 14×14 196 个小方块每个 16×16 像素 │ ▼ 每个小方块通过线性层变成一个向量比如 768 维 │ ▼ 加上位置编码告诉模型这个方块在左上角还是右下角 │ ▼ 得到 196 个向量这 196 个向量就是图片的token。每个向量代表图片的一个局部区域——就像文本的一个 token 代表一个词或子词。为什么要切成 patch而不是把整张图压成一个向量如果把整张 224×224 图直接压成一个向量会丢失空间细节。切成 196 个 patch 后每个 patch 保留局部信息后续 Attention 让这些 patch 互相交流模型就能同时看到整体和局部。和文本 token 的对比文本图片原始输入字符串像素矩阵分词方式BPE 切成子词切成 16×16 方块patch每个token一个子词一个图片方块变成向量查 Embedding 表线性投影矩阵乘法向量维度768768对齐到同一维度典型数量几十到几千1961024 个3.2 投影层对齐到同一个空间图像编码器如 ViT输出的向量和文本 Embedding 的向量通常不在同一个空间里——维度不同语义含义也不同。需要一个投影层通常一两层线性网络把图像向量翻译到文本模型的向量空间图像编码器输出1024维 → 投影层1024 → 4096 → 和文本向量同维度4096维投影层的权重是训练时学出来的。训练目标是让投影后的图像向量和对应文本描述的向量尽量接近——一只猫的图像向量应该靠近cat的文本向量。3.3 以 LLaVA 为例LLaVALarge Language and Vision Assistant是最经典的多模态架构之一结构清晰看一张图就够了输入请描述这张图片 [一张猫的照片]┌──────────────────────────────────────────────┐│ 文本部分 ││ 请描述这张图片 → Tokenizer → Embedding ││ → [向量₁, 向量₂, 向量₃, 向量₄, 向量₅] │└──────────────────────┬───────────────────────┘ │ 拼接 ▼┌──────────────────────┴───────────────────────┐│ 图片部分 ││ 猫的照片 → ViT 编码器 → 196 个图像向量 ││ → 投影层 → [向量ₐ, 向量ᵦ, ..., 向量₁₉₆] │└──────────────────────┬───────────────────────┘ ▼[向量₁, ..., 向量₅, 向量ₐ, ..., 向量₁₉₆] │ ▼ 多层 Attention FFN和前文一模一样 │ ▼ 逐 token 生成回答 这张图片中有一只橘色的猫...LLM 核心和前文完全一样唯一的改动是在前面加了一条图像处理的管线模型的大脑没变只是眼睛是新装的。四、Attention 是怎么工作的看上面的 LLaVA 流程图有个细节还没展开文本向量和图像向量混在一起Attention 怎么知道哪些是文字、哪些是图片答案是它不需要知道序列顺序已经解决了这个问题。输入的向量序列是这样的输入序列[patch₁, patch₂, ..., patch₁₉₆, 请, 描述, 这张, 图片, ...] ↑ 图片部分 ↑ 文本部分因果掩码决定了每个位置能看到谁所以 patch 为什么要在文字前面因为生成是自左向右的——生成描述这个词时还不知道自己要说什么必须先看到整张图。把 patch 放在前面标准因果掩码自然让每个文本 token 可以回看所有 patch不需要任何特殊设计。五、音频和视频同一套思路图片讲完了但多模态的世界远不止图片。音频、视频都可以走同样的路子编码成向量序列 → 投影到文本空间 → 交给 LLM 核心处理。音频、视频、图片的编码思路其实是一回事图片: 像素矩阵 → 切 patch → 向量序列音频: 频谱图 → 切 patch → 向量序列视频: 帧序列 → 每帧切 patch → 向量序列文本: 字符串 → BPE 分词 → 向量序列区别只在于切分方式和用什么编码器。5.1 音频让模型听懂声音一段语音进入模型之前需要先做一层预处理原始波形PCM→ 短时傅里叶变换STFT→ 梅尔频谱图Mel Spectrogram→ 编码器 → 向量序列为什么要转成频谱图原始音频波形每秒包含上万个采样点16kHz 采样率 每秒 16000 个数字直接处理太贵而且不直观。转成梅尔频谱图之后相当于把声音翻译成了一张图横轴是时间纵轴是频率颜色深浅代表能量大小。这张图再交给类似 ViT 的编码器去处理——音频的图片化思路和把图片切成 patch 一模一样。[一段5秒的语音16kHz采样] │ ▼ STFT 梅尔滤波器[频谱图: 约 500帧 × 80频带] │ ▼ 切成 16×16 的 patch时间×频率[约 2000 个音频 patch] │ ▼ 线性投影 → 每个 patch 一个向量[约 2000 个音频向量]每帧约 2040ms相邻帧重叠 50%所以 1 秒音频大约产生 50100 个向量。一段 30 秒的语音就能产生几千个音频向量直接塞进 LLM 核心。OpenAI 的 Whisper 是目前最常用的音频编码器之一——它的编码器部分基于 Transformer Encoder 架构输入梅尔频谱图输出向量序列再通过跨注意力机制接入 LLM。GPT-4o 的音频理解、Gemini 的语音理解大多是这个路子。5.2 视频时间维度的挑战视频比图片多了一个维度时间。图片的信息是静态的一张图切 196 个 patch 就够了。但视频是一连串图片帧的序列模型不仅要理解每一帧里有什么还要理解帧和帧之间发生了什么——物体的运动、场景的切换、动作的先后顺序。视频的处理思路是先从时间轴上采样帧再对每帧分别做图片的处理[一段30帧/秒的30秒视频 900帧] │ ▼ 均匀采样比如每隔15帧取1帧[30帧] │ ▼ 每帧 resize 到 224×224通过 ViT 切 patch[每帧 196 个 patch × 30帧 5880 个 patch] │ ▼ 每个 patch 投影成一个向量[5880 个视频向量]1 秒视频如果采样 2~3 帧一段 1 分钟的视频就可能产生几千到上万个视频向量。随之而来的有三个实际问题上下文窗口很快被填满Attention 计算量随 token 数量平方增长1 万个 token 的 Attention 矩阵就是 1 亿个元素推理成本比处理图片贵上几十到上百倍。这也是为什么目前的视频理解模型大多只处理短视频几十秒或者对视频先做描述压缩——用另一个模型先把视频转成一段文字描述再让 LLM 处理。视频还有一个图片没有的问题帧的顺序很重要。图片的 patch 可以加位置编码视频除了每帧内部的空间位置编码还需要全局时间位置编码让模型知道哪帧在前、哪帧在后。主流做法是给每个帧分配一个时间戳 embedding和帧内 patch 的空间位置编码加在一起patch_final_vector patch_vector 空间位置编码 时间戳编码这样Attention 机制就能同时学到帧内关系猫的各个部位在一帧内的空间关系和帧间关系猫从左跳到右的运动轨迹。六、输出端模型怎么生成图片和音频前面讲的都是输入——把图片、音频、视频变成向量让模型看懂。但多模态还有另一半输出。当模型能看图之后它是怎么把一只猫的意图变成一张真正的猫的图片的当你让 ChatGPT 画一幅日落它是怎么一步步生成像素的6.1 两种生成范式两个 Transformer多模态大模型的输出有两种完全不同的生成范式共用同一套骨架——Attention FFN 堆叠但各有各的玩法范式代表注意力掩码训练目标生成方式自回归 TransformerGPTLLM 文本生成因果掩码只能看过去预测下一个 Token逐个 token 前向生成扩散 TransformerDiT图像/视频生成无掩码双向可见预测噪声 ε从噪声迭代去噪T 步两种模型的大脑是一样的堆叠 Attention FFN差别只在于掩码方式不同、输出不同、训练目标不同。6.2 图片生成扩散 TransformerDiT自回归 LLM 生成图片直接输出像素很难主流方案是扩散 TransformerDiT——它也是一个 Transformer骨架和 LLM 完全一样Attention FFN 堆叠但有三处不同区别一注意力无掩码GPT 有因果掩码每个 token 只能看到之前的 token。DiT 没有掩码所有位置两两可见——就像一个双向的 Transformer。区别二输入是噪声 条件DiT 输入的不是 token 序列而是带噪潜变量z_t 时间步t 文本条件。LLM 输出的向量通过交叉注意力或 AdaLN 调制注入进去。区别三训练目标和生成方式• 训练目标MSE(ε, ε̂)— 预测噪声不是预测 token• 生成方式从纯噪声z_T开始迭代 T 步去噪每步预测并去掉一部分噪声最终得到干净图像用户输入画一只在草地上奔跑的狗 ▼ LLM 理解用户意图输出文本条件嵌入 ▼ DiT 主干Attention FFN 堆叠无因果掩码 输入噪声 z_T 文本条件 迭代 T 步预测噪声 → 去除部分噪声 → 降噪到 z_{T-1} → ... 最终输出干净潜变量 z_0 ▼ VAE 解码器 把潜变量映射回像素空间 → 512×512 图片具体代表GPT-4o 用 DALL·E 3DiTGemini 用 ImageFXDiT。LLaVA 这类理解型模型本身只理解图片生成靠调用外部 DiT如 Stable Diffusion。DiT 和 GPT 骨架相同都是 Attention FFN差别只在三点DiT 没有因果掩码、输入是噪声而非 token、目标是预测噪声而非下一个 token。6.3 音频生成声学 Token 的路子图片生成靠扩散模型音频生成靠另一套声学 Token。流程是用户输入用温柔的声音朗读这段文字 ▼ LLM 理解内容 情感意图 ▼ LLM 输出两类 token - 文本 token说话内容 - 声学 token音高、语速、停顿 ▼ 声学解码器基于 Transformer 架构的声码器 把声学 token 还原成波形 输出真实的人声音频这里的核心思想是把声学特征也 token 化——像文本 token 一样让 LLM 预测声学 token再把 token 变回波形。GPT-4o 的语音对话就是这个路子输入音频 → Whisper 编码器 → LLM → 声学 token → 声码器 → 输出语音。全程 token 流打通了文本和语音的边界。6.4 视频生成最难的那块视频生成是当前最前沿、也最困难的方向。为什么难因为视频 图片 × 时间。生成一张图已经很难了还要保证几十帧、上百帧之间的连贯性——人物不能跳变动作要流畅光影要一致。目前主流的视频生成模型如 Sora、Runway、Pika走的是扩散模型 时序建模的路子用户输入一只猫从左向右奔跑 ▼ LLM 解析意图输出文本条件嵌入 ▼ 时序 DiT 主干Attention FFN 堆叠无掩码 从噪声开始在时间轴上逐步去噪 保证帧间连贯性通过时序 Attention 机制 ▼ VAE 解码器 → 输出 16~60fps时长 5~60 秒视频时序 DiT 和图片 DiT 的区别在于在每帧内部切 patch 的基础上还要在时间轴上加时序位置编码让模型区分第 1 秒的猫和第 3 秒的猫。目前多模态大模型大多还不具备高质量视频生成能力原因是视频 token 数量太大几分钟视频可能有数十万 token超出 LLM 核心处理能力时序一致性难以保证计算成本极高。所以现在常见的产品形态是LLM 做理解规划时序 DiT如 Sora做生成两者配合工作而不是一个模型搞定一切。6.5 完整的双向多模态架构讲到这里可以画一张完整的架构图了。从用户视角看这就是一个整体——你给它文字图片它给你文字图片只是内部用了两套不同的生成机制。以用户输入把图中的狗给删除 [一张狗的照片] 为例用户输入: 文字 把图中的狗给删除 图片 │ │ ┌─────────▼──────────┐ ┌─────────────▼─────────────┐ │ 文本 Tokenizer │ │ 图片编码器 (ViT) │ │ → Embedding 层 │ │ → 切成 patch → 投影层 │ └─────────┬──────────┘ └─────────────┬─────────────┘ │ │ ▼ ▼ ┌──────────────────┐ ┌──────────────────────────┐ │ 文字向量序列 │ │ 图片向量序列 [patch₁..] │ └────────┬─────────┘ └────────────┬─────────────┘ │ │ └──────────────┬───────────────────────────┘ │ 拼接 → [patch₁..,文字向量序列] ▼ ┌──────────────────────────────────────┐ │ LLM 核心同一个 Transformer │ │ 堆叠 Attention FFN × N │ │ 输入: 向量序列图片 patch 文本 │ │ 输出: 文本 token自回归因果掩码 │ └──────────┬───────────────┬────────────┘ │ │ ┌──────────┘ └──────────────────┐ ▼ ▼ 自回归生成文本 LLM 输出的文本条件嵌入Text Embedding │ │ ▼ ▼ 直接输出文字 注入 DiT扩散 Transformer │ 从噪声 z_T 迭代去噪 T 步 │ ▼ 潜变量 z_0 → VAE 解码 → 像素编辑后的图片总结一下输入侧文字和图片各走各的管线最后拼在一起进同一个 LLM 核心输出侧LLM 自回归生成文字同时把文本条件注入给 DiT由 DiT 生成图片。两套机制骨架相同都是 Attention FFN 堆叠但输入、掩码和训练目标都不同。最后要纠正一个常见误解扩散模型不是 LLM 的解码器它是一个独立的 Transformer只是靠 LLM 提供文字条件来控制生成内容。七、多模态带来的新问题7.1 上下文窗口压力更大前文第八篇讲过上下文窗口的限制。多模态让这个问题更严重一段文本: 请描述这张图片 → 约 5 个 token一张图片: 224×224, 16×16 patch → 196 个 token一张高清图: 448×448, 16×16 patch → 784 个 token一张图片就吃掉了几百个 token 的窗口空间。如果对话中包含多张图片窗口会被快速占满。这也是为什么很多多模态模型会对图像做压缩——比如只保留最重要的几十个 patch 向量而不是全部 196 个。7.2 推理成本更高更多的 token 意味着更大的 KV Cache 和更多的 Attention 计算n²。处理一张图片的推理成本远高于处理一句话。7.3 对齐的难度让图像向量和文本向量在同一个空间里说同一种语言这件事比字面上听起来要难得多。投影层的训练如果不到位模型很可能看到了图片但还是看不懂——图片的向量和文字的向量虽然在数学上碰巧维度相同但在语义上各说各话。AI行业迎来前所未有的爆发式增长从DeepSeek百万年薪招聘AI研究员到百度、阿里、腾讯等大厂疯狂布局AI Agent再到国家政策大力扶持数字经济和AI人才培养所有信号都在告诉我们AI的黄金十年真的来了在行业火爆之下AI人才争夺战也日趋白热化其就业前景一片蓝海我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取人才缺口巨大人力资源社会保障部有关报告显示据测算当前****我国人工智能人才缺口超过500万****供求比例达1∶10。脉脉最新数据也显示AI新发岗位量较去年初暴增29倍超1000家AI企业释放7.2万岗位……单拿今年的秋招来说各互联网大厂释放出来的招聘信息中我们就能感受到AI浪潮比如百度90%的技术岗都与AI相关就业薪资超高在旺盛的市场需求下AI岗位不仅招聘量大薪资待遇更是“一骑绝尘”。企业为抢AI核心人才薪资给的非常慷慨过去一年懂AI的人才普遍涨薪40%脉脉高聘发布的《2025年度人才迁徙报告》显示在2025年1月-10月的高薪岗位Top20排行中AI相关岗位占了绝大多数并且平均薪资月薪都超过6w在去年的秋招中小红书给算法相关岗位的薪资为50k起字节开出228万元的超高年薪据《2025年秋季校园招聘白皮书》AI算法类平均年薪达36.9万遥遥领先其他行业总结来说当前人工智能岗位需求多薪资高前景好。在职场里选对赛道就能赢在起跑线。抓住AI风口轻松实现高薪就业但现实却是仍有很多同学不知道如何抓住AI机遇会遇到很多就业难题比如❌ 技术过时只会CRUD的开发者在AI浪潮中沦为“职场裸奔者”❌ 薪资停滞初级岗位内卷到白菜价传统开发3年经验薪资涨幅不足15%❌ 转型无门想学AI却找不到系统路径83%自学党中途放弃。他们的就业难题解决问题的关键在于不仅要选对赛道更要跟对老师我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取
ChatGPT也能“看图说话“?揭秘多模态大模型如何输入图片输出视频!
发布时间:2026/6/3 19:44:32
多模态大模型通过在文本大模型两端增加编码器与投影层将图片、音频、视频等非文本信息转化为向量序列与文本向量拼接后输入LLM核心进行处理。输入端采用ViT等方法将图像切分为patch并编码成向量再通过投影层对齐至文本向量空间输出端则利用自回归Transformer生成文本并借助扩散Transformer如DiT或声学Token生成图像、音频。音频处理需先转化为梅尔频谱图视频处理则需考虑时间维度并通过时序位置编码保证帧间连贯性。尽管多模态模型在理解与生成上展现出强大能力但也面临上下文窗口压力、推理成本高以及对齐难度等挑战。引子这个系列前文讲了好几篇全是纯文本大模型——输入是文字输出也是文字一切都是 token。但你有没有好奇过为什么 ChatGPT 能回答这张图里有什么为什么你发给它一张手绘数学题它能帮你解题图片不是 tokenLLM 不直接认像素。那它是怎么看懂图片的反过来问你让它画一幅日落图它是怎么生成一张图片的它输出的 token 怎么变成像素的这两个问题分别对应多模态大模型的两面输入端理解多模态和输出端生成多模态。一、先说结论多模态大模型并不是另一套架构而是在文本大模型的两端各接了几根管道输入侧图片/音频/视频 → 各模态编码器 → 向量序列 → 拼入 LLM输出侧LLM 生成文本扩散模型 DiT 生成图片/视频声码器生成音频LLM 核心本身——Attention FFN 的堆叠——完全不变。前文讲的所有东西Attention 公式、残差连接、LayerNorm、KV Cache、预测下一个 token在多模态模型里照用不误。二、核心思路把一切都变成向量前文第三篇讲过文本进入 LLM 核心堆叠 Attention FFN之前要走两步文字 → Token → 向量 → 进入多层 Attention FFN 堆叠LLM 核心只操作向量。它不关心这些向量是从文字来的还是从图片来的。只要是向量它就能处理。多模态的核心思路就这么简单给每种模态各配一个编码器把图片、音频都翻译成向量然后交给同一个 LLM 核心处理。文本大模型 文字 → Tokenizer → Embedding → [向量₁, 向量₂, 向量₃] → 多层 Attention FFN多模态大模型 文字 → Tokenizer → Embedding → [向量₁, 向量₂, 向量₃] ─┐ ├→ 拼在一起 → 多层 Attention FFN 图片 → 图像编码器 → 投影层 → [向量ₐ, 向量ᵦ, 向量ᵧ, ...] ─┘对 LLM 核心来说它看到的就是一个向量序列——前几个来自图片后面几个来自文字。它用同样的 Attention 机制处理所有向量根本不区分来源。三、图片是怎么变成向量的文本变向量前文讲透了文字 → BPE 分词 → Token ID → 查 Embedding 表。图片的路径不同但目标一样——变成一组向量。3.1 把图片切成碎片ViT最常用的方法叫ViTVision Transformer思路非常直接一张 224×224 的图片 │ ▼ 切成 14×14 196 个小方块每个 16×16 像素 │ ▼ 每个小方块通过线性层变成一个向量比如 768 维 │ ▼ 加上位置编码告诉模型这个方块在左上角还是右下角 │ ▼ 得到 196 个向量这 196 个向量就是图片的token。每个向量代表图片的一个局部区域——就像文本的一个 token 代表一个词或子词。为什么要切成 patch而不是把整张图压成一个向量如果把整张 224×224 图直接压成一个向量会丢失空间细节。切成 196 个 patch 后每个 patch 保留局部信息后续 Attention 让这些 patch 互相交流模型就能同时看到整体和局部。和文本 token 的对比文本图片原始输入字符串像素矩阵分词方式BPE 切成子词切成 16×16 方块patch每个token一个子词一个图片方块变成向量查 Embedding 表线性投影矩阵乘法向量维度768768对齐到同一维度典型数量几十到几千1961024 个3.2 投影层对齐到同一个空间图像编码器如 ViT输出的向量和文本 Embedding 的向量通常不在同一个空间里——维度不同语义含义也不同。需要一个投影层通常一两层线性网络把图像向量翻译到文本模型的向量空间图像编码器输出1024维 → 投影层1024 → 4096 → 和文本向量同维度4096维投影层的权重是训练时学出来的。训练目标是让投影后的图像向量和对应文本描述的向量尽量接近——一只猫的图像向量应该靠近cat的文本向量。3.3 以 LLaVA 为例LLaVALarge Language and Vision Assistant是最经典的多模态架构之一结构清晰看一张图就够了输入请描述这张图片 [一张猫的照片]┌──────────────────────────────────────────────┐│ 文本部分 ││ 请描述这张图片 → Tokenizer → Embedding ││ → [向量₁, 向量₂, 向量₃, 向量₄, 向量₅] │└──────────────────────┬───────────────────────┘ │ 拼接 ▼┌──────────────────────┴───────────────────────┐│ 图片部分 ││ 猫的照片 → ViT 编码器 → 196 个图像向量 ││ → 投影层 → [向量ₐ, 向量ᵦ, ..., 向量₁₉₆] │└──────────────────────┬───────────────────────┘ ▼[向量₁, ..., 向量₅, 向量ₐ, ..., 向量₁₉₆] │ ▼ 多层 Attention FFN和前文一模一样 │ ▼ 逐 token 生成回答 这张图片中有一只橘色的猫...LLM 核心和前文完全一样唯一的改动是在前面加了一条图像处理的管线模型的大脑没变只是眼睛是新装的。四、Attention 是怎么工作的看上面的 LLaVA 流程图有个细节还没展开文本向量和图像向量混在一起Attention 怎么知道哪些是文字、哪些是图片答案是它不需要知道序列顺序已经解决了这个问题。输入的向量序列是这样的输入序列[patch₁, patch₂, ..., patch₁₉₆, 请, 描述, 这张, 图片, ...] ↑ 图片部分 ↑ 文本部分因果掩码决定了每个位置能看到谁所以 patch 为什么要在文字前面因为生成是自左向右的——生成描述这个词时还不知道自己要说什么必须先看到整张图。把 patch 放在前面标准因果掩码自然让每个文本 token 可以回看所有 patch不需要任何特殊设计。五、音频和视频同一套思路图片讲完了但多模态的世界远不止图片。音频、视频都可以走同样的路子编码成向量序列 → 投影到文本空间 → 交给 LLM 核心处理。音频、视频、图片的编码思路其实是一回事图片: 像素矩阵 → 切 patch → 向量序列音频: 频谱图 → 切 patch → 向量序列视频: 帧序列 → 每帧切 patch → 向量序列文本: 字符串 → BPE 分词 → 向量序列区别只在于切分方式和用什么编码器。5.1 音频让模型听懂声音一段语音进入模型之前需要先做一层预处理原始波形PCM→ 短时傅里叶变换STFT→ 梅尔频谱图Mel Spectrogram→ 编码器 → 向量序列为什么要转成频谱图原始音频波形每秒包含上万个采样点16kHz 采样率 每秒 16000 个数字直接处理太贵而且不直观。转成梅尔频谱图之后相当于把声音翻译成了一张图横轴是时间纵轴是频率颜色深浅代表能量大小。这张图再交给类似 ViT 的编码器去处理——音频的图片化思路和把图片切成 patch 一模一样。[一段5秒的语音16kHz采样] │ ▼ STFT 梅尔滤波器[频谱图: 约 500帧 × 80频带] │ ▼ 切成 16×16 的 patch时间×频率[约 2000 个音频 patch] │ ▼ 线性投影 → 每个 patch 一个向量[约 2000 个音频向量]每帧约 2040ms相邻帧重叠 50%所以 1 秒音频大约产生 50100 个向量。一段 30 秒的语音就能产生几千个音频向量直接塞进 LLM 核心。OpenAI 的 Whisper 是目前最常用的音频编码器之一——它的编码器部分基于 Transformer Encoder 架构输入梅尔频谱图输出向量序列再通过跨注意力机制接入 LLM。GPT-4o 的音频理解、Gemini 的语音理解大多是这个路子。5.2 视频时间维度的挑战视频比图片多了一个维度时间。图片的信息是静态的一张图切 196 个 patch 就够了。但视频是一连串图片帧的序列模型不仅要理解每一帧里有什么还要理解帧和帧之间发生了什么——物体的运动、场景的切换、动作的先后顺序。视频的处理思路是先从时间轴上采样帧再对每帧分别做图片的处理[一段30帧/秒的30秒视频 900帧] │ ▼ 均匀采样比如每隔15帧取1帧[30帧] │ ▼ 每帧 resize 到 224×224通过 ViT 切 patch[每帧 196 个 patch × 30帧 5880 个 patch] │ ▼ 每个 patch 投影成一个向量[5880 个视频向量]1 秒视频如果采样 2~3 帧一段 1 分钟的视频就可能产生几千到上万个视频向量。随之而来的有三个实际问题上下文窗口很快被填满Attention 计算量随 token 数量平方增长1 万个 token 的 Attention 矩阵就是 1 亿个元素推理成本比处理图片贵上几十到上百倍。这也是为什么目前的视频理解模型大多只处理短视频几十秒或者对视频先做描述压缩——用另一个模型先把视频转成一段文字描述再让 LLM 处理。视频还有一个图片没有的问题帧的顺序很重要。图片的 patch 可以加位置编码视频除了每帧内部的空间位置编码还需要全局时间位置编码让模型知道哪帧在前、哪帧在后。主流做法是给每个帧分配一个时间戳 embedding和帧内 patch 的空间位置编码加在一起patch_final_vector patch_vector 空间位置编码 时间戳编码这样Attention 机制就能同时学到帧内关系猫的各个部位在一帧内的空间关系和帧间关系猫从左跳到右的运动轨迹。六、输出端模型怎么生成图片和音频前面讲的都是输入——把图片、音频、视频变成向量让模型看懂。但多模态还有另一半输出。当模型能看图之后它是怎么把一只猫的意图变成一张真正的猫的图片的当你让 ChatGPT 画一幅日落它是怎么一步步生成像素的6.1 两种生成范式两个 Transformer多模态大模型的输出有两种完全不同的生成范式共用同一套骨架——Attention FFN 堆叠但各有各的玩法范式代表注意力掩码训练目标生成方式自回归 TransformerGPTLLM 文本生成因果掩码只能看过去预测下一个 Token逐个 token 前向生成扩散 TransformerDiT图像/视频生成无掩码双向可见预测噪声 ε从噪声迭代去噪T 步两种模型的大脑是一样的堆叠 Attention FFN差别只在于掩码方式不同、输出不同、训练目标不同。6.2 图片生成扩散 TransformerDiT自回归 LLM 生成图片直接输出像素很难主流方案是扩散 TransformerDiT——它也是一个 Transformer骨架和 LLM 完全一样Attention FFN 堆叠但有三处不同区别一注意力无掩码GPT 有因果掩码每个 token 只能看到之前的 token。DiT 没有掩码所有位置两两可见——就像一个双向的 Transformer。区别二输入是噪声 条件DiT 输入的不是 token 序列而是带噪潜变量z_t 时间步t 文本条件。LLM 输出的向量通过交叉注意力或 AdaLN 调制注入进去。区别三训练目标和生成方式• 训练目标MSE(ε, ε̂)— 预测噪声不是预测 token• 生成方式从纯噪声z_T开始迭代 T 步去噪每步预测并去掉一部分噪声最终得到干净图像用户输入画一只在草地上奔跑的狗 ▼ LLM 理解用户意图输出文本条件嵌入 ▼ DiT 主干Attention FFN 堆叠无因果掩码 输入噪声 z_T 文本条件 迭代 T 步预测噪声 → 去除部分噪声 → 降噪到 z_{T-1} → ... 最终输出干净潜变量 z_0 ▼ VAE 解码器 把潜变量映射回像素空间 → 512×512 图片具体代表GPT-4o 用 DALL·E 3DiTGemini 用 ImageFXDiT。LLaVA 这类理解型模型本身只理解图片生成靠调用外部 DiT如 Stable Diffusion。DiT 和 GPT 骨架相同都是 Attention FFN差别只在三点DiT 没有因果掩码、输入是噪声而非 token、目标是预测噪声而非下一个 token。6.3 音频生成声学 Token 的路子图片生成靠扩散模型音频生成靠另一套声学 Token。流程是用户输入用温柔的声音朗读这段文字 ▼ LLM 理解内容 情感意图 ▼ LLM 输出两类 token - 文本 token说话内容 - 声学 token音高、语速、停顿 ▼ 声学解码器基于 Transformer 架构的声码器 把声学 token 还原成波形 输出真实的人声音频这里的核心思想是把声学特征也 token 化——像文本 token 一样让 LLM 预测声学 token再把 token 变回波形。GPT-4o 的语音对话就是这个路子输入音频 → Whisper 编码器 → LLM → 声学 token → 声码器 → 输出语音。全程 token 流打通了文本和语音的边界。6.4 视频生成最难的那块视频生成是当前最前沿、也最困难的方向。为什么难因为视频 图片 × 时间。生成一张图已经很难了还要保证几十帧、上百帧之间的连贯性——人物不能跳变动作要流畅光影要一致。目前主流的视频生成模型如 Sora、Runway、Pika走的是扩散模型 时序建模的路子用户输入一只猫从左向右奔跑 ▼ LLM 解析意图输出文本条件嵌入 ▼ 时序 DiT 主干Attention FFN 堆叠无掩码 从噪声开始在时间轴上逐步去噪 保证帧间连贯性通过时序 Attention 机制 ▼ VAE 解码器 → 输出 16~60fps时长 5~60 秒视频时序 DiT 和图片 DiT 的区别在于在每帧内部切 patch 的基础上还要在时间轴上加时序位置编码让模型区分第 1 秒的猫和第 3 秒的猫。目前多模态大模型大多还不具备高质量视频生成能力原因是视频 token 数量太大几分钟视频可能有数十万 token超出 LLM 核心处理能力时序一致性难以保证计算成本极高。所以现在常见的产品形态是LLM 做理解规划时序 DiT如 Sora做生成两者配合工作而不是一个模型搞定一切。6.5 完整的双向多模态架构讲到这里可以画一张完整的架构图了。从用户视角看这就是一个整体——你给它文字图片它给你文字图片只是内部用了两套不同的生成机制。以用户输入把图中的狗给删除 [一张狗的照片] 为例用户输入: 文字 把图中的狗给删除 图片 │ │ ┌─────────▼──────────┐ ┌─────────────▼─────────────┐ │ 文本 Tokenizer │ │ 图片编码器 (ViT) │ │ → Embedding 层 │ │ → 切成 patch → 投影层 │ └─────────┬──────────┘ └─────────────┬─────────────┘ │ │ ▼ ▼ ┌──────────────────┐ ┌──────────────────────────┐ │ 文字向量序列 │ │ 图片向量序列 [patch₁..] │ └────────┬─────────┘ └────────────┬─────────────┘ │ │ └──────────────┬───────────────────────────┘ │ 拼接 → [patch₁..,文字向量序列] ▼ ┌──────────────────────────────────────┐ │ LLM 核心同一个 Transformer │ │ 堆叠 Attention FFN × N │ │ 输入: 向量序列图片 patch 文本 │ │ 输出: 文本 token自回归因果掩码 │ └──────────┬───────────────┬────────────┘ │ │ ┌──────────┘ └──────────────────┐ ▼ ▼ 自回归生成文本 LLM 输出的文本条件嵌入Text Embedding │ │ ▼ ▼ 直接输出文字 注入 DiT扩散 Transformer │ 从噪声 z_T 迭代去噪 T 步 │ ▼ 潜变量 z_0 → VAE 解码 → 像素编辑后的图片总结一下输入侧文字和图片各走各的管线最后拼在一起进同一个 LLM 核心输出侧LLM 自回归生成文字同时把文本条件注入给 DiT由 DiT 生成图片。两套机制骨架相同都是 Attention FFN 堆叠但输入、掩码和训练目标都不同。最后要纠正一个常见误解扩散模型不是 LLM 的解码器它是一个独立的 Transformer只是靠 LLM 提供文字条件来控制生成内容。七、多模态带来的新问题7.1 上下文窗口压力更大前文第八篇讲过上下文窗口的限制。多模态让这个问题更严重一段文本: 请描述这张图片 → 约 5 个 token一张图片: 224×224, 16×16 patch → 196 个 token一张高清图: 448×448, 16×16 patch → 784 个 token一张图片就吃掉了几百个 token 的窗口空间。如果对话中包含多张图片窗口会被快速占满。这也是为什么很多多模态模型会对图像做压缩——比如只保留最重要的几十个 patch 向量而不是全部 196 个。7.2 推理成本更高更多的 token 意味着更大的 KV Cache 和更多的 Attention 计算n²。处理一张图片的推理成本远高于处理一句话。7.3 对齐的难度让图像向量和文本向量在同一个空间里说同一种语言这件事比字面上听起来要难得多。投影层的训练如果不到位模型很可能看到了图片但还是看不懂——图片的向量和文字的向量虽然在数学上碰巧维度相同但在语义上各说各话。AI行业迎来前所未有的爆发式增长从DeepSeek百万年薪招聘AI研究员到百度、阿里、腾讯等大厂疯狂布局AI Agent再到国家政策大力扶持数字经济和AI人才培养所有信号都在告诉我们AI的黄金十年真的来了在行业火爆之下AI人才争夺战也日趋白热化其就业前景一片蓝海我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取人才缺口巨大人力资源社会保障部有关报告显示据测算当前****我国人工智能人才缺口超过500万****供求比例达1∶10。脉脉最新数据也显示AI新发岗位量较去年初暴增29倍超1000家AI企业释放7.2万岗位……单拿今年的秋招来说各互联网大厂释放出来的招聘信息中我们就能感受到AI浪潮比如百度90%的技术岗都与AI相关就业薪资超高在旺盛的市场需求下AI岗位不仅招聘量大薪资待遇更是“一骑绝尘”。企业为抢AI核心人才薪资给的非常慷慨过去一年懂AI的人才普遍涨薪40%脉脉高聘发布的《2025年度人才迁徙报告》显示在2025年1月-10月的高薪岗位Top20排行中AI相关岗位占了绝大多数并且平均薪资月薪都超过6w在去年的秋招中小红书给算法相关岗位的薪资为50k起字节开出228万元的超高年薪据《2025年秋季校园招聘白皮书》AI算法类平均年薪达36.9万遥遥领先其他行业总结来说当前人工智能岗位需求多薪资高前景好。在职场里选对赛道就能赢在起跑线。抓住AI风口轻松实现高薪就业但现实却是仍有很多同学不知道如何抓住AI机遇会遇到很多就业难题比如❌ 技术过时只会CRUD的开发者在AI浪潮中沦为“职场裸奔者”❌ 薪资停滞初级岗位内卷到白菜价传统开发3年经验薪资涨幅不足15%❌ 转型无门想学AI却找不到系统路径83%自学党中途放弃。他们的就业难题解决问题的关键在于不仅要选对赛道更要跟对老师我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取