高性能小模型SLM最新优化方案和热门应用盘点,附配套模型和开源代码

当大多数人都还在卷谁的大模型参数规模大的时候,聪明人已经开始搞“小模型”了(doge)。

这里的小模型指的小型语言模型(Small Language Model,简称SLM),通常用于解决资源受限或实时性要求较高的场景,比如一些边缘设备(智能手机、物联网设备和嵌入式系统等),大模型难以运行其上。

目前我们对大模型的探索已经到了瓶颈,因高能耗、巨大的内存需求和昂贵的计算成本,我们的技术创新工作受到了挑战与限制。而对比大模型,小模型耗资少、响应快、可移植性强、泛化能力高...在一些特定情况下,可以提供更高效、更灵活的选择。因此,更多人开始着眼于小巧且兼具高性能的小模型相关的研究。

我今天就帮同学们整理了目前效果不错的高性能小模型,以及一些优秀的小模型性能优化方案和应用成果,包括研究者们在大模型与小模型结合方面做出的尝试。原文共16篇。

这些模型与方案的配套论文和项目代码我全都打包完毕,需要的同学看看文末

高性能小模型

TinyLlama-1.1B

论文:TinyLlama: An Open-Source Small Language Model

一个开源的小型语言模型

「模型简介:」本文介绍了TinyLlama小型语言模型,该模型在大约1万亿个标记上进行了约3个周期的预训练,具有紧凑的1.1B参数规模。TinyLlama基于Llama 2(Touvron等人,2023b)的架构和分词器构建,利用了开源社区贡献的各种先进技术(例如FlashAttention(Dao,2023)),实现了更好的计算效率。尽管其规模相对较小,但TinyLlama在一系列下游任务中表现出色,显著优于现有规模相当的开源语言模型。

LiteLlama

「模型简介:」SLM-LiteLlama是对 Meta AI 的 LLaMa 2 的开源复刻版本,但模型规模显著缩小。它有 460M 参数,由 1T token 进行训练。LiteLlama-460M-1T 在RedPajama数据集上进行训练,并使用 GPT2Tokenizer 对文本进行 token 化。作者在 MMLU 任务上对该模型进行评估,结果证明,在参数量大幅减少的情况下,LiteLlama-460M-1T 仍能取得与其他模型相媲美或更好的成绩。

Phi-1、Phi-1.5、Phi-2

论文:Textbooks Are All You Need II: phi-1.5 technical report

phi -1.5技术报告

「模型简介:」本文继续研究基于Transformer的小型语言模型的能力。之前的工作包括一个1000万参数的模型,可以产生连贯的英语,以及一个13亿参数的模型,其Python编程性能接近最先进水平。作者采用了“Textbooks Are All You Need”的方法,专注于自然语言中的常识推理,并创建了一个新的13亿参数模型,名为phi-1.5。该模型在自然语言任务上的性能与大5倍的模型相当,在更复杂的推理任务上超越了大多数非前沿的大型语言模型。

RoBERTa

论文:RoBERTa: A Robustly Optimized BERT Pretraining Approach

一种鲁棒优化的BERT预训练方法

「模型简介:」本文介绍了BERT预训练的复制研究,仔细测量了许多关键超参数和训练数据大小的影响。作者发现BERT的训练不足,并且可以匹配或超过所有在其之后发布的模型的性能。作者的最佳模型在GLUE、RACE和SQuAD上取得了最先进的结果。这些结果强调了以前被忽视的设计选择的重要性,并对最近报告的改进来源提出了质疑。

FLAME

论文:FLAME: A Small Language Model for Spreadsheet Formulas

一种用于电子表格公式的小型语言模型

「模型简介:」FLAME是一个专为电子表格公式设计的轻量级语言模型。它基于Transformer架构,通过在Excel公式上训练,实现了高效、精准的公式创作和修复功能。与大型语言模型相比,FLAME具有更小的参数规模(60M)和更少的训练数据需求,同时保持了出色的性能。通过利用领域知识,FLAME在公式修复、补全和检索方面超越了其他大型模型,如Codex的Davinci和Cushman变体以及CodeT5。

SLaDe

论文:SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly

用于优化汇编的便携式小型语言模型反编译器

