轻量级模型,重量级性能,TinyLlama、LiteLlama小模型火起来了,针对特定领域较小的语言模型是否与较大的模型同样有效?

轻量级模型,重量级性能,TinyLlama、LiteLlama小模型火起来了,针对特定领域较小的语言模型是否与较大的模型同样有效?

在这里插入图片描述

当大家都在研究大模型(LLM)参数规模达到百亿甚至千亿级别的同时,小巧且兼具高性能的小模型开始受到研究者的关注。

小模型在边缘设备上有着广泛的应用,如智能手机、物联网设备和嵌入式系统,这些边缘设备通常具有有限的计算能力和存储空间,它们无法有效地运行大型语言模型。因此,深入探究小型模型显得尤为重要。

在这里插入图片描述

接下来我们要介绍的这两项研究,可能满足你对小模型的需求。

TinyLlama-1.1B

来自新加坡科技设计大学(SUTD)的研究者近日推出了 TinyLlama,该语言模型的参数量为 11 亿,在大约 3 万亿个 token 上预训练而成。

在这里插入图片描述

论文地址:https://arxiv.org/pdf/2401.02385.pdf
项目地址:https://github.com/jzhang38/TinyLlama/blob/main/README_zh-CN.md
TinyLlama 以 Llama 2 架构和分词器(tokenizer)为基础,这意味着 TinyLlama 可以在许多基于 Llama 的开源项目中即插即用。此外,TinyLlama 只有 11 亿的参数,体积小巧,适用于需要限制计算和内存占用的多种应用。

该研究表示仅需 16 块 A100-40G 的 GPU,便可在 90 天内完成 TinyLlama 的训练。
在这里插入图片描述

该项目从上线开始,持续受到关注,目前星标量达到 4.7K。
在这里插入图片描述
TinyLlama 模型架构详细信息如下所示:
在这里插入图片描述
训练细节如下:
在这里插入图片描述
研究者表示,这项研究旨在挖掘使用较大数据集训练较小模型的潜力。他们重点探究在用远大于扩展定律(scaling law)建议的 token 数量进行训练时,较小模型的行为表现。

具体来说,该研究使用大约 3 万亿个 token 训练具有 1.1B 个参数的 Transformer (仅解码器)模型。据了解,这是第一次尝试使用如此大量的数据来训练具有 1B 参数的模型。

尽管规模相对较小,但 TinyLlama 在一系列下游任务中表现相当出色,它的性能显著优于同等大小的现有开源语言模型。具体来说,TinyLlama 在各种下游任务中都超越了 OPT-1.3B 和 Pythia1.4B 。

此外,TinyLlama 还用到了各种优化方法,如 flash attention 2、FSDP( Fully Sharded Data Parallel )、 xFormers 等。

在这些技术的加持下,TinyLlama 训练吞吐量达到了每 A100-40G GPU 每秒 24000 个 token。例如,TinyLlama-1.1B 模型对于 300B token 仅需要 3,456 A100 GPU 小时,而 Pythia 为 4,830 小时,MPT 为 7,920 小时。这显示了该研究优化的有效性以及在大规模模型训练中节省大量时间和资源的潜力。

TinyLlama 实现了 24k tokens / 秒 / A100 的训练速度,这个速度好比用户可以在 8 个 A100 上用 32 小时训练一个具有 11 亿参数、220 亿 token 的 chinchilla-optimial 的模型。同时,这些优化也大大减少了显存占用,用户可以把 11 亿参数的模型塞入 40GB 的 GPU 里面还能同时维持 16k tokens 的 per-gpu batch size。只需要把 batch size 改小一点, 你就可以在 RTX 3090/4090 上面训练 TinyLlama。
在这里插入图片描述
在这里插入图片描述

实验中,该研究主要关注具有纯解码器架构的语言模型,包含大约 10 亿个参数。具体来说,该研究将 TinyLlama 与 OPT-1.3B、Pythia-1.0B 和 Pythia-1.4B 进行了比较。

TinyLlama 在常识推理任务上的性能如下所示,可以看出 TinyLlama 在许多任务上都优于基线,并获得了最高的平均分数。
在这里插入图片描述
此外,研究者在预训练期间跟踪了 TinyLlama 在常识推理基准上的准确率,如图 2 所示,TinyLlama 的性能随着计算资源的增加而提高,在大多数基准中超过了 Pythia-1.4B 的准确率。

