最近因为一个契机,我从头开始参与基础大模型的训练开发。亲身经历去实践这个过程令我兴奋,也让我学到很多。有一些心得体会可以分享:
最近因为一个契机,我从头开始参与基础大模型的训练开发。亲身经历去实践这个过程令我兴奋,也让我学到很多。有一些心得体会可以分享:1.人们常说GPT模型学习了整个互联网的数据,听上去只要能够把整个互联网爬下来就可以了,这个说法并不准确。训练的原始数据的确是来自互联网(CommonCrawl和私域的内容),但是实际拿来训练用的只是其中的子集——一个精心挑选的高质量子集。SamAltman和LexFriedman的访谈中说过,他们在数据上的大部分努力是去筛选信息,而不是堆积信息。原始数据需要经过大量的筛选、去重、格式化的处理,这个过程耗时耗力,也往往被忽视,但却是至关重要的。2.随着模型的参数上到百亿甚至千亿,很多新的能力开始涌现,而很多工程上的麻烦也随之而来。为了应对如此庞大的数据和模型体量,系统里几乎每个角落都需要优化,从数据处理、切分、训练时的样本和机器分布、梯度下降的稳定性、存储等等,各个方面都需要对应做提升,避免成为短板。一个成功的大模型背后离不开几十上百个细节的工程优化。3.一个还不成熟、有待考验的心得:现在想要做一个LLM,你并不需要一支庞大的团队。你只需要不到10个有经验、有行动力、能够高效合作的工程师就可以了。Meta、OpenAI、HuggingFace等团队都为这个生态提供了非常实用的轮子,只要使用得当,就可以获得明显的助力。当然,人数上可以精简,GPU计算资源还是得管够。