当前位置: 首页 > news >正文

14-4 深入探究小型语言模型 (SLM)

大型语言模型 (LLM) 已经流行了一段时间。最近,小型语言模型 (SLM) 增强了我们处理和使用各种自然语言和编程语言的能力。但是,一些用户查询需要比在通用语言上训练的模型所能提供的更高的准确性和领域知识。此外,还需要定制小型语言模型,这些模型可以匹配 LLM 的性能,同时降低运行时费用并确保安全且完全可管理的环境。

在本文中,我们探讨了小型语言模型、它们的区别、使用它们的原因及其应用。我们还在小型语言模型 Llama-2–13b 上使用微调方法来解决上述问题。

此外,我们的目标是研究使该流程独立于平台的可能性。为此,我们选择了 Databricks 作为可以在 Azure、Amazon Web Services (AWS) 或 Google Cloud Platform 之间转移的平台。

在人工智能和自然语言处理的背景下,SLM可以代表“小型语言模型”。它是一种轻量级的生成式 AI 模型。在这种情况下,“小型”标签指的是 a) 模型神经网络的大小、b) 参数数量和 c) 模型训练的数据量。有几种实现可以在单个 GPU 上运行,并且参数超过 50 亿个,包括Google Gemini Nano、微软的Orca-2–7b和Orca -2–13b、Meta 的Llama-2–13b等。

SLM 和 LLM 之间存在一些差异。首先,与 SLM 相比,LLM 规模更大,并且经过了更广泛的训练。其次,LLM 具有显著的自然语言处理能力,可以捕捉复杂的模式并在自然语言任务(例如复杂推理)中胜出。最后,LLM 可以更彻底地理解语言,而 SLM 对语言模式的接触有限。这并不会让 SLM 处于劣势,在适当的用例中使用时,它们比 LLM 更有益。

使用这些模型的原因有很多。它们在各种应用中越来越受欢迎,并且越来越重要,尤其是在可持续性和训练所需的数据量方面。从硬件的角度来看,运行成本更低,即 SLM 需要更少的计算能力和内存,并且适合本地和设备部署,使其更安全。从使用的角度来看,这些是小型语言模型,针对特定领域或任务进行训练或微调,因此它们可以拥有从法律术语到保护知识产权的医疗诊断的专业术语和知识。根据场景的不同,SLM 会更便宜、更高效。

SLM 广泛应用于医疗保健、科技等各个领域。所有这些行业的常见用例包括摘要文本、生成新文本、情绪分析、聊天机器人、识别命名实体、纠正拼写、机器翻译、代码生成等。

语言模型微调是向预训练的语言模型提供额外训练的过程,使其更加针对特定领域或任务。此过程涉及使用额外的训练数据更新模型的参数,以提高其在特定领域或应用(如文本生成、问答、语言翻译、情绪分析等)中的表现。我们对“特定领域微调”感兴趣,因为当我们希望模型理解和生成与特定行业或用例相关的文本时,它特别有用。ParagogerAI训练营 2img.ai

硬件要求

硬件要求可能因模型的大小和复杂程度、项目规模和数据集而异。最好先从小规模开始,然后根据需要扩大规模。不过,以下是一些微调私有语言模型的一般准则。

  1. GPU(图形处理单元)进行处理。它可以基于云。
  2. 用于传输数据的快速可靠的互联网连接。
  3. 强大的多核 CPU 用于数据预处理和管理分发步骤。
  4. 内存充足,存储空间快速充足。

图 1. 用于微调过程的虚拟机。

数据准备

数据集的质量和可行性会显著影响微调模型的性能。为了实现此阶段的目标,我们需要从 PDF 中提取文本,清理和准备文本,然后从给定的文本块生成问题和答案对。最后,继续进行微调过程。

值得注意的是,我们使用了 GPT-3.5 之类的 LLM 来生成问答对(这可能会违背这里的目的),但是,我们也可以尝试使用 SLM 来根据用例生成这些对。

图 2. 准备微调数据集的关键步骤。

微调过程

我们使用了 HuggingFace 及其全套组件,并将它们集成在一起来完成这项任务。

图 3. 用于微调的集成组件。

我们选择了预训练语言模型Llama-2–13b-chat-hf。对于特定领域的数据集,我们将其转换为 HuggingFace 数据集类型,并使用可通过 HuggingFace API 访问的标记器。此外,量化用于降低模型中数值的精度,从而实现数据压缩、计算和存储效率以及降噪。还启用了性能配置,以有效适应预训练模型。最后,训练参数用于定义训练过程的细节,并向训练器传递参数、数据和约束。更多资讯,请访问 2img.ai

