篇章一 · 1.1
规模与参数
先把 K3 的整体规格看清,再从最基础的参数讲起。这一站建立对模型规模的直觉,是后面所有架构细节的地基。
2.78T 的身体,每次只用 104.2B
总参数 2.78 万亿,但每处理一个 token 只激活 104.2B——这就是混合专家的稀疏。先看完整规格,再逐个理解。
完整规格总览
| 规格 | 数值 | 说明 |
|---|---|---|
| 总参数量 | 2.78T2.78 万亿 | 模型全部参数的总数 |
| 激活参数量 | 104.2B1042 亿 | 处理一个 token 时实际参与计算的参数 |
| 简称 | 2.78T-A104.2B | 总参数 - 激活参数 的标准写法 |
| 层数 | 93 层 | 处理过程的顺序步骤数 |
| 隐藏维度 | 7168 | 每层表示信息用的数字列表长度 |
| 词表大小 | 160K16 万 | 模型认识的全部 token 种类数 |
| 上下文长度 | 1M100 万 token | 一次运行能同时保留的最大 token 数 |
| 路由专家 | 896 个 / 激活 16 | 每个 token 从 896 个里选 16 个 |
| 共享专家 | 2 个 | 对所有 token 都参与计算的专家 |
| 视觉编码器 | MoonViT-V2 | 约 401M 参数 · 27 层 |
| 存储精度 | MXFP44 位 | 每个参数用 4 个二进制位存储 |
| 部署显存 | 约 1.4–1.5T | 运行所需的最小显存 |
单位换算
K千
M百万
B十亿
T万亿
每大格差 1000 倍:2.78T 是 2.78 万亿、104.2B 是 1042 亿、401M 是 4.01 亿、160K 是 16 万。K3 的词表和上下文在 K–M 段,激活参数在 B 段,总参数在 T 段——互相差着几个「千倍」。
参数到底是什么
参数是模型内部的数字。 不是人手填的——出厂时全是随机数,训练拿海量例题一遍遍自动调,调到输出像人话为止。模型收到输入后,用这些数字做一连串乘法和加法得到输出;改掉某些数字,输出就跟着变。参数越多,能记录和表达的关系越复杂,训练和运行的成本也越高。
下面这个迷你模型只有两个参数。你来当训练算法,亲手拧一拧,看输出怎么变。
毛茸茸
爱叫
0.6×0.8 + 1.4×0.9 = 1.74 → 是狗概率 85%
是狗的概率
拖 w₁ w₂ 看概率怎么变;试试把 w₁ 拧成负数——「毛越多越不是狗」也是一种学出来的判断。训练干的事,就是拿海量例题自动拧这两根滑杆;真实模型里,是 2.78 万亿根一起拧。
总参数 2.78T 与激活参数 104.2B
总参数 2.78T 是全部家当——语言加视觉在内的所有参数,决定知识上限;激活参数 104.2B 是每次实际动用的部分——每处理一个 token 远小于总量,因为 K3 用了混合专家结构,每次只激活其中一部分。谁来挑、怎么挑,下一节 1.2 展开,可以亲手试。
像一座 2.78 万亿本的图书馆,每次回答只翻 1042 亿本——翻哪几本由路由决定,这就是下一节的主角。
简称 2.78T-A104.2B。 前面是总参数,后面 A104.2B 是激活参数,A 是英文 Active 的首字母。看一个混合专家模型有多大,两个数都要看:总参数决定知识上限,激活参数决定每次实际计算量和速度。
Token:参数作用的对象
模型不直接读文字,它读数字。输入的文字先被切成一段段小片段,每一段叫一个 token。中文里一个 token 大致对应一个汉字或半个词,英文里大致对应一个词或一个词根。每个 token 被编成一个号码。
模型的工作方式是:收到前面已有的 token,预测下一个 token 应该是什么,再一个一个往后生成。前面说的每次激活 104.2B 参数,指的就是每生成一个 token 时实际参与计算的那些参数。
交互演示 · 一句话怎么变成 token
点预设例句,或在输入框里打你自己的句子:中文大致一字一个,英文大致一词一个,数字一串一个。
✏️
赛博浮世绘真有趣
↓ 切分成 token
下一节 1.2 · MoE 稀疏激活。 2.78T 里每次只用 104.2B,怎么做到的?先看模型怎么预测下一个 token,再看路由器怎么从 896 个专家里挑 16 个——下一节有两个可以动手玩的演示。