当前位置: 首页 > article >正文

新型大语言模型的预训练与后训练范式,谷歌的Gemma 2语言模型

前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内的完整流程。后训练通常涵盖监督指导微调和对齐过程,而这些在ChatGPT的推广下变得广为人知。

自ChatGPT首次发布以来,训练方法学也在不断进化。在这几期的文章中,我将回顾近1年中在预训练和后训练方法学上的最新进展。

关于LLM开发与训练流程的概览,特别关注本文中讨论的新型预训练与后训练方法

每个月都有数百篇关于LLM的新论文提出各种新技术和新方法。然而,要真正了解哪些方法在实践中效果更好,一个非常有效的方式就是看看最近最先进模型的预训练和后训练流程。幸运的是,在近1年中,已经有四个重要的新型LLM发布,并且都附带了相对详细的技术报告。

在本文中,我将重点介绍以下模型中的谷歌的 Gemma 2语言模型 预训练和后训练流程:

• 阿里巴巴的 Qwen 2

• 苹果的 智能基础语言模型

• 谷歌的 Gemma 2

• Meta AI 的 Llama 3.1

我会完整的介绍列表中的全部模型,但介绍顺序是基于它们各自的技术论文在arXiv.org上的发表日期,这也巧合地与它们的字母顺序一致。

谷歌的Gemma 2

谷歌的Gemma模型最近在《Gemma 2:改进实用大小的开放语言模型》中有所描述。

我将在接下来的概述部分提供一些关键事实的概述,然后讨论预训练和后训练过程。

3.1 Gemma 2概述

Gemma 2模型有三种规模:20亿、90亿和270亿参数。主要关注的是探索不一定需要增加训练数据集大小的技术,而是开发相对小且高效的LLM。

值得注意的是,Gemma 2具有相当大的词汇量,为256k词汇。相比之下,Llama 2使用了32k词汇量,Llama 3使用了128k词汇量。

此外,Gemma 2采用了类似Mistral早期模型的滑动窗口注意力,可能是为了减少内存成本。有关Gemma 2架构的更多细节,请参阅我之前文章中的Gemma 2部分。

3.2 Gemma 2预训练

Gemma的研究人员认为,即使是小型模型也常常训练不足。然而,他们没有简单地增加训练数据集的大小,而是专注于维护质量,并通过其他方法(如知识蒸馏,类似于苹果的方法)实现改进。

尽管270亿参数的Gemma 2模型是从头开始训练的,较小的模型则使用了类似苹果之前解释的方法的知识蒸馏进行训练。

270亿参数的模型在13万亿标记上训练,90亿参数的模型在8万亿标记上训练,20亿参数的模型在2万亿标记上训练。此外,类似于苹果的方法,Gemma团队优化了数据混合以提升性能。

                                                                Gemma 2预训练技术总结。

3.3 Gemma 2后训练

Gemma模型的后训练过程包括典型的监督微调(SFT)和带人类反馈的强化学习(RLHF)步骤。

指令数据涉及使用仅英语的提示对,这些是人工生成和合成生成内容的混合。具体来说,也很有趣的是,响应主要由教师模型生成,并且在SFT阶段也应用了知识蒸馏。

他们的RLHF方法中一个有趣的方面,继SFT之后,是用于RLHF的奖励模型比政策(目标)模型大十倍。

Gemma使用的RLHF算法相当标准,但有一个独特的转折:他们通过一种称为WARP的方法平均了政策模型,这是WARM(加权平均奖励模型)的后继者。我之前在我的文章《模型融合、专家混合及朝向更小LLM》中详细讨论过这种方法。

                                                                Gemma 2后训练技术总结。

3.4 结论

Gemma团队似乎真的加倍依赖知识蒸馏,他们在预训练和后训练中都使用了这种方法,与苹果类似。有趣的是,他们没有使用多阶段预训练方法,或者至少他们在论文中没有详细说明。


http://www.kler.cn/a/417425.html

相关文章:

  • 三星OEM版SSD固态硬盘Model码对应关系
  • 前端控制器模式
  • IDEA使用Auto-dev+DeepSeek 10分钟快速集成,让java开发起飞
  • React 第二十二节 useSyncExternalStore Hook 常见问题及用法详解
  • 在 Vue Router 中,params和query的区别?
  • 数据结构初探:链表之双向链表篇
  • Wireshark常用功能使用说明
  • 【NLP 1、人工智能与NLP简介】
  • Python 简单的网页服务器
  • LINQ (C#) 中的限定符运算:全部All、任意Any、包含Contains
  • Ajax、Fetch、Axios、XMLHttpRequest 的关系与区别
  • Python应用实战--制作网络稳定性监控自动化脚本
  • 电商项目--分布式文件存储FastDFS搭建
  • 游戏引擎学习第28天
  • 基于JSP+MySQL的网上招聘系统的设计与实现
  • Hive 数据模型 与 Hive SerDe(序列化与反序列化)
  • web安全攻防入门教程
  • 计算机毕业设计PySpark+Scrapy农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop
  • 复杂网络(四)
  • 爱尔兰杀菌剂数据分析_1
  • Figma入门-组件变体
  • 速盾:高防cdn的搜索引擎回源是什么?
  • 5G基础学习笔记
  • vscode的项目给gitlab上传
  • [免费]SpringBoot+Vue景区订票(购票)系统【论文+源码+SQL脚本】
  • Jenkins构建gitlab自动发布IIS