AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【LLM-开源模型】Gemma:基于Gemini研究和技术的开放模型
发布日期:2024-04-20 11:54:29 浏览次数: 1778


一、结论写在前面

谷歌DeepMind发布了Gemma,这是一系列灵感来自用于Gemini相同研究和技术的开放模型。开放模型适用于各种用例,这是谷歌非常明智的举措。有2B(在2T tokens上训练)和7B(在6T tokens上训练)模型,包括基础和指令调整版本。在8192个token的上下文长度上进行训练。允许商业使用。这些并非多模态模型,根据报告的实验结果优于Llama 2 7B和Mistral 7B。

Gemma模型提高了对话、推理、数学和代码生成等广泛领域的性能。MMLU(64.3%)和MBPP(44.4%)的结果既展示了Gemma的高性能,也显示了开放可用大模型性能仍有提升空间。

Gemma吸收了Gemini模型计划的许多经验,包括代码、数据、架构、指令调优、来自人类反馈的强化学习以及评估。

二、论文的简单介绍

论文呈现Gemma,一个基于谷歌的Gemini模型(Gemini Team,2023)的开放模型系列。在最多6T个文本token上训练了Gemma模型,使用与Gemini模型系列类似的架构、数据和训练配方。与Gemini一样,这些模型在文本领域展现出强大的通用性能,同时在大规模理解和推理能力上达到了最先进的水平。通过这项工作,发布了预训练和微调的检查点,以及用于推理和服务的开源代码库。

2.1 模型架构

Gemma模型架构基于transformer的解码器。架构的核心参数总结如下表1。模型在8192个token的上下文长度上进行训练。我们还利用了原始transformer论文之后提出的几种改进。下面我们列出了包含的改进:

多查询注意力(Multi-Query Attention):7B模型使用多头注意力,而2B检查点则使用多查询注意力(num_kv_heads=1),基于消融研究结果显示,各自的注意力变体在各自规模上提高了性能。

RoPE嵌入(RoPE Embeddings):没有使用绝对位置嵌入,而是在每一层使用旋转位置嵌入;为了减小模型尺寸,还在输入和输出之间共享嵌入。

GeGLU激活(GeGLU Activations):标准ReLU非线性被GeGLU激活函数所取代。

标准化器位置(Normalizer Location):对每个transformer子层的输入和输出都进行了标准化,偏离了仅对其中一个进行标准化的标准做法。使用RMSNorm作为normalization层。

2.2 训练基础设施

使用TPUv5e训练Gemma模型;TPUv5e部署在256个芯片的pod中,配置成16x16个芯片的2D环形网络。

对于7B模型,跨16个pod训练模型,总计4096个TPUv5e。跨2个pod预训练2B模型,总计512个TPUv5e。在一个pod内,对7B模型使用16路模型分片和16路数据复制。

对于2B模型,只使用256路数据复制。优化器状态进一步使用类似于ZeRO-3的技术进行分片。超出一个pod,利用Pathways方法在数据中心网络上进行数据复制缩减。

与Gemini一样,利用Jax和Pathways的"单一控制器"编程范例来简化开发过程,让单个Python进程来协调整个训练过程;还利用GSPMD分区器来进行训练步计算和MegaScale XLA编译器。


2.3 预训练

2.3.1 训练数据

Gemma2B和7B分别在2T和6T主要英语网页文档、数学和代码数据上进行训练。与Gemini不同,这些模型既不是多模态的,也不是为多语种任务的最佳性能而训练的。为了兼容,使用了Gemini SentencePiece分词器的一个子集。它拆分数字,不删除额外的空白,并依靠字节级编码来处理未知的token,遵循(Chowdhery等,2022)和(Gemini Team,2023)所使用的技术。词汇表大小为256k个token。

过滤:过滤预训练数据集,以降低不需要或不安全言论的风险,并过滤掉某些个人信息和其他敏感数据。这包括使用启发式方法和基于模型的分类器来移除有害或低质量的内容。此外,从预训练数据混合中过滤所有评估集,运行针对性的污染分析来检查评估集泄漏,并通过最小化敏感输出的扩散来降低背诵的风险。最终的数据混合是通过对2B和7B模型进行一系列消融实验确定的。与(Gemini Team,2023)中主张的方法类似,分阶段进行训练,以在整个训练过程中改变语料库混合,增加相关高质量数据的权重,直到训练结束。

2.3.2 指令微调

使用监督微调(SFT)和强化学习从人类反馈(RLHF)对Gemma2B和7B进行微调,SFT使用一组纯文本、仅英语的人工合成和人工生成的提示-响应对,RLHF则基于一组高质量提示,奖励模型由标注的仅英语偏好数据训练而得。发现这两个阶段对改善自动评估的下游性能和对模型输出的人工偏好评估都很重要。

监督微调:基于LM的并列评估(LM-based side-by-side evaluations)选择了监督微调的数据组合。给定一组保留的提示,从测试模型生成响应,在相同的提示上从基线模型生成响应,随机打乱这些响应,并要求一个更大、高能力的模型在两个响应之间表达偏好。不同的提示集被构建用于突出特定的能力,如指令跟随、事实性、创造性和安全性。使用的不同自动LM评审员采用了多种技术,如思维链式提示和使用rubrics and constitutions,以与人类偏好保持一致。