在这里插入图片描述
表 3 表明,与现有模型相比,TinyLlama 表现出了更好的问题解决能力。
在这里插入图片描述
手快的网友已经开始整活了:运行效果出奇得好,在 GTX3060 上运行,能以 136 tok / 秒的速度运行。

在这里插入图片描述

「确实是快!」

在这里插入图片描述

小模型 LiteLlama

由于 TinyLlama 的发布,SLM(小型语言模型)开始引起广泛关注。德克萨斯工农大学的 Xiaotian Han 发布了 SLM-LiteLlama。它有 460M 参数,由 1T token 进行训练。这是对 Meta AI 的 LLaMa 2 的开源复刻版本,但模型规模显著缩小。
在这里插入图片描述
项目地址:https://huggingface.co/ahxt/LiteLlama-460M-1T

LiteLlama-460M-1T 在 RedPajama 数据集上进行训练,并使用 GPT2Tokenizer 对文本进行 token 化。作者在 MMLU 任务上对该模型进行评估,结果如下图所示,在参数量大幅减少的情况下,LiteLlama-460M-1T 仍能取得与其他模型相媲美或更好的成绩。

在这里插入图片描述
以下为该模型的性能表现,更详细内容请参阅:

https://huggingface.co/datasets/open-llm-leaderboard/details_ahxt__llama2_xs_460M_experimental

在这里插入图片描述
面对规模大幅缩小的 LiteLlama,有网友好奇,它是否能够在 4GB 的内存上运行。如果你也想知道,不如亲自试试看吧。


经过2023年的发展,大语言模型展示出了非常大的潜力,训练越来越大的模型成为有效性评估的一个关键指标,论文《A Comparative Analysis of Fine-Tuned LLMs and Few-Shot Learning of LLMs for Financial Sentiment Analysis》中,作者全面分析了微调大语言模型(llm)及其在金融情绪分析中的零样本和少样本的能力。

在这里插入图片描述

作者通过使用两种方法来探索金融情绪分析背景下的潜力和适用性:

在特定的领域(金融领域)的数据集上,使用小语言模型进行微调,作者测试了250M到3B参数各种模型
以gpt-3.5 turbo为重点的情境学习
作者还将结果与SOTA(最先进的)模型进行比较以评估其性能,我们看看小模型是否还同样有效。

论文证明了以下观点:

微调较小的llm可以达到与SOTA微调llm相当的性能。
零样本和少样本学习的的性能与经过微调的小型llm相当。
增加上下文学习中的样本数量并不一定会提高情感分析任务的性能。
微调较小的llm会降低成本和提高计算效率。
作者专注于使用QLoRa (Quantized low - rank - adaptive)机制对FLAN-T5模型进行微调。使用财务特定数据集,研究了3种尺寸:Flan-T5 base (250M), Flan-T5 large (780M)和Flan-T5-xl (3B参数)。

论文概述
论文首先总结了特定于金融领域的SOTA模型:

FinBERT:使用总计4.9B Token组的金融通信语料库进行微调的BERT。
bloomberg ggpt:这是一个包含50B个参数的闭源模型,专门针对各种金融数据进行训练。它在情感分析中表现出良好的性能。
使用LLama-7B对FinGPT进行微调。该模型使用更少的计算资源实现了与bloomberg ggpt相当的性能。
ChatGPT这样的llm也可以使用零样本学习。但是他们在少样本学习中表现并不理想
作者使用了以下模型:

1、没有进行任何微调:Flan-T5 base (250M), Flan-T5 large (780M), Flan-T5-xl (3B参数),ChatGPT (gpt-3.5 turbo)。目标是研究模型的大小对零样本和少样本学习的影响。

2、微调llm:具有3个尺寸的相同型号的Flan-T5已经进行了微调。

数据集
使用了Twitter财经新闻(Twitter Train),包括与金融主题相关的推文,可通过HuggingFace访问。它包含9540个样本。

TFSN: 2390个带有注释的财经相关推文语料库样本。

FPB: 4845篇金融新闻文章样本,由16位领域专家注释。

GPU资源
为了对3个模型进行微调,作者使用了A100 GPU,每个模型的总训练时间如下:基本模型28分钟,大模型54分钟,XL模型65分钟,所以说这个微调是非常节省资源的。

微调小型LLMs
结果显示了经过微调的小型llm优于大型llm的性能:
在这里插入图片描述
所有Fine-tuned-FLAN-T5的性能都优于FinBERT;Large (780M)和XL(3B) fine - tuning - flan - t5性能优于directive - lama- 7b;在TFSN数据集中,即使是基础(250M)微调的flan - t5也比使用ChatGPT (gpt-3.5 turbo)的k-shot上下文学习表现更好。

