0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中文对话式大语言模型Firefly-2b6开源,使用210万训练数据

深度学习自然语言处理 ? 来源:YeungNLP ? 2023-04-14 10:30 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在文章Firefly(流萤): 中文对话式大语言模型中,我们介绍了关于Firefly(流萤)项目的工作,并且分享了我们训练的firefly-1b4模型。这是Firefly项目开源的第一个模型,虽然取得了还不错的效果,但无论是训练数据还是模型参数量,都还有很大的优化空间。

所以,在firefly-1b4实验的基础上,我们对训练数据进行清洗,并且增加了数据量,得到210万数据,并用它训练得到了firefly-2b6模型。

在本文中,我们将对该模型进行分享和介绍。与firefly-1b4相比,firefly-2b6的代码生成能力取得了较大的进步,并且在古诗词生成、对联、作文、开放域生成等方面也有不错的提升。

firefly-1b4和firefly-2b6的训练配置如下表所示。无论是训练数据量,还是训练步数,firefly-2b6都更加充分。

参数 firefly-1b4 firefly-2b6
batch size 16 8
learning rate 3e-5 3e-5
warmup step 3000 3000
lr schedule cosine cosine
max length 512 512
training step 90k 260k
训练集规模 160万 210万

项目地址:

https://github.com/yangjianxin1/Firefly

模型权重链接见文末。

模型使用

使用如下代码即可使用模型:

from transformers import BloomTokenizerFast, BloomForCausalLM
device = 'cuda'
path = 'YeungNLP/firefly-2b6'


tokenizer = BloomTokenizerFast.from_pretrained(path)
model = BloomForCausalLM.from_pretrained(path)
model.eval()
model = model.to(device)
text = input('User:')
while True:
    text = '{}'.format(text)
    input_ids = tokenizer(text, return_tensors="pt").input_ids
    input_ids = input_ids.to(device)
outputs=model.generate(input_ids,max_new_tokens=250,do_sample=True,top_p=0.7,temperature=0.35,
                             repetition_penalty=1.2, eos_token_id=tokenizer.eos_token_id)
    rets = tokenizer.batch_decode(outputs)
    output = rets[0].strip().replace(text, "").replace('', "")
    print("Firefly:{}".format(output))
    text = input('User:')

代码生成

尽管在训练集中,代码的数据量不多,但令人惊喜的是,firefly-2b6已经具备一定的代码生成能力。

在笔者的实测中,对于一些编程题,firefly-2b6生成的代码可以做到无需修改,直接运行成功,并且得到正确的答案。下面将展示一些编程题的生成例子。

示例1:帮我用python写一个冒泡排序算法

dee31870-d9b9-11ed-bfe3-dac502259ad0.png

示例2:用python实现一个快速排序算法,输入为一个数组,返回排序好之后的数组。

deec2f32-d9b9-11ed-bfe3-dac502259ad0.png

示例3:用python写一个二分查找算法。

defb67b8-d9b9-11ed-bfe3-dac502259ad0.png

示例4:写一个函数,计算数组中偶数的个数,输入为数组,输出为偶数的个数。

df04d12c-d9b9-11ed-bfe3-dac502259ad0.png

示例5:用html生成一个教务管理系统的登录界面,要求包含用户名、密码输入框和登录按钮。

df0d21ce-d9b9-11ed-bfe3-dac502259ad0.png

该html代码在浏览器中的效果如下图:

df142ce4-d9b9-11ed-bfe3-dac502259ad0.png

其他样例

同样,我们也对文言文、古诗词、文章生成等数据进行了清洗,提高数据的质量。实测下来,我们发现firefly-2b6的生成效果,确实提升了不少。

数据质量的优化,对文言文翻译任务的提升,尤为明显。在训练firefly-1b4时,文言文数据为较短的句子对。但在训练firefly-2b6时,我们使用了较长篇幅的文本对。

下面为一些实测的例子。

df1b8c28-d9b9-11ed-bfe3-dac502259ad0.png

df286d30-d9b9-11ed-bfe3-dac502259ad0.png

df352c5a-d9b9-11ed-bfe3-dac502259ad0.png

df3dc2e8-d9b9-11ed-bfe3-dac502259ad0.png

df457308-d9b9-11ed-bfe3-dac502259ad0.png

df4cf9ac-d9b9-11ed-bfe3-dac502259ad0.png

df5354dc-d9b9-11ed-bfe3-dac502259ad0.png

df59bf2a-d9b9-11ed-bfe3-dac502259ad0.png

df615a96-d9b9-11ed-bfe3-dac502259ad0.png

df6d2b96-d9b9-11ed-bfe3-dac502259ad0.png

文章小结

虽然firefly-2b6已经初步具备代码生成能力,但由于训练集中的代码数据的数量不多,对于一些编程题,效果不如人意。我们觉得仍有非常大的优化空间,后续我们也将收集更多代码数据,提升模型的代码能力。

经过firefly-1b4和firefly-2b6两个模型的迭代,能明显感受到增加数据量、提升数据质量、增大模型参数量,对模型的提升非常大。

在前文中,我们提到,firefly-1b4在训练数据量、训练步数上都略有不足。为了探索"小"模型的效果上限,我们也将使用更多数量、更高质量的数据对firefly-1b4进行迭代。该项工作正在进行。

后续,我们也将在多轮对话、增大模型参数量、模型量化等方向上进行迭代,我们也将陆续开源训练代码以及更多的训练数据。期待大家的意见和建议。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3547

    浏览量

    50737
  • 代码
    +关注

    关注

    30

    文章

    4907

    浏览量

    71240
  • 语言模型
    +关注

    关注

    0

    文章

    565

    浏览量

    10873

