首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源盛宴:弥补斯坦福70亿参数“羊驼”短板,精通中文的大模型

老规矩先上代码:https://github.com/LianjiaTech/BELLE

BELLE: Bloom-Enhanced Large Language model Engine

本项目基于 Stanford Alpaca ,Stanford Alpaca 的目标是构建和开源一个基于LLaMA的模型。Stanford Alpaca 的种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。

本项目目标是促进中文对话大模型开源社区的发展。本项目针对中文做了优化,模型调优仅使用由ChatGPT生产的数据(不包含任何其他数据)。项目包含以下内容:

175个中文种子任务

生成数据的代码

0.5M生成的数据

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

What's New

March 20, 2023: 发布了2M数据训练的7B模型.

March 18, 2023: 发布了1M数据训练的7B模型. 发布了0.6M数据训练的7B模型

March 17, 2023: 发布了0.2M数据训练的7B模型. 发布了0.5M中文数据集

概述

Stanford Alpaca 中提到

使用了Self-Instruct论文中介绍的技术生成了52K条指令数据,同时进行了一些修改,在初步的人类评估中,发现Alpaca 7B模型在Self-Instruct指令评估上的表现类似于text-davinci-003模型。

使用Alpaca模型的在线演示服务,我们发现该模型在中文上的表现还不太好。推测是因为Stanford Alpaca 的种子任务都是英语,收集的数据也都是英文,因此训练出来的模型未对中文优化。为了提升在中文上的效果,本项目基于Stanford Alpaca优化了中文种子任务,对生成代码进行了一些修改,同时选用BLOOMZ-7B作为基础模型训练得到了一个可以更好支持中文指令的开源模型 - BELLE。

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

局限性和使用限制

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

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

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

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

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

数据发布

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

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

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

0.5M生成的数据 :为了方便模型训练,huggingface开源数据将原始生成文件中的"instruction"、"input"字段合并成"input"字段,"output"字段修改为"target"字段。

数据生成

沿用Alpaca的方式:

pip install -r requirements.txt

export OPENAI_API_KEY=YOUR_API_KEY

python generate_instruction.py generate_instruction_following_data

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

python generate_instruction.py generate_instruction_following_data \

--api=chat --model_name=gpt-3.5-turbo

模型调优

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

随后,我们会基于我们之前的工作Exploring ChatGPT's Ability to Rank Content: A Preliminary Study on Consistency with Human Preferences中的方法对比下这几个模型的效果。

模型使用例子

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230323A01J2D00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券