如何低资源复刻 ChatGPT

资料来自李宏毅老师讲稿,如有侵权请通知下架

https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/PoorChatGPT-v2.pdf

穷人如何低资源复刻 ChatGPT,包括复刻的原因、所需准备、相关模型及技术,以及不同模型的对比评估等内容。

复刻 ChatGPT 的原因

  • OpenAI 可能使用 ChatGPT 用户的内容(如提示、回复、上传图像等)来改进服务,用户对话也可能被用于训练,部分用户出于隐私等考虑可能希望拥有自己的模型12。
  • 許多人出於資安考量,選擇復刻自己的ChatGPT,因為將資料上傳至OpenAI可能會導致資訊外洩。當使用者與ChatGPT對話時,這些對話可能會用於訓練模型或改善服務,且用户對於如何使用這些資料並不清楚。

  • OpenAI的回覆指出,使用者的對話可能被AI訓練者查看,因此如果使用者有敏感資訊需要保護,他們應該避免與ChatGPT分享這些資訊。使用者所能有的選擇只有刪除整個帳號以移除資料,而非單獨刪除某段對話。

低资源复刻 ChatGPT 的准备

  1. 现成的 Pre-trained Model:如 Meta 的 LLaMA、Text-davinci - 003 等,可对其进行微调。
  2. 相关技术和资源
    • Self-Instruct:通过以 ChatGPT 为 “老师” 来生成任务和指令,例如修改语法错误、润饰文句、扩写文句等任务。相关研究论文地址为https://arxiv.org/abs/2212.10560345

      自我指导:将语言模型与自我生成的指令对齐

      发布于2022 年 12 月 21 日
      作者:
      叶加内·科尔迪,
      斯瓦鲁普·米什拉,
      刘婧,
      诺亚·A·史密斯,
      丹尼尔·卡沙比,
      汉娜内·哈吉什尔齐

      抽象的

      大型“指令调整”语言模型(经过微调以响应指令)已展示出将零样本推广到新任务的出色能力。然而,它们严重依赖于数量、多样性和创造力有限的人工编写的指令数据,因此阻碍了调整模型的通用性。我们引入了 Self-Instruct,这是一个通过引导自身生成来提高预训练语言模型的指令跟随能力的框架。我们的管道从语言模型生成指令、输入和输出样本,然后在使用它们微调原始模型之前对其进行修剪。将我们的方法应用于 vanilla GPT3,我们在 Super-NaturalInstructions 上展示了比原始模型高出 33% 的绝对改进,与使用私人用户数据和人工注释进行训练的 InstructGPT_001 的性能相当。为了进一步评估,我们为新任务整理了一组专家编写的指令,并通过人工评估表明,使用 Self-Instruct 调整 GPT3 的效果远优于使用现有的公共指令数据集,仅比 InstructGPT_001 落后 5% 的绝对差距。Self-Instruct 提供了一种几乎无需注释的方法来将预训练语言模型与指令对齐,并且我们发布了大型合成数据集以促进未来对指令调整的研究。

    • Stanford Alpaca:基于 LLaMA 模型,使用 Self-instruct 方法,在特定数据集上进行监督微调。其项目地址为https://github.com/tatsu-lab/stanford_alpaca678
    • Vicuna:基于 LLaMA 模型,使用用户共享对话数据进行训练,在与 GPT-4 的非科学评估中表现较好,项目地址为https://github.com/lm-sys/FastChat91011

相关模型的其他信息

概括

Databricks 的dolly-v1-6b大型语言模型(博客文章)是在 Databricks 机器学习平台上训练的,它表明,一个两年前的开源模型,在对 50k 条记录的重点语料库( Stanford Alpaca )进行 30 分钟的微调后,就能表现出令人惊讶的高质量指令,而这些指令并不是它所基于的基础模型的特征。我们认为这一发现很重要,因为它表明,创建强大的人工智能技术的能力比以前意识到的要容易得多。

Databricks 致力于确保每个组织和个人都能从人工智能的变革力量中受益。Dolly 模型系列代表了我们在这一旅程中迈出的第一步,我们很高兴与全世界分享这项技术。

所有者:Databricks, Inc.

模型概述