少样本学习
以下是0 -shot和k-shot学习的结果(k= 1,5和10):
在这里插入图片描述

在TFSN数据集上,零样本和少样本学习的表现明显低于所有其他微调模型。(除了XL,表现比FinBert稍好)

但是在FPB数据集中,与ChatGPT相比,Large和XL Flan-T5零样本和少样本学习表现出较强的性能。

样本的增加使得基本型Flan-T5的性能略有提升。但在Large和XL fall - t5中,这导致精度下降。这是因为冗长的上下文窗口可能会导致LLM误入歧途。

所以作者建议,当k-shot增加时可以使用语义相似检索或思维链(CoT)或线索和推理提示(CARP)方法来解决性能下降的问题。

总结
可以看到,针对特定的领域,微调小模型还是能过够得到很好的效果,这在对于我们实际应用是是非常有帮助的,不仅可以节省成本,还可以节省我们的训练时间,可以让我们进行快速的版本迭代。

论文地址:

https://arxiv.org/pdf/2312.08725.pdf


参考链接:

https://twitter.com/_akhaliq/status/1744009616562819526

https://twitter.com/XiaotianHan1/status/1743824496916656275

https://twitter.com/abacaj/status/1743303507594097136

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql8.0 字符集

在8.0版本之前,MySQL默认的字符集为latin1,而8.0版本默认的字符集为utf8mb4。 latin1是ISO-8859-1的别名,有些环境下写作latin-1。ISO-8859-1编码是单字节编码,不支持中文等多字节字符,但向下兼容ASCII,其编…

学生信息的那些操作:(3)按姓名,查个人

有一学生成绩表&#xff0c;包括学号、姓名、3门课程成绩。请实现如下查找功能&#xff1a;输入一个学生的姓名&#xff0c;输出该学生学号、姓名、3门课程成绩 输入格式: 首先输入一个整数n(1<n<100)&#xff0c;表示学生人数&#xff1b; 然后输入n行&#xff0c;每…

关于CSS 盒子模型的基础教程

什么是CSS盒子模型&#xff1f; 在学习CSS布局时&#xff0c;一个非常重要的概念就是盒子模型。CSS盒子模型描述了网页中元素的布局方式&#xff0c;每个元素都被看作一个矩形的盒子&#xff0c;这个盒子包含了内容、内边距、边框和外边距四个部分。 盒子模型的组成部分 盒子…

Linux环境基础开发工具使用篇(三) git 与 gdb

一、版本控制器-git 1.简单理解: ①git既是服务端&#xff0c;又是客户端 ②git会记录版本的变化 ③git是一个去中心化的分布式软件 git/gitee 是基于git仓库搭建的网站&#xff0c;让版本管理可视化 2.git 三板斧提交代码 查看安装的git版本 git--version 命令行提交代…

FPGA IO命名与Bank划分

文章目录 IO的命名IO物理命名IO功能命名 Bank简介FPGA器件功能命名与Bank划分查找XILINXIntelLATTICE IO的命名 IO物理命名 FPGA的IO物理命名规则&#xff0c;也就是我们做管脚约束时候的命名。芯片通常是长方体或者正方体&#xff0c;所以命名通常采用字母数字组合的方式&am…

FMM 笔记:st-matching(colab上执行)【官方案例解读】

在colab上运行&#xff0c;所以如何在colab上安装fmm&#xff0c;可见FMM 笔记&#xff1a;在colab上执行FMM-CSDN博客 st-matching见论文笔记&#xff1a;Map-Matching for low-sampling-rate GPS trajectories&#xff08;ST-matching&#xff09;-CSDN博客 0 导入库 from…

华为畅享 60X 到底值得入手吗?这4点你必须要知道

作为一款主打千元机市场的机型&#xff0c;华为畅享 60X 到底怎么样&#xff1f;是否值得入手&#xff1f; 可以负责任的说华为畅享 60X 是一款性价比超高的手机&#xff0c;凭借其出色的硬件配置和适中的价格&#xff0c;不仅拥有华为完整的鸿蒙生态&#xff0c;同时它超大屏幕…

电源轨概念讲解

目录 1、电源轨定义2、模拟运放中电源轨概念3、芯片中电源轨概念 在电子设计中&#xff0c;我们经常会听到电源轨的概念&#xff0c;下面就针对他的定义和模电中的习惯叫法做一个简单的讲解&#xff1a; 1、电源轨定义 电源轨是指电路板上传输电力的线路&#xff0c;只要是连接…

