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

大语言模型与多模态大模型loss计算

文章目录

  • 前言
  • 一、大语言模型loss计算
    • 1、loss计算代码解读
    • 2、构建模型输入内容与label标签
    • 3、input_ids与labels格式
  • 二、多模态大模型loss计算方法
    • 1、多模态loss计算代码解读
    • 2、多模态输入内容
    • 2、大语言模型输入内容
    • 3、图像embending如何嵌入文本embeding

前言

如果看了我前面文章,想必你基本对整个代码有了更深认识。实际上,大多大模型都是使用huggingface搭建,而大多LORA训练也是调用PEFT库。然而,LLaVA代码却没有相关VIT模型训练内容,也没有不同组合训练。而我也是想探索单独使用vit的lora训练、单独使用llm的lora训练或全都使用会有什么效果呢?因此,本篇文章将探索LLaVA如何按需构建LORA训练,我会给出如何构建参数与修改源码,也会给出我实验结果。实验结果表明,视觉、语言、映射三着结合训练基本没有效果,视觉与语言训练也不会有效果,而其它基本会有转好效果。

一、大语言模型loss计算

1、loss计算代码解读

我以llama3的loss计算方法来说明,大语言模型的loss计算逻辑,我们可以发现输出logits是取前n-1个位置内容,而lables是取了1:n的内容。如此,使用计算前面内容推理后面内容,假如你输出是5个可推理第6个token内容,如此类推就可以生成式的给出推理内容,这也是推理逐字生成方法,其代码如下图:

在这里插入图片描述
我们从代码中可已发现,大语言模型使用交叉熵来计算的,至于有关交叉熵相关原理,可自行参考其它博客内容。

2、构建模型输入内容与label标签

我给出大概loss计算标签,我们可以发现input_ids输入与labels是对应的,只是和我上面所说训练是错位计算交叉熵。我也整理了一份表格供读者参考。当然,我这里有问题可留言指正。

在这里插入图片描述

3、input_ids与labels格式

这里我以语言模型为例,huggingface训练输入input_ids与labels对应的id是一样的,只是再计算loss时候,模型输出减少了最后一位,而labesl去掉开始一个位置,以此达到了错位计算loss的目的,具体可查看如下图示。

在这里插入图片描述

二、多模态大模型loss计算方法

1、多模态loss计算代码解读

多模态大模型都是依附大语言模型来获得输出内容。尽然如此,多模态大模型的loss计算方法和我上上面说的llama3的loss计算方法一致,都是使用交叉熵方法来求解loss,也是输出logits是取前n-1个位置内容,而lables是取了1:n的内容。如此,使用计算前面内容推理后面内容,假如你输出是5个可推理第6个token内容,如此类推就可以生成式的给出推理内容,这也是推理逐字生成方法,其代码如下图:
在这里插入图片描述
这里重点强调:-100位置不需要计算loss,我非常肯定!!

2、多模态输入内容

当然,多模态和大语言模型还是有区别,主要在于多了其它编码模块,如图像多模态就是多了图像编码器将输出内容作为大语言输入ids。再进入大语言模型输入之前模型的输入内容如下图:
在这里插入图片描述
从图上可知,有了图像占位内容,而labels不需要计算loss为-100.

2、大语言模型输入内容

我再之前以说过,多模态大模型是依附大语言模型输入。自然输入大语言模型内容格式需和大语言模型一样,然而图像需要经过图像编码encoder模块将图像转为embedding,在与文本进行cat,我这下面是个大致的示意表格,如下:
在这里插入图片描述

3、图像embending如何嵌入文本embeding

这里,我借助b站的up所说,可参考下图内容。b站参考连接这里
拼接位置:
在这里插入图片描述

拼接embeding:
在这里插入图片描述
注:embedding的拼接!

相关文章:

大语言模型与多模态大模型loss计算

文章目录 前言一、大语言模型loss计算1、loss计算代码解读2、构建模型输入内容与label标签3、input_ids与labels格式 二、多模态大模型loss计算方法1、多模态loss计算代码解读2、多模态输入内容2、大语言模型输入内容3、图像embending如何嵌入文本embeding 前言 如果看了我前面…...

线上研讨会 | CATIA助力AI提升汽车造型设计

报名链接: 2024探索之旅第二季...

Unity新输入系统 之 InputAction(输入配置文件最基本的单位)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​ 首先你应该了解新输入系统的构成结构:Unity新输入系统结构概览-CSDN博客 Input System - Unity 手册 1.In…...

【3】MySQL的安装即启动

目录 一.下载 二.安装 三.启动 一.下载 二.安装 安装MySQL时遇到的Initializing database错误:推荐下面的博客(简单就是电脑名不要出现中文) https://blog.csdn.net/m0_52775858/article/details/123705566 三.启动 PS:cmd要…...

变“金点子”为“好应用”,合合信息智能文档处理技术助力大学生探索AI创新边界

