Firefly单卡复刻Vicuna-13B,Open LLM榜单略高0.2分-程序员宅基地

来自:YeungNLP

进NLP群—>加入NLP交流群

01

前言

在过去的几个月里,经过不断的迭代更新,Firefly项目已支持对LLaMA-2、Ziya、Baichuan、InternLM、LLaMA-1、Bloom等模型进行指令微调,并且开源了多个经过中文指令微调的模型权重,获得了很多同学的支持。目前本项目在Github上获得了1100+star️,感谢大家的关注和支持。

7626ec4f77f266702c14ed17be1c3013.jpeg

此前,我们花了较多精力在优化训练流程之上,而随着项目的不断迭代,我们越发感受到模型评测的重要性。此前我们更多是以看case的形式,主观判断模型的效果,不严谨其说服力不足,无法衡量Firefly的能力。

我们也在逐步完善项目的模型评测工作。此次,我们开源了firefly-llama-13b,并且在Hugging Face的Open LLM榜单上进行了客观的评测。

在榜单上,firefly-llama-13b取得了不错的效果,比vicuna-13b-1.1略高0.2分比llams-2-13b-chat略低0.5分比vicuna-13b-v1.3略低0.6分。从评测分数来看,firefly-llama-13b与vicuna-13b、llama-2-13b-chat的水平非常接近。

注:表中各列依次为Average、ARC、HellaSwag、MMLU、TruthfulQA (MC)。

0dcb4f149b14d1ddb83ff0745e4c8ba3.jpeg

Firefly项目地址:

https://github.com/yangjianxin1/Firefly

firefly-llama-13b权重:

https://huggingface.co/YeungNLP/firefly-llama-13b

 Open LLM排行榜:

https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard

02

模型指标

 Open LLM排行榜是Hugging Face设立的一个用于评测开放大语言模型的公开榜单。该榜单一共包括以下四个评测基准:

  • AI2 Reasoning Challenge:一套小学科学问题。

  • HellaSwag:一个测试常识推理的测试,对人类来说很容易(~95%),但对语言模型来说却具有挑战性。

  • MMLU:一个测试文本模型的多任务准确性的测试。测试覆盖57个任务,包括基础数学、美国历史、计算机科学、法律等。

  • Truthful QA MC:一个测试语言模型在生成问题答案时是否真实的基准。

61127fa9efcb4296ec17de02442307f3.png

firefly-llama-13b在Open LLM榜单上的评测结果如下:

  1. firefly-llama-13b以59.4分的成绩,超越vicuna-13b-1.1的59.2分和guanaco-13b的59.1分

  2. 仅比最近大火的Llama-2-13b-chat-hf的59.9分,略低0.5分;比vicuna-13b-v1.3的60分,略低0.6分。

  3. 大幅领先vicuna-7b-v1.3和mpt-7b-chat等7B参数量的模型。

  4. firefly-llama-13b在ARC评测集上比vicuna-13b-v1.3高4.4分,在TruthfulQA评测集上比Llama-2-13b-chat-hf高5.5分。美中不足的是,firefly-llama-13b在MMLU和TruthfulQA评测集上的表现和vicuna-13b还有一定的差距。

d3311b6be398983370e4eecc633be95c.jpeg

该评测结果验证了Firefly的QLoRA训练流程的有效性。对于TruthfulQA与MMLU评测效果的不足之处,我们也正在进行一项数据实验。

值得注意的是,vicuna-13b模型采用的是全量参数微调,对训练资源的要求十分高。而firefly-llama-13b采用的则是QLoRA微调,最少仅需16G显存,即可对13B的模型进行微调。

我们使用Firefly的QLoRA训练pipeline对llama-13b进行指令微调,当长度为1024,batch size为1时,显存占用不到16G,一张24G的显卡便可满足训练条件,极大地降低了百亿大模型的训练门槛。

8f82d2c8c825f18cf90a5a1bb5de66c5.jpeg

02

训练策略

我们采用QLoRA策略来训练firefly-llama-13b。对于QLoRA的原理和训练流程尚不熟悉的同学,可参考我们往期的文章介绍:

  1. 微调百川Baichuan-13B保姆式教程,手把手教你训练百亿大模型

  2. Firefly-13B开源,QLoRA+百万数据,单卡可训百亿大模型

  3. Firefly|百川baichuan-7B实测,QLoRA+百万指令数据微调

  4. Firefly | QLoRA+百万数据,多卡高效微调bloom-7b1模型

  5. 【QLoRA实战】使用单卡高效微调bloom-7b1,效果惊艳

我们采用huggyllama/llama-13b作为基座模型,使用UltraChat数据集,这是由清华大学开源的英文多轮对话数据,包含140万条多轮对话数据。我们仅训练一个epoch。

