当前位置:   article > 正文

大模型面试必考问题(二)_ple 模型面试可能问题

ple 模型面试可能问题

目录

1,大模型幻觉产生的原因

2,上述幻觉该如何解决

3,手撕self-attention代码(pytorch版)

4,AdaLora详解

5,QLora详解


6,大语言模型的多样性是如何实现的

7,bleu和rouge的对比

8,pagedAttention详解

9,pre-norm和post-norm的差异

10,大模型并行加速和减小显存的常用方法


1,大模型幻觉产生的原因

满意回答:

从技术上来讲,幻觉的根本原因是传统的解码算法会在每个采样步骤引入均匀随机性。但业界一般将幻觉从效果上又分为三类:特定知识幻觉,逻辑关系幻觉,干扰幻觉

  • 特定知识幻觉,一般由于某领域自定义的词汇含义与模型训练的原始数据不一致导致。

  • 逻辑关系幻觉,往往出现在多轮对话中,由于“不严谨”连续问答导致最终产生幻觉。一般由于模型受窗口的影响,对长距语义捕捉能力有限,同时,模型在很多充分必要条件的逻辑推理上存在缺陷。
  • 干扰幻觉,由于不明确的prompt和不恰当微调导致的幻觉。如:法律条款本身是比较固定的知识,但可能由于提示了“注意使用最新法律知识”,而没有明确具体内容,导致模型选择生成了数据中其他错误条款。

2,上述幻觉该如何解决

满意回答:

解决幻觉本质还是提升模型对特定问题回答的准确率,因此绕不开提示工程和微调。针对不同类型的幻觉问题,我们可以选择特定的方法。

  • 特定知识幻觉可以在prompt工程中使用领域知识的RAG(检索增强)方法。
  • 逻辑关系幻觉可以通过简化多轮对话长度,同时在产生幻觉的逻辑关系上进行微调。
  • 排除干扰幻觉要求我们对提示工程中使用的模版内容更加严格,同时对微调数据质量,以及可能与原始模型认知间的冲突做更详细的检测。

3,手撕self-attention代码(pytorch版)

满意回答:

import math
import torch
import torch.nn.functional as F
def attention(Q, K, V):
    # 这是最基础的公式实现版本,关于head,mask,dropout等可以以此为基础添加
    d_k = Q.size(-1)
    scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(d_k)
    attn = F.softmax(scores, dim=-1)
    return torch.matmul(attn, V), attn

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4,AdaLora详解

满意回答:

  • Adalora即自适应lora,主要使原生lora中的秩能在不同transformer block层按照重要性动态分配,并且保证这些秩在微调过程中随着block重要性变化而变化。
  • Adalora效果一般要比lora更好,因为lora使用BA两个矩阵来拟合满秩张量,而Adalora使用PAQ三个矩阵,并在loss中限制P和Q正交,这样的拟合方式符合SVD原理。

  • 并且在微调训练的每一步,都会根据block中参数对loss的影响计算其重要性,取topN为秩进行下一步的正向计算,然后继续在接下来的反向传播中重新计算重要性,以此实现动态分配。

关键术语:

  • 自适应lora,重要性动态分配,loss中限制P和Q正交,SVD原理

5,QLora详解

满意回答:

  • Qlora即量化lora方法,主要目的是在不损失性能的情况下,减下lora微调过程中显存的占用,实际效果可以使6B模型微调仅需要3G显存。
  • 为了减小显存的占用,我们会将模型进行量化,对于可训练的参数,使用NF4(正态4位浮点型),这是一种新的数据存储类型,可以有效减少量化产生的精度损失。同时,对于常数进行DQ(双量化)操作,使模型静态时占用的显存大幅减小。

  • 当每层进行参数更新时,量化为NF4的参数会被反量化,参与梯度计算,保证模型性能。而此时显存占用会出现峰值,qlora对于优化器状态所占显存按照分页方式offload到CPU RAM中,称为paged optimizers,来防止显存溢出。

关键术语:

  • 量化lora,NF4(正态4位浮点型),DQ(双量化),paged optimizers

6,大语言模型的多样性是如何实现的

满意回答:

  • 在推理阶段:主要通过解码参数T(温度),以及topK,topP来实现;T主要作用在概率生成的softmax函数上,影响概率值;而topK和topP是beam search的采样参数,topK是个数阈值,topP是概率阈值;以上参数都可能对结果多样性产生影响。

  • 在训练阶段:具体的解码算法及其参数会影响多样性,比如beam search算法中beam大小的选择。

关键术语:

  • 解码参数T(温度),topK,topP,beam search

7,bleu和rouge的对比

满意回答:

  • bleu和rough都是文本生成质量的评估指标bleu更偏向精度(一般精度越高,文本的流畅性越好),rough更偏向召回(一般召回越高,文本的语义更准确)。
  • bleu是文本n-gram出现的精度计算公式,分子为n-gram对比出现次数,分母为生成内容n-gram次数,同时,为了防止word次数和生成长度带来的干扰,加入了次数权重和长度惩罚项。

  • 而rouge使用召回公式,分子为n-gram的对比出现次数(公共子序列),分母为目标内容n-gram次数;还可以使用公共字串作为分子还构造更严苛的标准,称为rouge-L,同时为了更精细的区分生成质量,还可以对不同部分进行加权评估,称为rouge-W。

关键术语:

  • 流畅性,语义准确性,次数权重,长度惩罚项,公共子串/子序列

8,pagedAttention详解

  • 由于自回归过程中缓存K和V张量非常大,且显存占用时,每个输入sequence序列都会保留自己KVcache,随着sequence增多,这将产生大量的显存过度预留。
  • pagedAttention灵感来自虚拟内存中的分页思想,首先,相同的sequence只占用一份物理显存,通过引用计数的方式实现安全显存共享。
  • 其次,该方法还将所有的sequence序列进行分块,分块后又会出现大量重复的块,这些块继续采用安全显存共享的方法,进一步增强显存使用率。(在vllm工具中该方法有具体实现)

关键术语:

  • 缓存K和V张量,分页思想,安全显存共享

9,pre-norm和post-norm的差异

满意回答:

pre-norm在大模型应用中有三点优势:

  • 1,残差连接设计优势:post-norm是所有的参数都需要过norm,虽然有助于更快的收敛,但大模型网络层较多,容易发生梯度消失问题。而pre-norm将有一部分参数直接通过残差连接,选择性进行规范化,使得模型能够自动调节,保证训练稳定性。

  • 2,避免数据漂移问题,大模型使用的海量数据可能会导致每个批次的输入张量存在很大差异,带来梯度波动,通过pre-norm结构中norm前置来进行有效抑制。
  • 3,norm计算速度优势,pre-norm减去了计算均值的部分,因此也称为RMSnorm,来加快整体计算速度。

关键术语:

  • 残差连接设计优势,避免数据漂移问题,norm计算速度优势

10,大模型并行加速和减小显存的常用方法

满意回答:

常用的并行加速方法:

  • 1,数据并行
  • 2,流水线并行(模型并行)
  • 3,Tensor并行
  • 4,Sequence并行

常用的减小显存方法:

  • 1,flashAttention
  • 2,CPUoffload
  • 3,pagedAttention(KVcache计算优化)
  • 4,GQA/MQA(KVcache共享优化)
  • 5,低比特量化
  • 6,多阶段训练

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/681493
推荐阅读
相关标签
  

闽ICP备14008679号