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

崇州网站建站/长沙本地推广

崇州网站建站,长沙本地推广,做网站 还是淘宝店,做动漫网站用什么程序原文链接:http://arxiv.org/abs/2403.09028 源码链接:https://github.com/vis-nlp/ChartInstruct 启发:本文构建的instruction-tuning数据集以及使用该数据集对模型进行微调的过程都值得学习。 Abstract 研究对象:图表 研究…

原文链接:http://arxiv.org/abs/2403.09028

源码链接:https://github.com/vis-nlp/ChartInstruct

启发:本文构建的instruction-tuning数据集以及使用该数据集对模型进行微调的过程都值得学习。 

Abstract

研究对象:图表

研究问题:微调视觉语言模型以更好的解决图表问答和摘要任务

研究方法:引入了 ChartInstruct:一种新颖的图表特定视觉语言教学跟踪数据集,由 191K 条指令和 71K 图表生成。然后,我们提出了两个不同的系统,用于对此类数据集进行指令调整:(1) 一个端到端模型,将用于图表理解的视觉编码器与 LLM 连接起来;(2) 采用两步方法提取图表数据表并将其输入到 LLM 中的管道模型。

优势:在四个下游任务的实验中,我们的模型获得最先进的结果。进一步的评估表明,我们的指令调优方法支持各种真实世界的图表理解和推理场景,从而将模型的范围和适用性扩展到新的任务类型。

1 Introduction

        早期工作试图通过微调最初在语言和视觉任务上训练的模型来解决图表相关任务。但是,此类模型可能不是特定于图表的任务的最佳选择,因为它们忽略了图表结构的显式建模,例如图表元素(如条形、图例和轴)之间的关系。最近的模型,如 UniChart(Masry 等人,2023 年)、Chart-T5(周 等人,2023 年)和 MatCha(Liu 等人,2022b)是专门为图表设计的,考虑了图表元素和值的视觉和数学推理。但是,他们通常局限于有限来源的图表,并专注于少数特定的任务,这限制了它们在现实世界中的适用性。事实上,在现实世界广泛的应用中,我们无法确定这些模型能适应哪些应用。

不少论文都说MatCha等模型局限于有限来源的图表数据集,但是论文真的解决了这个问题吗?难不成真有无限的数据集?另外,这些论文提到泛用性问题,可是论文本身依旧局限于QA和摘要生成,并没能解决更多的问题,这篇论文有改进吗?

        一个有效解决方案是指令调优(instruction tuning),相关文章有:

  • Training language models to follow instructions with human feedback
  • Scaling instruction-finetuned language models
  • Alpaca: A Strong, Replicable Instruction-Following Model
  • Vicuna: An opensource chatbot impressing gpt-4 with 90%* chatgpt quality
  • Llama: Open and efficient foundation language models

        这些论文表明在instruction-following数据集(包含图表图像以及问答对,不过标注的答案会包含推理过程,从而让模型在训练时能学习正确的推理步骤)上训练LLM能够更好的理解用户意图。然而,图表理解和推理的指令调整仍未得到充分探索,现有方法的instruction-tuning任务缺乏多样性,限制了它们在实际图表理解场景的有效性。

        在本文中,我们介绍了图表指令调优 (Chart Instruction Tuning),为构建基于 VLM 的通用图表理解和推理助手铺平了道路。为此,我们开发了一个新的图表指令调整数据集,其中包含从 157 个在线平台收集的真实世界图表,涵盖了广泛多样的视觉风格。利用 GPT-3.5(OpenAI-Blog,2022 年)、GPT-4(OpenAI,2023 年)和 Gemini(Team et al.,2023 年)等高级 LLM,我们生成了 191K 条指令,涵盖反映真实世界应用的广泛任务(图 1)。

或许从157个渠道收集的图表可以称作unlimited range of sources,但是下图所示的9种任务类型实在难以称作“涵盖广泛任务”,因为其中部分任务本质并没有区别,这些问题在作者之前的文章UniChart中已经有体现,ChartLlama涵盖范围更广

         我们设计了两种系统:(1)端到端系统,修改Llava架构,使用Unichart的视觉编码器替换Llava本身的CLIP编码器。(2)两步式方法,先图表结构分析,从图表中提取原始数据表,然后将表格和question作为LLM的输入,得到answer。

        通过四个基准进行综合评估:ChartQA、Chart2Text、OpenCQA、ChartFC。并且进一步采取了人工评估。

        我们的主要贡献包括:(i) 利用 LLM 构建了一个新的带有真实世界图表和广泛任务的指令跟踪语料库,(ii) 两个专门为图表理解任务量身定制的不同系统;(iii) 广泛的评估,展示了 ChartInstruct 在现有图表相关基准任务中的最新性能,同时也将其适用性扩展到新任务。

