注册后,我们会记住你学到了哪里。
请求走过的路
这是可选用工具的云端文本助手的一种常见流程。本地模型、多模态模型及不同提供商可能走不同路径,编号步骤是简化示例。
全景 — 五个地方
- 我的电脑
- 网络
- 远处的机器
我电脑上的程序
聊天机器人、代码编辑器、应用。它接住你的请求,决定要送出什么。
网络
跨越互联网的那条路。在这条路上来往的只有文字和文件。
远处的计算机器
运行时加载模型并执行推理。热工作进程通常复用常驻权重,冷启动、逐出、卸载、重启会再次加载。模型也可分布在多台设备或服务器。
计算模型
神经语言模型从训练样例中学习数值权重,生成时用权重和当前上下文计算候选词元分数。它并非简单查出存储的互联网句子,也不是只统计紧邻前词的次数。
回到我的电脑
程序把答案显示出来;只有在你允许时,它才动手做事。
第 1 个和第 5 个地方是同一台电脑——我的电脑
把第 3 个地方打开看看
- 硬盘上沉睡着的一个大数字文件。那个文件就是模型本身。
- 运行时把它读进来,放到专门用来计算的芯片上,然后就一直摆在那儿。
- 门卫核对钥匙,请求排队等着轮到自己。
- 计算就冲着早已放在上面的那些数字来跑。
一步一步看
一共八步。到第八步,路会分成两条。
我把它送出去
可先语音转文字,再送入文本模型,也有直接接收音频的模型。麦克风权限与所选服务决定处理位置。
程序收拾行李
应用在上下文限制内选择消息、指令和获准附件,可截断、摘要或检索旧内容。省略的细节不会自动保留,摘要也会丢失信息。
跨越互联网
HTTPS 加密连接。HTTP/1.1、HTTP/2 常用 TCP 加 TLS,HTTP/3 用 QUIC。实时服务可能用 WebSocket 或 WebRTC。图示表达连接用途,不是唯一传输方式。
计算机器接住它
运行时加载模型并执行推理。热工作进程通常复用常驻权重,冷启动、逐出、卸载、重启会再次加载。模型也可分布在多台设备或服务器。
抽出下一个词元
采样可能生成不同答案,也可能重复。较小的正温度使分布集中,不会使事实更真实。真实系统中上下文、模型版本、工具和数值执行也会影响结果,所以温度为零也不承诺输出完全相同。
每个词元都回到这一步
边出边送回来
文本可通过 SSE 等分块流式传输。音频及部分图像、视频系统也可流式输出,有的返回完整文件。块大小和时序是服务选择,不证明有人打字或思考。
程序把它铺到屏幕上
文本可通过 SSE 等分块流式传输。音频及部分图像、视频系统也可流式输出,有的返回完整文件。块大小和时序是服务选择,不证明有人打字或思考。
路不是一条,是两条
把这两条画成同一条路,正是可怕的误会的源头。它们并不一样。
只是对话
- 屏幕上的文字
- 到此为止
查看详情
文字在屏幕上流过,就到此为止。你的电脑上什么也没发生。本站的 Laria 学习助手走的就是这条路。
借一双手
- 找出工具请求
- 请求许可
- 真的动手
- 把结果装回去
结果装进第 2 步的包袱,再从第 3 步出去
查看详情
模型可提出结构化工具调用。应用验证后在权限内于本地或远程执行,再把结果送回模型。次数限制、取消、失败都可终止循环。
权限、隔离、验证和必要审批必须由应用或服务实施。系统提示本身不是安全边界。已授权操作可能不再次询问,实现不当时控制也会失效。
如果一定要打个比方
-
一副身体可以换掉它的计算零件。同一个代码编辑器,明天就能接上另一家公司的模型。
-
同一个计算零件,同时应付着彼此素不相识的众多人的请求。活着的东西做不到这种事。
查看详情
模型可提出结构化工具调用。应用验证后在权限内于本地或远程执行,再把结果送回模型。次数限制、取消、失败都可终止循环。
再说两件事
计算机器并不总在远方
此刻这个网站,就是那张图
| 1 · 我的程序 | 2 · 网络 | 3 · 远程机器 | 4 · 计算模型 | 5 · 我的屏幕 | |
|---|---|---|---|---|---|
| 就在我自己的浏览器里 | 是 | 否 | 否 | 是 | 是 |
| 经由我们的服务器 | 是 | 是 | 是 | 是 | 是 |
| 在远处那家公司的机器上 | 是 | 是 | 是 | 是 | 是 |
就算走中间那条路,计算也是在第三条路上发生的。我们的服务器做的是核对和搬运。
查看详情
PES 的 Supertonic 加载模型后在本地合成语音。浏览器语音服务可能使用本地或远程声音。聊天仍通过 PES 发送到语言模型服务,并非全部留在设备中。
打开 Laria 学习助手,随便问点什么。浏览器把它送到我们的服务器,服务器再交给远处的计算机器。文字一小块一小块回来,那是第 6 步;这些文字在屏幕上一点点长出来,那是第 7 步。Laria 走的是只对话那条路,从不碰你电脑上的文件。
Laria 学习助手就是这样。我们的服务器只负责把请求递过去,并不运行模型。
计算真正发生的地方。他们内部用的是哪种运行时,并没有公开。
给大人的注解
写给需要更精确说法的人。
词元
分词器将文本片段映射到自身词表的 ID,可用词、子词、字符或字节。同一文本在不同分词器中可能有不同 ID 与词元数。
流式传输
一边生成一边把局部输出推送出去,通常走 SSE。每一块有多大,各家产品并不相同;有的不是按词元,而是按句子送。
模型的种类
有 LLM(大语言模型)、SLM(小语言模型)、VLM(连图片一起看的模型),还有生成图像和视频的扩散模型。它们的造法各不相同,也并非全都输出文字。
怎么挑
采样可能生成不同答案,也可能重复。较小的正温度使分布集中,不会使事实更真实。真实系统中上下文、模型版本、工具和数值执行也会影响结果,所以温度为零也不承诺输出完全相同。
RAG · MCP · 技能
工具可直接通过应用 API 或 MCP 连接。MCP 可在本地或远程服务器提供工具、资源、提示。可用性取决于应用配置与权限,而非模型本身。
运行模型的程序(运行时)
本站实际用的是 ONNX Runtime(语音合成)和 sherpa-onnx(语音识别)。在服务器上跑大语言模型时,用的是干同样活儿的另一些程序 — vLLM、TensorRT-LLM、llama.cpp 等等。哪家公司用哪一个,并没有公开。
数字、精度、内存——以及让数字运转的运行时
- 模型文件 乐谱
- 运行时 指挥
- CPU · GPU 演奏者
| 擅长 | |
|---|---|
| ONNX Runtime | 在多种设备上运行多种模型 |
| llama.cpp | 在自己的电脑上运行 LLM(GGUF) |
| FreeToken | 在个人 PC 上运行超大 MoE 模型 |
查看详情
AI模型是学习得到的海量数字与计算结构。运行时把这些结构载入内存,并在CPU、GPU等计算设备上真正执行它们。
可以把模型文件想成乐谱,CPU和GPU是演奏者,运行时则是读谱并协调演奏的指挥。
ONNX Runtime — 一种跨平台通用引擎,可运行图像、语音、语言等多类模型,并通过执行提供程序连接针对不同硬件的加速器。
llama.cpp — 一种专注于让LLM和VLM以较少配置运行在本地或云端多种硬件上的引擎,常与GGUF格式的模型文件配合使用。
FreeToken — 一种面向边缘设备的新型服务引擎,专门让超大MoE模型运行在个人硬件上。它把NVIDIA GPU、CPU、主机内存及其互连协调成统一的推理平台。
什么是参数?
- 张量
- 矩阵
- 向量
- 标量 = 1个参数
- 向量
- 矩阵
[0.2, −0.7, 1.3] 1个向量・3个标量数字・3个参数8B里的B是Billion(十亿),不是Byte。8B模型不是有80亿个向量,而是大约有80亿个标量参数。
参数与权重
- 权重
- 偏置
- 嵌入
- 归一化系数
y = w₁x₁ + w₂x₂ + b权重都是参数,但参数不全是权重。
查看详情
参数是模型在学习中得到或调整的一个标量数字。向量、矩阵和张量是装数字的容器,其中每一个标量数字都算一个参数。
权重是最典型的一类参数,它决定输入对结果产生多强的影响。偏置、嵌入和归一化系数等也可能是参数。
一个参数并不是装着一条知识的盒子。如果张量或矩阵是大抽屉柜,参数就是其中一个数字格;位数表示这个数字记录得有多精细。
一个参数占多少位?
查看详情
参数是一个数字,却能用不同精度保存。减少位数通常能节省内存,但实际量化文件还会有缩放因子、元数据等额外开销。
为什么8B模型大约是8GB?
权重容量 ≈ 参数量 × 每参数位数 ÷ 8表中是只计算权重并采用十进制单位的简化理论值。实际量化文件还存有缩放因子、元数据和其他结构,因此可能更大。
查看详情
使用8位精度时,每个参数约占1字节。因此80亿参数的纯权重大约需要8GB。同样的参数量采用不同精度,容量也会不同。
真正运行时还需要更多内存
- 权重
- KV缓存
- 计算缓冲区
- 运行时开销
上下文越长,KV缓存越大
运行内存 = 权重 + KV缓存 + 计算缓冲区 + 运行时开销查看详情
权重文件只是起点。推理还需要保存先前词元的KV缓存、临时计算缓冲区和运行时开销。因此理论上4GB的模型实际可能需要5~8GB甚至更多;上下文越长,KV缓存通常越大。
小小的数字怎样表达大量知识?
查看详情
8位能表示256个等级,但单个参数里并没有存放“首尔是韩国首都”这样的句子。知识分散在数十亿参数跨越许多层相互作用所形成的整体模式里。
一个像素只是一个颜色值;数百万像素排列起来,就会出现人脸或风景。模型知识也以相似方式从分散的数字模式中涌现。
AI模型是由向量、矩阵和张量组织起来的海量标量参数模式。精度决定理论权重容量;运行时把权重载入内存,再用额外的工作内存在可用硬件上执行模型。
同一条路,一步一步全看
1 从我的手到程序 第 1 个地方 4 步
-
一个键被按下
键盘里那台小小的电脑发现哪个键动了,把它变成一个数字,顺着线送出去。
-
操作系统接住它
内核里的驱动把这个数字变成输入事件,排好队交给此刻在最前面的那个窗口。
-
程序从队列里取出来
每个程序都在跑一个循环,一次取一个事件来处理。字出现在输入框里,就是这一步。
-
麦克风走的是另一条路
可先语音转文字,再送入文本模型,也有直接接收音频的模型。麦克风权限与所选服务决定处理位置。
2 把要送的东西装好 第 1 个地方 7 步
-
系统提示词
写程序的人事先定好的规矩排在最前面 — 你是什么,该怎么回答。
-
到目前为止的对话
应用在上下文限制内选择消息、指令和获准附件,可截断、摘要或检索旧内容。省略的细节不会自动保留,摘要也会丢失信息。
-
你附上的东西
API 可接收图片字节、文件 ID、URL 或 base64。PDF 可提取为文本、页面图像或 OCR 结果。文件支持、提取质量、大小限制因服务而异。
-
翻你自己的资料(RAG)
RAG 检索材料并作为生成上下文,可用 BM25 关键词检索、嵌入或混合方式。通常不重新训练权重,检索内容仍需核查来源与相关性。
-
工具清单
工具可直接通过应用 API 或 MCP 连接。MCP 可在本地或远程服务器提供工具、资源、提示。可用性取决于应用配置与权限,而非模型本身。
-
技能和命令
技能包包含指令,也可含脚本和参考文件。兼容智能体按需加载相关部分。Agent Skills 网站定义格式,不保证技能安全或正确。
-
塞进上限里
应用在上下文限制内选择消息、指令和获准附件,可截断、摘要或检索旧内容。省略的细节不会自动保留,摘要也会丢失信息。
3 跨越互联网 第 2 个地方 4 步
-
找地址
把服务器的名字换成数字地址(DNS)。
-
开路,再上锁
HTTPS 加密连接。HTTP/1.1、HTTP/2 常用 TCP 加 TLS,HTTP/3 用 QUIC。实时服务可能用 WebSocket 或 WebRTC。图示表达连接用途,不是唯一传输方式。
-
表明身份
在请求的头部附上钥匙(API 密钥)或票据(令牌)。算在谁账上,就在这里定下来。
-
把请求送出去
HTTPS 加密连接。HTTP/1.1、HTTP/2 常用 TCP 加 TLS,HTTP/3 用 QUIC。实时服务可能用 WebSocket 或 WebRTC。图示表达连接用途,不是唯一传输方式。
4 服务器门口 第 3 个地方 3 步
-
门卫
看看钥匙对不对、叫得是不是太频繁,然后交给一台闲着的计算机器。
-
排队
门口先验钥匙,请求要排一小会儿队。等到真正开算的时候,运行时会拿着早已装载好的那一份数字,把排着队的好几个问题一起算。
-
检查进来的东西
开算之前,先看看这个请求有没有违反规矩。
5 服务器内部 — 机器和运行时 第 3 个地方 3 步
-
数字文件正睡着
训练完的模型,就是存储设备上一个很大的文件。它本身不做任何计算。本站的语音模型也是四个文件,加起来大约 398MB。
-
运行时装载一次
运行时加载模型并执行推理。热工作进程通常复用常驻权重,冷启动、逐出、卸载、重启会再次加载。模型也可分布在多台设备或服务器。
-
加速器接下乘法
同样的乘法要做上天文数字那么多次,于是交给专为此打造的芯片,旁边配着快速内存让数字待着。普通 CPU 也能做,只是会慢一些。
运行时并不住在加速器里面。它是另一个独立跑着的程序,负责读文件、把数字放到那块芯片旁边的内存里。
把多个请求捆在一起是第 17 步,把算过的留着是第 27 步 — 这两件事都由这个程序来做。
6 模型开始算 第 4 个地方 7 步
-
切成词元
分词器将文本片段映射到自身词表的 ID,可用词、子词、字符或字节。同一文本在不同分词器中可能有不同 ID 与词元数。
-
编号变成一串数字
词元 ID 选择学习到的嵌入向量,ID 数值大小不代表语义。向量相似性取决于模型与任务,距离近不保证意义相同。
-
标上顺序
位置信息帮助区分顺序。有的架构加位置向量,有的采用旋转位置嵌入;并非所有 Transformer 都相同。
-
互相看(注意力)
自回归 Transformer 在各层进行注意力等变换。因果注意力只使用允许的先前位置,有时限于窗口。结构与层数因模型而异。
-
一层层地乘和加
自回归 Transformer 在各层进行注意力等变换。因果注意力只使用允许的先前位置,有时限于窗口。结构与层数因模型而异。
-
给全部打分
最后一层给它认得的每一个词元打分 — 几万个分数一次出来。
-
挑一个
Softmax 将 logits 转为概率,温度在采样前缩放 logits。Top-k 限制候选数量,top-p 按累计概率保留候选。贪心选择最高分,温度 0 的处理因提供商而异。
7 一个词元一个词元,反复来 第 4 个地方 3 步
-
接到后面
-
算过的省着用
KV 缓存复用自回归解码中过去的注意力键值,减少计算但消耗内存。延迟还受上下文长度、批处理、硬件、网络影响,后续词元不一定总更快。
-
回到第 22 步
模型可提出结构化工具调用。应用验证后在权限内于本地或远程执行,再把结果送回模型。次数限制、取消、失败都可终止循环。
把答案一路写下去的循环就是它 — 每一个词元都回到第 22 步。
8 回来的路 第 2 个地方 4 步
-
把词元编号还原成能读的文字
-
边出边送
不等整段答案写完,做出多少就推出多少,一小块一小块地送(SSE)。
-
检查出去的东西
送出去的文字,也要看看有没有违反规矩。
-
记下用了多少
数一数送进去和送出来的词元各有多少。账单就是从这里出来的。
9 程序接住它 第 5 个地方 4 步
-
按顺序把到达的小块拼起来
-
画到屏幕上
读懂 Markdown,把它变成标题、列表和代码框画出来。看上去像有人在打字的,就是这一部分。
-
找出工具请求
程序一直盯着,看答案里有没有夹着约定格式的工具调用。
-
核对参数
那个工具是不是真有、参数长相对不对,都要在动手之前查一遍。
10 借手的循环 第 5 个地方 4 步
-
请求许可
权限、隔离、验证和必要审批必须由应用或服务实施。系统提示本身不是安全边界。已授权操作可能不再次询问,实现不当时控制也会失效。
-
真的动手
模型可提出结构化工具调用。应用验证后在权限内于本地或远程执行,再把结果送回模型。次数限制、取消、失败都可终止循环。
-
把结果装回去
出了什么、失败的话为什么,都作为新的一行装进第 6 步那段对话里。
-
回到第 15 步
模型可提出结构化工具调用。应用验证后在权限内于本地或远程执行,再把结果送回模型。次数限制、取消、失败都可终止循环。
人们所说的智能体,指的就是这个循环 — 一次又一次回到第 15 步。