「模型简介:」SLaDe是一个针对优化汇编的便携式小型语言模型反编译器。它基于Transformer架构,通过在真实世界的代码上进行训练,并使用类型推理引擎,能够生成更可读和更准确的程序。与传统的反编译器相比,SLaDe能够推断出上下文之外的类型,并生成正确的代码。在评估中,SLaDe在4000多个ExeBench函数上的准确度比最先进的工业级反编译器Ghidra高出6倍,比大型语言模型ChatGPT高出4倍,并且生成的代码更易于阅读。

大模型结合小模型

Small Models are Valuable Plug-ins for Large Language Models

小模型是大型语言模型的有价值的插件

「简述:」论文介绍了一种名为Super In-Context Learning(SuperICL)的方法,它允许黑盒大型语言模型与本地微调的小型模型一起工作,从而在监督任务上获得更好的性能。作者的实验表明,SuperICL可以提高性能,超越最先进的微调模型,同时解决上下文学习中的不稳定性问题。此外,SuperICL还可以增强小型模型的能力,例如多语言性和可解释性。

An Emulator for Fine-Tuning Large Language Models using Small Language Models

使用小型语言模型微调大型语言模型的模拟器

「简述:」论文介绍了emulated fine-tuning(EFT)方法,用于分离大型语言模型预训练和微调阶段获得的知识与技能。作者使用强化学习框架,引入了一种模拟预训练和微调不同规模结果的方法。实验表明,扩大微调规模可以提高帮助性,而扩大预训练规模可以提高真实性。此外,EFT还能够在测试时调整竞争性行为特征,而无需额外的训练。最后,作者提出了一种特殊形式的EFT,称为LM up-scaling,通过将小型微调模型与大型预训练模型进行集成来提高指令遵循模型的帮助性和真实性,而无需额外的超参数或训练。

优化方案与热门应用

Orca 2: Teaching Small Language Models How to Reason

教小型语言模型如何推理

「简述:」Orca 2是一个教小型语言模型如何推理的系统。它继续探索如何通过改进训练信号来增强小型LM的推理能力。与之前的系统不同,Orca 2不仅模仿大型模型的输出,还教小型模型使用不同的策略来处理不同的任务。这种策略选择基于每种任务的最有效解决方案。Orca 2在15个基准测试中表现出色,超越了类似大小的其他模型,并在评估高级推理能力的复杂任务上达到了与大5-10倍的模型相似的性能水平。

It’s Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners

小型语言模型也是少量学习者

「简述:」论文介绍了一种名为“绿色语言模型”的小型语言模型,它可以通过将文本输入转换为包含任务描述的填空问题,并结合基于梯度的优化来实现与GPT-3类似的性能。这种小型语言模型的参数数量比大型语言模型小几个数量级,因此更加环保且易于使用。此外,利用未标记的数据可以进一步提高其性能。作者还指出了成功实现自然语言理解所需的关键因素。

FINETUNED LANGUAGE MODELSARE ZERO-SHOT LEARNERS

微调语言网络 FLAN

「简述:」论文介绍了一种简单的方法来提高语言模型的零样本学习能力。作者通过指令微调——在一系列数据集上对语言模型进行微调,这些数据集用自然语言指令模板描述——显著提高了未见过的任务的零样本性能。作者将这个经过指令微调的模型称为FLAN,并在多个NLP数据集上进行评估。结果显示,FLAN比未经修改的对应模型和GPT-3的少数样本表现更好。该方法的关键因素包括微调数据集的数量、模型规模和自然语言指令。

Transcending Scaling Laws with 0.1% Extra Compute

用 0.1% 的额外计算超越缩放定律

「简述:」论文介绍了UL2R方法,可以在少量额外计算和不需要新数据的情况下,通过在几个步骤上继续训练最先进的大型语言模型(如PaLM)来显著提高现有语言模型及其缩放曲线的性能。作者介绍了一组新的模型,称为U-PaLM,其规模分别为8B、62B和540B。令人印象深刻的是,在540B规模下,U-PaLM实现了与最终的PaLM 540B模型相同的性能,但只花费了大约一半的计算预算。该方法证明了U-PaLM在许多自然语言处理任务中具有更好的性能。

Scaling Instruction-Finetuned Language Models

扩展指令微调语言模型的规模

