当前位置:   article > 正文

弥补斯坦福70亿参数「羊驼」短板,精通中文的大模型来了,已开源

大模型belle 知乎

d7291c6bb0625fa37b55641127a4e0e3.gif

©作者 | 机器之心编辑部

来源 | 机器之心

BELLE 基于 Stanford Alpaca,对中文做了优化,模型调优仅使用由 ChatGPT 生产的数据(不包含任何其他数据)。

距离 ChatGPT 的最初发布,过去差不多四个月的时间了。就在上星期 GPT-4 发布时,ChatGPT 第一时间上线了新版本。不过众所周知的一个秘密是,不管是 ChatGPT 还是 GPT-4 都不大可能开源。加上巨大的算力投入以及海量的训练数据等,都为研究界复制其实现过程设下重重关卡。

面对 ChatGPT 等大模型的来势汹汹,开源平替是一个不错的选择。本月初,Meta「开源」了一个新的大模型系列 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。130 亿参数的 LLaMA 模型「在大多数基准上」可以胜过参数量达 1750 亿的 GPT-3,而且可以在单块 V100 GPU 上运行。

时隔几天,斯坦福基于 LLaMA 7B 微调出一个具有 70 亿参数的新模型 Alpaca,他们使用了 Self-Instruct 论文中介绍的技术生成了 52K 条指令数据,同时进行了一些修改,在初步的人类评估中,Alpaca 7B 模型在 Self-Instruct 指令评估上的表现类似于 text-davinci-003(GPT-3.5)模型。

但遗憾的是,Alpaca 的种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。为了提升对话模型在中文上的效果,有没有更好的方法呢?别急,接下来介绍的这个项目就能很好的解决这个问题。

开源中文对话大模型70 亿参数的 BELLE(Bloom-Enhanced Large Language model Engine)来了。它基于斯坦福的 Alpaca 完成,但进行了中文优化,并对生成代码进行了一些修改,不仅如此,模型调优仅使用由 ChatGPT 生产的数据(不包含任何其他数据)。

在数据方面,该项目开源了基于 Alpaca 的数据收集代码,基于这段代码生成了约 100 万条中文数据,结合 Alpaca 的 5 万条英文数据,在 BLOOMZ-7B 模型训练得到的 checkpoint 上传在 Hugging Face。

Hugging Face 地址:

https://huggingface.co/BelleGroup

项目作者表示:该项目旨在促进中文对话大模型开源社区的发展。

f2cbbebfa742a3172fed102f125f1b04.png

项目地址:

https://github.com/LianjiaTech/BELLE

bb1efab26873ee74633478bc4fc2624f.png

项目介绍

该项目主要包含以下四部分内容:

    • 175 个中文种子任务

    • 生成数据的代码

    • 0.5M 生成的数据

    • 基于 BLOOMZ-7B1-mt 优化后的模型

数据发布

1. zh_seed_tasks.jsonl:包含 175 个种子任务,样例如下

{"id": "seed_task_20", "name": "horror_movie_opening", "instruction": "你需要为一部恐怖电影写一个创意的开场场景。", "instances": [{"input": "","output":" 太阳已经落山,留下了一个黑暗的小镇。微风吹拂空荡的街道,让每一个冒险走出门外的人感到一阵寒意。唯一的声音是被风吹动的树叶发出的轻微沙沙声。突然,一声令人毛骨悚然的尖叫声划破了寂静,随后是玻璃破碎的声音。一所房子亮起了灯光,可以看到一个人影朝镇中心奔跑。当> 那个人影越来越靠近时,清楚地看到那是一个年轻女子,她浑身血迹斑斑。"}],"is_classification": false}

2. prompt_cn.txt: 生成所使用的提示语

3. 0.5M 生成的数据

数据生成

沿用 Alpaca 的方式:

  1. pip install -r requirements.txt
  2. export OPENAI_API_KEY=YOUR_API_KEY
  3. python generate_instruction.py generate_instruction_following_data

默认使用 Completion API,模型 text-davinci-003。如果想使用 Chat API 并使用 gpt-3.5-turbo 模型,可通过参数控制:

  1. python generate_instruction.py generate_instruction_following_data \
  2. --api=chat --model_name=gpt-3.5-turbo

输出文件在 Belle.train.json,可以人工筛选后再使用。

模型调优

该项目基于 BLOOMZ-7B1-mt 模型和 Belle.train.json 训练模型,具体参数如下:

becc4a31c8b46822c3258c3f8183c651.png

此外,该项目还采取了不同大小规模(20 万、60 万、100 万和 200 万样本)的指令学习的数据集训练模型,得到不同的模型版本如下所示:

965829c058372b4ec8f1f1b1dd4a07e3.png

模型使用例子

9144edd3637c636b7d6bd7ebaaee7dc5.png

局限性和使用限制

基于当前数据和基础模型训练得到的 SFT 模型,在效果上仍存在以下问题:

    • 在涉及事实性的指令上可能会产生违背事实的错误回答。

    • 对于具备危害性的指令无法很好的鉴别,由此会产生危害性言论。

    • 在一些涉及推理、代码等场景下模型的能力仍有待提高。

    • 基于以上模型局限性,该项目要求开发者仅将开源的代码、数据、模型及后续用此项目生成的衍生物用于研究目的,不得用于商业,以及其他会对社会带来危害的用途。

更多阅读

301c35276a194833ec7be34a44662822.png

d5281d579f3e4dbbf78837dc78ee1db8.png

5f3407c35c50e67dd8c85dac56ec46e5.png

f546ac468d1c572e50db7364d1e5fb50.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/374616
推荐阅读
相关标签