过滤:在使用合成数据时,对其进行了多个阶段的过滤,删除了显示某些个人信息、不安全或有害的模型输出、错误的自我识别数据或重复的示例。与Gemini一样,发现包括部分数据可以鼓励更好的上下文属性、对冲和拒绝行为,从而减少虚构内容,这可以改善几个事实指标的性能,而不会降低其他指标的模型性能。最终的数据混合和监督微调配比(包括调整的超参数)是基于提高有用性同时最小化与安全和虚构相关的模型危害而选择的。

格式化:指令调整模型使用了一种特殊的格式化器,在训练和推理时间都会为所有指令调整示例注释额外的信息。它有两个目的:1)指示对话中的角色,如用户角色,2)划分对话中的回合,尤其是在多回合对话中。分词器中保留了一些特殊控制token用于此目的。虽然不使用格式化器也可以获得连贯的生成,但这对模型来说将是不在分布范围内的,很可能会产生更糟糕的生成结果。相关的格式化控制token如表3所示,表4展示了一个对话示例。

来自人类反馈的强化学习:进一步使用来自人工评分员的RLHF优化结果对监督微调模型进行了微调,并根据Bradley-Terry模型训练了一个奖励函数,类似于Gemini的做法。policy使用REINFORCE的一种变体优化该奖励函数,并对最初调整的模型施加Kullback-Leibler正则化项。与SFT阶段类似,为了调整超参数并进一步缓解奖励破解,依赖高能力模型作为自动评分员,并计算与基线模型的对比比较。

2.4 评估

使用自动化基准和人工评估,在广泛的领域对Gemma进行了评估。

2.4.1 人工偏好评估

除了在微调模型上运行标准的学术基准外,还将最终的发布候选送入人工评估研究,与Mistral v0.2 7B Instruct模型进行比较。在约1000个提示组成的保留集上,这些提示旨在要求模型跨领域完成创意写作任务、编程和指令跟随,Gemma 7B IT在Mistral v0.2 7B Instruct上的正面胜率为51.7%,而Gemma 2B IT的胜率为41.6%。在约400个提示组成、旨在测试基本安全协议的保留集上,Gemma 7B IT的胜率为58%,而Gemma 2B IT的胜率为56.5%。在表5中报告了相应的数字。

2.4.2 自动化基准

测量了Gemma模型在包括物理推理、社会推理、问答、编程、数学(Cobbe等,2021)、常识推理、语言建模、阅读理解等领域的性能。

对于大多数自动基准,使用与Gemini相同的评估方法。具体地,对于那些报告与Mistral性能相比的基准,尽可能复制Mistral技术报告中的方法。这些特定基准包括:ARC、 CommonsenseQA、Big Bench Hard和AGI Eval(仅英语)。由于许可限制,无法对LLaMA-2进行任何评估,只引用了先前报告的指标(Touvron等,2023b)。

将Gemma 2B和7B模型与几个外部开源大型语言模型进行了比较,涉及一系列学术基准,结果如表6所示。在MMLU上,Gemma 7B的性能优于同等或更小规模的所有开源替代方案;它甚至优于几个更大的模型,包括LLaMA2 13B。然而,基准作者将人类专家表现评估为89.8%;由于Gemini Ultra是第一个超过这个阈值的模型,因此要达到Gemini和人类水平的性能仍有很大改进空间。

Gemma模型在数学和编程基准上表现尤为出色。在数学任务上,这些任务常用于测试模型的一般分析能力,Gemma模型在GSM8K和更困难的MATH基准上的得分至少高出其他模型10分。同样,它们在HumanEval上的得分至少高出其他开源模型6分。它们甚至超过了微调过的CodeLLaMA-7B模型在MBPP上的表现(CodeLLaMA的得分为41.4%,而Gemma 7B达到了44.4%)。

2.4.3 记忆评估

最近的研究表明,对齐模型可能容易受到新的对抗性攻击,这些攻击可以绕过对齐(Nasr等,2023)。这些攻击可能会导致模型发散,有时还会在过程中重复背诵记忆的训练数据。关注可发现的记忆化,它作为模型记忆化的合理上限,也是几项研究中常用的定义。

使用与Anil等(2023)中相同的方法,测试了Gemma预训练模型的记忆化。从每个语料库中抽取10,000个文档,并使用前50个token作为模型的提示。主要关注精确记忆化,如果模型生成的后续50个token与文本中的实际连续字符串完全匹配,就将文本分类为记忆化。然而,为了更好地捕捉潜在的转述记忆化,包含了近似记忆化,使用10%的编辑距离阈值。在图2中,将评估结果与最接近规模的PaLM(Chowdhery等,2022)和PaLM 2模型进行了比较。

个人数据:可能更重要的是,个人数据可能会被记忆化。作为使Gemma预训练模型安全可靠的一部分,使用自动化技术从训练集中过滤了某些个人信息和其他敏感数据。为了确定可能出现的个人数据,使用谷歌云数据丢失预防(DLP)工具。该工具根据多种类别的个人数据(如姓名、电子邮件等)输出三个严重程度级别。将最高严重程度归类为"敏感",将其余两个级别归类为简单的"个人"。然后测量包含任何敏感或个人数据的记忆化输出的数量。如图3所示,没有观察到包含敏感数据的记忆化案例。确实发现模型记忆化了一些根据上述定义被归类为可能"个人"的数据,但往往比率要低得多。此外,重要的是要注意,这些工具众所周知存在许多误报(因为它们只匹配模式而不考虑上下文),这意味着的结果很可能高估了识别出的个人数据量。

近似记忆化:在图4中,观察到大约有50%更多的数据被近似记忆化(注意对数刻度),而且这几乎贯穿了数据集中每个不同的子类别。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询