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

【LLM:Gemini】文本摘要、信息提取、验证和纠错、重新排列图表、视频理解、图像理解、模态组合

开始使用Gemini

目录

开始使用Gemini

Gemini简介

Gemini实验结果

Gemini的多模态推理能力

文本摘要

信息提取

验证和纠错

重新排列图表

视频理解

图像理解

模态组合

Gemini多面手编程助理

库的使用

引用


本文概述了Gemini模型和如何有效地提示和使用这些模型。本章也包括了有关Gemini模型的功能,技巧,应用,限制,论文和其他阅读材料。

Gemini简介

Gemini是Google Deepmind最新、最强大的AI模型。它原生支持多模态,具备跨模态推理能力,包括文本,图像,视频,音频和代码。

Gemini分为三个版本:

  • Ultra - 三个模型版本中功能最强大,适用于高度复杂的任务
  • Pro - 适用于广泛任务的最佳模型
  • Nano - 性能最佳的模型,适用于终端设备和内存有限的任务;包括1.8B参数(Nano-1)和3.25B参数(Nano-2)两个版本,从较大的Gemini模型中蒸馏训练得到,采用4位量化。

根据随附的技术报告(opens in a new tab),Gemini在32个基准测试中的30个上取得了领先,涵盖了语言、编码、推理和多模态推理等任务。

Gemini是第一个在MMLU(opens in a new tab)(大规模多任务语言理解)上超越人类专家的模型,声称在20项多模态测试基准处于领先水平。Gemini Ultra在MMLU上达到90.0%准确率,在MMMU基准(opens in a new tab)上达到62.4%准确率,相当于大学水平的学科知识和推理能力。

Gemini模型在32K的序列长度上进行训练,并建立在具有高效注意力机制(例如, multi-query attention(opens in a new tab))的Transformer解码器之上,在跨越上下文长度进行查询时表现出98%的准确率。这个重要的功能支撑了新的应用场景如文档检索和视频理解。

Gemini模型基于多模态和多语言数据进行训练,例如网络文档,书籍和代码数据,包括图像,音频和视频数据。这些模型经过所有模态数据的联合训练,展现出强大的跨模态推理能力,甚至在每个领域都具有强大的能力。

Gemini实验结果

Gemini Ultra在与思维链提示(chain-of-thought (CoT) prompting)(opens in a new tab)和自洽性(self-consistency)(opens in a new tab)等有助于处理模型不确定性的方法相结合时,达到了最高的准确率。

技术报告中提到,Gemini Ultra在32个样本上的MMLU测试效果,从贪婪采样(greedy sampling)方法的84.0%提高到不确定性路由思维链(uncertainty-routed chain-of-thought)方法(包括CoT和多数投票(majority voting))的90.0%,如果仅使用32个思维链样本,则略微提高到85.0%。类似地,思维链(CoT)和自洽性(self-consistency)在GSM8K小学数学基准上实现了94.4%的准确率。此外,Gemini Ultra正确地实现了74.4%的HumanEval(opens in a new tab)代码补全问题。下表总结了Gemini的测试结果以及与其他著名模型的结果对比。

Gemini Nano模型在事实性(即检索相关任务),推理,STEM(科学、技术、工程、数学),编码,多模态和多语言任务方面也表现出强大的性能。

除了标准的多语言功能之外,Gemini在多语言数学和摘要基准(例如MGSM(opens in a new tab)和XLSum(opens in a new tab))上分别表现出了出色的效果。

Gemini模型在32K的序列长度上进行训练,在跨越上下文长度进行查询时表现出98%的准确率。这个重要的功能支持了新的应用场景如文档检索和视频理解。

在遵循指令,创意写作和安全等重要能力方面,经过指令调整的Gemini模型受到人类评估者的一致青睐。

Gemini的多模态推理能力

Gemini经过原生多模态训练,表现出了将跨模态能力与大语言模型的推理能力相结合的能力。它的功能包括但不限于从表格,图表和图形中提取信息。还有其他有趣的功能,例如从输入中辨别细粒度的细节,跨空间和时间聚合上下文以及跨不同模态组合信息。

Gemini在图像理解任务,例如高级目标检测(high-level object recognition),细粒度语音识别(fine-grained transcription),图表理解和多模态推理方面始终优于现有方法。一些图像理解和生成功能还可以跨多种全球语言进行传输(例如,使用印地语和罗马尼亚语等语言生成图像描述)。

文本摘要

虽然Gemini是作为多模态系统进行训练的,但它拥有现代大语言模型(如GPT-3.5、Claude和Llama)中存在的许多功能。以下是使用Gemini Pro实现简单文本摘要任务的示例。本例中我们使用Google AI Studio(opens in a new tab),温度值(temperature)为0。

