背景和受众
自从去年年初,大模型由于其惊人的效果,在学术界、工业界、投资界引起了大量的关注,发展到现在已经将近一年半的时间。一年之前,就有一种说法,openai相比于开源社区的技术领先,大概在18个月左右(一年半的时间)。
至此,相比于ChatGPT(GPT-3.5)出圈,大概有一年半的时间,开源社区的引领者 Llama 发布了其3.1版本的模型,在各个榜单上面均超过了GPT-3.5,并且在个别榜单可以和GPT-4相互对比。从使用上来讲,Llama 3.1的使用体验,还是弱于GPT-4,但稳定能超过GPT-3.5。
开源社区这一年半来,在大模型领域做了大量的探索,总结了很多有价值的经验。Llama 3.1的技术报告使用的方法,可以认为是目前开源社区的集大成者。对LLama 3.1技术报告的解读,可以了解现在社区训练大模型最成熟、最先进的技术是什么样的,在实际训练模型的时候具有重要意义。
受众:
- **对大模型感兴趣的人:**本文会对大模型的一些方法论、基本的原则做一些介绍,感兴趣的读者可以了解到一些大模型的底层逻辑;
- 想要进入大模型领域的学习者:本文系统地讲述了LLama3.1使用的预训练 - 后训练流程,这个流程也已经成为训练大模型的标准流程,初学者可以以此来看领域主要的技术栈需求和难点;
- 大模型行业从业者:LLama 3.1技术报告中,基本只讲了技术的方法实现,并为讲太多背后的原因,在讲述的时候,我会把自己的一些思考写进去,关注了技术为什么这么设计的,希望带给从业者一些思考,在实际做方案的时候能够抓住本质,因地制宜设计方案。
LLama 3.1的独到之处
简要来说,LLama 3.1有以下独到之处:
- 效果方面:大幅超越同规模的模型和GPT-3.5,在一些任务上能和GPT-4打平,是目前最强大的开源模型;
- 预训练方法论:采用了三阶段的预训练,初始预训练-长文本预训练-退火,三个阶段保证了相对低成本实现了强大的的支持超长上下文的模型;
- 预训练去重:采用行级别的去重,提升模型的质量。行去重是相对较为新颖的做法,能够大幅提升性能;
- 后训练方法论:使用了拒绝采样、SFT、DPO的训练策略,合理地利用了收集的Prompt、合成数据、标注数据进行训练。在迭代过程中,优化合成数据和拒绝采样,使得模型总是在当前的状态下进行调优,提升了模型能力;
- 用户行为数据的利用:用户在使用大模型的过程中,产生大量高质量的prompt,这些数据量极大,对提升效果的潜力很大。LLama 3.1通过拒绝采样和DPO被合理地利用这些数据,提升了模型的能力;
- 负熵的原则:负熵的引入才能让模型表现越来越好。使用用户产生的Prompt优化和外界的知识筛选合成数据,均属于为模型引入负熵,从哲学上保证了模型向更好优化的方向。
后面将会从前到后讲解LLama 3.1的技术报告,并穿插对上述独到之处的讲解,在讲解的时候,会伴随着一些评论,这些评论会以背景色突出。
Llama 3.1主要特性 和 效果
整体而言,Llama 3.1有如下模型特性:
- 超大参数规模的模型:主模型的大小有405B,此外,也同时开源了8B和70B的模型。