【DL】深度学习之语音识别

目录 1 核心概念 2 安装依赖库 3 实践 语音信号处理&#xff08;Speech Signal Processing&#xff09;简称语音处理。 语音识别&#xff08;ASR&#xff09;和自然语言处理&#xff08;NLP&#xff09;&#xff1a;语音识别就是将语音信号转化成文字文本&#xff0c;简单实…

go 解压和压缩包

將压缩包放在zippath"D:/xx/xx/xx"中,解压到pathto"D:/xx/xx1/xx"中 type UploaddeployLogic struct {logx.Loggerctx context.ContextsvcCtx *svc.ServiceContextr *http.Request }func NewUploaddeployLogic(r *http.Request, svcCtx *svc.Serv…

Spring-Cloud-Gateway集成Sentinel限流

1&#xff09;gateway添加sentinel相关依赖 <spring-cloud.version>2021.0.1</spring-cloud.version> <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><dependencies><!--gateway--><dependency><gro…

Linux yum与rpm区别

yum和rpm都是Linux系统中用于安装、升级和管理软件包的工具&#xff0c;但它们有一些区别。以下是yum和rpm的主要区别&#xff1a; 1. 功能&#xff1a;rpm是一种软件包管理工具&#xff0c;用于安装、升级和卸载软件包。它可以直接操作软件包文件&#xff0c;但不提供依赖关系…

JQUERY简介与分析

在现代的前端开发中&#xff0c;jQuery无疑是一个非常重要且广泛使用的工具库。它不仅简化了JavaScript的编写&#xff0c;还提供了丰富的功能和强大的选择器&#xff0c;使开发者能够更轻松地操作DOM元素、处理事件和实现动态效果。 简单来说&#xff0c;jQuery是一个快速、简…

【主流开发语言和开发环境介绍】

主流开发语言和开发环境介绍 1. 介绍2. 开发语言3. 开发环境 1. 介绍 下面是一些广泛使用的主流开发语言及其相关的开发环境。 2. 开发语言 Python 用途&#xff1a;通用编程、科学计算、数据分析、机器学习、Web开发等。流行库&#xff1a;NumPy, Pandas, TensorFlow, PyTor…

JavaWeb开发初体验

1.动态网站 动态网站可根据不同情况动态变更的网站&#xff0c;动态网站的网页文件包含程序代码&#xff0c;通过后台数据库与web服务器信息交互&#xff0c;由后台数据库提供实时数据更新和数据查询服务。 2.动态网站的功能特点 动态网站可以实现交互功能&#xff0c;…

面试redis篇-11Redis集群方案-哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下: 监控:Sentinel 会不断检查您的master和slave是否按预期工作自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主通知:Sentinel充当…

Springboot企业级开发--开发入门01

目录 目录 一.Spring Boot的主要特点和优势包括&#xff1a; 二.Spring Boot的核心功能可以归纳为以下几点&#xff1a; 三.Springboot是如何解决问题&#xff1f; Spring Boot 是一个开源的Java框架&#xff0c;其设计目标是为了简化新Spring应用的初始搭建以及开发过程。…

POST参数里加号+变成空格的问题处理

今天遇到个这样的问题&#xff0c;从前端传到后端的加密报文&#xff0c;里面包含了号&#xff0c;但在后端日志输出看出&#xff0c;变成空格。这个是由于经过RSA加密后引起的 解决办法&#xff1a; 1.前端转码&#xff1a;使用encodeURIComponent对参数进行转码 2.后端解码…

电脑上查看已保存WiFi密码方法

在电脑上查看WiFi密码有几种方法&#xff0c;以下是其中两种常见的方法&#xff1a; 方法一&#xff1a;通过已连接的WiFi网络查看密码 打开电脑的WiFi设置界面&#xff08;通常可以在任务栏的通知区域找到WiFi图标&#xff0c;点击即可进入设置&#xff09;。 找到已连接的W…

理解Stable Diffusion、LoRA、Dreambooth、Hypernetworks、Textual Inversion、Checkpoint

前言 在深度学习和人工智能的领域中&#xff0c;模型生成和调整技术的快速发展为创造性内容的自动化提供了新的可能性。本文将介绍四种重要的模型技术——Stable Diffusion、LoRA、Dreambooth、和Hypernetworks——它们在生成艺术、个性化模型调整和网络结构设计方面各自的特点…