大模型与 Transformer 基础

共 20 题
📑 题目列表 20 题
#
★★★

1. Transformer 的整体结构(Encoder/Decoder、多头自注意力、前馈网络、位置编码)是如何组织的?

Transformer 的整体结构(Encoder/Decoder、多头自注意力、前馈网络、位置编码)是如何组织的?

  • Encoder-Decoder 的整体架构
  • 多头自注意力、前馈网络、残差与归一化
  • 位置编码的作用

Transformer 由 Encoder 和 Decoder 两部分组成。Encoder 由多个相同的层堆叠,每层包含多头自注意力(Multi-Head Self-Attention)与前馈网络(FFN),并都配合残差连接与层归一化(LayerNorm);每层都做"自注意力 → 加残差 → LayerNorm → FFN → 加残差 → LayerNorm"。Decoder 类似,但每层包含掩码自注意力(防止看到未来位置)、交叉注意力(与 Encoder 输出交互)和 FFN。多头自注意力让模型在不同表示子空间同时关注不同位置;FFN 对每个位置做非线性变换,一般是两层全连接加 ReLU。由于注意力本身不含位置信息,需要在输入嵌入上叠加位置编码(Positional Encoding,如正弦函数或可学习位置嵌入)来注入位置顺序信息。整体结构即"位置编码 + 多层 Encoder/Decoder + 注意力与前馈的堆叠"。

Transformer 的核心是把序列建模完全建立在注意力机制上,替代 RNN 的循环结构。多头注意力、残差、LayerNorm、FFN、位置编码五大组件缺一不可,多头提供多种关系、残差稳定深层训练、位置编码补充顺序信息。

#
★★★

2. 自注意力的时间复杂度为什么是 O(n²),长文本输入的主要瓶颈在哪里,有哪些近似/稀疏注意力方案?

自注意力的时间复杂度为什么是 O(n²)?长文本输入的主要瓶颈在哪里?有哪些近似/稀疏注意力方案?

  • 自注意力 O(n²) 的来源
  • 长文本的显存与计算瓶颈
  • 稀疏/近似注意力方案

自注意力中,每个 token 需要与序列中所有 n 个 token 计算注意力分数,Q·K^T 的矩阵乘法产生 n×n 的注意力矩阵,因此时间与空间复杂度都是 O(n²)(n 为序列长度)。长文本输入的主要瓶颈即这 O(n²) 的复杂度:序列越长,注意力矩阵越大,计算量与显存占用急剧增长,导致长文本无法在有限显存内处理。近似/稀疏注意力方案包括:滑动窗口注意力(只关注局部窗口,如 window attention)、全局注意力(部分 token 关注全局)、低秩/线性注意力(把注意力核分解以降低复杂度,如 Linear Attention)、稀疏注意力(如 Longformer、BigBird 的稀疏模式)、以及流式/分块处理。这些方案把 O(n²) 降为 O(n) 或 O(n√n),从而支持更长序列。

O(n²) 来自"每个 token 都与其他所有 token 交互"的注意力矩阵。缓解的思路是"限制交互范围"(稀疏/窗口)或"改变计算方式"(低秩/线性近似),本质是在长上下文支持与表达能力之间做权衡。

#
★★★

3. KV Cache 的作用是什么,解码阶段为什么必须缓存 Key/Value,其显存开销如何估算?

KV Cache 的作用是什么?解码阶段为什么必须缓存 Key/Value?其显存开销如何估算?

  • KV Cache 的作用
  • 解码阶段缓存 Key/Value 的原因
  • 显存开销估算

KV Cache 是推理阶段缓存历史 token 的 Key 和 Value 矩阵的机制。在自回归解码阶段,每次生成一个 token 时,新 token 的 Query 需要与序列中所有历史 token 的 Key 计算注意力,并通过历史 Value 加权。若每次都重新计算所有历史 token 的 Key/Value,代价是 O(n²) 的冗余计算;而缓存后只需计算当前新 token 的 Key/Value,并与缓存的历史 K/V 拼接做注意力,复杂度降为 O(n)。因此解码必须缓存 K/V 以避免重复计算。显存开销估算:每个 token 每个注意力头需要 2×d_head 个数值(一 Key 一 Value),全模型总 KV 缓存 = 层数 × 头数 × 序列长度 × 头维度 × 2 × 字节数(如 FP16 为 2 字节)。例如 L 层、h 头、d_head 维度、n 长度、batch 为 b 时,KV 缓存显存 ≈ b × L × h × d_head × n × 2 × 2 字节。它随序列长度与 batch 线性增长,是长上下文与高并发推理的主要显存瓶颈。

