- 大模型
- 人工智能
- 多模态
- 媒体生成
- 基础模型
【免费下载链接】InternLumina-U2
Intern Lumina U2 是一个统一多模态模型,将语言、图像、视频和 3D 纳入 单一框架,用一个模型覆盖文本问答、文生图、图像理解、图像编辑、 视频理解和 3D 理解。它采用 16B 参数 MoE,其中激活参数为 1B(16B-A1B), 将高效稀疏主干与基于 AToken 构建的 8 码本全离散视觉表示相结合。
InternLumina-U2 是上海 AI Lab 推出的统一多模态大模型:16B 参数 MoE 主干(每 token 仅激活约 1B 参数),用一套 AToken 全离散视觉 Token 表示覆盖文本问答、文生图、图像理解/编辑、视频与 3D 理解。本文将带你读懂它最核心的两处设计——8 码本(multi-codebook)离散视觉 Token与TokenBridge视觉 Tokenizer,看清图像是如何被"说"出来、又如何被 LLM"听懂"的 🧐
一、先搞懂全局:为什么一张图要配 8 个码本?
主流方案(VQ-VAE 类)常给每个空间位置配 1 个 token,但单一 token 的表达容量有限,图像细节(高频纹理、色彩过渡)很容易丢失。InternLumina-U2 的做法是:每个空间位置由 8 个码本 token 共同描述——把 VAE 的 16 个 latent 通道重组为 8 组,每组对应一个码本,各自从 4096 个"视觉词"中选一个,合起来构成这个位置的完整离散描述。
这套 8 码本机制在模型中的落点如下(以 nvidia/ 目录为例):
| 组件 | 作用 | 所在代码 |
|---|---|---|
num_codebooks: 8 | 声明码本数量 | config.json |
img_embeddings(8 套 5010×2048 查表) | 图像 token 嵌入主干 | modeling_internluminau2.py |
img_embeddings_proj(8×2048 → 2048 融合) | 把 8 路嵌入压成一个位置向量 | modeling_internluminau2.py |
lm_img_head(8 个 2048 → 4096 输出头) | 每个码本各一个视觉词分类头 | modeling_internluminau2.py |
MultiCodebookARHead | 码本间自回归解码器 | modeling_internluminau2.py |
TokenBridge | AToken 视觉 Tokenizer / 图像重建器 | tokenbridge.py |
直观理解:一个 1024×1024 的图像对应 1024 个空间位置,每个位置"挂"着 8 个 token——LLM 要"说出"这张图,本质上就是把这些位置上的 8 元 token 组按序生成出来。
二、TokenBridge:AToken 离散视觉 Token 是怎么造出来的
tokenbridge.py 里的TokenBridge基于苹果提出的AToken思想:把连续 VAE latent 离散化成 token 序列,并训练一个"自解码器"学会从 token 序列重建图像。它的四步流水线值得逐个拆解 🛠️
- VAE 压缩:图像先经 VAE 压成 16 通道 latent(空间尺寸缩小 16 倍),再切分为 patch token 序列;
- 高斯分桶量化:量化不用朴素均匀分桶,而是按截断正态分布的等概率区间划分边界,每个 token 的"重建值"取该区间的期望(见 _init_gaussian_quantization 与 quantize)。这种分布感知的分桶让离散化误差最小,是 AToken 的精髓之一;
- 通道重排 + 逐通道自回归:16 个通道按频域特性重排成"最优顺序"(见 channel_order),再用带因果 mask 的 Transformer 按通道逐个预测 token(forward_channel_ar),同时提供全并行的 forward_channel_parallel 以提速;
- MAE 式训练 + 迭代去噪生成:训练时随机掩掉大部分位置 token,让编码器-解码器只根据可见 token 预测被掩位置(forward);生成时则按随机顺序"逐步揭盲",掩码比例按余弦曲线从 100% 递减到 0,支持 Classifier-Free Guidance 文本条件(sample_tokens)。
一句话总结:TokenBridge 负责"图像 ⇄ 8 元 token 组"的双向转换——编码出可喂给 LLM 的离散视觉 Token,解码时把 LLM 的输出生长回像素。
三、LLM 如何"听"8 个码本:输入嵌入路径
主干模型LLaDA2MoeModel(16B MoE,256 专家每 token 选 8 个激活,见 config.json)的forward里有一个关键开关:type_position_ids区分位置类型,2/4表示图像位置,其余为文本。
- 文本位置:走常规词表嵌入(157184 词表);
- 图像位置:8 个 token 各自查独立的
img_embeddings[i]嵌入表,得到 8 个 2048 维向量后拼接(8×2048),再经img_embeddings_proj线性投影融合回 2048 维,与文本 token 共用同一条主干(forward 嵌入逻辑)。
这样,一个空间位置的 8 路信息被无损地"翻译"成一个 LLM 位置向量——8 个码本就此汇入语言流 🎯
四、LLM 如何"说"8 个码本:MultiCodebookARHead 自回归生成
输出侧,图像 token 不能一步到位,而是按码本顺序逐个解码:
- 每个位置的 hidden state 经
condition_proj投影为条件向量; - 前 7 个已解码 token 的嵌入依次拼进序列(MultiCodebookARHead.forward);
- 4 层
CausalBlock在三角因果 mask 下运行——第 i 个码本只能"看见"前 i-1 个码本,形成码本级自回归; - 最后由 8 个独立分类头
lm_img_head[i]各自输出 4096 维 logits,采样出对应码本的 token(loss/生成分支)。
配合 generate 的块扩散(block-diffusion)策略,生成过程像"填字游戏":整段图像区先用mask_id占位,按 32 个 token 一块推进,每块内迭代 32 步去噪;每一步只把**采样置信度超过阈值(默认 0.95)**的位置落定,其余继续等待下一轮。最终效果是"空间维度块内并行 + 码本维度串行"的混合模式——比逐 token 自回归快得多,又避免了完全并行的质量损失 ⚡
五、效率账本:为什么这套设计又快又省
- 稀疏主干:16B-A1B MoE,256 个专家中每 token 只激活 8 个(外加 1 个共享专家),单步计算量逼近 1B 小模型;
- 全离散表示:图像就是 token,天然享受 KV 缓存、块并行解码等 LLM 推理优化,无需外挂扩散 UNet;
- 统一框架:文本、图像、视频、3D 全部落到同一 token 流上,一个模型搞定问答、文生图、理解与编辑。
想动手体验?仓库已提供两套权重——nvidia/(NVIDIA GPU 训练)与 ascend/(华为昇腾 NPU 训练),推理入口指向官方 README.md 中的infer_1024_sft.sh,把CHECKPOINT指向上面任一子目录即可。
总结
InternLumina-U2 的图像生成/理解能力可以浓缩成一条链路:
VAE latent → TokenBridge 高斯分桶量化 → 8 码本 × 4096 视觉词 → LLM(8 套嵌入读入 / MultiCodebookARHead 逐码本说出)→ 块扩散迭代去噪 → 重建像素
对新手而言,记住三个关键词就抓住了精髓:AToken(离散视觉表示的思想来源)、TokenBridge(图像与 token 的桥梁)、8 码本自回归(兼顾表达力与生成效率的解码策略)。读懂这三者,InternLumina-U2 的架构地图就基本清晰了 🗺️
- 大模型
- 人工智能
- 多模态
- 媒体生成
- 基础模型
【免费下载链接】InternLumina-U2
Intern Lumina U2 是一个统一多模态模型,将语言、图像、视频和 3D 纳入 单一框架,用一个模型覆盖文本问答、文生图、图像理解、图像编辑、 视频理解和 3D 理解。它采用 16B 参数 MoE,其中激活参数为 1B(16B-A1B), 将高效稀疏主干与基于 AToken 构建的 8 码本全离散视觉表示相结合。
相关推荐
深度解析LFM3-Audio-2B的LiquidCodec:80ms语音仅用12个离散Token的FSQ 12码本设计原理
深度解析LFM3 Audio 2B的LiquidCodec:80ms语音仅用12个离散Token的FSQ 12码本设计原理 LFM3 Audio 2B 是 Li
人工智能大模型多模态语音音频本地部署InternLumina-U2 架构深度拆解:16B-A1B MoE加8码本,为什么是高效统一多模态的关键
InternLumina U2 架构深度拆解:16B A1B MoE加8码本,为什么是高效统一多模态的关键 InternLumina U2 是上海 AI 实验室
大模型人工智能多模态媒体生成基础模型Docker PHP完整指南:如何在PHP应用中轻松管理容器化环境
Docker PHP完整指南:如何在PHP应用中轻松管理容器化环境 Docker PHP是一个强大的PHP Docker客户端库,它让PHP开发者能够直接在代码
后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考