【自然语言处理与大模型】大模型(LLM)基础知识③

(1)大模型的“7B”是什么意思?

"B"通常代表“Billion”,即十亿。因此,当提到7B时,指的是该模型拥有7 billion(70亿)个参数。

(2)模型后面标的“instruct”是什么意思

在基础模型上进行指令微调后的版本。“instruct”版本的大模型是为了增强模型对指令的理解和执行力,使得用户可以通过给出明确的指令来引导模型完成特定任务或获得所需信息。这类模型通常会在包含大量指令-响应对的数据集上进行额外的训练或微调,以提高其在这类任务上的性能。

(3)大模型量化什么意思?

量化主要涉及到减少模型权重激活的精度降低计算复杂度存储需求,从而使得模型能够在资源受限的设备上更高效地运行。量化可以显著减少模型的大小,并加速推理过程,但需要仔细处理以避免对模型性能产生负面影响。

(4)量化等级是什么意思

量化等级指的是将浮点数表示的权重和激活值 转换为低精度数值(如整数)的程度或精细度 。常见的量化等级包括:

● 8-bit量化:这是最常用的量化级别之一,将32位浮点数权重压缩至8位整数,大大减少了模型的存储需求和计算量,同时保持较高的准确率。

● 4-bit量化:进一步降低精度到4位,能提供更高的压缩比和更快的推理速度,但可能会影响模型的准确性。

(5)量化方法是什么意思?

量化方法是指实现从高精度到低精度转换的具体技术。不同的量化方法在如何处理量化误差、选择代表值等方面有所不同。一些常见的量化方法包括:

● 线性量化:最简单的量化形式,通过均匀划分范围来映射浮点数到整数。

● 非线性量化(如伪量化):使用非均匀的量化间隔,通常在重要区域(如数据分布密集的地方)使用更小的间隔,以更好地保留信息。

(6)啥是Alpaca数据集?

Alpaca 数据集主要用于微调语言模型,使其能够更好地遵循指令。这个数据集是通过模仿自动生成的指令-响应对创建的。结构:每个样本通常包括三部分——instruction(指令)、input(输入,可选)、和output(输出)。

● instruction 描述了要执行的任务。

● input 提供了额外的信息或上下文(不是所有样本都包含这一部分)。

● output 是对应指令的预期响应。

# 单轮对话
[
{"instruction": "描述一下如何制作一杯拿铁咖啡。","input": "","output": "制作一杯拿铁咖啡首先需要准备一份浓缩咖啡,然后在杯子里倒入热牛奶,并且保证牛奶的量大约是杯子容量的三分之二,最后轻轻地将浓缩咖啡倒在牛奶上面即可。"
}
]

 下面提供一个 alpaca 格式多轮对话的例子,对于单轮对话只需省略 history 列即可。

# 多轮对话
[{"instruction": "今天的天气怎么样?","input": "","output": "今天的天气不错,是晴天。","history": [["今天会下雨吗?","今天不会下雨,是个好天气。"],["今天适合出去玩吗?","非常适合,空气质量很好。"]]}
]

(6)BLEU评估指标是什么?怎么算的?

BLEU(Bilingual Evaluation Understudy)是一种用于评估机器翻译质量的指标,它通过比较机器生成的文本与一个或多个参考译文之间的相似度来给出评分。BLEU得分范围从0到1,值越接近1表示机器翻译的结果越好,但实践中很少能达到1,除非机器翻译输出与参考译文完全一致。BLEU评估主要基于n-gram的精确度,并且考虑了句子长度的因素。

● N-gram匹配:首先将机器翻译结果和每个参考译文都分解为n-gram(连续的n个词)。然后计算机器翻译中出现的n-gram在参考译文中也出现的比例,这被称为“修改后的n-gram精确度”。通常会计算1-gram、2-gram、3-gram甚至4-gram的精确度。

● 修正的n-gram精确度:为了避免简单重复高频词汇以提高精确度的问题,BLEU使用了一种称为“clip”的操作。即对于每一个n-gram,如果机器翻译中的出现次数超过所有参考译文中该n-gram的最大出现次数,则将其计数裁剪为最大出现次数。

● BP(Brevity Penalty,简洁惩罚):为了惩罚过短的翻译,BLEU引入了简洁惩罚因子。如果机器翻译的长度短于所有参考译文中最短的一个,则BP小于1;否则BP等于1。

● 加权几何平均:最后,将不同n-gram的精确度结合起来,通常是取它们的加权几何平均值。标准的BLEU分数是1-gram至4-gram精确度的几何平均值乘以BP。

假设有一个简单的例子:

机器翻译输出为:“the cat”,

而参考译文之一是:“the cat sits on the mat”。

● 对于1-gram,“the”和“cat”都在参考译文中出现,所以1-gram精确度为1。

● 对于2-gram,“the cat”也在参考译文中出现,因此2-gram精确度也为1。

然而,由于机器翻译较短,BP将会小于1,从而降低最终的BLEU得分。