KV Cache 的本质是"用显存换计算"——把已经算过的历史表示存起来,避免重复计算。显存随序列长度和 batch 线性增长,因此长上下文、大 batch 推理时显存开销巨大,是推理优化(如 PagedAttention)的重点。

#
★★★

4. 为什么大模型生成是访存受限(memory-bound)而非算力受限,与训练阶段的计算特点有何不同?

为什么大模型生成是访存受限(memory-bound)而非算力受限?与训练阶段的计算特点有何不同?

  • 访存受限 vs 算力受限
  • 生成阶段的计算/访存比
  • 与训练阶段的对比

生成阶段是严格的逐 token 自回归,每个 token 只做一次前向,且模型参数(权重)需要从显存读入计算单元。对于每个 token,读取权重(访存量)与计算量的比值很高——计算量约为 2×参数量 FLOPs,而参数量动辄数百亿,需全部从显存读一遍,导致计算单元大部分时间在等待数据搬运,瓶颈在访存带宽而非算力,因此是访存受限(memory-bound)。这与训练阶段不同:训练是批量并行前向+反向,一个 batch 内大量 token 共享权重,计算量远大于访存量,计算/访存比高,是计算受限(compute-bound)。因此训练受 GPU 算力限制,生成受显存带宽限制;这也解释了为什么推理优化(量化、权重剪枝、KV Cache 复用)能显著提升生成吞吐——它们都在减少访存量。

关键指标是"计算量与访存量的比值"(arithmetic intensity)。生成时每个 token 读全部权重、计算极少,算力闲置;训练时 batch 共享权重、计算密集。理解这一点决定了优化方向:训练堆算力,推理降访存。

#
★★★

5. INT8/INT4 量化在推理部署中的收益与精度影响是什么,量化感知训练与训练后量化的区别?

INT8/INT4 量化在推理部署中的收益与精度影响是什么?量化感知训练与训练后量化有何区别?

  • 量化的收益
  • 精度影响
  • QAT 与 PTQ 的区别

量化把权重(和激活)从 FP16/FP32 压缩到低精度整数(INT8/INT4),收益包括:模型体积缩小(INT8 减半、INT4 减 4 倍)、显存占用降低、访存量减少使推理速度提升,且低精度整数运算在硬件上吞吐更高。但精度会下降:INT8 通常精度损失很小,INT4 损失更明显,尤其对小模型或敏感任务,可能影响生成质量。量化感知训练(QAT)在训练过程中模拟量化误差(前向用量化权重反向用浮点),让模型适应量化,精度损失较小,但需要重新训练;训练后量化(PTQ)在训练完成后直接对权重做量化,无需重新训练、实施简单,但精度损失通常更大,常用于大模型可用校准数据做激活量化。选型上:追求快速部署用 PTQ,追求精度用 QAT。

量化的本质是"用有限精度整数近似浮点权重",收益来自体积/显存/速度,代价是精度。QAT 让模型"提前适应"量化,PTQ 事后量化更省事。精度-效果的权衡决定选型。

#
★★★

6. RAG 的基本流程(文档切分、向量化、相似度检索、上下文拼接)为什么能缓解幻觉与知识过时问题?

RAG 的基本流程(文档切分、向量化、相似度检索、上下文拼接)是什么?为什么它能缓解幻觉与知识过时问题?

  • RAG 的完整流程
  • 缓解幻觉的机制
  • 缓解知识过时的机制

