Cameron分享了他猜测的Gemini训练效果这么好的主要原因就是保证预训练中数据源的多样性。同时通过Gemini技术报告提供的案例分析了一下其中比较重要的启发:
(1) 数据来源多样化:我们应尽可能从各种不同来源(比如网络、书籍、代码等)获取预训练数据。不仅仅是文本,我们还需要考虑整合不同形式(如图像、音频、视频)、不同语言和不同领域(比如编程)的数据到预训练过程中。
(2) 注重 Tokenizer 选择:许多开发者习惯直接使用现成的预训练 Tokenizer,认为这样就够了。但实际情况并非如此!Tokenization 的问题可能会导致一系列后续问题,影响模型表现。为了获得最佳效果,我们应该在预训练数据集上定制我们自己的 Tokenizer,确保其适应模型将处理的数据类型。Gemini 正是采用了这种方法。
(3) 数据清洁度至关重要:处理大型语言模型(LLM)预训练的数据管道非常复杂,包括启发式规则、基于模型的方案、安全性/有害内容过滤等。先前的研究(例如 Falcon LLMs)强调使用简单规则来筛选预训练数据,但 Gemini 在其预训练数据管道中采用了更多手段,力求构建尽可能纯净的预训练数据集。
(4) 来自 Chinchilla 的经验教训:2022 年 3 月 Chinchilla 的研究发现至今仍适用。优秀的预训练大型语言模型需要大量的参数和海量的数据。简而言之,许多大型语言模型实际上训练不足!我们应尽可能利用所有可用数据进行预训练,前提是不要因计算成本而使自己陷入困境。
(5) 数据加权重要:除了数据混合外,我们从每个预训练数据源采样数据的频率(即数据权重)也十分关键。为了找到最佳数据权重,我们应该用较小的模型和数据集进行调优实验。有趣的是,Gemini 的研究者们还发现,在训练过程中调整数据权重(例如,在训练的后期增加特定领域数据的权重)也可能有益。
来源:
x.com