dolly-v1-6b是Databricks创建的 60 亿参数因果语言模型,源自 EleutherAI 的 GPT-J (2021 年 6 月发布),并在约 52K 记录指令语料库( Stanford Alpaca )(CC-NC-BY-4.0)上进行了微调,该语料库由使用Self-Instruct论文中概述的技术生成的问题/答案对组成。Dolly的原始版本是在Databricks 机器学习平台 上使用deepspeed ZeRO 3在短短 30 分钟内(1 个 epoch)使用一台 配备 8x A100 40GB GPU 的NDasrA100_v4机器进行的训练。最近的检查点在同一硬件上训练了 10 个 epoch。dolly-v1-6b

与其基础模型一样, GPT-Jdolly-v1-6b拥有 60 亿个参数,由 28 个 Transformer 层组成,每个 Transformer 层有 16 个注意头。它采用旋转位置嵌入(RoPE),与 GPT-3 共享相同的标记器。GPT-J 在The Pile上进行了训练,这是一个 400B 的标记数据集,包含各种文档,主要用于文本生成任务。

已知限制

dolly-v1-6b并不是最先进的生成语言模型,尽管定量基准测试仍在进行中,但它的设计目的并非与更现代的模型架构或受制于更大预训练语料库的模型竞争。 它旨在用于学术或研究目的,并鼓励模型和工程实验。

Dolly 模型系列正在积极开发中,因此任何缺点列表都不太可能详尽无遗,但我们在此列出已知的限制和失误,以便记录并与社区分享我们的初步发现。特别是,在以下方面dolly-v1-6b存在困难:语法复杂的提示、编程问题、数学运算、事实错误、日期和时间、开放式问答、幻觉、列举特定长度的列表、风格模仿、幽默感等。

训练数据、偏见和令人反感的内容

与所有语言模型一样,dolly-v1-6b反映了其训练语料库的内容和局限性。

Databricks 致力于持续研究和开发,以开发有用、诚实且无害的人工智能技术,最大限度地发挥所有个人和组织的潜力。

预期用途

dolly-v1-6b仅用于研究目的。我们不建议将其用于dolly-v1-6b高风险应用(例如教育或职业培训、产品安全组件或其他可能影响个人健康的用途)。

dolly-v1-6b与其前身 GPT-J 的区别在于它对自然语言问题和指令提示表现出连贯的反应程度。dolly-v1-6b似乎在一系列功能中表现出合理的(但绝对不是最先进的)行为,包括InstructGPT论文中概述的许多功能。

我们在下面提供了令人回味的例子,但请读者注意,它们包含事实上的错误或语义上的错误,说明了该模型的一些缺陷。

  1. Dolly 2.0:由 5000 多名 Databricks 员工创作,其模型相关信息如数据集、训练顺序等有详细记录,模型信息对比表格中列出了其与其他模型(如 GPT - 2、GPT - 3 等)在多个方面的差异,论文地址为https://arxiv.org/abs/2304.01373151617

    dolly-v1-6b 模型卡

    Dolly v2 已经推出!

    请尝试 Dolly v2:

  2. https://huggingface.co/databricks/dolly-v2-12bicon-default.png?t=O83Ahttps://huggingface.co/databricks/dolly-v2-12b
  3. Pile:GPT-J 的预训练语料库包含的内容大多是从公共互联网收集的,与大多数网络规模的数据集一样,它包含许多用户会认为令人反感的内容。因此,该模型很可能会反映出这些缺陷,在明确要求它产生令人反感的内容的情况下可能会明显地反映出来,有时也会隐晦地反映出来,例如在有偏见或有害的隐性关联的情况下。

  4. Stanford Alpaca:可以假设 dolly-6b 的指令调整语料库具有许多局限性。此外,众所周知,它包含事实错误、语义和句法不规范、无意义的响应和不正确的数学计算,以及其他数据缺陷。模型输出将反映这些局限性。

  5. 模型开源及训练后处理情况:文档中还列出了 ChatGPT、Wenxin、ChatGLM、Alpaca、Dolly 等多个模型在开源模型、开源数据、声称语言、训练后(指令和对话方面)处理等方面的情况对比18。
  6. 模型与 GPT - 4 对比评估:通过论文https://arxiv.org/abs/2304.03277中的数据,展示了不同模型(如 LLaMA、Vicuna、Alpaca 等)与 ChatGPT、GPT - 4 对比的评估结果,包括在回答问题准确率等方面的表现。