原文标题:中文对话式大语言模型Firefly-2b6开源,使用210万训练数据

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    海思SD3403边缘计算AI数据训练概述

    模型,将模型转化为嵌入AI模型模型升级AI摄像机,进行AI识别应用。 AI训练
    发表于 04-28 11:11

    用PaddleNLP为GPT-2模型制作FineWeb二进制预训练数据

    ,使用PaddleNLP将FineWeb数据中文本形式的数据,经过分词化(Tokenize),转换为大语言模型能直接使用的二进制
    的头像 发表于 03-21 18:24 ?2284次阅读
    用PaddleNLP为GPT-<b class='flag-5'>2</b><b class='flag-5'>模型</b>制作FineWeb二进制预<b class='flag-5'>训练</b><b class='flag-5'>数据</b>集

    小白学大模型训练语言模型的深度指南

    在当今人工智能飞速发展的时代,大型语言模型(LLMs)正以其强大的语言理解和生成能力,改变着我们的生活和工作方式。在最近的一项研究中,科学家们为了深入了解如何高效地训练大型
    的头像 发表于 03-03 11:51 ?832次阅读
    小白学大<b class='flag-5'>模型</b>:<b class='flag-5'>训练</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的深度指南

    模型训练:开源数据与算法的机遇与挑战分析

    进行多方位的总结和梳理。 在第二章《TOP 101-2024 大模型观点》中,苏州盛派网络科技有限公司创始人兼首席架构师苏震巍分析了大模型训练过程中开源
    的头像 发表于 02-20 10:40 ?687次阅读
    大<b class='flag-5'>模型</b><b class='flag-5'>训练</b>:<b class='flag-5'>开源</b><b class='flag-5'>数据</b>与算法的机遇与挑战分析

    腾讯公布大语言模型训练新专利

    近日,腾讯科技(深圳)有限公司公布了一项名为“大语言模型训练方法、装置、计算机设备及存储介质”的新专利。该专利的公布,标志着腾讯在大语言模型
    的头像 发表于 02-10 09:37 ?500次阅读

    语言模型开发框架是什么

    语言模型开发框架是指用于训练、推理和部署大型语言模型的软件工具和库。下面,AI部落小编为您介绍大语言
    的头像 发表于 12-06 10:28 ?597次阅读

    什么是大模型、大模型是怎么训练出来的及大模型作用

    ,基础模型。 ? 大模型是一个简称,完整的叫法,应该是“人工智能预训练模型”。预训练,是一项技术,我们后面再解释。 ? 我们现在口头上常说
    的头像 发表于 11-25 09:29 ?1.4w次阅读
    什么是大<b class='flag-5'>模型</b>、大<b class='flag-5'>模型</b>是怎么<b class='flag-5'>训练</b>出来的及大<b class='flag-5'>模型</b>作用

    从零开始训练一个大语言模型需要投资多少钱?

    一,前言 ? 在AI领域,训练一个大型语言模型(LLM)是一个耗时且复杂的过程。几乎每个做大型语言模型(LLM)
    的头像 发表于 11-08 14:15 ?854次阅读
    从零开始<b class='flag-5'>训练</b>一个大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>需要投资多少钱?

    如何训练自己的LLM模型

    训练自己的大型语言模型(LLM)是一个复杂且资源密集的过程,涉及到大量的数据、计算资源和专业知识。以下是训练LLM
    的头像 发表于 11-08 09:30 ?1667次阅读

    语言模型如何开发

    语言模型的开发是一个复杂且细致的过程,涵盖了数据准备、模型架构设计、训练、微调和部署等多个阶段。以下是对大
    的头像 发表于 11-04 10:14 ?659次阅读

    AI大模型训练数据来源分析

    学术机构、政府组织或企业公开发布,涵盖了各种类型的数据,如图像、文本、音频、视频等。例如: ImageNet :一个广泛用于图像识别任务的大规模图像数据集。 Common Crawl :提供了大量的网页抓取数据以供自然
    的头像 发表于 10-23 15:32 ?4145次阅读

    如何训练自己的AI大模型

    训练AI大模型之前,需要明确自己的具体需求,比如是进行自然语言处理、图像识别、推荐系统还是其他任务。 二、数据收集与预处理 数据收集 根据
    的头像 发表于 10-23 15:07 ?5340次阅读

    PerfXCloud重磅升级 阿里开源最强视觉语言模型Qwen2-VL-7B强势上线!

    「重磅通知」 :PerfXCloud 再度华丽升级,现已全面支持迄今为止 最为卓越的开源视觉模型 Qwen2-VL-7B 。这一重大突破将为用户带来更加震撼的视觉体验,进一步拓展创意的边界,快来
    的头像 发表于 10-23 11:07 ?829次阅读
    PerfXCloud重磅升级  阿里<b class='flag-5'>开源</b>最强视觉<b class='flag-5'>语言</b><b class='flag-5'>模型</b>Qwen<b class='flag-5'>2-VL-7B</b>强势上线!

    NVIDIA Nemotron-4 340B模型帮助开发者生成合成训练数据

    Nemotron-4 340B 是针对 NVIDIA NeMo 和 NVIDIA TensorRT-LLM 优化的模型系列,该系列包含最先进的指导和奖励模型,以及一个用于生成 AI
    的头像 发表于 09-06 14:59 ?787次阅读
    NVIDIA Nemotron-4 340<b class='flag-5'>B</b><b class='flag-5'>模型</b>帮助开发者生成合成<b class='flag-5'>训练</b><b class='flag-5'>数据</b>

    摩尔线程与羽人科技完成大语言模型训练测试

    (YuRen-7b)大语言模型训练测试。测试结果显示,训练效率达到预期,夸娥千卡智算集群展现出了高度的兼容性和稳定性,为羽人科技未来的零代
    的头像 发表于 08-27 16:19 ?896次阅读