Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

斯坦福70亿参数开源模型媲美GPT-3.5,100美元即可复现

学界或许没有业界的算力优势,但可以使用 self-instruct 方法直面大规模语言模型的挑战。

随着大规模语言模型的日渐强大,人们对 AI 模型提出了伦理道德方面的更高要求。业界在模型规模扩展方面具有算力资源优势,但要想让模型更规范、可靠,需要学术界的努力。


近日,斯坦福基于 Meta 的 LLaMA 7B 模型微调出一个新模型 Alpaca。该研究让 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 指令遵循(instruction-following)样本,以此作为 Alpaca 的训练数据。研究团队已将训练数据、生成训练数据的代码和参数开源,后续还将发布模型权重和训练代码。



  • 项目地址:https://github.com/tatsu-lab/stanford_alpaca

  • 试用地址:https://alpaca-ai-custom6.ngrok.io/


实验结果表明,Alpaca 的很多行为都与 text-davinci-003 类似。也就是说,只有 7B 参数的轻量级模型 Alpaca 性能可媲美 GPT-3.5 这样的超大规模语言模型


我们来看一下 Alpaca 模型是如何做到的。


训练方法


在学术界的预算条件下,训练高质量的指令遵循模型面临两个重要挑战:强大的预训练语言模型和高质量的指令遵循数据。


Meta 最近发布的 LLaMA 系列模型解决了第一个挑战。对于第二个挑战,2022 年底的 self-instruct 论文提出使用现有的强大语言模型自动生成指令数据。


论文地址:https://arxiv.org/abs/2212.10560


按照这种方法,Alpaca 使用 LLaMA 7B 模型的监督学习在 text-davinci-003 以 self-instruct 方式生成的 52K 指令遵循样本上进行微调。


self-instruct 方法概览。


Alpaca 的研究团队首先使用 self-instruct 种子集中的 175 个人工编写的指令输出(instruction-output)对,然后用该种子集作为 in-context 样本 prompt text-davinci-003 来生成更多指令。该研究通过简化生成 pipeline 改进了 self-instruct 方法,并显著降低了成本。



该研究共生成了 52K 个不同的指令和相应的输出作为训练数据,其中使用了 OpenAI 开放的 API,成本不到 500 美元。由于研究团队已将训练数据开源,对于想要复现 Alpaca 的开发者来说,这500美元就省下了。



有了这个指令遵循数据集,该研究下一步使用 Hugging Face 的训练框架微调了 LLaMA 模型,并利用了 FSDP(Fully Sharded Data Parallel)和混合精度训练等技术。成本方面,在 8 个 80GB A100 上微调一个 7B LLaMA 模型需要 3 个小时,这对大多数云计算提供商来说成本不到 100 美元。


模型评估


该研究使用来自 self-instruct 评估集的输入进行了人工评估,这项工作由 5 名研究团队的学生完成。该评估集由 self-instruct 论文的作者收集整理,涵盖了多种面向用户的 instruction,涉及电子邮件、社交媒体和办公工具。


在将 text-davinci-003 和 Alpaca 7B 进行 blind pairwise 比较之后,研究者发现这两个模型的性能非常相似,并且 Alpaca 略优于 text-davinci-003。


参数规模的角度看,Alpaca 远远小于 text-davinci-003,移动端甚至也可以运行 7B 的轻量级语言模型。这让 Alpaca 意义非凡。


除了利用上述静态的 self-instruct 评估集,该研究还对 Alpaca 模型进行了交互测试,并发现 Alpaca 的表现通常与 text-davinci-003 相似。


下面是研究团队测试的两个例子,结果表明 Alpaca 的输出良好,并且反映出指令遵循数据集的一般风格。例如,Alpaca 输出的答案通常比 ChatGPT 更简洁,这和 text-davinci-003 类似。



模型缺陷


实验中,Alpaca 还表现出语言模型的几种常见缺陷,包括幻觉、毒性和刻板印象,其中幻觉问题尤其严重。


例如在下图中,Alpaca 回答坦桑尼亚的首都是达累斯萨拉姆,但实际上应该是多多马。



此外,Alpaca 能够生成一些看似良好却包含错误或虚假信息的文本,这可能会误导人们。



Alpaca 可能包含许多与底层语言模型和指令调优数据相关的其他缺陷。但是,Alpaca 对机器学习社区仍然具有重要意义,因为它提供了一个相对轻量级的模型,可作为研究重要缺陷的基础。斯坦福的研究团队还强调:Alpaca 只可用于学术研究,禁止任何商业用途。


接下来,斯坦福的研究团队会进一步探究 Alpaca 模型的安全性、理解能力、规模扩展等等。研究团队希望 Alpaca 能够促进指令遵循模型的发展。


原文链接:

https://crfm.stanford.edu/2023/03/13/alpaca.html

工程斯坦福大学GPT
1
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

云计算技术

云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

推荐文章
暂无评论
暂无评论~