超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能"放大招"!

原创 AI产品汇  2024年11月19日 07:15 广东


“OpenAI的闭源多模态模型o1再次霸榜好久了,这使得开源界与闭源界之间的差距进一步拉大。早期的开源视觉语言模型(VLM)主要采用直接预测方法,在回答问题时立即生成简短的答案。这种直接反应范式的主要局限性在于它缺乏结构化的推理过程,这使得它对需要逻辑推理的任务效率较低。大量的研究结果表明,这些问题的一个重要原因是现有VLM中推理过程的系统性和结构化不足。具体来说,通过引用系统,该模型不生成直接的推理链,而是参与多阶段推理。另一方面,结构化是指模型能够清楚地识别它所处的推理阶段,并理解每个阶段要解决的主要任务。作者介绍了LLaVA-o1,这是一种用于进行自主多阶段推理的新型VLM。与思维链提示不同,LLaVA-o1能够独立地参与总结、视觉解释、逻辑推理和结论生成的连续阶段。它不仅在各种多模态推理基准上比其基础模型高出8.9%,而且还超过了更大甚至闭源模型的性能,如Gemini-1.5-pro、GPT-4o-mini和Llama-3.2-90B-VisionInstru ct。”


代码链接-https://github.com/PKU-YuanGroup/LLaVA-o1

论文链接-https://arxiv.org/pdf/2411.10440


01-LLaVA-o1背景简介

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

以OpenAI o1为代表的大型语言模型展示了强大的推理能力,这充分的验证了语言模型推理时间缩放的有效性。然而,视觉对于使模型能够充分理解世界并扩展其认知能力同等重要。因此,开发一个融合语言和视觉的多模态模型,同时促进其有效、系统和深入的推理,具有重要意义。

早期的开源视觉语言模型(VLM)主要采用直接预测方法,在回答问题时立即生成简短的答案。这种直接反应范式的主要局限性在于它缺乏结构化的推理过程,这使得它对需要逻辑推理的任务效率较低。近期的研究表明,结合思维链(CoT)推理可以鼓励模型逐步推理,显著提高其问答能力。然而,即使使用CoT推理,大多数VLM在推理过程中也经常产生错误或幻觉输出。

大量的研究结果表明,这些问题的一个重要原因是现有VLM中推理过程的系统性和结构化不足。具体来说,通过引用系统,该模型不生成直接的推理链,而是参与多阶段推理。另一方面,结构化是指模型能够清楚地识别它所处的推理阶段,并理解每个阶段要解决的主要任务。作者观察到,VLM经常在没有充分组织问题和可用信息的情况下发起响应。此外,它们经常偏离对结论的逻辑推理,而不是过早地提出结论并随后试图证明其合理性。鉴于语言模型会逐一生成响应,一旦引入错误的结论,模型通常会沿着有缺陷的推理路径继续。

02-LLaVA-o1算法简介

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

在这项工作中,作者介绍了LLaVA-o1,这是一种用于进行自主多阶段推理的新型VLM。与思维链提示不同,LLaVA-o1能够独立地参与总结、视觉解释、逻辑推理和结论生成的连续阶段。这种结构化方法使得LLaVA-o1能够在推理密集型任务的精度方面得到显著地提高。

为了实现这一点,作者收集了LLaVA-o1-100k数据集,整合了很多来自各种可视化问答源的样本,并提供了结构化的推理注释。此外,作者提出了一种推理时间级波束搜索方法,该方法能够实现有效的推理时间尺度。

值得注意的是,LLaVA-o1仅使用了10万个训练样本和一种简单而有效的推理时间缩放方法,它不仅在各种多模态推理基准上比其基础模型高出8.9%,而且还超过了更大甚至闭源模型的性能,如Gemini-1.5-pro、GPT-4o-mini和Llama-3.2-90B-VisionInstruct。

03-LLaVA-o1算法整体流程

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

