从 LLAMA 到 LLAMA2:开源模型的进化之路

大家好,欢迎来到我的博客!今天,我们要聊一聊有关两个开源语言模型的故事,它们分别是 LLAMA 和 LLAMA2。正如在科技世界里常见的,这两个模型的出现,都代表着一次重要的突破和进化。那么,它们是如何超越自身,再次突破技术瓶颈的呢?让我们一起探索吧。

1. LLaMA:以开放和高效为目标的基础语言模型

首先,我们来看看第一个主角 LLAMA。它仅仅使用公开可用的数据(数量高达数万亿 tokens)就训练出了效果超越 GPT-3 和 Chinchilla-70B PaLM-540B 的模型。最让人惊奇的是,它的体积比 GPT-3 小十倍,但效果更好。这是怎么做到的呢?

LLaMA 的开发者们发现,给定一定的计算量预算,我们可以通过在较小的模型上训练更多的数据来获取最好的效果。这就是 LLAMA 所依据的尺度原则。

为了训练 LLAMA,开发者们使用了多种来源的预训练数据,包括英文 CommonCrawl, Github, Wikipedia 等。每一种数据都经过了严格的清洗和筛选,以确保模型训练的质量。在训练时,每个 token 只训练一次,除了 Wikipedia 和 Books,训练了两次。

LLaMA 的模型结构基于 transformer,在 GPT3、PaLM、GPTNeo 的基础上做出了改良。其中包括使用 RMSNorm 进行 Pre-normalization,使用 SwiGLU 替换 ReLU 作为激活函数,舍弃绝对位置编码,使用旋转位置编码等一系列创新手段。

2. LLaMa 2:基础和微调并进的聊天模型

接下来,我们来了解一下 LLAMA 的升级版本——LLAMA2。虽然 LLAMA1 的效果已经非常优秀,但是与闭源的“产品级”模型相比,如 ChatGPT、BARD、Claude,仍有一定的差距。因此 LLAMA2 的目标就是要尽可能地提升模型的性能,使其更符合人类的偏好。

LLAMA2 的训练数据量增加了40%,达到了2万亿 tokens。同时,上下文长度翻倍,引入了 grouped-query attention 的新技术。这些改变使得 LLAMA2 在长数据的效果明显提升,而在短数据上的性能则没有下降。

LLAMA2 在微调上也做了很多工作。它引用了 LLAMA1 中的 SFT 数据集设置,对模型进行了精细的调整。在收集数据时,采用了课程策略,逐渐将问题复杂化,使得模型能够更好地适应和处理各种问题。

结语

总的来说,LLAMA 和 LLAMA2 的出现,代表了开源模型的重大进步。他们的成功,得益于严谨的数据处理,创新的模型结构,以及精细的模型调整。这些都是我们在探索人工智能的道路上,值得学习和借鉴的经验。

希望这篇博客能给你带来一些启发和灵感。我们下次再见!

发表评论