「简述:」指令微调是一种改进语言模型性能的方法。通过在指令形式的数据集上进行微调,可以提高模型对未见任务的泛化能力。本文重点探讨了三个方面的扩展:任务数量、模型规模和思维链数据上的微调。研究发现,这些方面的指令微调可以显著提高各种模型类别、提示设置和评估基准的性能。Flan-PaLM 540B在多个基准测试中取得了最佳性能,如五次射击的MMLU测试中达到了75.2%的准确率。此外,作者还公开了Flan-T5的检查点,即使与更大规模的模型相比,它也具有出色的少量样本性能。

LLaVA-ϕ: Efficient Multi-Modal Assistant with Small Language Model

具有小型语言模型的高效多模态助手

「简述:」论文介绍了LLaVA-ϕ高效多模态助手,它使用小型语言模型Phi-2来促进多模态对话。研究表明,即使只有2.7B参数的更小的语言模型,只要使用高质量的语料库进行训练,也可以有效地参与涉及文本和视觉元素的复杂对话。该模型在公开可用的基准测试中表现出色,并在实时环境中进行交互的系统和应用方面具有潜力。

TinyGSM: achieving > 80% on GSM8k with small language models

使用小型语言模型在GSM8k上实现> 80%的性能

「简述:」论文介绍了TinyGSM方法,使用小型语言模型来解决小学数学问题。作者提出了一个由12.3M个小学数学问题和相应的Python解决方案组成的合成数据集TinyGSM,完全由GPT-3.5生成。在经过微调后,作者发现一个由两个参数为1.3B的模型组成的对可以实现81.5%的准确性,超过了现有模型几个数量级。该方法非常简单,包括两个关键组件:高质量的数据集TinyGSM和使用验证器从多个候选生成中选择最终输出。

Length-Adaptive Distillation: Customizing Small Language Model for Dynamic Token Pruning

为动态标记剪枝定制小型语言模型

「简述:」长度自适应蒸馏方法可以帮助加速模型推理,通过让小型语言模型更适应动态标记剪枝来提高速度。它包括两个阶段的知识蒸馏框架,第一阶段是模仿和重建教师模型的输出,第二阶段是适应标记剪枝并吸收特定任务的知识。这种方法可以使小型语言模型更加定制化,并在速度和性能之间实现更好的权衡。在GLUE基准上的实验结果证明了这种方法的有效性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

有什么常用的服务器集群?

随着互联网的快速发展,服务器集群已经成为了构建高可用、高性能、可扩展和安全可靠的计算环境的必备基础设施。在众多服务器集群中,有一些常用的集群类型,下面将介绍其中几种常见的服务器集群。 一、负载均衡集群 负载均衡集群通过将网络请…

车机联网