上图展示了该算法的推理流程。利用Best-of-N搜索方法来生成N个完整响应,并从中选择一个最佳响应;句子级的束搜索为每个句子生成多个候选选项,并选择最佳选项。相比之下,作者提出的阶段级波束搜索能够为每个推理阶段(例如,摘要、标题、推理和结论)生成候选者,并在每个阶段选择最佳选项。Best-of-N搜索在粗略级别上运行,而句子级别的Beam搜索过于精细,该方法实现了最佳平衡并获得了最佳性能。具体的步骤如下所述:

步骤1--在第一阶段的解决方案种采样N个样本。

步骤2--随机抽取2个响应,让模型确定哪个更好,保持更好的响应。

步骤3--重复N-1次,保持最佳反应。

步骤4--对下一阶段的N个响应进行采样,然后重复步骤2-4,直到所有阶段都处理完毕。

04-LLaVA-o1算法实现细节

04.01-生成LLaVA-o1-100k的工作流

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

大多数现有的VQA数据集缺乏训练LLaVA-o1模型所需的详细推理过程。因此,作者收集了一个新的数据集,该数据集中整合了几个广泛使用的VQA数据集的样本,总共有99k个图像QA对(每对可能包括一轮或多轮提问)。

如上图所示,由于目前不存在可以直接产生系统、结构化推理的多模态模型,作者使用GPT-4o生成详细的推理过程,包括总结、标题、推理和结论,并将其编译成LLaVA-o1-100k数据集,作者计划后期发布该数据集,供大家一起使用。

04.02-阶段级的束搜索详解

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

作者在上图中提供了一个示例。当不应用推理时间缩放时,尽管模型生成了正确的推理步骤,但在推理过程中无法得出具体的答案。这会导致模型在结论阶段进行猜测,从而导致错误的结果。相比之下,通过推理时间缩放,模型保留了导致最终结果的推理步骤,确保了答案的正确性。

05-LLaVA-o1算法性能评估

05.01-主观效果性能评估

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

上图展示了基础的LIama-3.2-11B模型和LLaVA-o1在相同的输入问题上面的比较结果。通过观察与分析,我们可以发现:基础模型Llama-3.2-11B-VisionInstruct在推理过程中表现出明显的缺陷,在整个推理过程中出现了几个错误。相比之下,LLaVA-o1首先概述问题,解释图像中的相关信息,进行逐步推理过程,最终得出一个有充分支持的结论。

05.02-客观指标性能评估

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

上图展示了LLaVA-o1和其它模型在六个多模态推理基准上的性能表现。尽管LLaVA-o1是从Llama-3.2-11B-VisionInstruct模型(平均得分最低)微调而来的,但它的表现优于许多较大的开源模型,甚至超过一些闭源模型。

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

上表展示了不同的模型在多个评估基准上面的实验结果。这里,LLaVA-o1(带直接训练)是指直接在原始VQA数据集的问答对上训练的模型,而LLaVA-o1(不带结构化标签)表示在去除结构化标签的LLaVA-o-100k数据集上训练的模型。LLaVA-o1是指在完整的LLaVA-o1-100k数据集上训练的模型,包括结构化标签。

通过观察与分析,我们可以发现:LLaVA-o1在多个基准上面都超越了其它的基线算法,这充分的证实了其有效性。

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

如上表所示,作者在六个需要高级推理能力的基准测试中比较了LLaVA-o1与其它几个最先进的开源和闭源视觉语言模型(VLM):MMStar-R、MMBench-R、MMVet-R、MathVista、AI2D和HallusionBench。

通过观察与分析,我们可以发现:LLaVA-o1始终优于许多类似甚至更大尺寸的开源模型,如InternVL2-8B、Ovis1.5-Gemma29B、MiniCPM-V2.6-8B、Llama-3.2-90B-VisionInstruct和VILA-1.5-40B。值得注意的是,LLaVA-o1甚至超越了GPT-4o-mini和Gemini-1.5-pro等某些闭源模型,突显了该结构化推理方法的有效性。这种比较验证了该方法的优势,特别是在严重依赖推理技能的基准测试中,并强调了LLaVA-o1是推理密集型VLM任务领域的竞争模型。

06-LLaVA-o1算法效果展示

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

图6.1-LLaVA-o1算法效果展示1

www.zeeklog.com  - 超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