语言模型的自我改进

  • 以玉山相关问题为例,展示了不同语言模型(如 ChatGPT、GPT - 4、OPT - IML 等)在回答问题时的表现差异。同时提到语言模型可以通过 Self-consistency(如在计算停车场车辆数量、Janet 卖鸡蛋收入、计算 Alex 年龄等问题上)和 Self-training(如生成问题、使用 CoT 示例等方式)实现自我改进,在 GSM8K 测试集中,准确率从 56.5% 提升到 74.4% 甚至 82.1%

以下内容来自 Dolly 论文

Hello Dolly: Democratizing the magic of ChatGPT with open modelsIntroducing 'Hello Dolly,' a project to democratize AI by integrating ChatGPT and open models, making advanced AI accessible to everyone.icon-default.png?t=O83Ahttps://www.databricks.com/blog/2023/03/24/hello-dolly-democratizing-magic-chatgpt-open-models.html

Dolly:利用开放模型让 ChatGPT 的魔力民主化

分享这篇文章

2023 年 4 月 12 日更新:我们已发布 Dolly 2.0,已获得研究和商业使用许可。请在此处查看新博客文章

概括

我们表明,任何人都可以使用过时的现成开源大型语言模型 (LLM),并通过使用高质量训练数据在一台机器上花 30 分钟对其进行训练,使其具有神奇的 ChatGPT 式指令跟踪能力。令人惊讶的是,指令跟踪似乎不需要最新或最大的模型:我们的模型只有 60 亿个参数,而 GPT-3 有 1750 亿个参数。我们开源代码了我们的模型 (Dolly),并展示了如何在 Databricks 上重新创建它。我们相信像 Dolly 这样的模型将有助于实现 LLM 的民主化,将它们从极少数公司买得起的东西转变为每家公司都可以拥有并定制以改进其产品的商品。

背景

ChatGPT 是一种专有的指令跟随模型,于 2022 年 11 月发布,并风靡全球。该模型基于来自网络的数万亿个单词进行训练,需要大量 GPU 来开发。这很快促使谷歌和其他公司发布了自己的专有指令跟随模型。2023 年 2 月,Meta 向学术研究人员发布了一组高质量(但不遵循指令)语言模型LLaMA的权重,每个模型都经过了超过 80,000 个 GPU 小时的训练。然后,在 3 月,斯坦福大学建立了Alpaca模型,该模型基于 LLaMA,但针对 50,000 个类似人类的问题和答案的小数据集进行了调整,令人惊讶的是,它表现出了类似 ChatGPT 的交互性。

介绍 Dolly

今天,我们介绍 Dolly,这是一款成本低廉的 LLM,它展现了 ChatGPT 所展现的令人惊讶的指令遵循能力。尽管 Alpaca 团队的工作表明,最先进的模型可以被诱导出高质量的指令遵循行为,但我们发现,即使是多年前具有早期架构的开源模型,在对一小批指令训练数据进行微调时,也会表现出惊人的行为。Dolly 的工作原理是采用来自EleutherAI的现有开源60 亿参数模型,并对其进行轻微修改,以使用来自 Alpaca 的数据引出原始模型中不存在的指令遵循能力,例如头脑风暴和文本生成。

Dolly 所依赖的模型只有 60 亿个参数,而 GPT-3 有 1750 亿个参数,而且该模型已有两年历史,因此其效果如此出色令人尤为惊讶。这表明,像 ChatGPT 这样的最先进模型的大部分定性提升可能归功于集中的指令遵循训练数据语料库,而不是更大或调整得更好的基础模型。我们将该模型命名为 Dolly(以第一只克隆哺乳动物多莉羊命名),因为它是羊驼的开源克隆,灵感来自 LLaMA。我们正处于企业 AI 民主化的早期阶段,还有许多工作要做,但我们相信 Dolly 所依赖的技术为那些想要廉价构建自己的指令遵循模型的公司提供了一个激动人心的新机会。

