2024年顶级小型语言模型前15名
本文,我们将深入了解2024年备受瞩目的十五款小型语言模型(SLMs),它们分别是Llama 3.1 8B、Gemma2、Qwen 2、Mistral Nemo、Phi-3.5等。这些SLMs以其精巧的体积和高效率著称,它们不需要依赖庞大的服务器资源,这与它们的大型语言模型(LLMs)对手形成了鲜明对比。它们为速度和实时性能而生,甚至能在智能手机、平板电脑或智能手表上流畅运行。

来源:Lu et al., 2024(https://arxiv.org/pdf/2409.15790)
我们即将展开的旅程将带领我们检视这些SLMs的卓越之处、潜在的不足,以及它们各自独有的特色。
首先,让我们聚焦于Qwen2,这是一款涵盖0.5B、1B至7B参数范围的模型系列。对于追求极致轻量化应用的开发者而言,0.5B版本无疑是理想之选。而对于那些需要更强大模型来执行摘要或文本生成等任务的用户,7B版本将提供无与伦比的性能。Qwen2模型在速度与效率并重的实用场景中大放异彩,尤其适合对快速响应或资源受限的应用场景。
接下来,我们有Mistral Nemo 12B,这款拥有12B参数的模型在处理复杂的自然语言处理(NLP)任务,如语言翻译和实时对话系统方面表现出色。它与Falcon 40B、Chinchilla 70B等模型同台竞技,却能在无需庞大基础设施的条件下本地运行,实现了复杂性与实用性的完美结合。
Llama 3.1 8B,这款携带8B参数的模型,在功能与效率之间取得了令人赞叹的平衡。它在问答和情感分析等任务中表现出类拔萃。对于那些急需快速结果而又不愿牺牲计算能力的用户,Llama 3.1 8B提供了一个性能与速度并重的优选。
Pythia系列,参数从1.6亿延伸至28亿,这一系列模型专为推理和编程技能任务量身定制。对于软件开发者,Pythia在处理结构化、逻辑性任务方面的能力无人能出其右。它在编码和推理任务上的表现超越了GPT-Neo等其他模型,尽管在更广泛的语言任务中可能会有所波动。Pythia的公共训练透明度和定制选项令人印象深刻,它的灵活性使其成为适应特定需求的强有力工具。
Cerebras-GPT,这款参数在1.11亿至27亿间变动的高效快速模型,专为资源有限但对性能有高要求的环境设计。与GPT-3或LLaMA 13B等大型模型相比,Cerebras-GPT虽在广泛训练上或有不及,但其遵循Chinchilla缩放法则,展现出极高的计算效率。对于那些追求可扩展性和效率的用户,Cerebras-GPT无疑是最佳选择。
Phi-3.5,这款38亿参数的模型,以其128K令牌的上下文长度独树一帜。它能够处理长文档或多轮对话任务,且不会丢失上下文,同时支持多语言,成为Llama 13B和GPT-3.5等模型的强有力竞争者,且计算需求相对较低。它在文档摘要、多语言任务和逻辑推理方面的表现令人期待。
StableLM-Zephyr,这款30亿参数的小型语言模型,在提供精确性和速度方面表现出色。它在边缘系统或资源受限设备中,面对需要快速决策的环境时,能提供出色的表现。StableLM-Zephyr在推理甚至角色扮演任务中同样游刃有余,虽然在处理写作或编码等复杂任务时可能不及大型模型,但考虑到其体积,它的表现已足够令人称赞。若速度和效率是您的首要考量,StableLM-Zephyr无疑是个坚实的选择。
TinyLlama,这款11亿参数的紧凑模型,以其出色的效率在移动和边缘设备上的表现令人印象深刻。在现实世界的任务中,尤其是在常识推理方面,TinyLlama甚至超越了Pythia-1.4B等模型。尽管它可能缺乏LLaMA 13B等大型模型的原始计算能力,但它在性能与资源效率之间取得了巧妙的平衡,使其成为资源受限环境中的理想选择。
MobileLLaMA,这款为移动和低功耗设备设计的LLaMA专用版本,拥有14亿参数,旨在在性能与效率间找到平衡点。它针对移动设备中的低延迟AI应用进行了优化。无论是MobileLLaMA-1.4B还是MobileLLaMA-2.7B版本,都在速度上超越了TinyLLaMA 1.1B等小型模型,并与OpenLLaMA 3B不相上下,且速度提升约40%。对于需要设备上实时AI的用户,MobileLLaMA无疑是完美的伴侣。
LaMini-GPT,这款参数介于7.74亿至15亿的模型,专为多语言任务设计,它在资源受限的环境中表现出色,能够处理多种语言而不需要大量计算资源。LaMini-GPT通过从GPT家族的大型模型中进行知识蒸馏而开发,这使得它在遵循指令的任务中表现出色。尽管它在特定任务上表现出色,但对于需要深入上下文理解或更广泛文本生成的应用,它可能不是最佳选择。如果您寻求的是快速且高效的解决方案,尤其是在多语言场景下,LaMini-GPT是一个可靠的选择。
Gemma2,这款20亿参数的模型,若您考虑本地部署,它将展现出卓越的性能。它轻量级且高效,非常适合文本生成或翻译等任务。与OpenAI o1-preview等重量级选手相比,Gemma2更专注于实时应用而非复杂推理。对于边缘计算,它是GPT-3.5或Llama 65B等资源密集型模型的完美替代品。
MiniCPM,这款参数在10亿至40亿之间的模型,在性能与资源效率之间取得了良好的平衡。它旨在轻松处理一般语言任务,并在众多应用中提供可靠的性能,是一个全能的选择。MiniCPM虽小,但其性能可与Mistral-7B和LLaMA 7B等大型模型相媲美。它特别针对英语和中文的语言处理进行了优化,使其成为资源有限环境中的高效轻量级替代品。
OpenELM,这款参数在2.7亿至30亿之间的灵活且可适应的模型,专为需要多任务处理和低延迟响应的环境设计。由苹果公司开发,OpenELM专注于能源效率和设备上的AI应用。它与MobiLlama和OLMo等模型竞争,在针对特定任务进行调整时显示出显著的改进。凭借其广泛的参数范围,OpenELM针对更小、更受限的环境进行了优化。
DCLM,这款10亿参数的模型,专为常识推理设计。它在需要理解和逻辑推断的真实世界任务中表现出色。DCLM在语言理解和推理方面表现出色,尤其是其70亿参数版本。它与LLaMA 2 (7B)和Mistral 7B等模型竞争,在常识推理和逻辑推断任务中表现同样出色。DCLM针对需要效率和较少计算资源的真实世界应用进行了高度优化,因此当您拥有需要强大性能而不需要重型基础设施的环境时,DCLM是一个很好的选择。
Fox,这款16亿参数的模型,专为速度和效率而生。它为移动应用优化,保持低延迟至关重要。Fox在不消耗过多计算能力的情况下提供快速响应。
| 模型名称 | 参数 | 开源 | 主要特点 |
|---|---|---|---|
| Qwen2 | 0.5B, 1B, 7B | 是 | 可扩展,适用于各种任务 |
| Mistral Nemo 12B | 12B | 是 | 复杂的自然语言处理任务,本地部署 |
| Llama 3.1 8B | 8B | 是* | 平衡性能和效率 |
| Pythia | 160M - 2.8B | 是 | 专注于推理和编码 |
| Cerebras-GPT | 111M - 2.7B | 是 | 计算效率高,遵循Chinchilla缩放法则 |
| Phi-3.5 | 3.8B | 是** | 长上下文长度(128K令牌),多语言 |
| StableLM-zephyr | 3B | 是 | 快速推理,边缘系统高效 |
| TinyLlama | 1.1B | 是 | 移动和边缘设备高效 |
| MobileLLaMA | 1.4B | 是 | 为移动和低功耗设备优化 |
| LaMini-GPT | 774M - 1.5B | 是 | 多语言,指令跟随任务 |
| Gemma2 | 9B, 27B | 是 | 本地部署,实时应用 |
| MiniCPM | 1B - 4B | 是 | 平衡性能,英文和中文优化 |
| OpenELM | 270M - 3B | 是 | 多任务处理,低延迟,节能 |
| DCLM | 1B | 是 | 常识推理,逻辑推理 |
| Fox | 1.6B | 是 | 为移动应用速度优化 |
通过这个表格,我们总结了上述所有内容,展示了各模型的参数、开源状态和主要特点。这些SLMs在许多方面证明了,规模小并不意味着能力弱,反而在很多情况下,它们更加智能和灵活。预计这些SLMs将更多地融入到我们的日常生活中。so,找到合适的模型来完成工作是关键——在很多情况下,合适的模型可能只是小而敏捷的。
相关文章:
2024年顶级小型语言模型前15名
本文,我们将深入了解2024年备受瞩目的十五款小型语言模型(SLMs),它们分别是Llama 3.1 8B、Gemma2、Qwen 2、Mistral Nemo、Phi-3.5等。这些SLMs以其精巧的体积和高效率著称,它们不需要依赖庞大的服务器资源,…...
精通 Python 网络安全(一)
前言 最近,Python 开始受到越来越多的关注,最新的 Python 更新添加了许多可用于执行关键任务的包。我们的主要目标是帮助您利用 Python 包来检测和利用漏洞,并解决网络挑战。 本书将首先带您了解与网络和安全相关的 Python 脚本和库。然后&…...
【python自动化二】pytest集成allure生成测试报告
pytest本身不会直接生成测试报告,而allure是一种生成测试报告的公共插件,可与多种测试框架配合生成测试报告,本文介绍下如何集成allure生成测试报告。 1.allure安装 1.安装allure-pytest 先安装allure的pytest插件,用于在pytes…...
网络版本的通讯录青春版(protobuf)
环境搭建 Protobuf 还常⽤于通讯协议、服务端数据交换场景。 因为我们主要目的只是为了学习protobuf,因此对于客户端,原本应该具备: 新增⼀个联系⼈ ◦ 删除⼀个联系⼈ ◦ 查询通讯录列表 ◦ 查询⼀个联系⼈的详细信息 这样四个功能。 …...
开源模型应用落地-安全合规篇-用户输入价值观判断(三)
一、前言 在深度合规功能中,对用户输入内容的价值观判断具有重要意义。这一功能不仅仅是对信息合法性和合规性的简单审核,更是对信息背后隐含的伦理道德和社会责任的深刻洞察。通过对价值观的判断,系统能够识别可能引发不当影响或冲突的内容,从而为用户提供更安全、更和谐的…...
神经网络入门实战:(十四)pytorch 官网内置的 CIFAR10 数据集,及其网络模型
(一) pytorch 官网内置的网络模型 图像处理: Models and pre-trained weights — Torchvision 0.20 documentation (二) CIFAR10数据集的分类网络模型(仅前向传播): 下方的网络模型图片有误,已做修改,具…...
【Rust在WASM中实现pdf文件的生成】
Rust在WASM中实现pdf文件的生成 前言概念和依赖问题描述分步实现pdf转Blob生成URL两种方式利用localstorage传递参数处理图片Vec<u8>到pdf格式的Vec<u8>使用rust创建iframe显示pdf的Blob最后 前言 实现了一个通用的前端jpg转pdf的wasm,因为动态响应框架无法直接打…...
在MySQL中执行sum case when报错:SUM does not exist
1. 报错 在pgsql中能正常运行的一段SQL在MySQL中运行的时候报错了: SELECT DATE( hr.handle_time ) AS statsDate,SUM ( CASE WHEN hma.app_type IN ( 2, 5 ) THEN ch_money ELSE 0 END ) AS aliPayAmt,SUM ( CASE WHEN hma.app_type IN ( 1, 4 ) THEN ch_money EL…...
【openssl】相关指令
熟悉下相关概念 x509:证书标准pem和der:两种(包括公私钥、证书签名请求、证书等内容的)的格式,前者是文本形式,linux常用,后者是二进制形式,windows常用,仅仅是格式&…...
实例分割详解
实例分割详解 引言 实例分割是计算机视觉领域的一项复杂任务,它要求模型能够识别图像中不同类别的对象,并对每个单独的对象进行像素级别的分类。与语义分割不同的是,实例分割不仅要区分不同的类别,还要识别同一类别中的不同个体…...
D87【python 接口自动化学习】- pytest基础用法
day87 pytest运行参数 -m -k 学习日期:20241203 学习目标:pytest基础用法 -- pytest运行参数-m -k 学习笔记: 常用运行参数 pytest运行参数-m -k pytest -m 执行特定的测试用例,markers最好使用英文 [pytest] testpaths./te…...
浅谈MySQL路由
华子目录 mysql-router介绍下载mysql-router安装mysql-router实验 mysql-router介绍 mysql-router是一个对应用程序透明的InnoDB Cluster连接路由服务,提供负载均衡、应用连接故障转移和客户端路由利用路由器的连接路由特性,用户可以编写应用程序来连接到…...
matlab中disp,fprintf,sprintf,display,dlmwrite输出函数之间的区别
下面是他们之间的区别: disp函数与fprintf函数的区别 输出格式的灵活性 disp函数:输出格式相对固定。它会自动将变量以一种比较直接的方式显示出来。对于数组,会按照行列形式展示;对于字符串,直接原样输出并换行。例如…...
30.100ASK_T113-PRO 用QT编写视频播放器(一)
1.再buildroot中添加视频解码库 X264, 执行 make menuconfig Target packages -->Libraries --> Multimedia --> X264 CLI 还需要添加 FFmpeg 2. 保存,重新编译 make all 3.将镜像下载开发板...
Linux-GPIO应用编程
本章介绍应用层如何控制 GPIO,譬如控制 GPIO 输出高电平、或输出低电平。 只要是用到GPIO的外设,都有可能用得到这些操作方法。 照理说,GPIO的操作应该是由驱动层去做的,使用寄存器操作或者GPIO子系统之类的框架。 但是࿰…...
opencvocr识别手机摄像头拍摄的指定区域文字,文字符合规则就语音报警
安装python,pycharm,自行安装。 Python下安装OpenCv 2.1 打开cmd,先安装opencv-python pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple2.2 再安装opencv-contrib-python pip install opencv-contrib-python --user …...
微服务即时通讯系统(5)用户管理子服务,网关子服务
用户管理子服务(user文件) 用户管理子服务也是这个项目中的一个业务最多的子服务,接口多,但是主要涉及的数据表只有user表,Redis的键值对和ES的一个搜索引擎,主要功能是对用户的个人信息进行修改管理&#…...
postgreSQL安装后启动有The application server could not be contacted问题
不得不说pgsql是真的麻烦,找问题找了几个小时才解决.直接步入主题吧 首先问题如下 安装后,双击启动就出现上述问题 首先删除路径为 c:\Users\your_name\AppData\Roaming\pgAdmin 之内的所有文件和文件夹, 如果找不到AppData,就把这个点开 接着找到你安装pgsql的路径,我的是D…...
架构05-架构安全性
零、文章目录 架构05-架构安全性 1、软件架构安全的重要性 **系统安全:**不仅包括防御黑客攻击,还包括安全备份与恢复、安全审计、防治病毒等。**关注重点:**认证、授权、凭证、保密、传输安全、验证。 2、认证(Authenticatio…...
虚幻引擎---材质篇
一、基础知识 虚幻引擎中的材质(Materials) 定义了场景中对象的表面属性,包括颜色、金属度、粗糙度、透明度等等;可以在材质编辑器中可视化地创建和编辑材质;虚幻引擎的渲染管线的着色器是用高级着色语言(…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