图6.2-LLaVA-o1算法效果展示2

Read more

使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序

使用 Prometheus 和 Grafana 监控 Spring Boot 应用程序

手把手教你如何使用 Prometheus 和  监控 Spring Boot 应用程序的过程。 在本文中,我们将研究如何使用 Grafana 监控 Spring Boot 应用程序。我们将研究整个设置并创建一个简单的仪表板来查看一些指标。 部署在生产环境中的每个应用程序都需要某种监控来了解应用程序的执行情况。这将使您了解应用程序是否按方面执行,或者您是否需要采取一些措施以获得所需的性能水平。在现代世界中,这些数据称为应用程序性能指标 (APM)。现在已经有相当多的商业工具如Newrelic、Datadog APM等,都是提供这种能力的SAAS服务。 今天我们将研究两个开源工具,称为Grafana和Prometheus。Prometheus 以时间序列格式收集和存储指标数据,而 Grafana 使用 Prometheus 作为数据源在仪表板上可视化数据。 有了这个,让我们首先创建一个应用程序并使用 Grafana 对其进行监控。 创建一个 Spring Boot 应用程序 让我们访问https://start.spring.io并创建一个具有以下依赖项的简单应用程序。

By Ne0inhk
2022 年值得了解的基础设施即代码工具清单

2022 年值得了解的基础设施即代码工具清单

云计算的出现彻底改变了每个 IT 领域。不排除 IT 基础设施。管理员不得不手动配置资源并管理大型 Excel 表格中的数据的日子已经一去不复返了。在当今动态变化的网络需求下,人工维护 IT 基础设施的想法非常可怕。这就是基础设施即代码工具的用武之地。 简单地说,IaC 是关于使用代码的基础设施自动化。在 IaC 环境中,管理员编写和部署机器可读的配置文件,用于自动配置 IT 基础架构并将基础架构始终保持在所需状态。使用 IaC 配置文件,您可以自动部署网络、虚拟机、服务器、数据库等。 主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。 对基础设施即代码工具的需求 最初,IT 管理员手动放置服务器,并在这些服务器上配置和部署应用程序。配置详细信息由网络团队手动存储和管理。这个过程是重复的和耗时的。此外,

By Ne0inhk
Spring经典的面试题,你值得拥有!!

Spring经典的面试题,你值得拥有!!

一、什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。 Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。 二、使用Spring框架能带来哪些好处? 下面列举了一些使用Spring框架带来的主要好处: 1、Dependency Injection(DI) 方法使得构造器和JavaBean properties文件中的依赖关系一目了然。 2、与EJB容器相比较,IoC容器更加趋向于轻量级。这样一来IoC容器在有限的内存和CPU资源的情况下进行应用程序的开发和发布就变得十分有利。 3、Spring并没有闭门造车,Spring利用了已有的技术比如ORM

By Ne0inhk
金三银四面试季,程序员常见的14个Java面试题,必须得收藏!!!

金三银四面试季,程序员常见的14个Java面试题,必须得收藏!!!

跳槽不算频繁,但参加过不少面试(电话面试、face to face面试),面过大/小公司、互联网/传统软件公司,面糊过(眼高手低,缺乏实战经验,挂掉),也面过人,所幸未因失败而气馁,在此过程中不断查缺补漏,养成了踏实、追本溯源、持续改进的习惯,特此将自己经历过、构思过的一些面试题记录下来,如果答案有问题,欢迎拍砖讨论,希望能对找工作或者感兴趣的同学有所帮助,陆续整理中。 1. synchronized和reentrantlock异同 相同点 都实现了多线程同步和内存可见性语义 都是可重入锁 不同点 实现机制不同 synchronized通过java对象头锁标记和Monitor对象实现 reentrantlock通过CAS、ASQ(AbstractQueuedSynchronizer)和locksupport(用于阻塞和解除阻塞)实现 synchronized依赖jvm内存模型保证包含共享变量的多线程内存可见性 reentrantlock通过ASQ的volatile state保证包含共享变量的多线程内存可见性 使用方式不同 synchronized可以修饰实例方法(锁住实例对象

By Ne0inhk