尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

大模型...

发布时间:2026/9/29 21:29:05

资讯中心
01
ARTICLE

大模型...

大模型...
一、Transformer 基础Q1Self-Attention 的计算公式和复杂度答Attention(Q,K,V)softmax(QKTdk)VAttention(Q,K,V)softmax(dk​​QKT​)VQ,K,V∈Rn×dQ,K,V∈Rn×dnn 为序列长度dd 为维度QKTQKT 复杂度 O(n2d)O(n2d)softmax 后乘 VV 也是 O(n2d)O(n2d)空间复杂度 O(n2)O(n2)注意力矩阵这是长序列的瓶颈为什么除以 dkdk​​点积结果方差随 dkdk​ 增大而增大softmax 会进入饱和区梯度趋近于 0。除以 dkdk​​ 把方差拉回 1 附近保证梯度稳定。Q2Multi-Head Attention 为什么比单头好答把 dd 维拆成 hh 个子空间每个头独立做 attention不同头可以关注不同模式语法、指代、位置等类似 CNN 多通道总计算量与单头 dd 维基本相同每个头维度 d/hd/h最后 concat 再线性变换融合Q3RoPE 的原理为什么外推性好答RoPE 通过旋转矩阵把绝对位置编码成相对位置信息。对 dd 维向量两两分组每组按位置 mm 旋转角度 mθimθi​θi10000−2i/dθi​10000−2i/d核心性质两个位置 m,nm,n 的向量内积只依赖 m−nm−n天然表达相对位置。外推性高频维度转得快、低频维度转得慢长距离主要靠低频维度但直接外推仍会退化。常见改进位置插值PI把超长位置压缩回训练范围NTK-aware调整 base让不同频率缩放不同YaRN综合频率缩放 注意力温度调整Q4Pre-Norm 和 Post-Norm 的区别答Post-Norm原始Pre-Norm主流结构xSublayer(LN(x))xSublayer(LN(x))LN(xSublayer(x))LN(xSublayer(x))训练需 warmup深层难训稳定易训深层表达略强略弱但可加 final LN 弥补现在大模型基本都用 Pre-Norm RMSNorm。Q5LayerNorm vs RMSNorm答LayerNorm减均值、除标准差再仿射变换RMSNorm不减均值只除均方根RMSNorm(x)x1d∑xi2ϵ⋅γRMSNorm(x)d1​∑xi2​ϵ​x​⋅γ优点少一次均值计算和减均值操作速度更快效果相当被 LLaMA 等广泛采用。二、训练与并行Q6ZeRO 的三个阶段分别优化什么答ZeRO-1切分优化器状态Adam 的 m,vm,v占显存大头ZeRO-2再切分梯度ZeRO-3再切分模型参数显存节省近似1 → 1/2 → 1/4 → 1/8以 N 卡为例代价是通信量增加。Q7张量并行和流水线并行的区别答张量并行TP把单层矩阵切分到多卡层内并行。通信频繁适合节点内 NVLink。流水线并行PP把不同层放到不同卡层间并行。通信少但有气泡bubble用 micro-batch 填充。实际训练常三者结合TP PP DP如 Megatron-LM。Q8FlashAttention 为什么快答传统 attention 要把 n×nn×n 矩阵写回 HBMIO 是瓶颈FlashAttention 用tiling分块把 Q/K/V 块读进 SRAM在片上完成 softmax 和加权用online softmax技巧避免两次遍历结果显存从 O(n2)O(n2) 降到 O(n)O(n)速度提升 2-4 倍且数值等价非近似Q9Scaling Law 的结论答Kaplan 2020loss 与参数量、数据量、计算量呈幂律Chinchilla 2022在固定计算预算下参数量和训练 token 应等比例增长约20 tokens/参数最优后续 LLaMA 等发现推理成本也重要实际训练 token 远超 Chinchilla 最优如 100 tokens/参数三、微调与对齐Q10LoRA 的原理为什么有效答冻结原权重 WW旁路加低秩分解W′WΔWWBAW′WΔWWBAA∈Rr×dA∈Rr×dB∈Rd×rB∈Rd×rr≪dr≪d初始化AA 高斯BB 为零保证训练开始 ΔW0ΔW0推理可合并W′WBAW′WBA无额外延迟为什么有效微调时权重更新具有低秩特性intrinsic dimension 低用低秩近似足够表达任务适配。关键超参rank8-64、alpha通常 2×rank、target modulesq,k,v,o,gate,up,downQ11RLHF 的完整流程答SFT用人工标注数据微调得到 πSFTπSFT​Reward Model对同一 prompt 的多个回答人工排序训练 RM 输出标量奖励LRM−log⁡σ(r(x,yw)−r(x,yl))LRM​−logσ(r(x,yw​)−r(x,yl​))PPO以 RM 为奖励用强化学习优化策略加 KL 惩罚防止偏离 SFT 太远max⁡πE[r(x,y)]−β⋅DKL(π∥πSFT)πmax​E[r(x,y)]−β⋅DKL​(π∥πSFT​)Q12DPO 相比 PPO 的优势公式答DPO 直接优化策略不需要显式训练 RM也不需要 RL 采样。从 KL 约束的 RL 目标可解析求出最优策略代入后得到LDPO−log⁡σ(βlog⁡πθ(yw∣x)πref(yw∣x)−βlog⁡πθ(yl∣x)πref(yl∣x))LDPO​−logσ(βlogπref​(yw​∣x)πθ​(yw​∣x)​−βlogπref​(yl​∣x)πθ​(yl​∣x)​)优势训练稳定像分类任务一样简单省去 RM 和 rollout成本低劣势在线数据质量依赖强缺乏探索可能不如 PPO 上限高四、推理与部署Q13KV Cache 的显存怎么算答显存2×b×s×nlayer×nkv_head×dhead×bytes显存2×b×s×nlayer​×nkv_head​×dhead​×bytes其中 2 是 K 和 Vbb 是 batchss 是序列长度。例LLaMA-7Bfp16nlayer32nlayer​32nkv_head32nkv_head​32dhead128dhead​128b1,s4096b1,s40962×1×4096×32×32×128×2B2GB2×1×4096×32×32×128×2B2GB优化MQA所有头共享 1 组 KV、GQA分组共享如 8 组可降 4-8 倍。Q14MQA 和 GQA 的区别答MHA每个 Q 头对应独立 K/V 头MQA所有 Q 头共享 1 组 K/VKV Cache 降为 1/h但效果略降GQA折中Q 头分组每组共享 K/V。LLaMA-2/3 采用效果接近 MHA显存大幅降低Q15PagedAttentionvLLM解决什么问题答传统 KV Cache 需预分配连续显存长度不定导致碎片和浪费PagedAttention 借鉴 OS 虚拟内存把 KV Cache 分成固定大小的block用 block table 映射好处几乎零碎片、显存利用率高、支持前缀共享prefix caching效果吞吐提升数倍Q16常见量化方法对比答GPTQ逐层量化用二阶信息Hessian最小化重构误差训练后量化INT4 常用AWQ发现激活值中少数通道更重要按激活幅度缩放权重保护重要通道SmoothQuant把激活的量化难度迁移到权重实现 W8A8bitsandbytesNF4 量化 双重量化QLoRA 常用五、手撕代码高频Q17手写 Multi-Head Attentionpythonimport torch import torch.nn as nn import math class MultiHeadAttention(nn.Module): def __init__(self, d_model, n_heads): super().__init__() assert d_model % n_heads 0 self.d_model d_model self.n_heads n_heads self.d_k d_model // n_heads self.W_q nn.Linear(d_model, d_model) self.W_k nn.Linear(d_model, d_model) self.W_v nn.Linear(d_model, d_model) self.W_o nn.Linear(d_model, d_model) def forward(self, x, maskNone): B, T, _ x.shape # (B, T, d_model) - (B, n_heads, T, d_k) q self.W_q(x).view(B, T, self.n_heads, self.d_k).transpose(1, 2) k self.W_k(x).view(B, T, self.n_heads, self.d_k).transpose(1, 2) v self.W_v(x).view(B, T, self.n_heads, self.d_k).transpose(1, 2) scores q k.transpose(-2, -1) / math.sqrt(self.d_k) # (B,h,T,T) if mask is not None: scores scores.masked_fill(mask 0, float(-inf)) attn torch.softmax(scores, dim-1) out attn v # (B,h,T,d_k) out out.transpose(1, 2).contiguous().view(B, T, self.d_model) return self.W_o(out)Q18手写 RMSNormpythonclass RMSNorm(nn.Module): def __init__(self, dim, eps1e-6): super().__init__() self.eps eps self.weight nn.Parameter(torch.ones(dim)) def forward(self, x): rms torch.sqrt(x.pow(2).mean(-1, keepdimTrue) self.eps) return x / rms * self.weightQ19手写 RoPEpythondef precompute_freqs_cis(dim, max_len, base10000.0): # 每两个维度一组共 dim/2 个频率 freqs 1.0 / (base ** (torch.arange(0, dim, 2).float() / dim)) t torch.arange(max_len) freqs torch.outer(t, freqs) # (max_len, dim/2) return torch.polar(torch.ones_like(freqs), freqs) # 复数形式 e^{iθ} def apply_rope(x, freqs_cis): # x: (B, T, H, D) x_ torch.view_as_complex(x.float().reshape(*x.shape[:-1], -1, 2)) freqs freqs_cis[:x.shape[1]].view(1, x.shape[1], 1, -1) out torch.view_as_real(x_ * freqs).flatten(-2) return out.type_as(x)Q20手写 Top-pnucleus采样pythondef top_p_sampling(logits, p0.9): # logits: (V,) sorted_logits, sorted_idx torch.sort(logits, descendingTrue) probs torch.softmax(sorted_logits, dim-1) cumprobs torch.cumsum(probs, dim-1) # 去掉累计概率超过 p 的部分保留第一个超过 p 的 mask cumprobs - probs p sorted_logits[mask] float(-inf) probs torch.softmax(sorted_logits, dim-1) idx torch.multinomial(probs, 1) return sorted_idx[idx]六、开放性问题Q21大模型幻觉的成因和缓解成因训练目标只是预测下一 token不保证事实性长尾知识不足模型编造合理答案RLHF 偏向自信回答而非承认不知道缓解RAG 检索增强提供事实依据训练时加入我不知道样本解码时用事实性约束 / 自我一致性校验后处理引用溯源、工具调用验证Q22如何扩展上下文长度答位置编码外推PI、NTK-aware、YaRN继续预训练在长文本上做少量训练适配注意力优化FlashAttention、稀疏注意力、滑窗 全局 token长上下文数据构造长文档 QA、代码仓库级任务评估Needle-in-a-Haystack、LongBench、RULERQ23MoE 的负载均衡问题答门控可能总选少数专家导致部分专家饿死、部分过载辅助损失鼓励各专家被均匀选择Lauxα⋅N∑ifi⋅PiLaux​α⋅Ni∑​fi​⋅Pi​其中 fifi​ 是专家 ii 被选频率PiPi​ 是平均门控概率容量因子限制每个专家处理 token 上限超出则丢弃或残差直连专家并行专家分布到不同卡需 all-to-all 通信
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。