大语言模型---LoRA中损失值的计算

server/2024/11/25 12:50:22/

文章目录

    • 概要
    • 损失计算流程
    • 小结

概要

Llama-7B模型的LoRA微调训练中,通过使用Cross-Entropy Loss来度量模型输出的预测分布和真实标签分布之间的距离,来衡量模型的准确性。 本文主要介绍LoRA中损失值的计算流程。
Cross-Entropy Loss作用:是深度学习和机器学习中常用的损失函数之一,主要用于分类任务。

损失计算流程

以下是 LLaMA-7B 模型中损失计算的三个步骤:

  1. 计算logits矩阵(生成分数)
    模型最后一层MLP的输出与模型词表权重进行点乘计算生成一个行数(nvocab)为32,000 ,列数(seq)为4096的 logits 矩阵,每个元素对应词汇表中的一个词,表示生成该词的“分数”。

  2. Softmax 转换(分数变概率)
    将 logits 矩阵经过 Softmax 转换为概率分布矩阵 Y ^ ∈ 𝐹 𝒏 𝒗 𝒐 𝒄 𝒂 𝒃 ∗ 𝒔 𝒆 𝒒 \hat{{Y}}∈𝐹^{𝒏𝒗𝒐𝒄𝒂𝒃∗𝒔𝒆𝒒} Y^Fnvocabseq,使得logits矩阵每个位置上的元素转化为一个概率值 Y ^ 𝒕 , 𝒋 \hat{\mathcal{Y}}_{𝒕,𝒋} Y^t,j ,表示模型在该位置生成词的可能性。

  3. 交叉熵损失
    根据标签计算损失。在每个位置上,交叉熵损失只计算标签对应的词的概率,公式如下:
    在这里插入图片描述
    其中, Y 𝒕 , 𝒋 \mathcal{Y}_{𝒕,𝒋} Yt,j是标签的独热编码矩阵 Y ∈ 𝐹 𝒏 𝒗 𝒐 𝒄 𝒂 𝒃 ∗ 𝒔 𝒆 𝒒 {Y}∈𝐹^{𝒏𝒗𝒐𝒄𝒂𝒃∗𝒔𝒆𝒒} YFnvocabseq的元素,在该矩阵中,正确词的位置为1,其余为0。

小结

关键点

  • logits 表示未归一化分数,用于生成概率。
  • Softmax 将 logits 转为概率分布,确保总和为 1。
  • 交叉熵损失仅计算正确标签的概率对数,以评估预测的准确性。

http://www.ppmy.cn/server/144800.html

相关文章

Hadoop进阶原理(HDFS、MR、YARN的原理)

HDFS hdfs默认文件配置:https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml 为什么需要分布式存储? 假设文件有10T,此时文件太大,单台服务器无法承担。 为什么需要分布式存储? 数据量太大&#xff0c…

GoF设计模式——结构型设计模式分析与应用

文章目录 UML图的结构主要表现为:继承(抽象)、关联 、组合或聚合 的三种关系。1. 继承(抽象,泛化关系)2. 关联3. 组合/聚合各种可能的配合:1. 关联后抽象2. 关联的集合3. 组合接口4. 递归聚合接…

工具使用_docker容器_crossbuild

1. 工具简介 2. 工具使用 拉取 multiarch/crossbuild 镜像&#xff1a; docker pull multiarch/crossbuild 创建工作目录和示例代码&#xff1a; mkdir -p ~/crossbuild-test cd ~/crossbuild-test 创建 helloworld.c &#xff1a; #include <stdio.h>int main() …

Java NIO 核心知识总结

在学习 NIO 之前&#xff0c;需要先了解一下计算机 I/O 模型的基础理论知识。还不了解的话&#xff0c;可以参考我写的这篇文章&#xff1a;Java IO 模型详解。 一、NIO 简介 在传统的 Java I/O 模型&#xff08;BIO&#xff09;中&#xff0c;I/O 操作是以阻塞的方式进行的。…

微信小程序点击跳转打电话功能

wx.makePhoneCall 属性类型默认值必填说明phoneNumberstring是需要拨打的电话号码successfunction否接口调用成功的回调函数failfunction否接口调用失败的回调函数completefunction否接口调用结束的回调函数&#xff08;调用成功、失败都会执行&#xff09; <view class&q…

闲聊?泳池清洁机器人?

本章就来聊聊泳池清洁机器人行业。"博主本身就身在这个行业~~"&#xff0c;这个行业的前景还是不错的(为什么这么说&#xff1f;)。 据统计&#xff0c;目前全球有3692万个泳池&#xff0c;每年呈持续增长态势。预计到2026年&#xff0c;会增至3900多万个泳池&#x…

【大数据学习 | Spark-Core】Spark的分区器(HashPartitioner和RangePartitioner)

之前学过的kv类型上面的算子 groupby groupByKey reduceBykey sortBy sortByKey join[cogroup left inner right] shuffle的 mapValues keys values flatMapValues 普通算子&#xff0c;管道形式的算子 shuffle的过程是因为数据产生了打乱重分&#xff0c;分组、排序、join等…

【汇编】有关AI人工智能

随着 AI 技术的不断发展&#xff0c;AI大模型正在重塑软件开发流程&#xff0c;从代码自动生成到智能测试&#xff0c;未来&#xff0c;AI 大模型将会对软件开发者、企业&#xff0c;以及整个产业链都产生深远的影响。欢迎与我们一起&#xff0c;从 AI 大模型的定义、应用场景、…