RAG(检索增强生成)的基本流程:先将外部知识文档切分为小段(chunk),用嵌入模型把每段向量化为向量并存入向量数据库;生成时,把用户问题向量化,用相似度检索(如余弦相似度/向量检索)找出最相关的若干文档段;再把检索到的片段拼接到提示词上下文中,交给大模型生成回答。它缓解幻觉的原因:模型生成时有了"可引用的外部事实"作为依据,减少凭空编造,回答锚定在检索到的真实内容上;缓解知识过时的原因:模型参数中的知识是固定的,而 RAG 从外部实时更新的知识库中检索,无需重训即可接入最新信息。因此 RAG 把"知识来源"从静态参数迁移到可更新的外部库,兼顾准确性、时效性与可扩展性。

RAG 的核心是"把知识外置到可检索的库中"。幻觉来自模型自由发挥,检索提供了事实约束;知识过时来自参数冻结,检索实现了动态更新。工程要点在切分粒度、检索质量与上下文拼接的平衡。

#
★★

7. 预训练与微调的区别是什么,为什么"海量预训练加任务微调"范式优于直接在下游数据上训练?

预训练与微调的区别是什么?为什么"海量预训练加任务微调"范式优于直接在下游数据上训练?

  • 预训练与微调的定义
  • 预训练所学通用知识
  • 直接在下游数据训练的缺陷

预训练是在大规模通用语料(如海量网页文本)上学习通用语言知识,包括语法、语义、世界知识,目标通常是自监督(如预测下一个 token、掩码词);微调是在预训练模型基础上,用下游任务的标注数据继续训练,把通用能力适配到具体任务(分类、问答、摘要等)。"海量预训练加任务微调"范式优于直接在下游数据上训练的原因:下游数据通常量小,直接训练难以学到充分的语言与知识,且易过拟合;而预训练模型已通过海量数据学会了通用的语言表示与世界知识,微调只需少量数据就能适配,显著提升泛化、降低过拟合并节省训练成本。同时预训练提供了强大的初始化,让下游学习更快、更稳定。

预训练是"通用能力",微调是"任务适配"。直接在小数据上训练相当于"从零学语言",数据量与能力都不足;预训练注入通用知识后再微调,用小成本获得强任务性能,是迁移学习在 LLM 上的体现。

#
★★

8. 绝对位置编码与旋转位置编码(RoPE)的差异,长度外推(extrapolation)问题是什么?

绝对位置编码与旋转位置编码(RoPE)的差异是什么?长度外推(extrapolation)问题是什么?

  • 绝对位置编码与 RoPE 的原理
  • 相对位置信息
  • 长度外推问题

绝对位置编码把位置信息直接加到 token 嵌入上(如正弦函数或可学习位置嵌入),每个位置有独立向量,但只编码"绝对位置",不直接表达相对距离。RoPE(旋转位置编码)通过把 Query 和 Key 向量按位置进行旋转操作(乘以旋转矩阵),使注意力分数天然蕴含相对位置信息——两个 token 的注意力仅取决于它们相对位置差,且对长距离有衰减特性。长度外推问题指:模型在训练时只见过最大长度 L 的序列,当推理时输入超过 L(如更长的上下文),模型能力退化或位置编码失效。绝对位置编码对未见过的长度外推能力差;RoPE 通过旋转的相对位置表示,具有更好的外推能力,但仍需训练时覆盖足够长的长度。缓解外推常用 ALiBi、位置插值(PI)、NTK-aware 缩放等方法。

绝对 vs 相对位置信息的区别是核心。RoPE 用旋转实现相对位置,外推更优;长度外推是"训练长度与推理长度不匹配"问题,是长上下文应用的关键挑战。

#
★★

9. 多头注意力为什么比单头更好,不同头是否倾向于关注不同类型的依赖关系?

多头注意力为什么比单头更好?不同头是否倾向于关注不同类型的依赖关系?

  • 多头注意力的机制
  • 不同子空间表示
  • 头的分工与可解释性

多头注意力把注意力拆分为多个并行的头,每个头在独立的子空间(Q、K、V 分别投影到低维子空间)中计算注意力,然后拼接并线性映射。相比单头,多头允许模型同时从多个不同的表示子空间关注信息,覆盖更多样的关系模式,从而增强表达能力。研究表明,不同头倾向于关注不同类型的依赖关系:有的头关注语法结构(如主语-动词)、有的关注邻近词、有的关注远距离语义关联、有的头编码指代关系;在翻译等任务中,不同头甚至对应不同的语言关系。这种分工使模型能并行捕捉"多个角度的关系",是单头难以达到的。因此多头注意力是 Transformer 表达力的关键。