BLEU虽然广泛应用,但它也有局限性,比如不能很好地处理语义准确性问题,以及对较长序列的评价不够敏感等。BLEU主要关注的是精确率(Precision),即候选文本中出现的n-gram有多少是出现在参考文本中的。它试图衡量机器生成的文本中有多少部分是正确的或与参考文本相匹配的。

(7)ROUGE评估指标是什么?怎么算的?

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是一系列用于自动评估文本生成质量的指标,特别是针对摘要生成和机器翻译任务。它通过比较候选文本(如系统生成的摘要)与一组参考文本(如人工编写的摘要)之间的相似度来工作。ROUGE关注的是召回率(recall),即参考文本中的信息有多少被候选文本覆盖了。

主要的ROUGE变种

● ROUGE-N:基于n-gram共现的重叠情况计算得分,衡量候选文本和参考文本之间n-gram的匹配程度。

● ROUGE-L:利用最长公共子序列(LCS, Longest Common Subsequence)来计算得分,考虑到词序的重要性。

● ROUGE-S:基于skip-bigram共现的重叠情况计算得分,其中skip-bigram允许跳过某些词汇但仍保持其余词汇的顺序不变。这种方式更适合捕捉句子结构上的相似性。

(8)什么是QLoRA?

QLoRA 是一种结合了量化(Quantization)和低秩适配(Low-Rank Adaptation, LoRA)的技术,简单说就是在微调的时候对参数做了量化用于高效地微调大型语言模型(LLMs)。这种方法旨在减少计算资源需求并加速推理过程,同时保持较高的性能水平。QLoRA 已被证明可以在显著减少内存使用的同时保持接近全精度微调的性能。

(9)为什么要做分布式微调训练?

模型规模 :模型的规模太大单张显卡显存无法加载全部参数一般24G显存最多加载7B左右参数规模的大模型因此,需要通过分布式训练将模型分割到多个计算节点上。

计算效率分布式训练可以大幅度减少训练所需时间

(10)怎么实现大模型的分布式微调的?原理策略?

分布式训练的原理主要通过三种并行策略来实现:数据并行、模型并行以及流水线并行。

● 数据并行(Data Parallelism)

基本概念:在数据并行中,整个模型被复制到每个计算节点上,而训练数据则被分割成多个小批次,并分配给不同的节点。每个节点独立地执行前向传播和反向传播计算梯度。

同步机制:在完成本地梯度计算后,所有节点需要通过一个全局操作(如AllReduce)来汇总各自的梯度,并同步更新模型参数。这种方式保证了所有节点上的模型副本保持一致。适用场景:适用于可以将数据均匀分割且模型大小适合单个设备内存的情况。

● 模型并行(Model Parallelism)

基本概念:当模型过于庞大无法完全放入单一设备的内存中时,可以采用模型并行的方法。该方法涉及将模型的不同部分放置在不同的设备上,使得每个设备仅需存储和处理模型的一部分。通信需求:由于模型的不同部分可能需要相互传递中间计算结果,因此模型并行通常要求较高的节点间通信带宽。适用场景:特别适合于超大型模型,例如具有数十亿乃至更多参数的语言模型或推荐系统模型。

● 流水线并行(Pipeline Parallelism)

基本概念:流水线并行是一种更复杂的并行策略,它结合了数据并行和模型并行的优点。其核心思想是将模型分为几个阶段,并让不同的设备负责不同阶段的计算。每个批次的数据会依次经过这些阶段进行处理。工作流程:为了最大化资源利用率,一种常见的做法是在前一批次的数据仍在后续阶段处理的同时,开始对新批次的数据进行初步处理。

适用场景:适用于深度网络结构,尤其是那些可以通过自然切分的方式划分为多个相对独立的阶段的情况。

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

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

相关文章

聊聊自动化用例的维护