谈“糖”色变、追求养生、低卡生活……这些热门词汇频频在社交媒体上掀起讨论热潮。有这样一批年轻人不但捕捉到了这些词汇背后真实的用户需求,并且正在利用AI技术寻找解决之道。 近日,“中国大学生服务外包创新创业大赛”(以下简称“服创大…...

央行重提P2P存量业务化解,非吸案开始翻旧账?

沉寂已久的P2P,又突然以另一种意想不到的形式回到公众视野了。2018年全国P2P坍塌式暴雷,平台老板“跑路”“判刑”的消息一时间你方唱罢我登场。当年的某凰金融、某租宝、某信贷等赫赫有名的网贷平台传出的消息无非两类——查封或跑路,这几年…...

8B 端侧小模型 | 能力全面对标GPT-4V!单图、多图、视频理解端侧三冠王,这个国产AI开源项目火爆全网

这两天, Github上一个 国产开源AI 项目杀疯了!一开源就登上了 Github Trending 榜前列,一天就获得将近600 star。 这个项目就是国内大模型四小龙之一面壁智能最新大打造的面壁「小钢炮」 MiniCPM-V 2.6 。它再次刷新端侧多模态天花板&#xf…...

汽车免拆诊断案例 | DAF(达富)汽油尾气处理液故障警示

故障现象 距离我上次在货卡上工作已经有一段时间了,让它们在道路上保持安全行驶是非常重要的。因此,当故障警示灯亮起时,我们需要迅速找到问题方向以及排除故障。 车辆的仪表板亮起多个故障灯以及警示灯,我们需要用解码器查找触…...

图论算法

目录 1.引言 2.图论基础 3.Dijkstra算法 3.1 算法背景与概述 3.2 算法原理 3.3 算法步骤 3.4 示例说明 3.5 复杂度分析 3.6 优缺点及应用场景 4.Floyd-Warshall算法 4.1 算法背景与概述 4.2 算法原理 4.3 算法步骤 4.4 示例说明 4.5 复杂度分析 4.6 优缺点及应用…...

手抖跟饮食有关系吗?

手抖,医学上称为震颤(tremor),是指手部或其他身体部位的不自主抖动。饮食在某种程度上与手抖相关,但并非唯一的因素。以下是饮食与手抖之间可能存在的关系: 1. 咖啡因摄入:咖啡因是一种刺激神经…...

59. 螺旋矩阵 II

59. 螺旋矩阵 II 题目链接&#xff1a;59. 螺旋矩阵 II 代码如下&#xff1a; class Solution { public:vector<vector<int>> generateMatrix(int n) {if(n1){return {{1}};}vector<vector<int>> res(n,vector<int>(n));int num1;int left0,r…...

shiro注解不起作用:shiro进行权限校验时,@RequireRoles(“admin“)注解不起作用的解决方法

今天在写前后端分离项目时&#xff0c;用jwt加shiro进行登录权限校验时&#xff0c;RequireRoles("admin")注解不起作用&#xff0c;记录一下。 前提&#xff1a;数据库里面的user_type代表用户类型 &#xff1a;0普通用户 &#xff1b;1&#xff1a;专家&#xff1…...

ZABBIX邮件监控发送信息

前言&#xff1a;本地邮箱&#xff0c;第三方邮箱&#xff0c;第三方邮箱加脚本 1、本地邮箱测试 #cd /home # ls laiyingx [rootzabbix ~]# vim /etc/postfix/main.cf /mydestination $myhostname, localhost.$mydomain, localhost,$mydomain [rootzabbix ~]# systemctl…...

Java核心 - 减少循环次数的必要性及其实现方法

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有疑问和建议&#xff0c;请私信或评论留言&#xff01; 前言 在 Java 编程中…...

国产麒麟系统下U盘只读文件系统问题

问题描述 国产麒麟系统下U盘只读文件系统问题 解决方案&#xff1a; 提示&#xff1a;卸载U盘&#xff0c;然后重新挂载&#xff0c;修复。 1.插入U盘并用df -h查看U盘信息: 命令&#xff1a;df -h 找到自己的U盘信息&#xff08;可以根据容量大小来找&#xff09;&#xff…...

STM32-定时器-定时器中断-PWM调光

1、TIM 定时器 定时器是一种电子设备或软件组件&#xff0c;用于在预定时间后触发一个事件或操作。它可以基于时钟信号或其他周期性信号来工作&#xff0c;并且可以用来测量时间间隔、生成延时、触发中断等。 时钟信号 时钟信号是一种周期性的电信号&#xff0c;用于同步电路中…...

【学习笔记】用线段树维护区间计数问题

前言 简单的区间计数问题可能直接推式子就行了。 但有些问题必须要数据结构维护。线段树就是一个比较好的处理区间的数据结构。 Gym102222L 思路 满足条件的区间特征&#xff1a; max ⁡ { a i } − min ⁡ { a i } 1 − c n t 0 \max\{a_i\}-\min\{a_i\}1-cnt0 max{ai​}…...

4章11节:用R做数据重塑,数据的特征缩放和特征可视化

由于数据往往复杂多样,其中不同的特征变量可能具有不同的数值范围,这使得特征缩放成为一个必要的步骤。例如,当我们要处理医学数据时,对于同一个患者,肺活量的变化范围可能在1000到5000之间,而体重指数(BMI)的变化范围则可能在10到50之间,其他一些生理指标甚至可能处于…...

LVS-NAT + LVS-DR

LVS 现在lvs已经是linux内核标准的一部分&#xff0c;使用lvs可以达到的技术目标是&#xff1a;通过linux达到负载均衡技术和linux操作系统实现一个高性能高可用的linux服务器集群&#xff0c;他具有良好的可靠性&#xff0c;可延展性和可操作性&#xff0c;从而以低廉的成本实…...

排序算法——插入排序

一、插入排序概念 直接插入排序&#xff08;Insertion Sort&#xff09;是一种简单的排序算法&#xff0c;它的工作原理类似于人们手动排序卡片的方式。该算法通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...

大数据驱动企业决策智能化的路径与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;数据驱动的企业竞争力重构 在这个瞬息万变的商业时代&#xff0c;“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...

LeetCode - 148. 排序链表

目录 题目 思路 基本情况检查 复杂度分析 执行示例 读者可能出的错误 正确的写法 题目 148. 排序链表 - 力扣&#xff08;LeetCode&#xff09; 思路 链表归并排序采用"分治"的策略&#xff0c;主要分为三个步骤&#xff1a; 分割&#xff1a;将链表从中间…...

视觉slam--框架

视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图&#xff1f; 建图并没有一个固定的形式和算法…...