以下是关于预训练的相关内容:
Atom 系列模型的预训练: Atom 系列模型包含 Atom-7B 和 Atom-13B,基于 Llama2 做了中文能力的持续优化。Atom 大模型在 Llama2 的基础上,采用大规模的中文数据进行持续预训练,数据来源广泛,包括百科、书籍、博客、新闻、公告、小说、金融数据、法律数据、医疗数据、代码数据、专业论文数据、中文自然语言处理竞赛数据集等。同时对庞大的数据进行了过滤、打分、去重,筛选出超过 1T token 的高质量中文数据,持续不断加入训练迭代中。为了提高中文文本处理的效率,针对 Llama2 模型的词表进行了深度优化,扩展词库至 65,000 个单词,提高了中文编码/解码速度约 350%,还扩大了中文字符集的覆盖范围,包括所有 emoji 符号。Atom 大模型默认支持 4K 上下文,利用位置插值 PI 和 Neural Tangent Kernel(NTK)方法,经过微调可以将上下文长度扩增到 32K。
GPT 助手的预训练: 预训练阶段是 GPT 训练中计算工作基本发生的地方,占用了训练计算时间和浮点运算的 99%。在这个阶段,需要收集大量的数据,如 Common Crawl、C4、GitHub、维基百科、图书、ArXiv、StackExchange 等,并按照一定比例采样形成训练集。在实际训练前,需要进行预处理步骤 Tokenization(分词/标记化),将原始文本翻译成整数序列。
OpenAI o1 的预训练: GPT 4 等 LLM 模型训练一般由“预训练”和“后训练”两个阶段组成。“预训练”通过 Next Token Prediction 从海量数据吸收语言、世界知识、逻辑推理、代码等基础能力,模型规模越大、训练数据量越多,则模型能力越强。
Atom系列模型包含Atom-7B和Atom-13B,基于Llama2做了中文能力的持续优化。Atom-7B和Atom-7B-Chat目前已完全开源,支持商用,可在Hugging Face仓库获取模型:https://huggingface.co/FlagAlpha[heading6]大规模的中文数据预训练[content]原子大模型Atom在Llama2的基础上,采用大规模的中文数据进行持续预训练,包含百科、书籍、博客、新闻、公告、小说、金融数据、法律数据、医疗数据、代码数据、专业论文数据、中文自然语言处理竞赛数据集等,详见📝数据来源。同时对庞大的数据进行了过滤、打分、去重,筛选出超过1T token的高质量中文数据,持续不断加入训练迭代中。[heading6]更高效的中文词表[content]为了提高中文文本处理的效率,我们针对Llama2模型的词表进行了深度优化。首先,我们基于数百G的中文文本,在该模型词表的基础上扩展词库至65,000个单词。经过测试,我们的改进使得中文编码/解码速度提高了约350%。此外,我们还扩大了中文字符集的覆盖范围,包括所有emoji符号😊。这使得生成带有表情符号的文章更加高效。[heading6]自适应上下文扩展[content]Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel(NTK)方法,经过微调可以将上下文长度扩增到32K。
所以我们将从预训练阶段开始。现在,这个阶段在图表中比较特殊,而且这个图表不是按比例绘制的,因为这个阶段是所有计算工作基本上都发生的地方。它占用了训练计算时间和浮点运算的99%。所以,这就是我们处理互联网规模数据集的地方,超级计算机中有成千上万的GPU,并且可能需要几个月的训练时间。其他三个阶段则是微调阶段,这些阶段更多的是使用一些GPU进行几个小时或几天的训练。那么,我们来看看如何通过预训练阶段得到一个基础模型。首先,我们要收集大量的数据。这里有一个我们称之为数据混合体的例子,它来自Meta公司发布的一篇论文,论文中发布了LLaMA的基础模型。现在,你可以大致看到这些集合中涉及的数据集种类。我们有Common Crawl,它只是一个网页爬虫,还有C4,也是一个Common Crawl,然后还有一些高质量的数据集,例如:GitHub、维基百科、图书、ArXiv、StackExchange等。这些都混在一起,然后按照一定的比例进行采样,这就形成了GPT神经网络的训练集。在我们实际对这些数据进行训练之前,我们需要进行一个预处理步骤,那就是Tokenization(分词/标记化)。这基本上就是将我们从互联网上抓取的原始文本翻译成整数序列,因为这是GPT操作的原生表示方式。现在,这是一种文本片段、token以及整数之间的无损转化,这个阶段有很多算法。通常,例如,你可以使用类似于字节对编码的东西,它迭代地合并小文本块,并将它们组成token。所以,我在这里展示一些这些token的示例块,然后这就是将实际输入transformer的原始整数序列。现在,我在这里展示了两个类似的例子,这些例子是关于控制这个阶段的超参数的。
GPT 4等LLM模型训练一般由“预训练”和“后训练”两个阶段组成(参考上图)。“预训练”通过Next Token Prediction来从海量数据吸收语言、世界知识、逻辑推理、代码等基础能力,模型规模越大、训练数据量越多,则模型能力越强,我们一般说的Scaling Law指的是这一阶段的模型扩展特性,也是LLM训练最消耗算力资源的地方。“后训练”则分为SFT、RM和PPO三个过程,统称为人工反馈的强化学习(RLHF),这一阶段的主要目的有两个,一个是让LLM能遵循指令来做各种任务,另一个是内容安全,不让LLM输出不礼貌的内容。而训练好的[模型推理](https://zhida.zhihu.com/search?content_id=248563321&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E6%8E%A8%E7%90%86&zhida_source=entity)(Inference)过程则是对于用户的问题直接逐个生成Token来形成答案。