记录一次惨痛的面试经历(CVTE的LLM实习面试)

记录面试问题(以下问题不分先后顺序)

  1. 大模型的位置编码
  2. 大模型的参数,如temperature
  3. Linux下怎么跑代码
  4. transformer架构
  5. QKV的计算,为什么要除以dk
  6. eval()作用
  7. llama架构
  8. padding的加入会影响计算,那怎么处理

解答:

1.由于我简历写的是tele模型,位置编码:使用 Rotary Embedding 的位置编码方法,该方法将相对位置信息依赖集成到 self-attention 中,并且具有较好的位置外推性。Rotary Embedding还可以较好地与Flash-Attention v2 配合使用,将模型的训练速度提升约20%。

2.temperature:控制生成文本的随机性

  • 低温度(接近0):输出更确定和保守,选择概率最高的词,生成的文本较为确定但可能缺乏创意。
  • 高温度(如1以上):增加随机性,选择概率较低的词,生成的文本更具创意但也可能不连贯或不合理。

Top-k:在每一步生成时,只从概率最高的 k 个词中进行选择。

  • 作用:减少低概率词被选择的机会,生成的文本更合理。

Top-p:选择累积概率达到 p 的词集合,然后从中采样。

  • 作用:自适应地选择词的集合,不局限于固定数量,生成文本更自然。

Max Tokens:控制文本的最大长度

Repetition Penalty:对重复的词施加惩罚。

  • 作用:减少生成文本中的重复内容,提高多样性。

3.随便搜

4.随便搜

5.避免数值过大,以防梯度消失或爆炸,使其更加稳定

6.model.eval():将模型切换到评估模式,禁用Dropout和固定Batch Normalization参数。通常结合使用torch.no_grad():禁用梯度计算,减少内存消耗,提高推理速度。

7.only-decoder
用不到十分之一的参数实现了GPT系列模型的性能
改进:
输入数据使用了均方层归一化函数RMSNorm
激活函数用swiGLU替代ReLU
在网络每层增加了旋转嵌入RoPE

8.在计算注意力分数时,使用attention_mask,填充部分的注意力权重设置为极小值,使得softmax输出接近于零,来忽略这部分影响。
在计算损失时,可以使用 ignore_index 参数来忽略填充标记的损失。
在RNN模型上,可以使用 pack_padded_sequence 和 pad_packed_sequence 函数。

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值