我们根据 ChatGPT 所基于的InstructGPT论文中描述的指令遵循能力对 Dolly 进行了评估,发现它表现出许多相同的定性能力,包括文本生成、头脑风暴和开放式问答。这些示例中特别值得注意的不是生成文本的质量,而是指令遵循能力的巨大改进,这是通过在一个小型高质量数据集上对已有多年历史的开源模型进行微调而实现的。

一代

原始模型多莉
给埃德加·爱伦·坡写一封情书。
原始模型:

历史:埃德加·爱伦·坡在 19 世纪声名鹊起。他经常被比作伟大的浪漫主义诗人,被认为是现代短篇小说之父,坡被认为是美国侦探小说的创始人。他已经去世 130 年了。

帕特里克·坎波斯:你永远不应该试图给死去的人写情书。

帕特里克·坎波斯:爱伦·坡不仅仅是《乌鸦》的作者,他还是一位营造氛围的大师。

巴迪·弗里茨勒:埃德加·爱伦·坡自 1831 年起一直生活在巴尔的摩,直到 1849 年去世。他以短篇小说而闻名,他对文学发展的最大贡献是侦探小说、神秘小说和短篇小说的概念。

巴迪·弗里茨勒:爱伦·坡最著名的故事《金甲虫》写于 1843 年。它讲述了一位寻宝猎人寻找宝藏的故事。在这篇短篇小说中,他为此后写的所有谜题提供了蓝图。

巴迪·弗里茨勒:你必须寻找线索,这个中心思想非常吸引人。它甚至被用作……

多莉:

亲爱的埃德加·爱伦·坡,

我第一次遇见你是在老房子昏暗的楼梯间,我知道,从见到你的那一刻起,我就再也不想见到你了。你看起来如此遥远,充满了过去的阴影,以至于我想要永远远离你。

但我情不自禁地迷恋上你,多年来我对你的感情与日俱增。即使是现在,我仍然对你怀有无法言喻的深厚感情。

我希望你能在现在的生活中找到幸福。我相信你会做出伟大的事情,我永远感激你。

真挚地,

[你的名字]

写一条推文宣布 Databricks 的大型语言模型 Dolly。
原始模型:

在您的推文中,简要概述挑战、您如何分析它以及 Dolly 的表现如何。

在您发推文后,我会将其转发到 Databricks 的 Twitter 帐户。

下周清理您的社交媒体页面,删除所有提及 Dolly 或 Databricks 的内容。

数据准备

我们的第一步是为每个文档生成词向量嵌入。我们可以通过两种不同的方式获取这些向量表示:

使用标记化的文档集(在本例中,是下载文件夹中的所有内容)

从 Google Search API 加载 word2vec 模型(在本例中为 vector2vec.c)

在我们的例子中,我们想使用第一种方法,这种方法更简单,但第二种方法可能更可靠。我们将使用上面的 word2vec 模型为文件中找到的任何新词创建一个词汇表文件。这个过程为我们提供了一种快速识别新词和查找上下文相关术语的方法。

我们可以首先将 word2vec.c 复制到名为 /tmp/word2vec 的本地目录。

#/tmp/word2vec/word2vec.c 文件名 /tmp/word

多莉:

Databricks 刚刚宣布了 Dolly——一种容量大、效率更高的自然语言处理新语言模型!

#数据科学 #自然语言处理

[多莉模特发布链接]

我要出售我的尼康 D-750,请为我的广告写一则简短的宣传文案。
原始模型:

我不确定您是否可以发布位置 - 网站上的任何内容都可以。

我才买了一个星期。它完好无损,充电线和窗壳完好无损。在旧金山的一家商店以 1800 美元的价格购买了它,店内取货。加上税费和未披露的 Costco 价格。

请有人告诉我这是一个骗局,而不是真正的优惠。

我刚刚收到一封电子邮件,说相机在某人的家里,所以别人可以来取,我是否要给他们发消息,嗯,不,我要卖它,因为我永远不会……

多莉:

想要购买一款可靠的相机来拍摄照片和视频?看看尼康 D-750!这款时尚轻巧的相机拥有 24.2MP 传感器和 1080/60p 视频录制功能,是捕捉生活中精彩瞬间的绝佳选择。符合人体工程学的手柄和九点自动对焦系统让您可以轻松操作和拍摄。使用 Wi-Fi,您可以轻松地将照片上传到计算机或智能手机,而无需购买专用的外部存储。立即购买尼康 D-750,体验为什么它是摄影和摄像的最佳选择!