训练过程

我们对模型进行了 50 个 epoch 的微调。一个 epoch 指的是训练数据集的一个完整周期。它需要大约 16 个小时才能完成,并且我们的 CPU 和 RAM 资源在此过程中没有得到充分利用。具有有限 CPU 和 RAM 资源的机器可能适合这个过程。我们的 GPU 使用情况符合所述模型要求;也许增加批量大小可以加速训练过程。

图 4. CPU 和 RAM 使用情况。

总体而言,尽管最初在理解互连方面面临挑战,并且面临多次失败的尝试,但微调过程似乎进展顺利且一致。此微调过程的金钱成本约为 100 美元/83 英镑。但是,上述成本不包括最终微调过程的所有试验和错误的成本。

图 5. 以英镑计算的微调成本。

结果与观察

请注意,我们使用 GPT-3.5 从训练数据中生成问题和答案。我们微调的模型是 Llama-2–13b-chat-hf,它只有 130 亿个参数,而 GPT-3.5 有 1750 亿个参数。换句话说,我们期望小模型的表现与大模型一样好。因此,由于 GPT-3.5 和 Llama-2–13b-chat-hf 规模不同,直接比较答案并不合适,但是答案必须是可比的。

为 SLM 和 GPT-3.5 生成的答案创建了嵌入,并使用余弦距离来确定两个模型的答案的相似性。

图 6. GPT-3.5 答案和 Llama-2–13b-chat-hf 答案的相似度分布。

根据图 6,0.5 被设定为质量的临界值,0.6 代表 Llama-2–13b-chat-hf 产生的结果的平均质量。高于 0.5 的任何值都被认为是可接受的,低于 0.5 的任何值都是不可接受的。这是因为,类似地,范围从 -1 表示相反,1 表示完全匹配,0 表示与 0.5 的值无关,这似乎是合理的论点。

对于微调过程,我们使用了大约 10,000 个从版本 1 的内部文档中生成的问答对。但为了进行评估,我们只选择了与版本 1 和过程相关的问题。对结果的进一步分析表明,超过 70% 的问题与 GPT-3.5 生成的答案非常相似,即相似度为 0.5 及以上(见图 6)。总共有 605 个被认为是可接受的答案,118 个有点可接受的答案(低于 0.4),以及 12 个不可接受的答案。

经过微调的模型似乎能够提取和维护知识,同时展示出生成特定领域答案的能力。平台无关的方法使我们能够在 AWS 上执行相同的微调过程,并在不更改代码的情况下获得几乎相同的结果。

结论

SLM 也有一些缺点.与 LLM 相比,其知识库更为有限,这意味着它无法回答诸如谁登上月球等问题和其他事实性问题。由于对语言和语境的理解狭隘,它只能给出更受限制和有限的答案。尽管如此,SLM 本身的前景还是相当光明的。语言模型的发展历程凸显了人工智能的一个基本信息,即只要不断进步和现代化,小规模也能令人印象深刻。此外,人们还认为,效率、多功能性、环保性和优化的培训方法抓住了 SLM 的潜力。

我们将拭目以待,看看与 LLM 相比,SLM 会变得多么受欢迎,尤其是最近推出的 SLM,例如 Gemini Nano、Mixtral、Phi-2等。

ParagogerAI训练营 2img.ai

相关文章:

14-4 深入探究小型语言模型 (SLM)

大型语言模型 (LLM) 已经流行了一段时间。最近,小型语言模型 (SLM) 增强了我们处理和使用各种自然语言和编程语言的能力。但是,一些用户查询需要比在通用语言上训练的模型所能提供的更高的准确性和领域知识。此外,还需要定制小型语言模型&…...

ai智能语音机器人化繁为简让沟通无界限

人工智能这些年的飞速发展一方面顺应着国家智能化发展的规划,一方面印证着智能改动生活的预言。人工智能的开展与人们最息息相关大约就是智能手机的换代更迭,相信大家都有这方面的感受吧!如今企业的电销话务员越来越少,机器人智能…...

c++ primer plus 第15章友,异常和其他:友元类

c primer plus 第15章友,异常和其他:友元类 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:友元类 提示:写完文章后,目录可以自动生成,如何生成可参考右边的…...

面试题002-Java-Java集合

面试题002-Java-Java集合 目录 面试题002-Java-Java集合题目自测题目答案1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?2. 有哪些集合是线程不安全的?怎么解决呢?3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同&…...