我们将训练数据整理成jsonl格式,每条数据格式如下,其中conversation字段是必需的。

{
    "conversation_id":"4",
    "dataset":"UltraChat",
    "conversation":[
        {
            "human":"What is the most popular smartphone brand these days?",
            "assistant":"As an AI language model, I don't have updated information on the current market scenario. However, according to recent statistics, Samsung, Apple, and Huawei are among the most popular smartphone brands worldwide."
        },
        {
            "human":"Interesting! Among these three brands, which one do you think has the most features and benefits for its price?",
            "assistant":"As an AI language model, I cannot have personal opinions or bias towards any brand. However, all three brands - Samsung, Apple, and Huawei - offer different features and benefits at different price points. It ultimately comes down to your personal preferences and requirements, like camera quality, design, software, operating system, and other factors, to choose the right brand and model that fits your needs and budget."
        },
        {
            "human":"Can you tell me more about the camera quality of these three brands? Which one has the best camera performance?",
            "assistant":"Sure, I can provide you with some information about the camera quality of these three smartphone brands.\n\n1. Apple: iPhones are well known for their camera performance. The latest iPhone models come with a dual-camera or triple-camera setup that is capable of capturing stunning pictures and videos. Apple also introduced features like Night mode, Deep Fusion, and LiDAR Scanner that enhance the camera quality even further.\n\n2. Samsung: Samsung's flagship smartphone models like Galaxy S and Galaxy Note series are known for their camera capabilities. The latest models of Samsung smartphones come with a high-resolution camera that produces excellent pictures with vibrant colors and sharp details. Samsung also offers features like a 108-megapixel camera, Space Zoom, and Single Take mode that enhance the camera quality.\n\n3. Huawei: Huawei smartphones are known for their camera performance and innovation. The latest models like P40 Pro and P40 Pro+ come with a high-resolution camera, and Huawei's proprietary camera technology produces excellent picture quality. Huawei phones also offer features like SuperZoom, AI Cinema, and other editing tools to enhance the camera experience.\n\nAll three brands offer excellent camera quality, but the best camera among these three brands would depend on individual preferences and usage. It's recommended to compare the camera specifications, sample pictures, and features of each brand's models to choose the one that fits your requirements."
        },
        {
            "human":"That's helpful. I'm particularly interested in low-light photography. Which of these three brands would you suggest for taking good quality pictures in low light?",
            "assistant":"All three brands - Apple, Samsung, and Huawei - offer excellent low-light photography options, but their approach to low-light photography is different, and each brand has its own strengths and weaknesses when it comes to capturing photos in low light. Here's a brief overview of each brand's approach to low-light photography.\n\n1. Apple: Apple's Night mode feature, which is available on recent iPhone models, is designed to take bright and detailed photos in low light. Night mode uses a combination of multi-frame image processing and advanced machine learning to capture crisp and clear images in both indoor and outdoor low-light environments.\n\n2. Samsung: Samsung's low-light photography capabilities are mainly powered by its camera's sensor and lens technology. The newer Samsung Galaxy S and Galaxy Note models come with a larger sensor and wider aperture, which allows more light to enter the device, resulting in brighter and more detailed photos. These models also use Multi-Frame Noise Reduction and Scene Optimizer to improve the quality of photos taken in low light.\n\n3. Huawei: Huawei is known for its exceptional low-light photography capabilities. Huawei's proprietary camera technology, which uses a combination of large sensors, advanced algorithms, and AI, produces bright and detailed low-light photos. The Huawei P40 Pro and P40 Pro+ models come with a SuperSensing 50-megapixel main lens, which enables capturing clear images in low-light conditions.\n\nAll three brands offer great options, but if you are looking for capturing low light photos primarily, then Huawei's P40 Pro, P40 Pro+ or Mate 40 Pro might be a good choice for you due to the brand's focus on low-light photography features."
        },
        {
            "human":"I'm also curious about the battery life of these smartphones. Which brand offers the longest battery life on average?",
            "assistant":"Battery life is an important factor for anyone looking to buy a smartphone, and all three brands - Apple, Samsung, and Huawei - offer different battery life options. 1. Apple: Battery life on iPhones can last anywhere from 4 to 10 hours, depending on the model you choose. Apple's latest iPhone models come with improved battery life with all-day battery performance. However, if you tend to use your smartphone frequently or for more power-intensive tasks, such as gaming or video playback, you may need to charge your iPhone more frequently. 2. Samsung: Samsung's Galaxy series has excellent battery life, and the newer models like the Galaxy S21 and Galaxy Note 20 are designed to last all day long. The battery life on Samsung phones varies from one model to another, but in general, they offer better battery life compared to iPhones. 3. Huawei: Huawei phones are often praised for their long battery life. They come with large-capacity batteries that can last up to two days, depending on usage. The latest Huawei models like the P40 Pro and Mate 40 Pro, also have fast charging features, which means you can quickly refuel your smartphone's battery when it's running low. In conclusion, all three brands offer decent battery life, but Huawei typically offers the longest battery life on average, followed by Samsung."
        },
        {
            "human":"That's good to know. I'm also wondering about the durability of these smartphones. Which brand offers the most durable phones? I tend to drop my phone frequently, so I want something that can handle a few falls.",
            "assistant":"All three Smartphone brands - Apple, Samsung, and Huawei - offer durable smartphones, but it's hard to say which one is the most durable since different models have different levels of durability. That being said, here is some information on their durability.\n\n1. Apple: Apple is known for offering durable and sturdy smartphones that can withstand some rough handling. Recent iPhone models come with reinforced glass and are water and dust-resistant. However, with its sleek designs, the iPhone models may be more prone to shattering and cracking if dropped.\n\n2. Samsung: Samsung smartphones like the Galaxy S and Galaxy Note series are generally sturdy and are made with scratch-resistant glass. The newer models are water and dust resistant and come with reinforced corners to protect against drops and bumps.\n\n3. Huawei: Huawei also offers durable smartphones that can handle some falls and rough handling. The latest Huawei models usually come with a sturdy build, reinforced corners, and scratch-resistant glass. The Huawei Mate 40 Pro even has a ceramic back, making it extra durable.\n\nIn conclusion, all three brands - Apple, Samsung, and Huawei - offer durable smartphones that can handle some drops, but the level of durability varies from model to model. If frequent drops are a concern, it's recommended to choose a phone with a rugged case or invest in a protective case to ensure better protection."
        }


    ]
}

