Gemini技术报告解读:从Google多模态大模型看后续大模型应该具备哪些能力

来自:NLP PaperWeekly

快来!NLP论文投稿、LLM交流、论文直播群

前段时间Google推出Gemini多模态大模型,展示了不凡的对话能力和多模态能力,其表现究竟如何呢?

本文对Gemini报告进行分析,总的来说Gemini模型在图像、音频、视频和文本理解方面表现出卓越的能力。其包括 Ultra、Pro 和 Nano 尺寸,能够适用于从复杂推理任务到设备内存受限用例的各种应用。

不像OpenAI接入多模态能力需要利用多个不同的模型,Google直接在预训练阶段直接接受多模态的输入是Gemini的特点之一,它能够直接处理多模态的数据,并且各项指标都还不错。另外可以看出具备图文理解等能力后,再结合大模型的对话能力,能够带来更惊艳的效果体验。

一、概述

Title:Gemini: A Family of Highly Capable Multimodal Models

论文地址:https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf

1 Motivation

发布Google的能与GPT4竞争的大模型,同时兼具多模态能力,包括文字、图像、视频、音频识别与理解能力。

2 Methods

1 Gemini模型支持4种格式输入,2种格式输出

3e06c2e2156a87f1e6b10d1763f597c4.png

特点:同时支持text文本,image图像,video视频和audio音频输入,支持文本和图片的输出。可以直接处理音频文件,不需要将音频转为文字等。