2 Related Work

2.1 Chart Modeling

2.2 Visual Instruction Tuning

2.3 Chart Domain Downstream Tasks

3 Chart Instruction Data Generation

3.1 Chart Corpora Collection

        图表图像来源有两个:已有的公共数据集和Web爬取图表。公共数据集选择了UniChart论文数据集,该数据集包含611K图表,不过这个数据集的数据来源较为受限。所以我们构建了WebCharts,包含41K图表,这个数据集从各个网站根据关键词检索图表图像并抓取,然后进行筛选,由于这些图标缺少原始表格,所以我们使用Gemini Pro Vision自动提取表格与标题

3.2 Instruction Data Generation

        图表指令数据集生成,包含190774条指令,对应70882张图表,涵盖图表理解和推理的各个方面。

(1)Tasks Selection

  • Summarization and QA:
  • Fact Checking:输入关于图表的一段描述文本,需要模型判断这段描述是否准确,并给出accept或者refute反馈以及解释。该任务可以让模型减少事实性错误,提高图表解释准确性。
  • Chain-of-thought (CoT) Reasoning:旨在增强模型执行复杂数学和视觉推理的能力,这也是目前许多模型有待改进的地方,本文设计了两种类型的问题:变量相关问题,涉及统计量计算等数学运算问题;变量无关问题,侧重数值检索、比较和逻辑分析。
  • Code Generation:生成可执行的 Python 脚本来回答用户问题。
  • Novel Tasks:让LLM生成新的图表相关任务,需要注意不能与上述任务重复,这在增强指令集的多样性方面起着至关重要的作用。

(2) Prompt Design

        要为不同的任务提供一定的指示,我们首先创建了一组提示符模板,每个模板包含:

  • 任务描述
  • 输入图表数据表,以及图表标题等元数据
  • 输出约束(如果有)
  • 输出格式。

(3) Input and Output Generation

        设计好prompt模板之后,利用GPT3.5 Turbo 和 GPT4为每个模板创建input-output实例,由于图表数量有限,我们为每个图表都会生成多种类型的任务实例。

3.3 Dataset Analysis

4 Modeling 

4.1 End-to-End System

        利用LLaVa架构,将其中的CLIP编码器替换成UniChart视觉编码器。对于语言解码器,本文研究了decoder-only(Llama2)和encoder-decoder(Flan-T5)两种类型的架构。在 Llama2 设置中,提取的视觉特征直接注入到语言解码器中,而在 Flan-T5 模型中,这些特征和指令首先由语言编码器处理,然后解码器生成文本

        在微调时,先冻结视觉编码器和LLM部分,对adaptor进行微调。这是一个对齐阶段,将UniChart视觉编码器的视觉特征与LLM的输入嵌入空间对齐,从而使LLM能够准确解释图表图像,此阶段的两个特定任务是:从图表生成表格和汇总图表内容。对齐后,下一阶段是冻结视觉编码器,训练adaptor和LLM

4.2 Pipeline System 

        在第一阶段,也就是图表转换成表格阶段,使用UniChart模型,该模型已被证明能够从图表图像生成高质量的数据表。第二阶段,使用Llama2和Flan-T5模型进行实验。

        与端到端方法不同的是,端到端方法传到LLM的是视觉特征,而此处传入LLM的是表格文本,所以不需要进行对齐,可以直接对LLM进行微调。

5 Experiments and Results

5.1 Experimental Setup 

5.2 Results and Findings

5.3 Human Evaluation on Chart Tasks

5.4 Error Analysis and Challenges 

Value Estimation and Comparison

当图表中的细节过于复杂或者过于简单时,会导致视觉元素与其相关值匹配、数值估算、基于视觉属性的比较遭遇困难。

Factual Errors

尽管我们的模型显示出改进的文本生成质量和更好的可用信息利用率,但它们仍然会产生图表未提及或事实不正确的陈述。

Numerical Reasoning

模型在某些数值推理任务上依旧不够可靠

模型在指标上面有改进,但原本存在的问题依旧存在,只是有所优化,但并没有对问题作出根源性解决

