blog • 2026年10月7日 • 18 次阅读

专业英语课堂汇报讲的Transformer

ai llm transformer 无人机 英语汇报
前阵子专业英语课要做课堂展示,主题自选,要求结合本专业。我挑了「现代大语言模型是怎么工作的」——一是这段时间确实老在跟它打交道,二来也想借个由头,把 Transformer 从输入到输出老老实实捋一遍。 讲完那天效果比我预期的好,老师听完还把我的课件要走了;课后我也把 PPT 发了过去。讲稿搁着也是搁着,就顺手整理成文,把我当时讲过的东西写全一点。 ## 一、先说结论:它其实只做一件事 你往对话框里敲一句话,它就回答你,看着像在跟你聊天。但它没有一柜子的答案,也没有在「想」。 它做的只有一件事:**预测下一个词。** 准确点说,是下一个 *token*——token 是文字的一小块,可能是一个词,也可能只是词的一部分。「无人机在飞向__」,它就给每一个可能的下一块算一个概率,挑一个,再把这个结果拼回输入里,从头再来一遍。 这个过程有个名字,叫**自回归生成**(autoregressive generation)。它一次吐一个词,一个词一个词地,把整段话长出来。 这里有个我觉得挺反直觉的点:它并不真的「理解」语言。**能力是从规模里涌现出来的**——足够大的模型、海量的数据、堆起来的算力,凑到一起,对话的能力就自己长出来了。 ## 二、为什么不是 RNN,也不是 CNN 那为什么非得要 Transformer 这个东西?2017 年之前,大家手里主要就两张牌。 第一张是 **RNN**(循环神经网络)。它一个字一个字地读,天生串行,训起来慢;更要命的是它健忘——前面读过的内容,越往后越淡,这就是常说的**长距离依赖**问题。 第二张是 **CNN**(卷积神经网络)。它只看局部的一个小窗口,处理图像是把好手,但隔着老远的两块文字之间的联系,它就够不着了。 2017 年那篇《Attention Is All You Need》换了条思路:**让每个 token 同时直接去看所有其它 token。** 一下就同时拿到两样东西——能并行训练,还能一步连到远处。 ## 三、把 Transformer 拆成四块 那天展示的主线,就是顺着一次推理,一块一块地把这个盒子拆开。 ### ① 把文字变成向量 模型不认字,先得把文字变成它能算的东西。三步: - **分词(tokenization)**:把句子切成 token,每个 token 映射成一个 ID; - **嵌入(embedding)**:每个 ID 查出一串高维向量(比如 512 维)。意思相近的词,向量也挨得近——drone、UAV、aircraft 就聚在一块儿; - **位置编码(positional encoding)**:注意力本身没有顺序的概念,得额外把每个 token 的位置信息掺进去。 到这里,一句话就变成了一摞向量,也就是一个矩阵。 ### ② 自注意力:整个模型的心脏 每个 token 都会派生出三个东西: - **Query**——我在找什么; - **Key**——我能提供什么; - **Value**——我实际携带的信息。 两个 token 之间的相关性,就是 Query 和 Key 的点积。这里有个看着不起眼、但特别关键的小动作:**除以维度的平方根**。 ``` score = Q · K^T weights = softmax( score / sqrt(d_k) ) output = weights · V ``` 不除这一步,数值会被 softmax 推到饱和区,梯度就没了。除完,数值回到健康的范围里,训练才走得动。 softmax 把分数变成权重,再拿权重去加权求和所有 Value。出来的结果是:**每个 token 都带上了整句话的信息**。 ### ③ 多头注意力 一次不够。并行跑好几遍——原论文是 8 个头,每个头自己一套投影。 一个头可能盯着**指代**(这个「它」到底指什么),另一个头盯着**句法**,还有一个管**邻近语义**。最后把所有头拼起来,过一个线性层。 一个注意力模式,永远不够用。 ### ④ 一个完整的 Block 一个 Transformer Block,是这么叠的: - **多头注意力**——token 之间交换信息; - **前馈网络(FFN)**——每个 token 各自「单独想一下」; - 每个子层外面还套着**残差连接 + 层归一化**。 最后这条才是工程上的关键:靠它,网络才能往深处堆——原论文叠了 6 层,现在的大模型动辄上百层,而不至于训崩。 解码器那边还多两个细节:**掩码**,让它生成时不许偷看后面;**交叉注意力**,让它能回头看原始输入。 ## 四、一次完整的推理:从问题到答案 那天我拿一句「今天天气怎么样」当例子,走完了整条流水线: 1. 句子先分词、变成带位置信息的向量; 2. 这些向量穿过 **N 个 Block**,一层层被精炼——注意力让每个词吸收上下文,前馈网络逐个处理; 3. 最后一层的输出向量,已经压缩着你对这个问题的「理解」; 4. 一个线性层把它映射成**整个词表上的分数**(几万个词); 5. softmax 把分数变成概率,挑出最可能的那个 token,比如「今天」; 6. 把它拼回输入,整条流水线再跑一遍。 第二轮它已经看得见自己刚吐的第一个词了,所以答案能一个词一个词地接着长,直到输出结束标记。 这就是自回归,活生生地在你眼前跑了一遍。 ## 五、它是怎么学会说话的 这些知识是从哪来的?三个阶段: 1. **预训练(pretraining)**:在几万亿词上做「猜下一个词」,绝大部分知识是在这一步装进去的; 2. **有监督微调(SFT)**:拿人写好的对话样例,学说话的格式; 3. **RLHF**:人给不同的回答排序打分,模型学着往人更喜欢的方向靠。 所以它「听起来」很客气——不是因为它有情绪,是因为 RLHF 把回答调成了这个口味。 那为什么非得做大?因为有**缩放定律**:参数、数据、算力按比例加,表现会很可预测地变好;有些能力甚至只在规模上来以后才**涌现**。代价是,训一个前沿模型的账单是几千万美元级别。 这也正是小模型的意义所在——**也是我自己动手做了一个的原因**。 ## 六、我自己做过的那个小模型 我做过一个叫 **microLLM** 的小东西:一个小号的 Transformer,用来**实时调无人机的 PID 参数**。 一块树莓派接在 PX4 飞控旁边,模型读飞控的数据,算出更合适的 PID 增益,再写回去——整个闭环压在 **5 毫秒**以内,因为 PX4 是 200 Hz 在跑。训练数据是仿真加真实飞行,最后导出成 ONNX 部署。 里面有个坑我印象特别深:一开始我只喂给它**一帧**数据。结果注意力**没有任何东西可以关注**——那个 Transformer 直接退化成了一个普通神经网络。 后来我改成喂一段**时间窗**,注意力才看得到无人机的状态是怎么变化的。那一刻我是真的从手上感觉到了:**上下文为什么重要。** ## 七、LLM 和无人机:三个方向 那这些东西怎么落到我这个专业上?我讲了三个方向。 **一是机载的边缘感知与控制。** 基于注意力的模型可以跑在机上的伴飞计算机上,做目标检测、语义分割、视觉惯性里程计(VIO)。这里的设计约束是 **SWaP**(尺寸、重量、功耗),再叠一条硬指标——**延迟预算**:飞控 200 Hz 在跑,推理就必须在一个控制周期内跑完。所以要量化、要压缩:小、确定、实时。 **二是把语言模型当任务规划器。** 你给一句任务级的指令——「巡检这块地,然后回来」——它把飞行计划写出来:航点、高度、地理围栏。但**人在回路**,不是黑箱说了算。 **三是多模态自主。** 视觉-语言-动作(VLA)模型把相机、IMU、激光雷达、GNSS 融进一个共享表示里——这是感知与避让、超视距运行(BVLOS)、无人机交通管理(UTM)的基础。我们实验室飞的是倾转旋翼 VTOL,它从悬停切到巡航的那个**模式转换**段,正好是学习类模型能帮上忙的地方。 ## 八、有一条线不能越 但航空有个绕不过去的限制:**这些系统是安全攸关的。** 一个**幻觉**出来的指令,不是一句「答错了」——**那是一次坠机**。 所以安全的架构是分开的:**大模型负责规划和对话,经过验证的小模型负责飞。** ## 九、写在最后 那天收尾我留了三句话: 1. LLM 就是个预测下一个词的东西——整套魔术就这一招; 2. Transformer 让它成为可能,注意力一次看见整个序列; 3. 规模让它变强,但你不一定非要顶级规模。 我从很小的规模起步,做出了能干活的东西。讲完那节课,老师说讲得挺清楚,还把课件要走了——对一个讲稿改了四五版、字号都抠过一遍的人来说,这算是很好的收尾了。 如果它对你有用,或者你也想拿它做点什么,随时来找我聊。

相关推荐