多头 = "多个并行的子空间注意力",每个头是"一个视角的关系"。多头让模型同时捕捉多种依赖,且研究常观察到头的分工现象,增强了模型对不同关系模式的覆盖能力。

#
★★

10. 连续批处理(continuous batching)与 PagedAttention 解决推理吞吐的什么问题?

连续批处理(continuous batching)与 PagedAttention 分别解决推理吞吐的什么问题?

  • 连续批处理解决的问题
  • 静态批处理的缺陷
  • PagedAttention 的显存管理

传统静态批处理要求同一批请求同步开始、结束,一个较慢的长请求会阻塞整批,且批内请求完成后无法立即加入新请求,导致吞吐低下。连续批处理(continuous batching)在请求层面动态调度:每个请求完成即释放资源,新请求立即加入,GPU 算力始终被充分占用,显著提升吞吐。PagedAttention 解决 KV Cache 的显存碎片与管理问题:KV Cache 按固定大小的块(block)分配,类似操作系统的分页,把逻辑上连续的 KV 分散存储到非连续物理块,避免"预留整段显存造成的碎片",支持共享与按需分配,从而大幅提高显存利用率、支持更大 batch 与更长上下文,提升吞吐。二者都是推理系统在不同层面的优化:连续批处理优化调度,PagedAttention 优化显存管理。

推理吞吐瓶颈通常来自"批处理调度"与"KV Cache 显存"。连续批处理消除静态批的等待浪费,PagedAttention 消除显存碎片、提升 KV 利用率,两者结合是高吞吐推理服务(如 vLLM 等)的核心。

#
★★

11. 张量并行与流水线并行在分布式训练/推理中的分工,通信量与负载均衡如何权衡?

张量并行与流水线并行在分布式训练/推理中的分工是什么?通信量与负载均衡如何权衡?

  • 张量并行与流水线并行的原理
  • 两种并行在不同维度的划分
  • 通信量与负载均衡权衡

张量并行(Tensor Parallelism)把单个层的权重矩阵按维度切分到多个 GPU 上,各 GPU 并行计算同一层的部分,通过 AllReduce 等通信同步结果,适合单层矩阵巨大的模型(如大模型每层权重都很大),把模型按"层内"切分。流水线并行(Pipeline Parallelism)把模型按层切分成多个 stage,每个 GPU 承担连续的若干层,层间数据按流水线方式传递,是"层间"切分,通信量小(只需传激活/梯度),但存在流水线气泡(某些 GPU 空闲等待)影响利用率。权衡上:张量并行通信频繁(每层都 AllReduce),通信量大,但能处理超大单层;流水线并行通信量小但负载难均衡(切分不均导致气泡)。实践中常结合数据并行、张量并行、流水线并行(3D 并行)并用,针对不同模型规模与硬件拓扑选择比例,以通信开销与计算利用率的最优平衡为目标。

张量并行是"层内切分"(通信密集),流水线并行是"层间切分"(通信少但有空泡)。它俩解决不同维度的规模问题,需结合硬件拓扑与模型规模权衡通信与负载均衡,这正是分布式训练的核心工程。

#
★★

12. 幻觉的主要成因是什么,训练数据质量、解码策略与检索增强分别在什么层面缓解?

大模型幻觉的主要成因是什么?训练数据质量、解码策略与检索增强分别在什么层面缓解幻觉?

  • 幻觉的成因
  • 不同层面的缓解手段
  • 各手段的作用机制

幻觉指模型生成看似合理但事实错误或编造的内容。主要成因包括:训练数据本身含错误或矛盾信息、模型知识存在过时与缺失、解码时模型为"流畅"而自由发挥、以及模型缺乏对事实的校验能力(本质是概率式生成,倾向生成高概率但未必真实的内容)。训练数据质量层面:清洗、去重、过滤错误与矛盾数据,甚至用事实标注数据校正,从源头减少模型学到错误信息。解码策略层面:降低温度、用更保守的采样、限制重复、可结合"检索式解码"(对照外部事实),减少随机发挥。检索增强(RAG)层面:在生成前检索外部权威知识作为上下文,让模型依据检索到的事实生成,从"事实来源"上约束。三者分别从"知识源头、生成过程、事实依据"三个层面抑制幻觉,实践中常组合使用。

