您好,欢迎访问一九零五行业门户网

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

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
项目作者表示:该项目旨在促进中文对话大模型开源社区的发展。
项目地址:https://github.com/lianjiatech/belle
项目介绍该项目主要包含以下四部分内容:
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 的方式:
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
输出文件在 belle.train.json,可以人工筛选后再使用。
模型调优
该项目基于 bloomz-7b1-mt 模型和 belle.train.json 训练模型,具体参数如下:
此外,该项目还采取了不同大小规模(20 万、60 万、100 万和 200 万样本)的指令学习的数据集训练模型,得到不同的模型版本如下所示:
模型使用例子
局限性和使用限制
基于当前数据和基础模型训练得到的 sft 模型,在效果上仍存在以下问题:
在涉及事实性的指令上可能会产生违背事实的错误回答。对于具备危害性的指令无法很好的鉴别,由此会产生危害性言论。在一些涉及推理、代码等场景下模型的能力仍有待提高。基于以上模型局限性,该项目要求开发者仅将开源的代码、数据、模型及后续用此项目生成的衍生物用于研究目的,不得用于商业,以及其他会对社会带来危害的用途。以上就是弥补斯坦福70亿参数「羊驼」短板,精通中文的大模型来了,已开源的详细内容。
其它类似信息

推荐信息