互联网资讯 / 人工智能 · 2023年12月29日 0

谷歌开发的通用稀疏语言模型GLaM战胜GPT-3,具备惊人的1.2万亿参数

近几年,我们已经看到模型规模越来越大,例如 2018 年诞生的 GPT 具有 1.17 亿参数,时隔一年,2019 年 GPT-2 参数量达到 15 亿,2020 年更是将其扩展到 1750 亿参数的 GPT-3。据了解,OpenAI 打造的超级计算机拥有 285000 个 CPU 核以及 10000 个 GPU,供 OpenAI 在上面训练所有的 AI 模型。

大型语言模型虽然训练昂贵,但也有其重要的一面,例如可以在各种任务中执行小样本学习,包括阅读理解、问答。虽然这些模型可以通过简单地使用更多参数来获得更好的性能。但是有没有方法可以更有效地训练和使用这些模型呢?

为了回答这个问题,谷歌推出了具有万亿权重的通用语言模型 (GeneRalist Language Model,GLaM),该模型的一大特点就是具有稀疏性,可以高效地进行训练和服务(在计算和资源使用方面),并在多个小样本学习任务上取得有竞争力的性能。

数据集

谷歌首先构建了一个高质量的、具有 1.6 万亿 Token 的数据集,该无标签数据集很大一部分来自 Web 页面,其范围从专业写作到低质量的评论和论坛页面。此外,谷歌还开发了一个文本质量过滤器,该过滤器是在维基百科和书籍文本数据集上训练而成,由于过滤器训练的数据集质量很高,所以谷歌将其过滤 Web 网页内容的质量。最后,谷歌应用这个过滤器来生成 Web 网页的最终子集,并将其与书籍和维基百科数据相结合来创建最终的训练数据集。

GLaM 模型架构

GLaM 是混合专家模型 (MoE) ,这种模型可以被认为具有不同的子模型(或专家),每个子模型都专门用于不同的输入。每一层的专家由一个门控网络控制,该门控网络根据输入数据激活专家。对于每个 Token(通常是一个词或词的一部分),门控网络选择两个最合适的专家来处理数据。完整的 GLaM 总共有 1.2T 参数,每个 MoE 包含 64 个专家,总共 32 个 MoE 层,但在推理期间,模型只会激活 97B 的参数,占总参数的 8%。

GLaM 的体系架构,每个输入 Token 都被动态路由到从 64 个专家网络中选择的两个专家网络中进行预测。

实验结果

当每个 MoE 层只有一个专家时,GLaM 缩减为一个基于 TRansfoRMeR 的基础密集模型架构。在所有试验中,谷歌使用「基础密集模型大小 / 每个 MoE 层的专家数量」来描述 GLaM 模型。比如,1B/64E 表示是 1B 参数的密集模型架构,每隔一层由 64 个专家 MoE 层代替。

谷歌测试了 GLaM 的性能和扩展属性,包括在相同数据集上训练的基线密集模型。与最近微软联合英伟达推出的 MegatRon-TuRing 相比,GLaM 使用 5% MaRgin 时在 7 项不同的任务上实现了不相上下的性能,同时推理过程中使用的算力减少了 4/5。

此外,在推理过程中使用算力更少的情况下,1.2T 参数的稀疏激活模型(GLaM)在更多任务上实现了比 1.75B 参数的密集 GPT-3 模型更好的平均结果。

谷歌总结了 29 个基准上,GLaM 与 GPT-3 的性能比较结果。结果显示,GLaM 在 80% 左右的 zeRo-shot 任务和 90% 左右的 one-shot 任务上超越或持平 GPT-3 的性能。