请求走过的路
全景 — 五个地方
- 我的电脑
- 远处的机器
我电脑上的程序
、、应用。它接住你的请求,决定要送出什么。
网络
跨越互联网的那条路。在这条路上来往的只有文字和文件。
远处的计算机器
里的接下请求,交给一个已经加载好的,所以不会每个问题都重新打开一次模型。非常大的模型,可能分散在好几块芯片或好几台机器上。
计算模型
神经从样例中学习数值,生成时用权重和当前计算候选分数。它并非简单查出存储的互联网句子,也不是只统计紧邻前词的次数。
回到我的电脑
把答案显示出来;只有在你允许时,它才动手做事。
第 1 个和第 5 个地方是同一台电脑——我的电脑
把第 3 个地方打开看看
-
上的大文件保存着学到的数值,以及加载所需的信息。
-
把它读进来,放到专门用来计算的芯片上,然后就一直摆在那儿。
-
门卫核对钥匙,请求排队等着轮到自己。
-
计算就冲着早已放在上面的那些数字来跑。
一步一步看
一共八步。到第八步,路会分成两条。
我把它送出去
键盘和鼠标的动作经过,交给你正在看的那个。麦克风不一样:只有在你允许时,程序才会接收声音,用把它变成文字 — 或者把声音送给能直接听的。
程序收拾行李
你的问题、最近的对话,还有你附上的文件或图片,会和应用打开的指令、工具一起装进包袱。它不会把你整个硬盘都捞走 — 只有你允许的东西才跟着去。包袱有大小上限,所以应用会把较早的部分截短、压缩或干脆拿掉。 有时好像忘了你前面说过的话,原因就在这里。
跨越互联网
文字通常走 ,也就是网页用的那条上了锁的路。像实时语音这种需要双向一直说下去的东西,则会把连接一直开着。
计算机器接住它
— 把那一大堆数字放在里并进行计算的 — 把收到的文字切成(模型读得懂的小块)。如果模型还不在内存里,就得先加载,所以第一个回答会来得慢。
抽出下一个词元
给每一个可能的下一个打分,然后挑出一个。它把这个词元接到末尾,再回到同一步,一遍又一遍,直到出现表示「结束」的词元,或者达到长度上限。怎么挑是一项设置:调低,就更常拿最高分,答案的变化更小 — 但更稳定的答案并不等于更真实的答案。
每个词元都回到这一步
边出边送回来
答案不会等到全部写完才送。文字是几小块几小块地到达;有些声音、图片和视频也是边生成边送,另一些则作为完成的文件一次送到。
程序把它铺到屏幕上
所以文字看起来像有人在打字。并不是有谁在你眼前慢慢思考 — 只是小块正在陆续到达,每块多大、来得多快,由服务决定。
路不是一条,是两条
把这两条画成同一条路,正是可怕的误会的源头。它们并不一样。
只是对话
-
屏幕上的文字
-
到此为止
查看详情
文字在屏幕上流过,就到此为止。你的电脑上什么也没发生。本站的 Lyen 学习助手走的就是这条路。
借一双手
-
找出工具请求
-
请求许可
-
真的动手
-
把结果装回去
结果装进第 2 步的包袱,再从第 3 步出去
查看详情
回来的仍然只是文字。当这段文字是一个工具请求 — 「改一下这个文件」 — 时,你电脑上的会先检查,再替它去做。然后把结果装进第 2 步的包袱,从第 3 步再次送出去,对话就这样继续。这样的往返,就是人们所说的。
做得好的程序,在删除文件或执行命令之前会先问你 — 而决定关掉这个提问的,是人。这个提问就是保险栓:它由程序来执行,而不是对模型的一句客气嘱咐。
如果一定要打个比方
-
一副身体可以换掉它的计算零件。同一个,明天就能接上另一家公司的模型。
-
同一个计算零件,同时应付着彼此素不相识的众多人的请求。活着的东西做不到这种事。
查看详情
模型是只会计算的零件;身体是你电脑上的程序,或者包在它外面的服务。会计算的零件没有手 — 它自己不能创建文件,也不能打开应用,只能用文字提出请求。真正动起来的一切,都是程序在它被允许的范围内做的。
再说两件事
计算机器并不总在远方
此刻这个网站,就是那张图
| 1 · 我的 | 2 · | 3 · 远程机器 | 4 · 计算 | 5 · 我的屏幕 | |
|---|---|---|---|---|---|
| 就在我自己的里 | 是 | 否 | 否 | 是 | 是 |
| 经由我们的 | 是 | 是 | 是 | 是 | 是 |
| 在远处那家公司的机器上 | 是 | 是 | 是 | 是 | 是 |
走中间那条路(经过我们的)时,真正的计算也是在第三条路上、在远方某家公司的机器上发生的。我们的服务器只负责核对请求并把它搬运过去。
查看详情
小模型可以在你自己的电脑里运行。本站的语音就是这样:下载好以后,把文字变成语音的工作就在你的设备上完成。聊天则不同 — 那些消息仍然经由 SONUB 送到服务。
打开 Lyen 学习助手,随便问点什么。把它送到我们的服务器,服务器再交给远处的计算机器。文字一小块一小块回来,那是第 6 步;这些文字在屏幕上一点点长出来,那是第 7 步。Lyen 走的是只对话那条路,从不碰你电脑上的文件。
Lyen 学习助手就是这样。我们的服务器只负责把请求递过去,并不运行模型。
计算真正发生的地方。他们内部用的是哪种运行时,并没有公开。
给大人的注解
写给需要更精确说法的人。
词元
模型并不读单词。把文字切成 — 有时是整个单词,有时是几个字母,有时只是一个 — 每一个都变成一个数字。不同的模型切同一句话的方式不同,所以同一段文字算出来的词元数也可能不同。
流式传输
一边生成一边把局部输出推送出去,通常走 。每一块有多大,各家产品并不相同;有的不是按词元,而是按句子送。
模型的种类
有 (大语言模型)、(小语言模型)、(连图片一起看的模型),还有生成图像和视频的。LLM 和 SLM 主要是大小不同,VLM 还能读图片,扩散模型输出的不是文字,而是图像和视频。
怎么挑
下一个词元怎么选,是一项设置。把调低,模型更常选最高分,同样的输入会得到更相似的回答;调高,回答就更多变。就算调到零,实际的服务也不保证每次给出一模一样的答案,而且更稳定的答案并不是更正确的答案。
RAG · MCP · 技能
这些是往包袱里多装东西的几种方式的名字。 搜索文档并附上找到的内容; 是连接工具的一种常用方式;是事先准备好的成套指令。哪些能用,由应用的设置和决定 — 从来不是模型自己说了算。
运行模型的程序(运行时)
本站实际用的是 ()和 ()。在服务器上跑大语言模型时,用的是干同样活儿的另一些程序 — 、、 等等。哪家公司用哪一个,并没有公开。
权重、参数数量与容量公式
权重、参数数量与容量公式
是在中学到的数值。包括权重、等通过训练确定的值。70B模型大约有700亿个参数;减少的是保存每个数值所需的位数,而不是参数数量。这里的“权重容量”指保存这些模型参数所需的总空间。
权重容量()≈ 参数数量 × 每个参数的存储位数 ÷ 8。因为1字节等于8位,所以要除以8。将70B保存为4位:70,000,000,000 × 4 ÷ 8 = 35,000,000,000字节,也就是十进制单位的35 。这个数值不包含量化附加信息和的工作。
Q4、Q6、Q8:用更少的空间保存同一组数值
Q4、Q6、Q8:用更少的空间保存同一组数值
、Q6、Q8通常表示每个大约用4、6、8位保存。同一个70B的理论容量分别为35 、52.5 GB和70 GB。以位的140 GB为基准,它们分别为25%、37.5%和50%。
这些是估算值,并不是准确的下载大小。等方式会混合使用不同,并加入缩放系数和。量化会用较粗略的近似值表示数值,因此可能降低回答质量;它并不会删除。
未量化的原版一定是16位吗?
未量化的原版一定是16位吗?
不是。许多公开的原始采用或BF16,两者都是位浮点格式。每个数值占用的空间相同,但数值范围和不同。这里为了比较,使用16位原版作为示例。
“原版”并不规定存储位数:发布的检查点也可能采用(32位)、混合精度,或已经过的权重。需要查看以及实际的。把所有原版都称为“16位”是不正确的。
文件变小,内存和GPU使用量也会减少吗?
文件变小,内存和GPU使用量也会减少吗?
保存后的,通常会让文件变小。如果运行在中仍保留紧凑表示,权重占用的内存也会减少。只在加载时量化,上的原始文件可能不变;如果加载时把权重展开成更高,内存占用又可能增加。
内存 ≈ 权重 + + 临时 + 运行程序。量化权重并不会自动量化KV缓存。对话越长、同时处理的请求越多,可能需要越多。、使用率和速度不会与位数简单成正比,还取决于支持、数值解包计算和传输。
模型就是一个装着数值和程序的文件吗?
模型就是一个装着数值和程序的文件吗?
通常下载时,占空间最多的是按组织的、学到的数值。模型可以保存在一个文件中,也可以拆成多个分片,配置和文件还可能单独保存。配置描述模型结构;分词器把文本片段映射为。
可以把张量、结构和分词器信息放在一起。Safetensors保存张量和元数据,结构配置往往另存为文件。还可以描述。描述结构与包含执行它的引擎是两回事。、等运行是独立的,它们读取这些信息,再用或执行计算。
可以把它们比作食谱、称好分量的食材和厨师:模型提供要做什么计算以及所用的已学习数值,运行程序负责执行步骤。说普通模型文件里包含完整的执行程序,会让人产生误解。
数字、精度、内存——以及让数字运转的运行时
-
模型文件 乐谱
-
运行时 指挥
-
CPU · GPU 演奏者
| 擅长 | |
|---|---|
| 在多种设备上运行多种 | |
| 在自己的电脑上运行 () | |
| 在个人 PC 上运行超大 模型 |
查看详情
是学习得到的海量数字与计算结构。把这些结构载入,并在、等计算设备上真正执行它们。
可以把模型文件想成乐谱,CPU和GPU是演奏者,运行时则是读谱并协调演奏的指挥。
— 一种跨通用引擎,可运行图像、语音、语言等多类模型,并通过连接针对不同的。
— 一种专注于让和以较少配置运行或端多种硬件上的引擎,常与格式的模型文件配合使用。
— 为了在个人电脑上运行超大模型(在众多专家中只挑一部分来计算的模型)而做的运行时。它把 GPU、CPU、主内存(RAM)以及它们之间的连接合在一起,当作一台机器来用。
什么是参数?
- 矩阵
- = 1个
- 矩阵
[0.2, −0.7, 1.3]
1个向量・3个标量数字・3个参数
里的B是Billion(十亿),不是。8B模型不是有80亿个,而是大约有80亿个参数,每个参数都只是一个数(标量)。
参数与权重
- 权重
- 偏置
- 嵌入
- 归一化系数
y = w₁x₁ + w₂x₂ + b都是参数,但参数不全是权重。
查看详情
参数是模型在学习中得到或调整的一个标量数字。向量、矩阵和张量是装数字的,其中每一个标量数字都算一个参数。
权重是最典型的一类参数,它决定输入对结果产生多强的影响。、和等也可能是参数。
一个参数并不是装着一条知识的盒子。如果张量或矩阵是大抽屉柜,参数就是其中一个数字格;位数表示这个数字记录得有多精细。
一个参数占多少位?
查看详情
参数是一个数字,却能用不同保存。减少位数通常能节省内存,但实际文件还会有、等额外。
为什么8B模型大约是8GB?(按8位计算)
权重容量 ≈ 参数量 × 每参数位数 ÷ 8表中是只计算权重并采用十进制单位的简化理论值。实际量化文件还存有缩放因子、元数据和其他结构,因此可能更大。
查看详情
使用8位精度时,每个参数约占1字节。因此80亿参数的纯权重大约需要8GB。同样的参数量采用不同精度,容量也会不同。
MoE — 只有少数专家工作的模型
MoE(Mixture of Experts)意思是“多个专家的组合”。模型内部有许多专门的处理部分(专家),并根据输入只挑选其中一部分来计算。
- 为这个词元挑选的专家
- 这次休息的专家(仍在内存中)
读懂名字 — Qwen3-Coder 30B-A3B
30B整个模型约有 300 亿个参数。A3B处理一个时,约有 30 亿个参数参与计算(A = Active)。效果 — 比每次都计算全部 300 亿个参数的模型计算量更少。
内存 — 可能被选中的专家都要准备好,所以仍然需要能装下整个模型的 RAM。
因此,在没有 GPU 的 CPU 上(例如 12 vCPU·48GB RAM),MoE 是有利的候选。它能把大模型放进内存,同时减少每次的计算量。不过实际速度仍取决于 CPU 和内存的性能。
查看详情
MoE 中的专家并不像人一样各自负责固定的领域,而是在中自然分出角色的小型。路由器也是训练出来的:它为每个词元给专家打分,挑出最合适的几个。所以在同一句话里,不同词元选中的专家也可能不同。
数字来源:Qwen 官方模型卡(2026-10-23 核对)
真正运行时还需要更多内存
- 权重
- KV缓存
- 计算缓冲区
- 运行时开销
越长,越大
运行内存 = 权重 + KV缓存 + 计算缓冲区 + 运行时开销查看详情
权重文件只是起点。推理还需要保存先前词元的KV缓存、临时和运行时开销。因此理论上4GB的模型实际可能需要5~8GB甚至更多;上下文越长,KV缓存通常越大。
小小的数字怎样表达大量知识?
查看详情
8位能表示256个等级,但单个参数里并没有存放“首尔是韩国首都”这样的句子。知识分散在数十亿参数跨越许多层相互作用所形成的整体模式里。
一个只是一个颜色值;数百万像素排列起来,就会出现人脸或风景。模型知识也以相似方式从分散的数字模式中涌现。
AI模型是由向量、矩阵和张量组织起来的海量标量参数模式。精度决定理论权重容量;运行时把权重载入内存,再用额外的工作内存在可用硬件上执行模型。
同一条路,一步一步全看
- 1 从我的手到程序
- 2 把要送的东西装好
- 3 跨越互联网
- 4 服务器门口
- 5 服务器内部 — 机器和运行时
- 6 模型开始算
- 7 一个词元一个词元,反复来
- 8 回来的路
- 9 程序接住它
- 10 借手的循环
1 从我的手到程序
-
一个键被按下
键盘里那台小小的电脑发现哪个键动了,把它变成一个数字,顺着线送出去。
-
操作系统接住它
里的驱动把这个数字变成,排好队交给此刻在最前面的那个窗口。
-
程序从队列里取出来
每个都在跑一个循环,一次取一个事件来处理。字出现在输入框里,就是这一步。
-
麦克风走的是另一条路
声音以每秒几万次测量值的形式到来。在文本模型看到之前,语音转文字模型先把说话的部分变成文字 — 不过有些较新的模型可以直接听声音。
2 把要送的东西装好
-
系统提示词
写程序的人事先定好的规矩排在最前面 — 你是什么,该怎么回答。
-
到目前为止的对话
之前的几轮对话按顺序放进去。因为有上限,应用会先丢掉、缩短或概括最早的那些 — 没放进去的内容,模型根本看不到。
-
你附上的东西
图片或文件以服务能接受的形式附上:原始字节、文件 、链接,或者一长串叫作 的字母。对于 ,服务可能抽出其中的文字、把页面拍成图片,或用 来读。
-
翻你自己的资料(RAG)
这就是 。你的问题被变成数字(或关键词),再把你的文档里与它最匹配的几段找出来,一起装进去。模型本身并没有重新训练 — 找到的段落也仍然需要核对。
-
工具清单
应用允许的每个工具,名字和输入格式都像菜单一样写出来。应用可以列出自己的工具,也可以从 服务器那里取得。
-
技能和命令
别人事先写好的成捆指令 — — 在任务需要时被插进来。技能包还可能带着脚本和参考文件,所以在信任它之前先读一读。
-
塞进上限里
整个包袱都按词元来计数。一旦超过上限,应用就得剪掉、缩短或拿掉一些东西 — 通常先从最旧的内容下手。
3 跨越互联网
-
找地址
把服务器的名字换成数字地址()。
-
开路,再上锁
在发送任何东西之前,你的电脑和服务器先开出一条路,并商定一把秘匙,这样中间谁也读不到经过的内容( 和 ;较新的 用 把两件事一起做了)。
-
表明身份
在请求的头部附上钥匙()或票据(令牌)。算在谁账上,就在这里定下来。
-
把请求送出去
到目前为止装好的一切,变成一个请求,通常用 写成,然后发出去。如果双方需要一直说下去 — 比如实时语音 — 就会让连接保持打开。
4 服务器门口
-
门卫
看看钥匙对不对、叫得是不是太频繁,然后交给一台闲着的计算机器。
-
排队
请求不会马上被计算,而是先排一小会儿队。轮到的时候,运行时会拿着早已装载好的那一份数字,把排着队的好几个问题一起算。
-
检查进来的东西
开算之前,先看看这个请求有没有违反规矩。
5 服务器内部 — 机器和运行时
-
数字文件正睡着
训练完的模型,就是存储设备上一个很大的文件。它本身不做任何计算。本站的也是四个文件,加起来大约 398MB。
-
运行时装载一次
服务器启动时(或应用准备就绪时),运行时读入那个文件,做好运行的准备,并把它留在内存里,所以不会每个问题都重新打开。如果内存不够,或者服务器重启,就得再加载一次。
-
加速器接下乘法
同样的乘法要做上天文数字那么多次,于是交给专为此打造的芯片,旁边配着快速内存让数字待着。普通 CPU 也能做,只是会慢一些。
运行时并不住在加速器里面。它是另一个独立跑着的程序,负责读文件、把数字放到那块芯片旁边的内存里。
把多个请求捆在一起是第 17 步,把算过的留着是第 27 步 — 这两件事都由这个程序来做。
6 模型开始算
-
切成词元
文字被切成这个模型的认识的小块,每一块都得到一个固定的编号(ID)。换一个模型,同样的文字可能被切成不同的小块。
-
编号变成一串数字
每个 ID 都会挑出一长串在训练中学到的数字(嵌入向量)。ID 编号本身没有意义;用法相近的小块,最后可能变得相似的,是这些数字串。
-
标上顺序
每个词元排在第几个,也会用数字告诉模型 — 没有它,模型就分不清「狗咬人」和「人咬狗」。各个模型的做法不同,(RoPE)是常见的一种。
-
互相看(注意力)
:对每一个词元,模型都要算出该看前面每个词元多少,再按这个比例把它们的信息混合起来。它只往回看 — 从不看还没写出来的词元。
-
一层层地乘和加
这些数字要穿过很多层 — 大模型有几十层 — 每一层都做一次注意力,再做一轮乘法和加法。每过一层,数字就挪动一点;一共有多少层,要看是哪个模型。
-
给全部打分
最后一层给它认得的每一个词元打分 — 视模型而定,几万到几十万个分数一次出来。
-
挑一个
最后的分数被变成()。让概率更尖或更平, 和 top-p 只留下最可能的几个,然后抽出一个词元。总是拿最高分的做法叫作(greedy)。
7 一个词元一个词元,反复来
-
接到后面
-
算过的省着用
前面词元已经算好的数字会被保存下来(KV 缓存),而不是重算一遍。这样省时间,但占内存;整体速度还取决于文字有多长、服务器有多忙,以及。
-
回到第 22 步
多了一个词元的文字,再一次穿过模型 — 多亏第 27 步,已经算过的部分可以直接再用。就这样一圈又一圈,直到出现表示「结束」的词元,或者到达长度上限。
把答案一路写下去的循环就是它 — 每一个词元都回到第 22 步。
8 回来的路
-
把词元编号还原成能读的文字
-
边出边送
不等整段答案写完,做出多少就推出多少,一小块一小块地送()。
-
检查出去的东西
送出去的文字,也要看看有没有违反规矩。
-
记下用了多少
数一数送进去和送出来的词元各有多少。账单就是从这里出来的。
9 程序接住它
-
按顺序把到达的小块拼起来
-
画到屏幕上
读懂 ,把它变成标题、列表和框画出来。看上去像有人在打字的,就是这一部分。
-
找出工具请求
程序一直盯着,看答案里有没有夹着约定格式的。
-
核对参数
那个工具是不是真有、参数长相对不对,都要在动手之前查一遍。
10 借手的循环
-
请求许可
凡是有风险的事 — 删除文件、执行命令 — 做得好的应用会先问你。这道确认放在应用里,而不在模型里;把它关掉,是人做的决定。
-
真的动手
应用照模型的要求去做:改一个文件、执行一条命令,或者另一个程序(MCP 服务器)— 只在它被授予的之内。
-
把结果装回去
出了什么、失败的话为什么,都作为新的一行装进第 6 步那段对话里。
-
回到第 15 步
重新装好、里面放着那个结果的包袱,再发出去一次。这样反复下去,直到模型说完成了,或者应用因为上限、取消或出错而让它停下。
人们所说的,指的就是这个循环 — 一次又一次回到第 15 步。
接着读
加载中…
请选择要取消的待付款预约。每次取消都需要确认。
你所在国家的时间: