首个真正开源可微调的指令模型,可本地部署和定制训练,大幅降低开发者使用大模型的成本。
两周前,我们发布了 Dolly:一个训练成本不到 30 美元的大语言模型(LLM),能够展现类似 ChatGPT 的人机交互能力,也就是遵循指令的能力。今天,我们正式发布 Dolly 2.0——首个开源的指令遵循型 LLM。它使用由人类生成、同时获准用于研究和商业用途的指令数据集进行微调。
Dolly 2.0 是一个拥有 120 亿参数的语言模型,基于 EleutherAI 的 pythia 模型家族构建,并且完全使用一个全新、高质量、由人类生成的指令遵循数据集进行微调。该数据集由 Databricks 员工通过众包方式创建。
我们将 Dolly 2.0 的全部内容开源,包括训练代码、数据集和模型权重,而且所有内容均可用于商业用途。这意味着,任何组织都可以创建、拥有并定制能够与人交流的强大 LLM,而无须支付 API 访问费用,也无须与第三方共享数据。
databricks-dolly-15k 包含 15,000 组高质量、由人类生成的 prompt / response 对,专门用于大语言模型的指令微调。根据 databricks-dolly-15k 的许可条款(Creative Commons Attribution-ShareAlike 3.0 Unported License),任何人都可以出于任何目的使用、修改或扩展这个数据集,包括将其用于商业应用。
据我们所知,这是第一个专门为让大语言模型展现出 ChatGPT 那种神奇交互能力而设计的、由人类生成的开源指令数据集。databricks-dolly-15k 由 5,000 多名 Databricks 员工在 2023 年 3 月和 4 月期间共同编写。这些训练数据自然、富有表现力,覆盖了广泛的行为类型,从头脑风暴和内容生成,到信息提取与摘要。
Dolly 1.0 发布后,我们立刻收到了大量希望试用它的请求。大家问得最多的一个问题是:“我可以把它用于商业用途吗?”
创建 Dolly 1.0,或者任何指令遵循型 LLM,都有一个关键步骤:使用由指令和回答组成的数据集训练模型。Dolly 1.0 的训练成本为 30 美元,所使用的数据集由 Stanford Alpaca 团队通过 OpenAI API 创建。该数据集包含 ChatGPT 生成的输出,而正如 Stanford 团队所指出的,相关服务条款意在阻止任何人创建与 OpenAI 竞争的模型。因此,遗憾的是,对这个常见问题的回答只能是:“恐怕不行!”
据我们所知,现有知名的指令遵循型模型(Alpaca、Koala、GPT4All、Vicuna)都受到这一限制,无法用于商业用途。为了解决这个难题,我们开始寻找创建新数据集的方法,确保它不会受到影响商业使用的“污染”。
我们从 OpenAI 的研究论文中了解到,最初的 InstructGPT 模型使用了一个包含 13,000 条指令遵循行为示范的数据集进行训练。受此启发,我们决定尝试一下,看看能否由 Databricks 员工牵头,实现类似的效果。
事实证明,生成 13,000 个问题和答案比看起来困难得多。每个答案都必须是原创的,不能从 ChatGPT 或 Web 上的任何地方复制,否则就会污染我们的数据集。这项任务看起来令人望而生畏,但 Databricks 拥有 5,000 多名对 LLM 非常感兴趣的员工。因此,我们认为可以通过内部众包,创建一个质量甚至高于 OpenAI 由 40 名标注人员制作的数据集。但我们也知道,所有员工都很忙,还有自己的全职工作,所以必须提供足够的激励,才能让大家参与进来。
我们举办了一场竞赛,排名前 20 的标注人员可以获得一项大奖。我们还明确规定了 7 类非常具体的任务:
开放式问答:例如,“为什么人们喜欢喜剧电影?”或者“法国的首都是什么?”有些问题没有唯一正确答案,另一些问题则需要运用广泛的世界知识才能回答。
封闭式问答:这类问题仅依靠一段参考文本中包含的信息即可回答。例如,在给出 Wikipedia 中一段关于原子的文字后,可以提问:“原子核中质子与中子的比例是多少?”
从 Wikipedia 提取信息:标注人员需要复制 Wikipedia 中的一个段落,并从中提取实体或其他事实信息,例如重量或尺寸。
总结 Wikipedia 信息:标注人员需要提供一段来自 Wikipedia 的文字,并将其提炼为一段简短摘要。
头脑风暴:这项任务要求进行开放式构思,并给出一份可能选项的列表。例如,“这个周末我可以和朋友一起做哪些有趣的活动?”
分类:在这项任务中,标注人员需要判断类别归属,例如列表中的项目属于动物、矿物还是蔬菜;或者判断一小段文本的属性,例如一篇电影评论所表达的情感倾向。
创意写作:这类任务包括写诗、写情书等。
生篝火时,安全永远应该放在第一位。确保手边有水或其他可以随时扑灭火焰的工具。使用篝火环或火坑,或者清理出篝火地点周围的一大片区域。此外,还要确认所在区域允许生篝火。
处理好安全问题后,生火所需的只有热量、燃料和氧气。任何可燃材料都可以用来生火,不过适合篝火的燃料包括引火物、引燃枝条和干燥木柴。
引火物可以使用干燥的松针、枯叶、草和木屑,也可以使用报纸(或任何纸张)、烘干机棉絮或硬纸板。引燃枝条应使用较小的木头,例如直径不超过 1 英寸(大约相当于拇指粗细)的细枝和木棍。干燥或充分风干的木柴可以确保燃烧效果良好。堆放木材时,要确保氧气能够轻松接触到火焰。许多人喜欢使用圆锥帐篷式或井字木屋式的堆放方式。接下来,使用热源产生火焰或火花,并将其引到引火物上。引火物燃烧后,应该会点燃引燃枝条,随后引燃枝条最终会点燃木柴。如果一切顺利,现在你应该已经可以享受自己的篝火了。
除了果酱,你还可以尝试在三明治中把花生酱与以下食材搭配:
起初,我们对能否收集到 10,000 条结果持怀疑态度。但通过每晚更新排行榜,将活动游戏化,我们在一周内就突破了 15,000 条结果。由于担心活动影响员工的工作效率,我们随后结束了竞赛。
我们还希望打造一个可以用于商业用途的开源模型。尽管 databricks-dolly-15k 的规模远小于训练 Dolly 1.0 所使用的 Alpaca 数据集,但基于 EleutherAI pythia-12b 构建的 Dolly 2.0 模型,仍然展现出了高质量的指令遵循能力。事后看来,这并不令人意外。近几个月发布的许多指令微调数据集都包含合成数据,而合成数据往往存在幻觉和事实错误。
相比之下,databricks-dolly-15k 由专业人士生成,质量很高,并且针对大多数任务都提供了较长的回答。
你可以亲自查看一些使用 Dolly 2.0 进行摘要和内容生成的示例。根据客户的初步反馈,很明显,这类能力将在企业中拥有广泛的应用场景。
Databricks SQL Serverless 支持 serverless compute。管理员可以创建 serverless SQL warehouse(以前称为 SQL endpoint),从而获得即时可用且由 Databricks 管理的计算资源。Serverless SQL warehouse 使用 Databricks 账户中的计算集群。你可以像平常使用原有的、由客户托管的 SQL warehouse 一样,在 Databricks SQL 查询中使用它们;原有的 SQL warehouse 现在称为 classic SQL warehouse。Databricks 将其名称从 SQL endpoint 改为 SQL warehouse,是因为在行业中,endpoint 通常指与所连接网络进行通信的远程计算设备,或者云服务的入口点。data warehouse 则是一种数据管理系统,能够以适合业务使用的方式存储来自多个来源的当前数据和历史数据,从而更轻松地获取洞察和生成报告。SQL warehouse 这一名称能够准确描述该计算资源的完整能力。如果你的账户已经启用 serverless SQL warehouse,请注意以下事项:通过 UI 创建新的 SQL warehouse 时,默认会创建为 serverless。通过 API 创建新的 SQL warehouse 时,默认不会创建为 serverless,你必须显式指定 serverless。你也可以通过任一种方式创建新的 pro 或 classic SQL warehouse。你可以把 pro 或 classic SQL warehouse 升级为 serverless SQL warehouse,也可以把 classic SQL warehouse 升级为 pro SQL warehouse。你还可以从 serverless 降级为 pro 或 classic。此功能只影响 Databricks SQL,不会影响 Data Science & Engineering 或 Databricks Machine Learning workspace 环境中 Databricks Runtime 集群与 notebook 和 job 的协作方式。Databricks Runtime 集群始终运行在你的 AWS 账户中的 classic data plane 上。请参阅 Serverless quotas。如果你的账户需要接受更新后的使用条款,workspace 管理员将在 Databricks SQL UI 中看到提示。如果你的 workspace 配置了 AWS instance profile,则可能需要更新 trust relationship 以支持 serverless compute,具体取决于它的创建方式和创建时间。
我们已经升级了自己的 LLM,让它变得更高效、更强大,也让更多人能够使用它。
我们不断从客户那里听到这样的反馈:拥有自己的模型最符合他们的利益。这样,他们就能针对特定领域的应用创建质量更高的模型,同时无须把敏感数据交给第三方。
我们还认为,偏见、问责和 AI 安全等重要问题,应该由一个包含不同利益相关方的广泛社区共同解决,而不应该只交给少数几家大型公司。开源的数据集和模型能够促进讨论、研究与创新,从而帮助确保每个人都能从人工智能技术的进步中受益。
作为一项技术和研究成果,我们并不指望 Dolly 在效果方面达到当前最先进水平。不过,我们确实期待 Dolly 和这个开源数据集能够成为大量后续工作的种子,并有望以此为基础,推动更强大语言模型的诞生。
要下载 Dolly 2.0 的模型权重,只需访问 Databricks 的 Hugging Face 页面;要下载 databricks-dolly-15k 数据集,请访问 databricks-labs 上的 Dolly repo。你也可以参加我们的 webinar,了解如何在自己的组织中利用 LLM。
使用 Hugging Face 和 Deepspeed 微调大语言模型
一个大模型能否一统天下
Self-Instruct:利用自行生成的指令对齐语言模型
通过人类反馈训练语言模型遵循指令
订阅我们的博客,即可在收件箱中收到最新文章。