6 Conclusion 

        我们推出了 ChartInstruct,这是一个自动生成的图表相关指令数据集和两个指令系统,专为广泛的图表相关任务而设计。据我们所知,这是第一个指令调整数据集,它不仅包括预定义的任务,还包括 LLM 自动提取的许多新类型的任务。我们的模型在各种自动测量下为四个不同的下游任务设定了最先进的性能,而人工评估进一步证实了我们的方法在许多新任务上的有效性。我们相信我们的模型和指令调整数据集将成为未来研究的宝贵资源,并鼓励进一步探索图表理解和推理的独特问题领域。

相关文章:

[论文阅读] ChartInstruct: Instruction Tuning for Chart Comprehension and Reasoning

原文链接:http://arxiv.org/abs/2403.09028 源码链接:https://github.com/vis-nlp/ChartInstruct 启发:本文构建的instruction-tuning数据集以及使用该数据集对模型进行微调的过程都值得学习。 Abstract 研究对象:图表 研究…...

基于springboot+vue学生宿舍管理系统设计与实现

博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…...

【Android】模糊搜索与数据处理

【Android】模糊搜索与数据处理 本篇博客主要以根据输入内容动态获取城市为例进行讲解。 获取城市 这一部分主要是根据输入的信息去动态获取城市信息 首先定义了一个名为 NetUtil 的类,主要用于通过 HTTP 请求获取城市信息。 public class NetUtil {private stat…...

机器学习-KNN

KNN:K最邻近算法(K-Nearest Neighbor,KNN) 用特征空间中距离待分类对象的最近的K个样例点的类别来预测。 投票法:K 个样例的对数类别。 k1:最近邻分类 k 通常是奇数(因为我们根据这个K数据判断类别,如果…...

python 安装包 site-packages

1. site-packages 文件夹的位置 当我们通过 pip 或其他方式安装一个 Python 包时,这些包的文件就会被复制到 site-packages 文件夹下。 site-packages 文件夹通常位于 Python 的安装目录下的 Lib 文件夹内。具体的路径会根据你使用的操作系统和 Python 版本的不同而…...

大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...

CentOS8.5.2111(3)实验之DHCP服务器架设

一、实验目标 1.掌握DHCP服务器的主配置文件各项申明参数及操作及其含义 2. 具备DHCP 服务器、中继服务器的配置能力 3. 具备测试客户端正常获取服务器分配地址的能力 4. 具备DHCP服务器故障排除能力 二、实训原理/流程 (一)项目背景 …...

机器学习(4):机器学习项目步骤(一)——定义问题

1. 机器学习项目的五大步骤 定义问题 收集数据和预处理 选择算法和确定模型 训练拟合模型 评估优化模型性能 2. 定义问题的主要任务 刨析业务场景,设定清晰目标,同时还要确定当前问题属于哪一种机器学习类型。 3. “易速鲜花”项目案例 项目任务&a…...

C#中Socket通信常用的方法

创建Socket 在C#中创建一个Socket对象的基本步骤如下: 引入命名空间: 首先,确保你的文件顶部包含了以下命名空间的引用: using System.Net; using System.Net.Sockets; 创建Socket实例: 你可以创建一个Socket实例&am…...

【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:单例模式(singleton) 1:概念 二:“饿汉模…...

huggingface实现中文文本分类

目录 1 自定义数据集 2 分词 2.1 重写collate_fn方法 3 用BertModel加载预训练模型 4 模型试算 5 定义下游任务 6 训练 7 测试 #导包 import torch from datasets import load_from_disk #用于加载本地磁盘的datasets文件 1 自定义数据集 #自定义数据集 #…...

基于python+控制台+txt文档实现学生成绩管理系统(含课程实训报告)

目录 第一章 需求分析 第二章 系统设计 2.1 系统功能结构 2.1.1 学生信息管理系统的七大模块 2.1.2 系统业务流程 2.2 系统开发必备环境 第三章 主函数设计 3.1 主函数界面运行效果图 3.2 主函数的业务流程 3.3 函数设计 第四章 详细设计及实现 4.1 学生信息录入模块的设计与实…...

Spring Boot 整合MyBatis-Plus 实现多层次树结构的异步加载功能

文章目录 1,前言2,什么是多层次树结构?3,异步加载的意义4,技术选型与实现思路5,具体案例5.1,项目结构5.2,项目配置(pom.xml)5.3,配置文件&#xf…...

网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了

本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…...

英特尔终于找到了Raptor Lake处理器崩溃与不稳定问题的根源

技术背景 在过去的几个月里,一些用户报告称他们的第13代和第14代Intel Core“Raptor Lake”处理器遇到了系统崩溃和不稳定的情况。这些问题最初在2024年7月底被英特尔识别出来,并且初步的诊断显示,这些问题与微码有关,该微码使CP…...

Shp2pb:Shapefile转Protocol Buffers的高效工具

Shp2pb是一个实用工具,专门用于将Shapefile(shp)格式转换为Protocol Buffers(protobuf)文件。这对于以更高效、更紧凑的方式处理地理数据特别有用。以下是关于如何安装和使用Shp2pb工具的详细说明,以及一个…...

Elasticsearch使用Easy-Es + RestHighLevelClient实现深度分页跳页

注意!!!博主只在测试环境试了一下,没有发到生产环境跑。因为代码还没写完客户说不用弄了( •̩̩̩̩_•̩̩̩̩ ) 也好,少个功能少点BUG 使用from size的时候发现存在max_result_window10000的限制&…...

基于ASRPRO的语音应答

做这个的起因是为了送女朋友,而且这东西本身很简单,所以在闲暇之余尝试了一下。 这个工程很简单,只通过对ASRPRO进行编程即可。 先看效果。(没有展示所有效果,后续会列出来所有对话触发) 语音助手示例1 语音助手示例2 代码部分使用天文Block编辑,找了一圈好像只…...

3D看车汽车案例,车模一键换皮肤,开关车门,轴距,电池功能

3D 汽车案例 网址: http://car.douchuanwei.com/...

数据结构-4.栈与队列

本篇博客给大家带来的是栈和队列的知识点, 其中包括两道面试OJ题 用队列实现栈 和 用栈实现队列. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条, 如果分享不成功, 那我就会回你一下,那样你就分享成功啦. 你们的…...

芝士AI写作有什么特色? 大模型支撑,智能改写续写,让写作更轻松

又到了一年的毕业季,大学四年眨眼间匆匆就过去了,毕业,求职,考研,工作,升学,但是在这之前,我们必须要完成论文的写作,这也是每一位大学生都必须要面对~ 芝士AI官网&…...

【计网】从零开始学习http协议 --- http的请求与应答

如果你不能飞,那就跑; 如果跑不动,那就走; 实在走不了,那就爬。 无论做什么,你都要勇往直前。 --- 马丁路德金 --- 从零开始学习http协议 1 什么是http协议2 认识URL3 http的请求和应答3.1 服务端设计…...

记录linux环境下搭建本地MQTT服务器实现mqtt的ssl加密通讯

1、ubuntu安装mosquitto sudo apt-get update//安装服务端 sudo apt-get install mosquitto//安装客户端 sudo apt-get install mosquitto-clients 2、安装openssl 3、mqtts/tls加密传输 mosquitto原生支持了TLS加密,TLS(传输层安全)是SSL&…...

基于python+django+vue的电影数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...

HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果

文章目录 题目一、分析1.1表达式预处理1.2中缀表达式转后缀1.3 后缀表达式计算结果 二、答案 题目 一、分析 通过利用栈将中缀表达式转换为后缀表达式,在根据后缀表达式计算运算结果。由于包含负数操作数的情况,并且操作数位数不固定为1,因此…...

C++编程:实现简单的高精度时间日志记录小程序

0. 概述 为了检查是否存在系统时间跳变,本文使用C实现了一个简单的高精度时间日志记录小程序。该程序能够每隔指定时间(默认40毫秒)记录一次系统时间到文件中,并具备以下功能: 自定义时间间隔和文件名:通…...

QQ机器人搭建

使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人 文章目录 使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人前言编写机器人代码机器人监听群聊进行文字回复机器人监听群聊进行图片回复机器人监听群聊进行文件发送机器人监听群聊进行视频发送机器人监听群聊进行语…...

flink设置保存点和恢复保存点

增加了hdfs package com.qyt;import org.apache.flink.api.java.functions.KeySelector; import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.runtime.state.storage.FileSystemCheckpointStorage;import org.apache.flink.streaming.api.datastream.Dat…...

使用python获取百度一下,热搜TOP数据详情

一、查找对应链接 # 警告:以下代码仅供学习和交流使用,严禁用于任何违法活动。 # 本代码旨在帮助理解和学习编程概念,不得用于侵犯他人权益或违反法律法规的行为。 1、打开百度页面 百度一下,你就知道 2、点击F12 或 右键鼠标…...

Go conc库学习与使用

文章目录 主要功能和特点conc 的安装典型使用场景示例代码并行执行多个 Goroutines错误处理限制并发 Goroutines 数量使用 context.Context 进行任务控制 常见问题1. **任务中发生 panic**原因:解决方法: 2. **conc.Group 重复调用 Wait()**原因&#xf…...