快 STAR 大模型应用面经
一开始会以为问的很难,然后还是集中在项目,八股也比较常见,虽然问的还挺深,我没答出来很多。
1. 先写题,dp, 两个字符串最长子序列
2.自我介绍
3. 挖项目挖了很久
4.peft 微调介绍一下
5. 常见的位置编码介绍一下
6.transformer 的 decoder 和 llama 有啥区别
7. 他们的位置编码有啥区别? 三角函数位置编码和 ROPE 公式很像啊,他们是怎么实现不同的功能?(一个加 embedding 一个加 KQV,但是公式很像但是推理完全不一样吧,不太会答)
8. ADAM 比 SGD 优化在哪里(不会,没背这块)介绍一下梯度下降
9. 回归任务常用的 LOSS(我还搞成了自回归,然后说现在大模型都是用交叉熵。。。后面反应过来说离散分类任务交叉熵,连续值用 MSE)然后问我二分类用什么,我说 BCE。
10. 用 ADAM 的话,怎么预估 SFT 的显存占用?(这个问题好高频啊,感觉现在很喜欢问这种预估显存占用的问题。。。,我也没怎么回答,不太会)
时间太久了,就随便反问了一下。
1. 先写题,dp, 两个字符串最长子序列
2.自我介绍
3. 挖项目挖了很久
4.peft 微调介绍一下
5. 常见的位置编码介绍一下
6.transformer 的 decoder 和 llama 有啥区别
7. 他们的位置编码有啥区别? 三角函数位置编码和 ROPE 公式很像啊,他们是怎么实现不同的功能?(一个加 embedding 一个加 KQV,但是公式很像但是推理完全不一样吧,不太会答)
8. ADAM 比 SGD 优化在哪里(不会,没背这块)介绍一下梯度下降
9. 回归任务常用的 LOSS(我还搞成了自回归,然后说现在大模型都是用交叉熵。。。后面反应过来说离散分类任务交叉熵,连续值用 MSE)然后问我二分类用什么,我说 BCE。
10. 用 ADAM 的话,怎么预估 SFT 的显存占用?(这个问题好高频啊,感觉现在很喜欢问这种预估显存占用的问题。。。,我也没怎么回答,不太会)
时间太久了,就随便反问了一下。
全部评论
当作面试一样回答一下这些问题:
1. 子序列两层for循环,if s[i] == s[j]:
dp[i][j] = dp[i - 1][j - 1] + 1
else :
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
2. xx
3.xx
4. lora, p tuning v1 v2, adapter tuning, prefix tuning.
5. 绝对,相对位置编码, Rope旋转位置编码
6. 从输入开始,一个是绝对位置编码一个是Rope编码。经过embedding层后,transformer decoder直接输入注意力层,而llama则是先经过norm,一个是Post norm一个是Pre norm,同时norm这里的区别前者为layer norm后者为Root mean square norm,对于注意力层,llama是GQA而transformer decoder是MHA,再经过FFN层,FFN层的激活函数transformer deocder是Relu,而llama没记错的话是SwiGelu,(就想到这些,不知道还有没有不同)
7. 不知怎么答
8. SGD , w = w - lr * gradient, Adam引入了一阶动量与二阶动量(方差)
9. 交叉熵损失
10. 假设dB参数的大模型,模型与梯度半精度fp16保存,一个参数两个字节,则占用2d G + 2d G = 4d G显存,优化器如果用adam,fp32保存模型权重备份,动量与方差,则占用3 * 4 * d G = 12d G显存,对一个dB参数的大模型做full training显存占用估计在16dG。(deepspedd, 模型并行,张量并行之类的可能会继续问了)
欢迎补充点评
还问了 attention 公式,为什么要除以根号 dk,为什么会发生梯度消失或者梯度爆炸?(就是经常被问但是答不好)
大佬真厉害
这个确实强
周五也要面快star了
参加的都是大神云集
Adam结合了动量和RMSProp,可以对参数进行自适应的学习率调整,训练初期收敛更快。SGD需要手动调整学习率,在最小值平坦区域收敛变慢(摘抄自CSDN)
是线上IDE还是本地呢,题目的话是会给图片还是念呢
八股还是要好好准备,一知半解不太行,被挂了。
佬很厉害了,能求个快star进面的bg么
相关推荐