跳至内容

MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
-
-
-
-
-
总结好像很套话,但真的努力写干货了,欢迎评论交流启发补充
“不要被表象所迷惑,要洞察事物的本质。” — 亚里士多德
几年前我写过 新手炼丹经验总结 ,当时背景是卡多,任务小,每天要保证一定的实验吞吐量。
这两年虽然大家手上的卡更多了,但是实验从原来几张卡几小时就能跑个效果,变成现在几百张卡几天看一次
之前的方法论我总结的是:站在巨人肩膀上,注意可复现性、高效实验、防呆实验
在此基础上补充讨论一些:a. 找关键指标 b. 找真瓶颈 c. 大实验和小实验的关系 d. 团队协作
我入行七年多了,现在日常训 10B-100B 大小的语言模型,也有一些小的扩散模型、多模态模型,更大的模型只是参与一些讨论
评测的重要性
论文说自己的方法性能好,一般就是定量部分,要突出关键指标的提升;定性部分,着重强调新的现象和观察
在实验过程中,关键指标往往不是那些你很轻易就接近 SoTA 的指标,而是那些能很明显地区分出 SoTA 和其它方法的指标
如果指标找不好,很可能就整天造超越 GPT4 的新闻,但是永远在追赶 OpenAI
好的指标要能客观反映水平,还要更准确地指示模型迭代的方向
而且更值得警惕的是,当着眼于提高某个指标的时候,可能会让它失效,失去了真正的指示能力
定性实验,呈现结果不是噱头和骗人,可以参考我之前写的 《深度学习工作:从追求 SoTA 到揭示新现象》。
最近传闻训练 GPT5 大小的模型遇到困难,而长链思维 o1 / R1 大火,这都是新的现象和观察,通过实验破除先入为主的迷信,细心观察模型不一样的性质并且利用它,是导致本质提升的基础
另一方面来说,既然一个实验要跑好多天,为了提高成功率当然要多投时间在评测上
这里还有很多自动化工具能加成的工作,我们内部发一个模型,会把几十个榜都自动测了,作者也许看也许不看,我真有很多发现是偶然看别人实验的评测结果后得到的
做性价比高的实验
因为实验代价提高了几个数量级,做有意义的实验显得更重要
如果一天只能做一个实验,切忌起一些性价比不高的实验,同时疏于观察,这都是麻醉自己的方式
比如大部分的超参数,如果只是轻微调整一点,很难导致实验性质的根本改变
也有很多做大模型有监督微调的工作,沉迷于研究数据简单配比
过微扰超参数、模型结构,人肉梯度下降,不是大模型的实验方法
胡乱调,性能当然也会有抖动,但我们不是靠盯着抖动来做科研的
可以通过文献阅读,同行讨论,排除那些实验性价比不高的调参;经验、理论足以让我们对大部分超参数选一个不出错的值了,我们要通过实验证实或证伪一些更强假设,而非去网格搜索最优参数
平衡大小实验
因为客观条件限制,很多时候我们只能做小实验,但是只有真的碰大实验,才能知道什么问题是值得做的
我建议:在大实验上找问题,用小实验筛掉错误想法,找有希望的上大实验验证
可能很多小模型的问题换大的模型自然就不存在,也许就没有做小模型的必要;有的任务就是少参数调整学不会,全参数调整就直接能解决,那么这些问题研究的意义就比较小
在做实验的时候,也要清楚我们是在做一个大实验还是小实验?不要既要也要,实验快必定失掉性能上限,大实验必定反馈不够快
团队协作
现在的大模型实验已经复杂到,几个人都很难打通全流程。因此开展工作时,需要搞清楚自己的比较优势,找自己在团队中的定位,也要了解团队在整个社区中的站位
比如说我没空做细致研究,但是我有卡,可能我就是通过读论文找 idea,然后进行超越学术界规模的实验进行验证
如果我卡不够多,我可以先做一些 idea 的简单验证,然后主动找卡多的人合作
在一个团队里,甚至可以尝试说服别人把卡让给自己实验,让别人去做更适合做的事情,或者主动把自己不擅长的事情分给别人
为了更好地团队协作,还可以努力找一些一起观察、记录实验的方式,提高交流频率等等
(文:机器学习算法与自然语言处理)