自动化测试中的农药悖论:为何长期维护至关重要 自动化测试常被视为"一次编写,永久有效"的解决方案,但随着时间的推移,即使设计最精良的测试套件也会逐渐失效。这种现象被称为农药悖论(Pesticide Paradox&am…

微帧Visionular斩获NAB Show 2025年度产品奖

在本月刚结束的NAB Show 2025展会上,全球领先的视频编码与AI超高清服务提供商微帧Visionular大放异彩,其核心产品AI-driven Video Compression(AI视频智能编码引擎)不仅在展会中吸引了众多行业目光,更凭借其卓越的编码…

idea中运行groovy程序报错

我的项目是使用的 gradle 构建的。 在 idea 中运行Groovy的面向对象程序报错如下: Execution failed for task :Person.main(). > Process command G:/Program Files/jdk-17/jdk-17.0.12/bin/java.exe finished with non-zero exit value 1* Try: Run with --s…

【自然语言处理与大模型】个人使用LLaMA Factory微调的记录

一、魔塔社区免费服务器如何使用webui微调? 一上来我就得先记录一下,使用魔塔社区的免费服务器的时候,因为没有提供ssh而导致无法看到webui的遗憾如何解决的问题? 执行命令 如果点这个链接无法弹出微调的webui,则可以在…

【官方正版,永久免费】Adobe Camera Raw 17.2 win/Mac版本 配合Adobe22-25系列软

Adobe Camera Raw 2025 年 2 月版(版本 17.2)。目前为止最新版新版已经更新2个月了,我看论坛之前分享的还是2024版,遂将新版分享给各位。 Adobe Camera Raw,支持Photoshop,lightroom等Adobe系列软件&#…

leetcode:1295. 统计位数为偶数的数字(python3解法)

难度:简单 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字&…

使用Handsontable实现动态表格和下载表格

1.效果 2.实现代码 首先要加载Handsontable,在示例中我是cdn的方式引入的,vue的话需要下载插件 let hot null;var exportPlugin null;function showHandsontable(param) {const container document.getElementById("hot-container");// 如果…

2.1 基于委托的异步编程方法

基于委托的异步编程模型是 .NET 早期版本中实现异步操作的一种方式,主要通过 BeginInvoke 和 EndInvoke 方法来实现。这种基于委托的异步模式已被 Task 和 async/await 模式取代,但在维护旧代码时仍可能遇到这种模式。 委托的方法中:Invoke用…

【Bluedroid】蓝牙 HID 设备信息加载与注册机制及配置缓存系统源码解析

本篇解析Android蓝牙子系统加载配对HID设备的核心流程,通过btif_storage_load_bonded_hid_info实现从NVRAM读取设备属性、验证绑定状态、构造描述符并注册到BTA_HH模块。重点剖析基于ConfigCache的三层存储架构(全局配置/持久设备/临时设备),其通过动态持久化判定策略和LRU…

Linux 下的网络管理(附加详细实验案例)

一、简单了解 NM(NetworkManager) 在 Linux 中,NM 是 NetworkManager 的缩写。它是一个用于管理网络连接的守护进程和工具集。 在 RHEL9 上,使用 NM 进行网络配置,ifcfg (也称为文件)将不再…

长连接、短连接与WebSocket的基本知识

目录 前言正文 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附…

2026《数据结构》考研复习笔记四(绪论)

绪论 前言时间复杂度分析 前言 由于先前笔者花费约一周时间将王道《数据结构》知识点大致过了一遍,圈画下来疑难知识点,有了大致的知识框架,现在的任务就是将知识点逐个理解透彻,并将leetcode刷题与课后刷题相结合。因此此后的过…

Vmware安装centos7和Redis

2025最详细vmware安装centos 7 教程_哔哩哔哩_bilibili 1.上面是B站安装Centos7参考视频 2.安装完成需要配置网络 (新手教程)VMware安装CentOS7_哔哩哔哩_bilibili 重启网络服务: ping www.baidu.com ip addr 查看ip地址 两种重启方式 3.关闭防火墙 依次执行如下三条命令 …

二进制部署Kubernetes1.32.4最新版本高可用集群及附加组件

一、前言 在云原生技术席卷全球的今天,Kubernetes(K8s)已成为容器编排领域的事实标准。当大家都习惯了kubeadm、kubeasz等自动化工具一键部署的便利时,选择通过二进制方式手动搭建K8s集群更像是一场"知其然亦知其所以然&qu…

树莓派系统中设置固定 IP

在基于 Ubuntu 的树莓派系统中,设置固定 IP 地址主要有以下几种方法: 方法一:使用 Netplan 配置(Ubuntu 18.04 及以上版本默认使用 Netplan) 查看网络接口名称 在终端输入ip link或ip a命令,查看当前所使…

主流单片机与编程调试工具对应关系表梳理

单片机系列/型号 | 官方IDE/工具链 | 调试器/烧录器 | 第三方支持工具 |调试接口协议 | 特点与适用场景| | STMicroelectronics (STM32) STM32全系列 STM32CubeIDE ST-LINK/V2/V3 - PlatformIO (VS Code插件) SWD/JTAG 官方集成开发环境,支持HAL库,免费…

VulnHub-DarkHole_2靶机渗透教程

1.靶机部署 [Onepanda] Mik1ysomething 靶机下载:https://download.vulnhub.com/darkhole/darkhole_2.zip 直接使用VMware导入打开就行 注意:靶机的网络连接模式必须和kali一样,让靶机跟kali处于同一网段,这样kali才能扫出靶机…

USO服务器操作系统手动升级GCC 12.2.0版本

1. 从 GNU 官方 FTP 服务器下载 GCC 12.2.0 的源码包,并解压进入源码目录。 wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz tar -zxvf gcc-12.2.0.tar.gz cd gcc-12.2.0 2. 运行脚本下载并配置 GCC 编译所需的依赖库。此步骤会自动下载如 GMP…

设计模式基础概念(行为模式):观察者模式(Observer)

概述 我们可以发现这样一个场景:如果你订阅了一份杂志或报纸, 那就不需要再去报摊查询新出版的刊物了。 出版社 (即应用中的 “发布者(publisher)”) 会在刊物出版后 (甚至提前) 直…

JavaFX实战:从零到一实现一个功能丰富的“高级反应速度测试”游戏

大家好!今天我们不搞简单的“红变绿就点”了,来点硬核的!我们要用 JavaFX 从头开始,构建一个更复杂、更有趣也更考验能力的“高级反应速度测试”游戏。这个版本将引入选择反应时 (Choice Reaction Time) 的概念——你需要在多个干…