| 问题 | 答案 | 类型 |
| transformer中的attention结构 | 用户语句(query)经过三个矩阵三次运算得到Q,K,V 计算公式:Q与K倒置进行点积运算,在使用softmax得到每个词权重占比,因为softmax的缩放能力,所以Q与K倒置除以K维度数的开方,缓解此等现象。再与V进行点积得到序列中每个位置对所有其他位置的注意力权重,从而动态聚合上下文信息, | 大模型原理 |
| transformer中的attention结构中为什么要除以K维度数的开方 | 在使用softmax得到每个词权重占比,因为softmax的缩放能力,所以Q与K倒置除以K维度数的开方,缓解此等现象。 | 大模型原理 |
| transformer中的模型架构 | 输入经过embedding层,位置embedding层 Encode为attention + FFN,中间用残差加归一化维持数据分布不混乱。 Decode为attention + 交叉注意力(Cross-Attention) + FFN ,中间用残差加归一化维持数据分布不混乱。 | 大模型原理 |
| 残差的作用是什么? | 通过跳过子层的恒等映射,缓解深层网络的梯度消失问题,使梯度能直接回传到浅层,保证深层模型可训练。 | 大模型原理 |
| 层归一化(layer normalization) | 再经过每层之后,输入向量的分布会随之发生变化,当层数升高之后,会引发输入向量的分布完全偏离,导致训练效果下降,归一化在每层之后将输入向量归一化到相同数据分布之下 | 大模型原理 |
| tokenizer有哪些主流方案? | 字节级BPE,放弃字符,直接在最底层的字节(Byte)上做文章。再按频率合并高频相邻子词; 绝对安全:永远不会遇到不认识的字,任何语言、代码符号、特殊表情都能被编码。 效率极高:对于英文等拉丁语系,高频词(如 "the", "ing")会被合并成一个 Token,大大缩短了文本长度,提升了计算速度。 | 大模型原理 |
| SentencePiece,把空格也当成一个普通的字符,把整句话当成一条连续的字符流来处理。 “我爱 Python”,处理为“我 爱 ▁ P y t h o n”,经过训练后得到“我”“爱”“_python” 好处: 1.多语言极其友好:它不需要预先判断哪里是词边界,中文、日文、英文、阿拉伯文全部一视同仁,统一当成字符流来切分,完美解决了无空格语言的预处理难题。 2.自带“防呆”机制:它支持一种叫“字节回退(Byte Fallback)”的功能。如果某个生僻字在训练时真的没被收录进词表,它会自动退化成字节级别来表示,避免了 [UNK] 的出现。 | ||
| 交叉注意力与自注意力有什么不同 | 自注意力的 Q、K、V 来自同一序列;交叉注意力的 Q 来自一个序列(如 Decoder),K、V 来自另一个序列(如 Encoder 输出),用于跨序列信息融合。 | 注意力 |
| 多头注意力为什么要分多个头 | 单头注意力容易更关注于词本身,分多个头是为了让模型在不同的子空间中并行关注不同类型的维度信息(高维信息,可以类比语义信息成语法,指代,长举例依赖),最终拼接融合以获得更丰富的表示。 | 注意力 |
| 位置编码的作用与泪悲 | attention计算是矩阵计算,对位置不敏感,更换词的位置得到的注意力矩阵数值是相同,必须增加位置编码,可以增加位置信息。 | 位置编码 |
| 正弦位置编码是固定的绝对位置编码,作用于输入阶段 | ||
| RoPE是旋转位置编码,通过旋转 Q/K 向量实现相对位置建模,可以外推性适应更长的输入长度,作用于attention中的Q K点积时 | ||
| MHA(多头注意力) | 将原本的Q分成8等份,就是8头注意力,只要是分成等份的做法都是多头注意力 | 注意力 |
| MQA(多查询注意力) | 所有 Query 头共享同一组 K 和 V(KV 头数 = 1) | 注意力 |
| GAQ(分组查询注意力) | 把 Query 头分成 G 组,每组共享一组 K/V(KV 头数 = G) | 注意力 |
| MLA(多头潜在注意力) | 不砍头数,而是把 K/V 低秩压缩到一个低维"潜向量"再缓存,也就是原本的K,V进行矩阵运算降维,将维度变小,形成小的K,V进行注意力计算,节省运算消耗。运算完再矩阵升维回去,这样从一个attention模块看起来就是无感的,单计算量下降了,KV cache也下降了 | 注意力 |
| MoBA(混合块注意力) | 将长上下文切成多个固定长度的"块",每个 Query 通过门控网络动态选择最相关的 top-k 个块做注意力,跳过无关块,也就是只看一句话中最相关的几段,其他都不进行注意力计算,缩短长度,节省资源 | 注意力 |
| vllm是什么? | KV cache+page attention是vllm的主要思路 | 大模型推理 |
| KV cache:自回归生成时缓存历史 token 已计算好的 K、V 向量,每步只需计算新 token 的 Q/K/V 并与缓存拼接做注意力,避免重复计算,将每步计算从 O(n²) 降为 O(n)。 | ||
| KV cache的原理 | 自回归生成时缓存历史 token 已计算好的 K、V 向量,每步只需计算新 token 的 Q/K/V 并与缓存拼接做注意力,避免重复计算,将每步计算从 O(n²) 降为 O(n)。 | 大模型推理 |
| page attention的原理 | 存储KV cache的时候,如果使用连续存储空间,会造成显存碎片化,预先分配的上限可能极大,但实际生成的很短,造成显存浪费。 PagedAttention 将连续的 KV Sequence 切分成大小固定的块(Block,例如每个 Block 存放 16 个 Token),用虚拟地址存储,这样在逻辑上KV 是连续的,但是存储是碎片化存储。这样就不会出现显存浪费,提高显存利用率 | 大模型推理 |
| 自回归语言模型 | 预测下一个 token(Next Token Prediction),即给定前文预测当前词,训练模型"接龙"能力。典型是就是GPT、deepseek | 大模型原理 |
| 掩码语言模型 | 随机遮盖输入中的部分 token(MLM),让模型根据上下文预测被遮盖的词,训练双向理解能力。 | 大模型原理 |
| 大模型的训练过程 | 预训练阶段: 数据:通常来自网页爬取(Common Crawl)、书籍、代码仓库、学术论文等,通过语言过滤、去重(MinHash)、启发式规则(去除低质量/重复/有害内容)和质量打分模型进行筛选。 训练目的:按词不断输入,预测下一个词 类比大量的知识阅读 | 大模型训练 |
| SFT(Supervised Fine-Tuning)阶段: 数据:人工标注的指令-回答数据 训练目的:输入指令,预期得到回答相似结果 让模型从"只会续写"变为"能按指令回答问题",获得指令遵循、对话和安全拒答能力。 | ||
| RLHF(强化学习): 奖励模型(Reward Model):使用人类偏好数据(一个回答,多个回复,其中一个回复是最好的回复,奖励模型可以给最好的回复打最高的分数)训练一个奖励模型。 PPO算法|GRPO算法,优化训练模型 | ||
| PPO算法 | 要训练的模型W,奖励模型R W复制成actor,reference两个模型,reference冻结 R复制成reward,critic两个模型,critic冻结 | 大模型训练 |
| 1.输入q->actor=结果a,结果a每个token的概率矩阵old_logprob 2.输入q+结果a->reward=rm_score(此回答的分数) 3.输入q+结果a->reference=ref_logprob(更换冻结模型再次判断回答a中每个token的概率矩阵) 4.ref_logprob-old_logprob=KL(防止生成的回答过于偏离平均水平,毕竟大模型是概率,两次token概率不能偏离太大) 5.rm_score-beta*KL=final_reward。Beta是个超参数,使用KL约束奖励分数 6.输入q->critic=critic_value(于reference相同逻辑,二次验证奖励分数,避免奖励模型因为概率偏离平均水平) 7.final_reward-critic_value=advantage。优势的正与否表明此回答比预期好还是不好,只是预期 8.输入q+结果a->actor=new_logprob。actor再次给出每个token的概率矩阵 9.exp(new_logprob-old_logprob)=ratio(采样比),ratio还会经过裁剪不让其太大太小,控制在【0.8,1.2】中 10.-ratio*advantage=loss,更新actor,reward | ||
| GRPO算法 | 于PPO的区别是,去掉了critic,final_reward采用多个q+a的rm_score进行归一化得到final_reward,第六步,第七步不同 | 大模型训练 |
| 1.输入q->actor=结果a,结果a每个token的概率矩阵old_logprob 2.输入q+结果a->reward=rm_score(此回答的分数) 3.输入q+结果a->reference=ref_logprob(更换冻结模型再次判断回答a中每个token的概率矩阵) 4.ref_logprob-old_logprob=KL(防止生成的回答过于偏离平均水平,毕竟大模型是概率,两次token概率不能偏离太大) 5.rm_score-beta*KL=final_reward。Beta是个超参数,使用KL约束奖励分数 6.多个rm_score,得平均值rm_mean,得标准差rm_std 7.(final_reward-rm_mean)/rm_std=advantage。优势的正与否表明此回答比预期好还是不好,只是预期 8.输入q+结果a->actor=new_logprob。actor再次给出每个token的概率矩阵 9.exp(new_logprob-old_logprob)=ratio(采样比),ratio还会经过裁剪不让其太大太小,控制在【0.8,1.2】中 10.-ratio*advantage=loss,更新actor,reward | ||
| LoRA的原理是什么? | 与MLA思想相同,模型权重W2是个低秩矩阵,可以通过矩阵变换A(d*r)*B(r*d)=W2(d*d),W+W2=W1,W1就相当于训练之后的模型参数,用极少的可训练参数(0.1%-5%)即可达到接近全量微调的效果。这里明确是接近,不是超越和等于 | 大模型训练 |
| 温度值是如何生效 | softmax(logit / temperature),节概率分布的“尖锐/平坦”程度来控制生成随机性。 | 大模型推理 |
| 向量的原理 | 将文本通过 Embedding 模型映射为高维向量,通过余弦相似度或内积衡量语义相似性; 训练通常采用对比学习(如 InfoNCE 损失),拉近正样本对、推远负样本对。 | 向量 |
| scaling law | 描述了模型性能(损失)与模型参数量 N、训练数据量 D、计算量 C 之间的幂律关系,三者越大性能越好但收益递减。 因为 Scaling Law 表明性能随规模幂律提升,但收益递减且受数据质量和多样性限制,当数据耗尽或模型容量远超任务需求时,继续扩大规模收益趋近于零。 | 大模型训练 |
| 涌现 | 涌现能力指模型在规模超过某个阈值后突然出现的新能力(如思维链推理),小模型因参数和表示容量不足无法形成复杂推理链路,规模增大后网络容量足够才"解锁"。 | 大模型应用 |
| 幻觉 | 模型生成看似合理但事实错误的内容,原因包括训练数据噪声、知识记忆偏差、过度自信等;缓解方法包括 RAG 引入外部知识、RLHF 对齐、自我一致性验证等。 | 大模型应用 |
| RAG流程 | 离线阶段:知识整理分块→Embedding 向量化→存入向量数据库、知识图谱等; 在线阶段:用户查询向量化→向量数据库召回 Top-K 相关片段→(可选重排序rerank阶段)→拼接为增强 Prompt→LLM 生成回答。 | 大模型应用 |
| Harness与Loop | 期望让Agent做到自迭代,人只作为检察官。 制定迭代总目标,例如测试集效果提升。(每轮迭代中LLM会自己制定本次的迭代目标) 迭代链路思路,硬性要求。(历史人工的迭代记录供参考,迭代红线是什么,不会细到每一步应该怎么做,这些是LLM根据当时环境自己生成,只做框架设置) 停止迭代条件。(全局红线,例如token消耗量,迭代轮次,迭代效果不断下降等等) 验证数据集。(判断每轮迭代的效果) | 大模型应用 |
| PS:历史人工的迭代记录,中记录人在迭代时是如何列迭代计划,如何收集数据,如何定义问题,如何设计解决方案,如何实现并验证 | ||
| 目前存在的常见问题,可以归类到幻觉问题。历史某一轮迭代中幻想出了一个条件信息,后续迭代因为上下文导致认为此轮幻想出的信息是一个真实信息,导致后续所有迭代全部跑偏。 | ||
面试知识题
张小明
前端开发工程师
【通信工程】5G-A/6G通信-感知-计算一体化网络中的装备与软件01
编号 类型 5G-A产品/6G产品及解决方案 生产/制造/运输/配送/建设/实施/规划/加工/设计所需要的机床/装备/工业母机和设备/软件列表 关联知识和法律法规 1 射频前端芯片(Sub-6/毫米波/FR3) 5G-A 射频收发、6G 太赫兹/亚太赫兹前端、PA/LNA/开关/调谐器、RF SoC 设计:…
Linux 进程池实战:匿名管道、轮询调度与隐藏的阻塞陷阱
文章目录前言代码展示代码功能Task.hppProcessPool.hpp整体运行思路运行演示隐藏的问题前言 本次介绍的是使用匿名管道创建进程池的操作,其中会存在一个隐藏的堵塞问题,这个在后面会提及。本人所认为的重要部分会以注释的形式展出,有一些也会…
第二十讲:Linux 文件系统
大家好,接下来的一段时间我将开始学习野火的Linux 系统课程并将学习到的干货逐步更新到我的CSDN博客中。没时间刷课的同学可以把我的博客喂给AI 突击一下。 目录 一、一切皆文件思想 二、VFS 虚拟文件系统 VFS 内部核心结构体 两套操作函数集(函数指…
SIRS模型Matlab实现:从微分方程到参数扫描的完整源码解析
简介:SIRS传染病动力学模型的Matlab源码与数据包,面向生物数学、流行病学建模领域的学习者与科研人员,适用于数学建模竞赛、课程实验和传染病趋势仿真。模型将人群分为易感、感染、康复、免疫四类,通过四个微分方程描述状态转化&a…
WeChatMsg 使用教程:导出微信聊天记录
WeChatMsg 使用教程:导出微信聊天记录 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg WeCha…
Nacos 事件分发机制全解析:NotifyCenter 与本地消息总线设计
Nacos 事件分发机制全解析:NotifyCenter 与本地消息总线设计 【免费下载链接】nacos an easy-to-use dynamic service discovery, configuration and service management platform for building AI cloud native applications. 项目地址: https://gitcode.com/Git…