预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势

  最近在给新徒弟讲授预训练模型的过程中,发现了初学者的几个误区,分别是:

  1. 在整个学习过程中,重理论轻代码,忽略了将论文和代码进行对齐,而由于代码中往往包括了一些论文中不曾讲到的细节,所以也未曾达到全面细致的理解。
  2. 在学习代码过程中,重阅读轻调试,在遇到代码中无法理解的点时束手无策,而导致遗留了很多无法理解的难点。
  3. 在阅读代码过程中,重模型轻数据,过于注重深度学习模型,却忽略了数据的建模和加工,以BERT模型为例,忽略了预训练数据的创建过程。

  对于以上问题,针对性的解决方案分别是:

  1. 代码要与论文对齐(code align to paper),具体来说就是先找到两者一致的内容,然后将论文中不存在或者不一致的点也逐一列举出来,并思考它的作用。
align to
code
paper
  1. 一静不如一动,也就是说阅读代码的时候,遇到难点时通过动态调试的方法进行学习,可使用Pycharm、vscode等工具进行调试学习,如果不方便使用,也可以使用最朴素的print语句进行调试学习。为了方便理解,举个齿轮转动的例子,如果想要真正理解该过程,就需要让其转动起来,而不是只是静静的观测齿轮。

在这里插入图片描述

  1. 对于每个代码文件都认真学习,并且在学习过程中尽量先看单个文件,看完之后再阅读其他文件。

.
  基于上述原因,特意对预训练模型中的经典模型代码进行详尽的介绍,具体来说是首先对整个代码框架进行高屋建瓴的解释,然后再逐个代码文件进行全局到局部的讲解,如果在讲解过程中遇到难点,通过举例+图示的方法来帮助理解,希望能够帮助初学者掌握学习经典模型的高效方法论。

  咱们首个讲解的代码是BERT,代码链接为https://github.com/google-research/bert,论文链接为https://arxiv.org/abs/1810.04805,希望大家能够先预习再学习,效果更佳。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herosunly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值