猜测的训练方法(张俊林:https://www.zhihu.com/question/633684692/answer/3316675674):

  1. 多模态训练方法:Gemini是几种模态一起联合从头训练的,包括文本、图片、音频、视频等。这与目前通常的多模态做法不太一样,目前的多模态模型一般是使用现成的语言大模型或者经过预训练过的图片模型(比如CLIP的图片编码部分),然后利用多模态训练数据在此基础上加上新的网络层训练;如果是几个模态从头开始一起训练,那么按理说应该都遵循next token prediction的模式,就应该是LVM的那个路子,其它模态的数据打成token,然后图片、视频等平面数据先转换成比如16*16=256个token,然后搞成一维线性输入,让模型预测next token,这样就把不同模态在训练阶段统一起来。

  2. 解码结构:Decoder only的模型结构,针对结构和优化目标做了优化,优化目的是大规模训练的时候的训练和推理的稳定性,所以大结构应该是类似GPT的Decoder-only预测next token prediction的模式。目前支持32K上下文。

  3. 命令理解方面:和GPT一样,采用多模态instruct数据进行SFT+RM+RLHF三阶段,这里的RM部分在训练打分模型的时候,采用了加权的多目标优化,三个目标helpfulness factuality和 safety,猜测应该是对于某个prompt,模型生成的结果,按照三个指标各自给了一个排序结果。

  4. 模型大小:从硬件描述部分来看,意思是动用了前所未有的TPU集群,所以推测Gemini Ultra的模型规模应该相当大,猜测如果是MOE大概要对标到GPT 4到1.8T的模型容量,如果是Dense模型估计要大于200B参数。考虑到引入视频音频(当然是来自于Youtube了,难道会来自TikTok么)多模态数据,所以总数据量*模型参数,会是非常巨大的算力要求,技术报告说可以一周或者两周做一次训练。

  5. 训练细节:可能分成多个阶段,最后阶段提高了领域数据的混合配比,猜测应该指的是逻辑和数学类的训练数据增加了配比,目前貌似很多这么做的,对于提升模型逻辑能力有直接帮助。

  6. 代码能力:AlphaCode2是在Gemini pro基础上,使用编程竞赛的数据fine-tune出来的,效果提升很明显,在编程竞赛上排名超过85%的人类选手,之前的AlphaCode1超过50%的人类选手;

2 Gemini模型有多个版本,最小有1.8B

696f36f8c619f4258335598e0a2993ad.png

特点:其中Nano首先从大模型蒸馏,然后4bit量化。Gemini Nano包含两个版本:1.8B面向低端手机,3.25B面向高端手机。

3 Conclusion

1 文本理解:Ultra性能超过了GPT4

ec264c430a0c4be121cff1e58a51a6a5.png

  • Ultra比gpt4效果好,pro比gpt3.5效果好,MMNLU第一次超过人类专家水平。

  • Gemini Ultra 在六个不同数据集上都是最佳。Gemini Pro是Gemini系列中的第二大模型,效率更高的同时也颇具竞争力。

2 图像理解:zero-shot效果超过很多微调后的模型

d274e594dbce1f534015657dd928a85a.png

3 视频理解:超过之前的few-shot SoTA模型

aef9f1e0154331fc77b0593c5be16261.png

  • 也是取得了SoTA,特别是英语视频字幕数据集(VATEXT、YouCook2)上提升比较大,其他感觉提升没那么大。相关评估指标如下:视频字幕 -> CIDER,NextQA -> WUPS,Perception Test -> top-1 accuracy,ActivityNet-QA -> ActivityNet-QA。

4 不同版Genmini模型的性能

46fdf34c54140ee4071f55195c2588fd.png

  1. “事实性” :涵盖开放/闭卷检索和问题回答任务;

  2. “长文本” :涵盖长篇摘要、检索和问题回答任务;

  3. “数学/科学” :包括数学问题解决、定理证明和科学考试等任务;

  4. “推理” :需要算术、科学和常识推理的任务;

  5. “多语言” :用于多语言翻译、摘要和推理的任务。

6de763c9530caf8de9094b8f731a7d26.png

Nano2模型很多超过了Pro版本的50%,部分达到90的水平,效果还不错。

5 多语种翻译:性能超过GPT4

bf88aa82efcd31a3fc393f5232bc9b99.png

翻译能力也是比GPT-4好,WMT23指标中4个有3个超过GPT4的表现。

6 图像理解数据集:MMMU数据集表现

f19c764e487bed563a84664c085f7679.png

  • MMMU(Yue et al., 2023):是最近发布的评估基准,由6个学科的图像问题组成,每个学科内有多个主题,需要大学水平的知识来解决这些问题。

  • Gemini Ultra将最先进的结果提高了 5 个百分点以上,6个学科中有5个学科中超越了之前的最佳成绩,展示了其多模态推理能力。

二、详细内容

1 多模态推理能力:识别手写答案,对物理问题进行解答

da0994fd29ffbcd0fa00667c3ab87a03.png

特点:识别书写结果,这个和OpenAI之前演示的根据草图写前端代码是一样的,不过识别的准确率是存疑的。

2 多模态推理能力:重新组织子图顺序

603f96a4cc4d8810ee1181daa9c901b6.png

  • Gemini的多模态推理能力可生成用于重新排列子图的matplotlib代码。

  • Prompt:识别当前子图的结果,重新组织子图的顺序并解释。

  • 解决此任务需要模型具备以下能力:

  • (1) 识别图中描绘的函数;

  • (2) 逆向图形来推断生成子图的代码;

  • (3) 按照指令将子图放置在所需的位置;

  • (4) 抽象推理,推断指数图必须留在原来的位置,因为正弦图必须为 3 维图移动。

3 图像生成能力:多模态理解+图像生成

1251b9279fc6caeaec5fe2eb88e04b74.png

  • 要具备上面的功能需要以下能力:

  • (1)识别图像中的颜色。这个难度不大。

  • (2)生成文字+图片结果。这个难度好像也没有那么大,可能有two-stage的实现方法或者end-to-end的实现方法。不太确定google用的哪种方法。

4 语音理解能力:具备语音识别和语音翻译能力

78f345bf41daf22ecfaf937e010d3824.png

对比的是OpenAI的Whisper,看着Gemini就是把多个SoTA模型包装起来了。

5 多模态理解:支持图片+音频输入

07e4968908d76b7ad67bd85a3e8041ce.png

这个gptv+加个语音转文字的模型可以做,这里的特点可能是直接用一个模型就可以解决?

三、多模态能力展示

1 几何推理能力:求平行四边形的高

526e3d443d684efe374ea5c1cb2072c8.png

2 视觉多模态推理能力:根据图片确定地点

66def754324b248f002456f182df1d14.png

3 多语言常识推理:识别中文关系图

8e3167b62a6a6223f2a881c86f33e070.png

4 视频理解能力:分析视频中的人如何提升足球技术

e6cbc6481b98156296b3a526ee75166a.png

四、总结

  1. 直接支持多模态的能力是Gemini的特点,Google从预训练阶段就统一了多模态大模型的训练,该策略也可能是后续大模型的发展趋势,但是其具体实现方法、带来的增益、以及cost还未知。OpenAI多模态的能力是引入(支持语音)其他模型或者通过插件(支持图像)来实现。

be174c83fbe267ee5c58bedcd1c3715a.png

  1. Gemini的多模态能力比GPT4-V要强,科学推理能力可能稍微弱于GPT4。

44794263373552dc3174191c9d7d5ad6.png

  1. 图文理解+视频理解等多模态能力与最新的大模型强强组合确实能带来惊艳的效果,但是其稳定性,是否真实能落地还有待进一步观察。例如结合图像信息求平行四边行的高,在教育领域相对于纯文本可能会更有价值,但是OCR等技术还面临鲁棒性偏差的问题,Google的模型段时间应该还是没办法解决这些问题。

400a8abff94ee6670792be16ac1833ed.png

 
 
公众号后台回复aaai、acl、naacl直接进投稿群~
回复LLM进入技术交流群~
回复 nice 进入每周论文直播分享群~
<think>好的,我现在需要帮助用户解决关于Dify循环实现的问题。首先,我需要明确用户的具体需求。他们提到“dify 循环实现”或“dify 如何处理循环”,但Dify本身可能没有直接称为“循环”的功能,所以需要结合现有文档中的信息来推断可能的解决方案。 根据用户提供的引用内容,Dify工作流中有迭代节点[^1]。这可能类似于编程中的循环结构,用于重复执行某个任务。例如,在处理列表数据或需要多次执行同一操作时,迭代节点可以派上用场。我需要详细解释迭代节点的配置和使用步骤,确保用户能够理解如何设置循环次数或遍历数据集。 另外,用户可能对如何处理循环中的错误或性能问题感兴趣。引用[2]提到在Dify中处理PEM文件的问题,这可能涉及在循环中正确处理数据格式,避免错误积累。需要提醒用户在循环中注意错误处理和资源管理,确保每次迭代的稳定性。 引用[3]中的例子展示了如何结合FastAPI和Selenium进行实时监控并生成GIF,这可能涉及循环截取浏览器内容。虽然Dify本身可能不直接控制这类循环,但可以通过外部脚本或定时任务触发工作流,模拟循环执行。这部分需要说明如何将外部循环机制与Dify结合使用。 接下来,我需要组织回答结构。首先介绍迭代节点的基本概念和配置步骤,然后讨论循环中的数据处理和错误处理,最后补充外部触发循环的方法。同时,生成相关问题以帮助用户进一步探索,比如优化循环性能或处理复杂数据结构。 需要确保回答符合格式要求,使用正确的中文表达,行内公式用$...$,独立公式用$$...$$,但当前问题不涉及数学公式,所以可能不需要使用。同时,引用标识要自然地添加到相关段落末尾,如、[^2]、[^3]。 最后,检查是否有遗漏点,比如Dify的其他循环相关功能或用户可能遇到的常见问题,确保回答全面且易于理解。</think>在Dify中处理循环逻辑主要通过**迭代节点**实现,以下是具体实现方式和应用场景的解析: ### 一、Dify的循环实现机制 Dify通过**工作流设计器**中的迭代节点处理循环需求,其核心原理类似编程中的`for循环`。迭代节点可遍历以下数据类型: - 数组列表:`["A","B","C"]` - 字典集合:`{"key1":"value1", "key2":"value2"}` - 数值范围:通过`range()`函数生成序列 配置示例: ```python # 模拟迭代节点的数据输入 input_data = { "dataset": [1,2,3,4,5], "process_logic": "item * 2" # 对每个元素执行乘以2的操作 } ``` ### 二、迭代节点的关键配置步骤 1. **数据源绑定**:将数组/字典类型变量连接到迭代节点的输入端口 2. **循环变量命名**:设定当前元素的变量名(默认为`item`) 3. **子流程设计**:在迭代节点内部构建需要重复执行的逻辑模块 4. **结果聚合**:通过`outputs`收集所有迭代结果,支持数组或对象格式 $$ \text{总耗时} = \sum_{i=1}^{n}(单次迭代时间_i) + 系统开销 $$ ### 三、循环中的特殊处理 1. **错误中断控制**: - 启用`continueOnError`参数可跳过失败迭代 - 通过`try-catch`模块包裹敏感操作 2. **并行优化**: ```python # 伪代码示例 Parallel.forEach(dataset, lambda item: process(item)) ``` 3. **结果过滤**: ```python filtered = filter(lambda x: x%2==0, processed_results) ``` ### 四、应用场景案例 1. **批量文件处理**:遍历存储桶中的文件列表进行格式转换 2. **数据清洗**:对数据库查询结果集进行逐条校验 3. **API轮询**:定时循环调用第三方接口直到满足特定条件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值