通过笔记本电脑,D-link给车机提供网络 因为笔记本用的无线网络上网,将无线网络连接设置为共享 设置后的效果 本地连接属性设置 Dlink连接电脑和车机;获取车机的动态ip(动态ip每次开关机都会变化,注意更新&#xff09…

Matlab:isomorphism

语法: P isomorphism(G1,G2) %计算图G1和G2之间的图同构等价关系(如果存在)。若不存在同构,则P为空数组 P isomorphism(___,Name,Value) %使用一个或多个名称-值对组参数指定其他选项 [P,edgeperm] isomorph…

[AutoSar]BSW_OS 01 Autosar OS入门

目录 关键词平台说明一、Autosar OS 的位置二、Autosar OS 与OSEK三、TASK3.1两种task3.2 两种task 的区别3.3task 的抢占机制 四、scalability class五、Task Priorities 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商…

前端h5页面和后端php服务的几种部署方式

一、背景 和java后端服务的部署不同,前端h5的部署有好几种。 CDNOSSnginx反向把输出物全部拷贝到后端 所以,这就带来了部署上的歧义,到底该用哪种部署方式呢? 本文以前端h5搭配后端php程序为示例,试着讨论一下他们…

【STM32】单片机生产实习报告

第1章 概述 1.1 项目背景 在当前科技飞速发展的背景下,嵌入式系统的广泛应用成为推动各行业创新的主要驱动力。我们秉持着培养学生实际操作能力的宗旨,特别设计了这个生产实习项目。通过嵌入式系统开发任务,我们旨在全面锻炼学生的工程实践…

强化学习11——DQN算法

DQN算法的全称为,Deep Q-Network,即在Q-learning算法的基础上引用深度神经网络来近似动作函数 Q ( s , a ) Q(s,a) Q(s,a) 。对于传统的Q-learning,当状态或动作数量特别大的时候,如处理一张图片,假设为 210 160 3 …

一键完成爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法

一键完成爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法 本文提供一个快速取得cookie的办法,用来应对一些网站的的反爬虫和cookie失效等情况本接口是收费的(1分钱1次调用,不愿付费自行折腾…

Java 内存模型(JMM)

1. 从 Java 代码到 CPU 指令 如上图: 最开始,我们编写的 Java 代码是 *.java 文件;在编译(javac 命令)后,从刚才的 *.java 文件生成一个新的 Java 字节码文件(*.class);…

云计算任务调度仿真04

这次分享一篇更加高级的云计算任务调度的文章和代码, 基于A3C学习和残差回归神经网络的随机边缘云计算环境动态调度 网络结构 结果 代码示例 这是基于pytorch实现的,所以复现起来没有什么难度,但是可以看到这有六层网络,而且…

运筹说 第97期|非线性规划-一维搜索

第二节 一维搜索 通过上期学习,大家已经了解了非线性规划的基本内容,那么如何求解一个非线性规划问题呢?本期小编就带大家来学习用于求解单变量无约束极值问题的方法——一维搜索,该方法也是后面求解更复杂问题的基础。 一、引入…

C++六大组件之一:仿函数

场景一&#xff1a; 与其过多叙述定义&#xff0c;不如在下面一个场景中来理解仿函数&#xff1a; #include<iostream> using namespace std; template<class T> void bubbles_sort(T* arr,int size) //冒泡排序 {for (int i 0; i < size - 1; i){for (int j…

测试 ASP.NET Core 中间件

正常情况下&#xff0c;中间件会在主程序入口统一进行实例化&#xff0c;这样如果想单独测试某一个中间件就很不方便&#xff0c;为了能测试单个中间件&#xff0c;可以使用 TestServer 单独测试。 这样便可以&#xff1a; 实例化只包含需要测试的组件的应用管道。发送自定义请…

从源码中分析SDS相较于C字符串的优势

文章目录 前言Type && EncodingsdsencodingcreateStringObjectcreateEmbeddedStringObject总结 createRawStringObject总结 createStringObjectFromLongDouble总结 createStringObjectFromLongLongWithOptions总结 相关操作sdscatlen总结 阈值44sds VS C字符串 前言 从…

数据完整性

数据完整性 一、实验目的 掌握使用SQL语句CREATE TABLE定义约束的方法。掌握使用SQL语句ALTER TABLE增加或删除约束的方法。了解约束的各种类型。掌握使用SQL语句CREATE TRIGGER创建触发器的方法。掌握引发触发器的方法。掌握使用SQL语句DROP TRIGGER删除触发器的方法。 二、…

扫雷游戏【可展开一片,超详细,保姆级别,此一篇足够】

一、C语言代码实现的扫雷游戏的运行 C语言实现扫雷 二、扫雷游戏的分析与设计 1.扫雷游戏的界面设计 在玩家玩扫雷的时候&#xff0c;它会给你一个二维的棋盘&#xff08;下面的讲解都以9x9规格为例子&#xff09;&#xff0c;然后点击你想排查的坐标&#xff0c;若不是雷的&…

KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/3)

文章目录 1、登录kubesphere平台2、kubesphere部署应用分析2.1、工作负载2.2、服务2.3、应用路由2.4、任务2.5、存储与配置2.6、部署应用三要素 3、部署mysql3.1、mysql容器启动实例3.2、mysql部署分析3.3、创建mysql的配置3.4、创建mysql的数据卷pvc3.5、创建mysql工作负载3.6…

MySQL之导入导出远程备份(详细讲解)

文章目录 一、Navicat导入导出二、mysqldump命令导入导出2.1导出2.2导入&#xff08;使用mysqldump导入 包含t_log表的整个数据库&#xff09; 三、LOAD DATA INFILE命令导入导出3.1设置;3.2导出3.3导入(使用单表数据导入load data infile的方式) 四、远程备份4.1导出4.2导入 一…

市场下行,中国半导体进口数量、金额双双两位数锐减 | 百能云芯

根据中国海关总署最新统计&#xff0c;2023年中国累计进口集成电路&#xff08;半导体晶圆&#xff09;数量为4795亿颗&#xff0c;较2022年下降10.8%&#xff1b;而进口金额为3494亿美元&#xff0c;下降15.4%。这一数据显示&#xff0c;中国半导体进口在数量和金额两方面均出…