数组越界情况

数组越界情况...

工作日常学习记录

使用情景 今天开发上遇到一个搜索的需求,要求可以多选,模糊查询。我首先和前端沟通,前端多选后使用逗号分隔,拼成字符串传输给我,我后端再进行具体的处理。 具体处理 初步构想 由于需要查询的字段也是一个长的字符…...

C#中的容器

1、数组 数组是存储相同类型元素的固定大小的顺序集合 声明数组时,必须指定数组的大小 2.数组的插入和删除数据比较麻烦,但是查询比较快 2、动态数组(ArrayList) 动态数组:可自动调节数组的大小 可以存储任意类型数…...

rust + mingw安装教程

0. 说明 windows上安装rust时,需要在电脑上安装C/C构建工具。推荐的的两种工具链可以选择: visual studio build toolsmingw 官方推荐使用visual studio,若你的电脑上已经安装了visual studio,则无需再安装,直接安装…...

【sqlite3】联系人管理系统

SQLite3实现简单的联系人管理系统 有关sqlite3的基础知识请点击:SQLite3的使用 效果展示: 创建一个名为contacts.db的数据库 首先,我们需要创建一个名为contacts.db的数据库,并建立一个名为"contact"的表&#xff0…...

秋招Java后端开发冲刺——并发篇2(JMM与锁机制)

本文对Java的内存管理模型、volatile关键字和锁机制进行详细阐述,包括synchronized关键字、Lock接口及其实现类ReentrantLock、AQS等的实现原理和常见方法。 一、JMM(Java内存模型) 1. 介绍 JMM定义了共享内存中多线程程序读写操作的行为规…...

记录一次Chrome浏览器自动排序ajax请求的JSON数据问题

文章目录 1.前言2. 为什么会这样?3.如何解决? 1.前言 作者作为新人入职的第一天,mentor给了一个维护公司运营平台的小需求,具体需求是根据运营平台的某个管理模块所展示记录的某些字段对展示记录做排序。 第一步: myb…...

【嵌入式——FreeRTOS】任务

【嵌入式——FreeRTOS】任务 任务创建和删除动态方式创建任务静态方式创建任务 删除任务任务切换调度器任务切换流程 任务挂起任务恢复相关API函数 任务创建和删除 动态方式创建任务 任务的任务控制块以及任务的栈空间所需的内存,均由freeRTOS从freeRTOS管理的堆中…...

网关,路由器,交换机

一、网关 (Gateway) 是一种设备,用于连接不同网络,能够转发数据包并翻译协议,允许不同类型的网络通信。网关通常工作在OSI模型的应用层或传输层,提供连接和路由服务。 应用场景例子: 在企业网络中,网关可…...

sublime 3 背景和字体颜色修改

sublime 4 突然抽风,每次打开都显示 “plugin_host-3.3 has exited unexpectedly, some plugin functionality won’t be available until Sublime Text has been restarted” 一直没调好,所以我退回到sublime 3了。下载好了软件没问题,但是一…...

leetcode 403周赛 包含所有1的最小矩形面积||「暴力」

3197. 包含所有 1 的最小矩形面积 II 题目描述: 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意…...

Stable Diffusion web UI 插件

2024.7.3更新,持续更新中 如果需要在linux上自己安装sd,参考:stable diffusion linux安装 插件复制到 /stable-diffusion-webui/extensions 目录下,然后重新启动sd即可 一、插件安装方法 每种插件的安装方法可能略有不同&#xf…...

深度学习中的反向传播算法的原理

深度学习中的反向传播算法的原理,以及如何计算梯度 反向传播算法(Backpropagation)是深度学习中最核心的优化技术之一,用于训练神经网络。它基于链式法则,通过从输出层逆向计算误差并逐层传递到输入层来更新模型参数&…...

身处奇瑞看三星:既“开卷“又“起火“,却更难受了

三星"起火" 这几天奇瑞的事情,让大家破防了,纷纷表示国内的就业市场环境普遍恶劣。 那我们转个眼,看看海外企业的情况。 最近一周,三星频频登上新闻,颇有"起火"之势。 在刚步入下半年的 7 月 1 日…...

系统架构设计师教程(清华第2版)<第1章 绪论>解读

系统架构设计师教程 第一章 绪论 1.1 系统架构概述1.1.1 系统架构的定义及发展历程1.1.2 软件架构的常用分类及建模方法1.1.3 软件架构的应用场景1.1.4 软件架构的发展未来1.2 系统架构设计师概述1.2.1 架构设计师的定义、职责和任务1.2.2 架构设计师应具备的专业素质1.3 如何成…...

