跳转至

原文链接:

https://www.xiaohongshu.com/explore/69d4c3dd0000000022001a9c?xsec_token=AB6aPOJR3aj5rH4RteTG72hBsrmMKJ_hSwDTay1FFOdo4=&xsec_source=pc_user

大模型后训练学习路线与面试复盘(2月-3月)

一、2月份:项目 + 八股,打基础

早早决定了转大模型,想做后训练,从2月9号开始发帖记录自己的学习历程,这一个月主要是项目+八股,我主要是通过小破站+知乎+论文的方式来进行学习。

1. 先学Transformer、Embedding、Positional Encoding,到Encoder-Decoder的每一个子层,再到LayerNorm、残差连接的作用和实现细节

  • 每一个模块都单独拆出来学习
  • 搞懂了为什么要这么设计,而不是只知道有这么个东西
  • 然后再进行适当的扩展,比如说MHA、GQA等手册

2. 学习MDP、策略梯度、KL散度、信息熵、广义优势估计、时序差分、蒙特卡罗等一系列强化学习基础

  • 这里非常推荐小破站的“东川路第一可爱猫猫虫”大佬的讲解视频
  • 从强化学习基础到PPO的每一部分知识以及完整实现都有囊括
  • 非常适合打基础

3. 学习PPO、DPO、GRPO等基础算法的概念、原理、公式、代码实现、伪代码手册

  • 这三种算法的优缺点以及使用场景
  • 这里可以看rethinkfun以及知乎的高质量解读文章
  • 搞懂算法的核心思想是什么,解决了什么问题,是怎么一步步演化来的
  • 去掉某一个部分行不行等等

4. 强化学习框架verl、llamafactory的源码实现以及具体的训练流程、分布式训练方法等等

  • 搞懂各部分输入输出,方法调用以及具体的一些方法实现
  • 比如说数据是如何加载构建预处理
  • 模型是怎么做适配、量化、兼容
  • 训练的时候各个算法trainer的实现
  • 以及训练的时候一些评估指标
  • 这里比较推荐知乎姜富春老师的解读以及实操笔记

5. 项目

  • 我个人是自己想了两个项目,没有参考其他开源项目
  • 如果参考开源项目的话,建议还是自己做一些改进
  • 不然面试被问到实际落地问题时,很容易答不上来

二、3月份:投简历 + 刷题 + 面试复盘

1. 投简历与初期面试

  • 3月初开始投简历 + 同步练习leetcode及算法手撕
  • 大部分大厂算法岗一面都能过bar约面
  • 但是自己面试水平初期比较菜,损失了比较多的机会
  • 这里建议大家可以先面一些中小厂,熟悉一下自己对于项目以及八股还有哪些不熟悉的地方

2. 手撕代码的重点

  • 手撕的话尽量还是要多练习一下
  • 尤其是常考的一些leetcode高频题以及MHA、GQA、GRPO、KL散度等算法的手撕
  • 不硬磕hard题,重点抓leetcode中等以及简单题
  • 每天固定刷一些,重点在复习
  • 但是出hot 100之外的题目也是有可能的,这个就看个人水平
  • 我也遇到过实在不会的题目,面试官如果想要你的话会一步步提示引导的

3. 面试过程中的锻炼与复盘

  • 面试过程中其实就是很好锻炼自己的机会
  • 很多面试官喜欢问一些非常结合业务、工程类的问题,来考察实际的排查思路以及解决方案
  • 这一部分建议大家仔细梳理一下,回答的时候要有逻辑性一些
  • 比如说偏好数据的构建,RM怎么打分等等

4. 每日复盘方法

  • 建议是白天面试,面试完之后晚上复盘今天的面试
  • 比如说有哪些八股知识没答上来,或者有哪些实际的工程问题以及算法问题不是很懂
  • 进行专项的一些查阅以及分类记录
  • 我个人是喜欢用notion记录下平常的一些点,但是经常忘记整理,不太便于复习

5. 心态调整与策略

  • 面试的时候答不上来其实是很正常的,就是一个问题也答不上来或者一道题也撕不上来,这个时候心态很重要
  • 我是抱着学习的心态过来面试,有这么多不会的说明我还有很多能进步的地方
  • 这段时间给予我的正反馈一直很强,每天进步一点点
  • 不到10天的时间,我的面试状态和答题水平和初期投递完全不一样
  • 对项目的理解、八股的深度、手撕的稳定性好了很多
  • 这个时候再投大厂就有了很多二面三面以及offer

6. 关于面评与勇敢尝试

  • 还是鼓励大家多尝试,做错了大不了就道歉
  • 我个人不太care面评
  • 因为自己有一次初期面得很差的大厂,过两个星期面另外一个部门也一样拿到了offer
  • 就算是同一个部门,过几个月再面也是ok的
  • 勇敢的迈出第一步最重要
  • 祝大家都能找到合适的实习