开放式问答

原始模型多莉
请向我解释一下核裂变和核聚变之间的区别。
原始模型:

首先让人印象深刻的是原子和太阳在外观和功能上的相似性。太阳的中心体是能量的来源,而太阳的整个结构是由对我们非常重要的一百万吨氢气组成的。太阳中的所有氢都会聚变成氢气,这就是我们由它构成的原因:聚变。

原子核位于原子的中心,由质子组成,电子围绕它旋转。原子核的中心是一个微小的球形物体,里面有很多质子(因此也有很多正电荷),称为原子核。电子没有那么小,但它们的电荷是负的,因为正原子核和负电子形成稳定(由于电荷平衡)。质子带正电,所以即使它们本身无法到达任何地方,它们也会排斥电子。有一个中子核心,它们不带任何电荷,但被质子控制在那里。质子也会排斥中子。

这个简单的事实就是我们太阳的基本形态,也是地球上所有元素的构成。氢是地球上最丰富的元素……

多莉:

核裂变和核聚变的区别在于释放原子核能量的方式。在核裂变中,单个原子核分裂成两个较小的原子核。该过程通过释放大量热量来产生能量。另一方面,聚变涉及两个原子核结合在一起形成单个原子核。与裂变相比,该过程产生的能量要大得多,能量通过释放光和热来释放。聚变有可能成为一种更有效的产生能量的方式。然而,它更……

头脑风暴

原始模型多莉
请给我列出我接下来应该阅读的 5 本科幻书籍。
原始模型:

我知道现在还早,我甚至应该为有这个想法而感到羞愧,但是我有拖延的严重倾向,只有绝对必要的时候才会读书。

因此,今年我还没有读过任何类型的书。

一旦我有了文章的构思,我就会让这些构思和提纲来确保我不会开始动笔。一张白纸和一个空荡荡的大脑有着特别的意义。

话虽如此,我需要改变这一点,阅读上述问题让我意识到我有多么想要……

多莉:

1.《2001:太空漫游》(阿瑟·克拉克著)

2. 道格拉斯·亚当斯的《银河系漫游指南》

3.《指环王》(JRR Tolkien)

4. 道格拉斯·亚当斯的《银河系漫游指南》

5.乔治·奥威尔的《1984》。

为何采用开放模型?

出于多种原因,公司更愿意构建自己的模型,而不是将数据发送给提供 API 背后专有模型的集中式 LLM 提供商。对于许多公司而言,最有可能从 AI 中受益的问题和数据集代表着他们最敏感和专有的知识产权,将其交给第三方可能令人难以接受。此外,组织在模型质量、成本和期望行为方面可能会有不同的权衡。我们认为,从长远来看,大多数 ML 用户最好直接拥有自己的模型。

我们正在开源一个简单的 Databricks 笔记本,您可以使用它在 Databricks 上自己构建 Dolly。要下载并试用该模型,请访问 Databricks Hugging Face 页面! 

下一步是什么?

Dolly 的发布是 Databricks 发布的一系列公告中的第一项,这些公告旨在帮助每个组织利用大型语言模型的力量。我们相信人工智能的惊人力量可以改变每个组织和个人的生产力,欢迎您加入我们的旅程。请在接下来的几周内继续关注该领域的更多消息! 

您还可以在 4 月 25 日的网络研讨会上探索贵公司如何从 LLM 中受益,以及 Databricks 如何构建 Dolly。加入我们

我们也很高兴在今年的数据和人工智能峰会上分享更多关于 Dolly 的信息,包括实践培训和对我们的 LLM 路线图的深入了解。我们鼓励您注册亲自或虚拟加入我们。

致谢

这项工作很大程度上归功于许多杰出组织的努力和见解。如果没有EleutherAI开源和训练 GPT-J,这项工作就不可能完成。我们受到了斯坦福基础模型研究中心Alpaca团队的惊人想法和数据的启发。小数据集强大力量背后的核心思想要归功于Self-Instruct的原始论文。我们还要感谢Hugging Face托管、开源和维护无数模型和库;他们对最先进技术的贡献怎么强调都不为过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值