Vue + Element UI + JSEncrypt实现简单登录页面

安装依赖 npm install jsencrypt --save局部引入 import JSEncrypt from jsencrypt/bin/jsencrypt;登录页面index.vue <template><div class"loginbody"><div class"logindata"><div class"logintext"><h2>Wel…...

告别虚频困扰:用VASP+DynaPhoPy搞定高温材料声子谱的保姆级教程

高温材料声子谱计算实战&#xff1a;从虚频困境到非谐解决方案 引言&#xff1a;虚频问题的根源与突破路径 在计算材料学领域&#xff0c;声子谱分析是理解材料动力学稳定性和热力学性质的核心手段。然而许多研究者都遭遇过这样的困境&#xff1a;对实验合成的材料进行简谐近似…...

Redis分布式锁进阶第二十篇

一、本篇前置衔接 第二十篇我们完成了全系列终局复盘&#xff0c;整理了故障排查SOP与企业级落地铁律。常规单资源锁、热点分片锁、隔离锁全部讲透&#xff0c;但真实复杂业务永远不是单一资源&#xff1a;下单要扣库存、扣优惠券、扣积分、冻结余额&#xff0c;多资源并行争抢…...

Win10系统清理避坑指南:你的BAT脚本真的安全吗?盘点那些不能乱删的文件

Win10系统清理避坑指南&#xff1a;BAT脚本安全操作手册每次看到那些号称"一键清理系统垃圾"的BAT脚本在技术论坛被疯狂转发&#xff0c;我的工程师朋友老张就会忍不住摇头。上周他刚帮一位设计师修复了崩溃的Photoshop——原因正是某个清理脚本删除了Adobe的临时工作…...

Windows Cleaner深度解析:5大核心模块彻底解决系统空间不足问题

Windows Cleaner深度解析&#xff1a;5大核心模块彻底解决系统空间不足问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款完全免费开源的…...

基于Netburner NANO54415构建工业级嵌入式Web服务器:从硬件选型到广域监控实战

1. 项目概述&#xff1a;一个为广域与本地监控而生的嵌入式Web服务器如果你正在寻找一个能部署在野外、工厂角落或者任何需要远程数据采集与控制场景下的嵌入式Web服务器方案&#xff0c;并且对市面上那些要么性能孱弱、要么开发门槛极高的开发板感到厌倦&#xff0c;那么这个基…...

约束感知图缩减算法在量子优化中的应用

1. 约束感知图缩减算法概述在量子计算领域&#xff0c;资源受限一直是制约算法实际应用的主要瓶颈。以当前主流的超导量子计算机为例&#xff0c;其量子比特数通常在50-100个之间&#xff0c;且存在显著的噪声干扰。这种硬件限制使得许多经典优化问题难以直接映射到量子设备上求…...

机器学习与深度学习在社交媒体心理健康检测中的权衡与选择

1. 项目概述&#xff1a;当AI遇见心灵&#xff0c;社交媒体心理健康检测的技术十字路口在社交媒体成为我们数字生活延伸的今天&#xff0c;海量的文本数据无意中记录着用户的情感波动与心理状态。作为一名长期混迹于数据科学和自然语言处理&#xff08;NLP&#xff09;一线的从…...

NHSE终极教程:5分钟掌握动物森友会存档编辑技巧

NHSE终极教程&#xff1a;5分钟掌握动物森友会存档编辑技巧 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 还在为《集合啦&#xff01;动物森友会》的收集烦恼吗&#xff1f;想快速打造梦想岛屿却…...

YOLOv8道路交通信号标志识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)

摘要 道路交通信号标志的自动检测是智能驾驶与交通管理系统中的核心环节。本文基于YOLOv8目标检测算法&#xff0c;构建了一个涵盖21类常见交通信号标志的检测系统&#xff0c;包括禁令标志、指示标志、警告标志及信号灯等。模型在包含1376张训练图像、488张验证图像和229张测…...

基于ISDN信令的来电语音播报系统:从原理到树莓派实现

1. 项目概述&#xff1a;一个基于ISDN的来电语音播报系统如果你家里或办公室里还有一台老式的ISDN路由器&#xff0c;别急着把它当电子垃圾处理掉。我最近就利用手头一台闲置的ISDN路由器&#xff0c;折腾出了一个挺有意思的小玩意儿&#xff1a;一个能自动识别来电号码&#x…...