提示:

Your task is to summarize an abstract into one sentence.Avoid technical jargon and explain it in the simplest of words.Abstract: Antibiotics are a type of medication used to treat bacterial infections. They work by either killing the bacteria or preventing them from reproducing, allowing the body’s immune system to fight off the infection. Antibiotics are usually taken orally in the form of pills, capsules, or liquid solutions, or sometimes administered intravenously. They are not effective against viral infections, and using them inappropriately can lead to antibiotic resistance.

Gemini Pro输出:

Antibiotics are medicines used to kill or stop the growth of bacteria causing infections, but they don't work against viruses.

Google AI Studio里的任务和模型响应(高亮)截图

信息提取

接下来的示例是一个分析一段文本并提取所需信息的任务。注意,本例使用零样本提示,因此结果并不完美,但模型的性能相对较好。

提示:

Your task is to extract model names from machine learning paper abstracts. Your response is an array of the model names in the format [\"model_name\"]. If you don't find model names in the abstract or you are not sure, return [\"NA\"]Abstract: Large Language Models (LLMs), such as ChatGPT and GPT-4, have revolutionized natural language processing research and demonstrated potential in Artificial General Intelligence (AGI). However, the expensive training and deployment of LLMs present challenges to transparent and open academic research. To address these issues, this project open-sources the Chinese LLaMA and Alpaca…

Gemini Pro输出:

[\"LLMs\", \"ChatGPT\", \"GPT-4\", \"Chinese LLaMA\", \"Alpaca\"]

验证和纠错

Gemini模型展示了令人印象深刻的跨模态推理能力。例如,下图(左)是一个物理问题的解答,该问题是由一位物理老师画的。然后,Gemini被提示对该问题进行推理,并解释该学生在答案中出错的地方(如果有错误)。该模型还被指示解决问题并使用LaTeX来完成数学部分。右图是模型的响应,详细解释了问题和答案。

重新排列图表

以下是技术报告中的另一个有趣的示例,展示了基于Gemini的多模态推理能力生成用于重新排列subplots的matplotlib代码。左上角展示的是多模态提示,生成的代码显示在右侧,代码渲染显示在左下角。该模型利用多种功能来解决任务,例如,识别,代码生成,subplot位置的抽象推理以及按照指示以将subplot重新排列在所需位置。

视频理解

Gemini Ultra在各种少样本(few-shot)视频字幕生成任务和零样本(zero-shot)视频问答任务中取得了最先进的结果。下面的示例展示了为模型提供了一个视频和文本指令作为输入。它可以分析视频并对情况进行推理,以提供适当的答案,或者,在本示例中,提供了视频中的人物如何改进技术的建议。

图像理解

Gemini Ultra也可以基于少样本(few-shot)提示生成图片。如下例所示,可以使用图像和文本交错的示例提示,其中用户提供了有关两种颜色和图像建议的信息。然后,模型接受提示中的最终指令,然后基于它看到的颜色和一些想法做出响应。

模态组合

Gemini模型还展示了原生支持处理一系列音频和图像的能力。从示例中,我们使用一系列音频和图像来提示模型。然后,该能模型基于每次交互的上下文做出文本响应。

Gemini多面手编程助理

Gemini还被用于构建一个名为AlphaCode 2的多面手助理,它将推理功能与搜索和工具使用相结合,用来解决编程竞赛问题。AlphaCode 2在Codeforces编程竞赛平台的参赛者中名列前15%。

库的使用

下面这个简单的示例演示了如何使用Gemini API提示Gemini Pro模型。你需要安装google-generativeai库并从Google AI Studio获取API密钥。下面的示例是以上章节中提到的信息提取任务的代码。

"""At the command line, only need to run once to install the package via pip: $ pip install google-generativeai""" import google.generativeai as genai genai.configure(api_key="YOUR_API_KEY") # Set up the modelgeneration_config = {  "temperature": 0,  "top_p": 1,  "top_k": 1,  "max_output_tokens": 2048,} safety_settings = [  {    "category": "HARM_CATEGORY_HARASSMENT",    "threshold": "BLOCK_MEDIUM_AND_ABOVE"  },  {    "category": "HARM_CATEGORY_HATE_SPEECH",    "threshold": "BLOCK_MEDIUM_AND_ABOVE"  },  {    "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",    "threshold": "BLOCK_MEDIUM_AND_ABOVE"  },  {    "category": "HARM_CATEGORY_DANGEROUS_CONTENT",    "threshold": "BLOCK_MEDIUM_AND_ABOVE"  }] model = genai.GenerativeModel(model_name="gemini-pro",                              generation_config=generation_config,                              safety_settings=safety_settings) prompt_parts = [  "Your task is to extract model names from machine learning paper abstracts. Your response is an array of the model names in the format [\\\"model_name\\\"]. If you don't find model names in the abstract or you are not sure, return [\\\"NA\\\"]\n\nAbstract: Large Language Models (LLMs), such as ChatGPT and GPT-4, have revolutionized natural language processing research and demonstrated potential in Artificial General Intelligence (AGI). However, the expensive training and deployment of LLMs present challenges to transparent and open academic research. To address these issues, this project open-sources the Chinese LLaMA and Alpaca… [\\\"LLMs\\\", \\\"ChatGPT\\\", \\\"GPT-4\\\", \\\"Chinese LLaMA\\\", \\\"Alpaca\\\"]",] response = model.generate_content(prompt_parts)print(response.text)

引用

  • Introducing Gemini: our largest and most capable AI model(opens in a new tab)
  • How it’s Made: Interacting with Gemini through multimodal prompting(opens in a new tab)
  • Welcome to the Gemini era(opens in a new tab)
  • Gemini: A Family of Highly Capable Multimodal Models - Technical Report(opens in a new tab)
  • Fast Transformer Decoding: One Write-Head is All You Need

相关文章:

【LLM:Gemini】文本摘要、信息提取、验证和纠错、重新排列图表、视频理解、图像理解、模态组合

开始使用Gemini 目录 开始使用Gemini Gemini简介 Gemini实验结果 Gemini的多模态推理能力 文本摘要 信息提取 验证和纠错 重新排列图表 视频理解 图像理解 模态组合 Gemini多面手编程助理 库的使用 引用 本文概述了Gemini模型和如何有效地提示和使用这些模型。本…...

CMS之Wordpress建设

下载 https://cn.wordpress.org/ 宝塔安装Wordpress 创建网站 上传文件、并解压、剪切文件到项目根目录 安装 -> 数据库信息 -> 标题信息 http://wordpress.xxxxx.com 登录 http://wordpress.xxxxxxxxx.com/wp-admin/ 1. 主题(模板) wordpress-基本使用-02-在主题…...

使用Neo4j存储聊天记录的简单教程

引言 在当今的数据驱动世界中,关系型数据库有时难以处理复杂的、相互关联的数据集。Neo4j作为一款开源图数据库,以其高效管理高连接数据的能力而广受欢迎。本篇文章将详细介绍如何使用Neo4j来存储聊天信息历史,引导您在实际项目中利用其强大…...

前端面试常考算法

快速排序 #include<iostream> #include<cstdio> using namespace std; const int N 100005; int a[N];void quick_sort(int a[], int l, int r) {if (l > r) return;int x a[l r >> 1];int i l - 1, j r 1;while (i < j) {while (a[i] < x);…...

【机试准备】常用容器与函数

Vector详解 原文链接&#xff1a;【超详细】C vector 详解 例题&#xff0c;这一篇就够了-CSDN博客 向量&#xff08;Vector&#xff09;是一个封装了动态大小数组的顺序容器&#xff08;Sequence Container&#xff09;。跟任意其它类型容器一样&#xff0c;它能够存放各种…...

Base 社区见面会 | 新加坡站

活动信息 备受期待的 Base 社区见面会将于 Token2049 期间在新加坡举行&#xff0c;为 Base 爱好者和生态系统建设者提供一个独特的交流机会。本次活动由 DAOBase 组织&#xff0c;Base 和 Coinbase 提供支持&#xff0c;并得到了以下合作伙伴的大力支持&#xff1a; The Sand…...

麒麟操作系统搭建Nacos集群

Nacos 集群搭建 2.4.2 环境介绍 操作系统Kylin Linux Advanced Server V10 (Lance)Kylin Linux Advanced Server V10 (Lance)Kylin Linux Advanced Server V10 (Lance)内核版本Linux 4.19.90-52.22.v2207.ky10.aarch64Linux 4.19.90-52.22.v2207.ky10.aarch64Linux 4.19.90-52…...

Imagination推出性能最高且具有高等级功能安全性的汽车GPU IP

Imagination DXS GPU 进一步扩大其在汽车领域的领先地位 产品亮点 &#xff1a; 峰值性能比 Imagination 上一代汽车 GPU 提高了 50%&#xff0c;可扩展至 192GPixel/s、6 TFLOPS 和 24TOPS计算工作负载的性能提升多达十倍引入创新的分布式功能安全机制&#xff0c;以最小的…...

端口大全说明,HTTP,TCP,UDP常见端口对照表

HTTP,TCP,UDP常见端口对照表,下面罗列了包括在Linux 中的服务、守护进程、和程序所使用的最常见的通信端口小贴士&#xff1a;CtrlF 快速查找 Http端口号&#xff08;点标题可收缩或展开&#xff09; No1.最常用端口 端口号码/层名称注释1tcpmuxTCP端口服务多路复用5rje远程作…...

dplyr、tidyverse和ggplot2初探

dplyr、tidyverse 和 ggplot2 之间有紧密的联系&#xff0c;它们都是 R 语言中用于数据处理和可视化的工具&#xff0c;且都源于 Hadley Wickham 的工作。它们各自有不同的功能&#xff0c;但可以无缝协作&#xff0c;帮助用户完成从数据处理到数据可视化的工作流。以下是它们之…...

pandas:读取各类文件方法以及爬虫时json数据保存

文件的读取与写入 | 常用读文件方法 | 说明 | | -------------- | ---------------- | | read_csv | 读取CSV文件 | | read_excel | 读取Excel文件 | | read_html | 读取网页HTML文件 | | read_table | 通用读取方法 | | 常用写文…...

二、(JS)JS中常见的键盘事件

一、常见的键盘事件 onkeydown 某个键盘按键被按下onkeypress 某个键盘按键被按下onkeyup 某个键盘按键被松开 二、事件的执行顺序 onkeydown、onkeypress、onkeyup down 事件先发生&#xff1b;press 发生在文本被输入&#xff1b;up …...

【CSS】样式水平垂直居中

行内元素&#xff1a; 如果被设置元素为文本、图片等行内元素时&#xff0c;水平居中是通过给父元素设置 text-align:center <body> <div class"txtCenter">我想要在父容器中水平居中显示。</div> </body>div是文本元素的父元素 因此我们对…...

深入理解数据分析的使用流程:从数据准备到洞察挖掘

数据分析是企业和技术团队实现价值的核心。 5 秒内你能否让数据帮你做出决策&#xff1f; 通过本文&#xff0c;我们将深入探讨如何将原始数据转化为有意义的洞察&#xff0c;帮助你快速掌握数据分析的关键流程。 目录 数据分析的五个核心步骤1. 数据获取常用数据获取方式 2. 数…...

CSS 响应式设计(补充)——WEB开发系列36

随着移动设备的普及&#xff0c;网页设计的焦点逐渐转向了响应式设计。响应式设计不仅要求网页在各种屏幕尺寸上良好展示&#xff0c;还要适应不同设备的特性。 一、响应式设计之前的灵活布局 在响应式设计流行之前&#xff0c;网页布局通常是固定的或流动的。固定布局使用固定…...

Qt常用控件——QDateTimeEdit

文章目录 QDateTimeEdit核心属性及信号时间计算器 QDateTimeEdit核心属性及信号 QDateEdit作为日期的微调框QTimeEdit作为时间的微调框QDateTimeEdit作为时间日期的微调框 它们的使用方式都是类似的&#xff0c;本篇以QDateTimeEdit作为示例 核心属性&#xff1a; 属性说明…...

什么是上拉,下拉?

上拉就是将引脚通过一个电阻连接到电源&#xff0c;作用&#xff1a;1.使IO口的不确定电平稳定在高点平&#xff0c;2、为了增加IO口拉电流的能力。 下拉就是将引脚通过一个电阻与GND相连&#xff0c;作用&#xff1a;1.从器件输出电流 2.当IO口为输入状态时&#xff0c;引脚的…...

76-mysql的聚集索引和非聚集索引区别

MySQL中的聚集索引和非聚集索引的主要区别在于它们的存储方式和使用方式。 聚集索引&#xff08;Clustered Index&#xff09;&#xff1a; 聚集索引的叶子页包含了行的全部数据。 每个表只能有一个聚集索引&#xff0c;因为一个表中的数据只能按照一种方式存储。 当你查询的…...

每日一题——第八十八题

题目&#xff1a;输入一个9位的无符号整数&#xff0c;判断其是否有重复数字 #include<stdio.h> #include<stdbool.h> #include<string.h> int main() {char num_str[10];printf("请输入一个9位数的无符号数&#xff1a;");scanf_s("%9d&quo…...

【创作活动】学习使用哪个编程工具让你的工作效率翻倍?

学习使用哪个编程工具让你的工作效率翻倍&#xff1f; 在日益繁忙的工作环境中&#xff0c;选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度&#xff0c;甚至让团队协作更加顺畅。那么&#xff0c;哪款编程…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...