幻觉是多因素叠加的结果,缓解也要分层面。数据质量管"学到了什么",解码策略管"怎么生成",检索增强管"依据什么生成"。RAG 是当前最有效、最易落地的缓解手段之一。

#
★★

13. 贪心解码、beam search 与温度采样对生成质量与多样性的影响,什么场景该用哪种?

贪心解码、beam search 与温度采样对生成质量与多样性的影响是什么?什么场景该用哪种?

  • 三种解码策略的原理
  • 质量与多样性的权衡
  • 场景选择

贪心解码每步选概率最高的 token,确定性高、生成快,但容易产生重复、陷入局部最优,缺乏多样性。beam search 每步保留 top-k 个候选序列,探索多条路径,最终选整体概率最高的序列,在翻译、摘要等"追求全局最优、有明确正确答案"的任务上质量高,但多样性低、易重复。温度采样在 Softmax 中引入温度参数 T 调整概率分布:T 低使分布更尖锐(更确定)、T 高使分布更平坦(更随机),从而控制多样性。场景选择:翻译、摘要、代码补全等需要准确、确定性高的任务用 beam search 或贪心;开放性创作、对话、故事生成等需要多样与新颖的任务用温度采样(T 较高);需要平衡时可用 top-k/top-p 采样结合温度。总体原则是"任务越需要确定性,用 beam/贪心;越需要多样性,用采样"。

解码策略本质是"在求准确与求多样之间做权衡"。贪心/beam 偏确定性、易重复,适合闭式任务;温度采样随机性、多样性好,适合开放式生成。选择依据是任务对"唯一正确答案" vs "新颖多样"的要求。

#
★★

14. Tokenizer 与 BPE,为什么需要子词分词,BPE 的合并规则与词表大小对压缩率、参数量与生成长度的影响如何?

Tokenizer 与 BPE 中,为什么需要子词分词?BPE 的合并规则是什么?词表大小对压缩率、参数量与生成长度有何影响?

  • 子词分词的必要性
  • BPE 合并算法
  • 词表大小的影响

子词分词(如 BPE、WordPiece、Unigram)把词拆成子词单元,介于"整词"与"字符"之间。它的必要性:纯整词分词词表过大且无法处理未登录词(OOV),纯字符分词序列过长、语义碎片化;子词既能控制词表大小、又能覆盖未登录词(拆成已知子词),平衡了压缩率与泛化。BPE 的合并规则:先统计语料中相邻 token 对的出现频率,每次合并频率最高的相邻对,形成新的子词,迭代直到达到目标词表大小。词表大小的影响:词表越大,压缩率越高(每个词用更少 token 表示)、生成长度可能越短(每 token 含更多信息),但嵌入层参数量增大(词表×嵌入维度)、训练成本增加;词表过小则压缩率低、序列变长、训练与推理效率下降。工程上需在压缩率与参数量/效率间权衡。

BPE 是"数据驱动的子词合并",以频率为准则动态构建词表。词表大小是压缩率(token 数)与嵌入参数量(词表×d)的权衡点,直接影响模型参数量、训练/推理成本与生成长度。

#
★★

15. 上下文窗口与长文本工程,训练窗口与推理窗口的关系,超窗文本如何用滑动窗口/摘要/外挂检索处理,长度外推的局限如何?

上下文窗口与长文本工程中,训练窗口与推理窗口的关系是什么?超窗文本如何用滑动窗口/摘要/外挂检索处理?长度外推有什么局限?

  • 训练窗口与推理窗口的关系
  • 超长文本处理策略
  • 长度外推的局限

训练窗口指模型训练时见过的最大序列长度,推理窗口指推理时能处理的最大长度。通常推理窗口受训练窗口限制:若训练窗口为 L,推理长度超过 L 会导致位置外推、性能下降。处理超窗文本的常用策略:滑动窗口(把长文本切成有重叠的窗口分段处理,但会丢失跨窗口信息)、摘要(先压缩或分段摘要再合并,牺牲细节)、外挂检索(RAG,只检索相关片段送入上下文,避免整段超长)。长度外推的局限:位置编码(尤其绝对位置编码)在超训练长度时表现下降,RoPE 等相对编码外推更好但仍有限;单纯增大窗口需要更多训练数据与显存(KV Cache 线性增长),且长上下文注意力 O(n²) 计算代价高。因此长文本处理需结合切分、检索与位置编码改进,而非单纯拉长窗口。