训练时,我们将多轮对话拼接成如下格式,然后进行tokenize。

<s>input1</s>target1</s>input2</s>target2</s>...

在计算loss时,我们通过mask的方式,input部分的loss不参与参数更新,只有“target</s>”部分的loss参与参数更新。这种方式充分利用了模型并行计算的优势,训练更加高效,且多轮对话中的每个target部分都参与了训练,训练更充分。否则,就需要把一个n轮对话,拆分成n条数据,且只计算最后一个target的loss,大大降低了训练效率。

loss计算的实现方式可参考以下代码:

https://github.com/yangjianxin1/Firefly/blob/master/component/loss.py#L3

对于QLoRA,除了embedding和lm_head外,我们在所有全连接层都插入adapter,其中lora_rank为64,lora_alpha为16,lora_dropout为0.05。最终参与训练的参数量约为2.5亿

训练超参数如下所示:

max length 1024
lr_scheduler_type constant_with_warmup
batch size 64
lr 1e-4
warmup step 3000
optimizer paged_adamw_32bit
training step 23k

模型的训练损失的变化趋势如下图所示。

5d1eaede38b4d43358a79750e3afeced.png

03

效果对比

我们使用Vicuna官网中的部分输入进行测试,以对比vicuna-13b与firefly-llama-13b的生成结果。

注:vicuna-13b的结果为其官网展示样例。

示例1:【撰写一篇引人入胜的旅行博客文章,内容涉及最近去夏威夷旅行,强调文化经历和必看的景点。】

114065b396741cd03ace0ef114f3673d.png

2acb41b1e2b6543ee51bf8388f5a1eaa.png

示例2:【如果14世纪没有发生黑死病会怎样?】

9e76131e22eb9694fef809b6ebeaa2aa.png

0f403841cb7e557d7b6d964ea858421d.png

示例3:【如果艾萨克·牛顿专注于生物学而不是物理学会怎样?】

ce9882127e28d285ae65f1d22d62cd3d.png

a5dab6a8738d702a599df437a346696f.png

示例4:【使用一次性塑料瓶而不是可重复使用的瓶子,对环境和人类健康有什么潜在影响?】

377a1fc88de24bc4ea3cada8397dbfe5.png

658a90b1c9814882f75cb2296db28250.png

我们将在共享文档中补充更多的对比结果:

71a582a7a3b19ce797e9cfb701fe7386.jpeg

从一些生成例子来看,firefly-llama-13b与vicuna-13b的性能比较接近。

04

结语

此次我们开源了firefly-llama-13b,在Open LLM排行榜上的评测结果与vicuna-13b、Llama-2-13b-chat非常接近,验证了Firefly的QLoRA训练流程的有效性。

QLoRA工作一经发布,Firefly项目便开始研究和探索QLoRA训练方案。随着不断迭代更新,项目支持对越来越多的模型进行微调,也开源了一些中文模型,但始终缺乏评测环节。此次的评测工作,弥补了项目在这方面的缺失,验证了训练流程的有效性。


进NLP群—>加入NLP交流群

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27590277/article/details/131874928

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签