Databricks发布开源的Dolly 2.0,助力大型语言模型研究与商业应用

释放双眼,带上耳机,听听看~!
Databricks最新发布了完全开源的Dolly 2.0,该语言模型可以帮助研究机构和企业进行大型语言模型研究和商业应用,同时开源的训练代码、数据集和模型权重也为创新应用提供了丰富的资源。

Dolly是Databricks员工基于约15000条指令/响应精调数据集databricks-dolly-15k训练的,databricks-dolly-15k是参照InstructGPT论文的能力域生成,这些能力域包括头脑风暴、分类、封闭式问答、文本生成、信息提取、开放式问答和摘要。

Databricks刚刚宣布发布Dolly 2.0,这是第一个完全开源的、遵循指令的大型语言模型,在手动生成的指令数据集上进行了微调,可被授权用于研究和商业用途。

Dolly是一个可以遵循人类指令的语言模型。在两周前刚由Databricks发布。而Dolly 2.0基于EleutherAI pythia的系列模型,并在一个全新的、高质量的手动生成的指令数据集上专门进行了精调,这个数据集由Databricks员工众包。EleutherAI是一个非营利性的人工智能研究实验室,专注于大模型的解释能力和协调能力,而Pythia是一个用于分析大型语言模型的工具套件,横跨训练和扩展过程。

Databricks开源了 Dolly 2.0的全部资源,包括训练代码、数据集和模型权重,而且全部可以商业使用。就是说任何组织都可以创建、拥有和定制可以与人对话的大语言模型,不用支付API访问费用或第三方共享数据。

用于训练Dolly 2.0的数据集被称为databricks-dolly-15k,包含15000个高质量的手动生成的提示/回答,专门用于精调大型语言模型。根据databricks-dolly-15k的许可条款(Creative Commons Attribution-ShareAlike 3.0 Unported License),任何人都可以任何目的使用、修改或扩展这个数据集,包括商业应用。

这个数据集可以说是第一个开源的、手动生成的指令数据集,专门用于使大语言模型表现出与ChatGPT一样的互动性。2023年3月和4月期间,超过5000名Databricks的员工编写了该数据集。这些训练数据书写自然、流畅,精心设计成能代表各种任务,从头脑风暴和内容生成到信息提取和内容总结。

从Dolly 1.0进化到2.0

Databricks新创建了这个数据集,回应许多想要尝试1.0的人的请求,这个语言模型的训练费用非常便宜,可以表现出和ChatGPT一样的互动性。不过用于训练Dolly 1.0的数据集包含了ChatGPT的生成内容,而ChatGPT的服务条款会防止任何人创建一个与OpenAI竞争的模型。为了摆脱这个限制,Databricks开始创建一个没有“污染”的全新数据集,用于商业用途。按照InstructGPT的论文,然后在Databricks员工的协助下,最终创建了2.0版本。

Databricks的员工付出了巨大的努力,生成1.3万个问题和答案不是一件容易的事。每个答案都必须原创,不可以从ChatGPT或网络上的任何地方复制,否则就会污染数据集。Databricks有超过5000名对大语言模型感兴趣的员工,在他们中间实行众包,终于创建出比40名OpenAI标注者质量更高的数据集。

Databricks设立了一个竞赛来激励员工参与,前20名的标签者能获得一个大奖项。他们还列出了七个非常具体的任务,包括开放和封闭式问答、信息提取和内容总结、头脑风暴、分类和创意写作。

创新的方法和新颖的举措

总体来说,Databricks很乐意看到世界用Dolly 2.0和databricks-dolly-15k创造的东西。希望可以鼓励更多的组织探索大型语言模型的可能性,期待着看到创新的使用方式。Databricks表示已经致力于创建普通用户可以拥有的开放式大型语言模型。这样可以为其特定应用开发质量更高的模型,而不必与第三方分享敏感数据。

此外,Databricks认为,应该让不同的利益群体解决诸如偏见、问责和人工智能安全等问题,而不是只让少数大公司。开源的数据集和模型是鼓励评论、研究和创新,随着人工智能技术的进步,每个人应当受益。

尽管Databricks付出不少的努力,生成了一个完全开源的模型,甚至发布了模式的权重,但Databricks并不期望这个大语言模型在效果上能达到最先进的水平。Databricks预计,该模型和开源数据集将作为后续一系列工作的萌芽。这些工作反过来继续在未来引导出更强大的语言模型。

大型语言模型未来的发展真的令人期待。幸亏没有使用GPL v3来发布这个框架,只是将权重(实际上是模型的核心)保持在闭源状态。真心希望Databrick的工作将有助于以道德、包容、有益的方式进行开发。

开始体验Dolly 2.0

Huggingface上已经有了Dolly 1.0 and 2.0模型及一些先期代码,可以直接运行

在对应的环境中安装依赖库:

# Install transformers and accelerate 
pip install accelerate>=0.12.0 transformers[torch]==4.25.1

导入python包

import torch
from transformers import pipeline

generate_text = pipeline(model="databricks/dolly-v2-12b", 
                    torch_dtype=torch.bfloat16,
                    trust_remote_code=True,
                    device_map="auto")

generate_text("Explain to me the difference between nuclear 
                   fission and fusion.")

就这么简单!

要是不想执行远程代码trust_remote_code=True,可以下载这个脚本instruct_pipeline.py,保存本地,从本机模型和向量构建流水线:

from instruct_pipeline import InstructionTextGenerationPipeline
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("databricks/dolly-v2-12b", padding_side="left")
model = AutoModelForCausalLM.from_pretrained("databricks/dolly-v2-12b", device_map="auto")

generate_text = InstructionTextGenerationPipeline(model=model, tokenize)

Dolly 2.0有哪些要求?

  1. 别指望有强劲的性能表现
  2. 对大部分极客们来说表现也不是那么差
  3. 这模型需要1个24GB内存的GPU! (对,就是那些有Nvidia Tesla P40sM40s的穷人,及那些有3090、4090s的有钱人)。要是你的GPU都不适用,那就试着使用6b版本的模型或者将位数减少到8 torch_dtype=torch.bfloat8.
  4. Dolly推荐运行的GPU是A100(40Gb显存)或A10(24Gb显存)。无论哪种情况,文本生成的速度慢得要死,边看电影边等吧。
  5. 更有意思的东西出现 🙂

和EleutherAI模型的一个性能比较:

model openbookqa arc_easy
EleutherAI/gpt-j-6b 0.382 0.621633
databricks/dolly-v2-12b 0.408 0.63931
databricks/dolly-v1-6b 0.41 0.62963
EleutherAI/gpt-neox-20b 0.402 0.683923

中国人照例如火如荼地在进行AI大跃进,可是我们根本没有定力和远见去创建全新的数据集,只想坐享其成,把外文的数据用机器翻译成中方,语料质量奇差,典型的就是那个骆驼模型Luotuo-Chinese-LLM,温泉关译成热门波烈,就这种数据集能训练成什么呢,让人失望。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

京东618广告营销首次尝试AIGC技术,AI作画工具带来新营销创意

2023-12-11 14:08:14

AI教程

「兔了个兔」创意投稿大赛详情公布

2023-12-11 14:19:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索