训练窗口是上限,推理窗口应尽量不超它。超长文本的核心矛盾是"信息量 vs 上下文长度",滑动窗口/摘要/检索都是"压缩或选择性取用"的策略。长度外推受位置编码与注意力复杂度双重限制,是长文本工程的关键约束。

#
★★

16. 嵌入(Embedding)模型与语义检索,文本向量化如何工作,与 Token 表示的区别,在 RAG 检索质量中的工程要点如何?

嵌入(Embedding)模型与语义检索中,文本向量化如何工作?与 Token 表示有何区别?在 RAG 检索质量中的工程要点是什么?

  • 文本向量化与语义检索
  • 嵌入 vs Token 表示的区别
  • RAG 检索质量的工程要点

文本向量化通过嵌入模型把整段文本(句子、段落)映射为一个稠密向量,使语义相近的文本在向量空间中距离更近,从而用余弦相似度/向量检索实现语义检索(而非关键词匹配)。嵌入与 Token 表示的区别:Token 表示是模型内部每个 token 的向量(维度=隐藏维度,随模型而定,用于建模),而文本嵌入是"整段文本"的聚合向量(通常经过池化/专门训练,用于检索/相似度计算),一个 token 一个向量 vs 一段文本一个向量,用途不同。RAG 检索质量的工程要点:嵌入模型的选择与文本领域匹配(领域相关模型检索更准)、切分粒度(chunk 大小与重叠影响召回与精度)、索引与检索策略(如向量检索+BM25 混合、重排序 rerank)、以及检索相关性的阈值与过滤。检索质量直接决定 RAG 生成质量,是 RAG 系统工程的核心。

嵌入是"语义的向量化表示",Token 表示是"建模内部的表示"。区分二者是理解 RAG 的关键。检索质量取决于嵌入模型、切分、检索与重排,是端到端 RAG 质量的决定因素。

#

17. 模型规模定律(Scaling Laws)与"涌现能力"的基本概念是什么,它们对训练预算的指导意义?

模型规模定律(Scaling Laws)与"涌现能力"的基本概念是什么?它们对训练预算有怎样的指导意义?

  • Scaling Laws 的概念
  • 涌现能力的概念
  • 对训练预算的指导

Scaling Laws(规模定律)指模型性能与模型规模、数据量、计算量之间存在可预测的幂律关系:在给定计算预算下,性能随模型参数、训练数据、算力三者按一定比例增长,可用公式(如 loss ∝ 参数^α、数据^β、算力^γ)拟合预测。它意味着增加参数、数据或算力都能按已知规律提升性能,且三者需平衡(固定预算下有最优配比)。涌现能力指当模型规模超过某个阈值时,某些能力(如少量样本推理、数学解题)会突然显著出现,而非平滑增长,即"规模越大,出现质变"。对训练预算的指导意义:Scaling Laws 帮助在"参数-数据-算力"间做最优分配(如按比例缩放),预先估算达到目标性能所需的资源;涌现能力则提示某些能力需要跨过规模阈值,预算规划要考虑阈值效应,避免投入不足导致关键能力未出现。

Scaling Laws 是"可预测的规模-性能关系",涌现能力是"非线性的能力跃迁"。前者指导资源分配与预算预估,后者提示规模阈值的重要性。两者共同支撑"更大规模、更多数据"的投入逻辑,但也需注意回报递减与数据瓶颈。

#

18. LoRA 等参数高效微调(PEFT)为什么只训练低秩增量矩阵,与全量微调的效果差异如何?

LoRA 等参数高效微调(PEFT)为什么只训练低秩增量矩阵?与全量微调的效果差异如何?

  • LoRA 的原理
  • 低秩假设
  • 与全量微调的差异

LoRA(Low-Rank Adaptation)的核心思想是:微调时冻结原模型权重,只训练两个小的低秩矩阵 A、B,其乘积 BA 作为权重的"增量"加到原权重上,即 W' = W + BA,其中 A 维度为 r×d、B 为 d×r(r 远小于 d),乘积 BA 与原权重同形,增量矩阵 BA 的秩不超过 r。之所以用低秩增量,是因为研究表明预训练模型在大规模预训练后,微调时所需的知识变化通常是低秩的——即权重变化集中在一个低维子空间,用低秩矩阵即可近似,大大减少可训练参数(如 0.1%~1%)。与全量微调相比:LoRA 训练参数少、显存占用低、速度快,且由于只改低秩增量,不易过拟合,甚至在某些任务上泛化更好;但全量微调可改变全部参数,拟合能力更强,在数据充足或任务差异大时可能更优。LoRA 效果通常接近全量微调,且支持多任务并行(多个 LoRA 可切换)。其他 PEFT 如 Adapter、Prefix-Tuning 也是类似思路。

LoRA 依赖"权重增量低秩"的经验假设,把大矩阵更新压缩为低秩乘积。这是"参数高效"与"性能接近全量"之间的工程权衡,也是微调千亿级大模型的现实选择。

#

19. 大模型服务的关键指标(TTFT、TPOT、吞吐、并发)如何定义,它们与批大小和显存的关系是什么?

大模型服务的关键指标(TTFT、TPOT、吞吐、并发)如何定义?它们与批大小和显存的关系是什么?

  • TTFT、TPOT、吞吐、并发的定义
  • 与批大小的关系
  • 与显存的关系

TTFT(Time to First Token)指从请求发出到返回第一个 token 的延迟,受预填充阶段(处理 prompt)影响,体现"首字响应速度"。TPOT(Time Per Output Token)指生成每个 token 的平均时间,直接反映生成速度。吞吐(Throughput)指单位时间内处理的总 token 数或完成的请求数,衡量系统整体处理能力。并发(Concurrency)指同时处理的请求数量。它们与批大小和显存的关系:批大小越大,GPU 计算利用率越高,吞吐越高,但每个请求的 TTFT/TPOT 可能因排队与资源竞争而变差(延迟-吞吐权衡);同时 KV Cache 随批大小与序列长度线性增长,显存占用上升,批大小受显存上限约束,显存不足会限制并发与批大小。因此需要在"延迟、吞吐、并发、显存"之间权衡:显存受限时连续批处理与 KV 管理(如 PagedAttention)能提升有效并发与吞吐。

TTFT 与 TPOT 是"单请求延迟"指标,吞吐是"系统能力"指标,并发是"负载"指标。批大小提升吞吐但牺牲延迟并增加显存,显存又约束批大小,形成"延迟-吞吐-显存"三角权衡,是推理服务调优的核心。

#

20. 多模态输入处理,图像/音频如何被离散化为 patch/帧序列与文本对齐,模态对齐对推理显存与延迟的影响如何?

多模态输入处理中,图像/音频如何被离散化为 patch/帧序列与文本对齐?模态对齐对推理显存与延迟有何影响?

  • 图像/音频的离散化
  • 与文本的对齐
  • 模态对齐对显存延迟的影响

多模态输入处理先把非文本模态离散化为序列:图像被切成固定大小的 patch(如 16×16),每个 patch 经线性投影(patch embedding)映射为向量,加上位置编码后形成 patch 序列;音频被切分为帧(frame),经编码器(如频谱/卷积/音频编码器)映射为向量序列。这些 patch/帧序列与文本 token 序列共享统一的表示空间,通过拼接(concat)或交叉注意力与文本对齐,送入 Transformer 统一建模。模态对齐的影响:图像/音频往往产生远多于文本的 token(如一张图数百个 patch),使输入序列显著变长,注意力 O(n²) 计算与 KV Cache 显存随之增大,推理延迟上升、吞吐下降。因此多模态推理常需压缩视觉 token(如 token 融合、Q-Former 等)、限制分辨率或流式处理,以在"模态信息量"与"显存/延迟"间权衡。

核心是把非文本模态"token 化"进统一序列。模态 token 数量巨大是显存与延迟压力的主要来源,因此 token 压缩与对齐策略是多模态推理优化(如降低视觉 token 数)的关键方向。