大模型Gemini 1.5 Pro之我的体验

前言

最近我有幸获得了 Gemini 1.5 Pro 的内测资格,想在这里分享一下我的使用体验。这篇文章并非旨在横向比较各家模型的优劣,也不是探讨 Gemini 的迭代历程。因此,我不会过多关注哪些功能是上一代模型已经实现的,或者哪些是完全新推出的功能。我只想展望一下可预见的未来,探讨大模型能够帮助我们完成哪些事情,以及它能为我们的生活带来哪些即时的益处。

模型介绍

Gemini 1.5 Pro 是一款强大的多模态模型,支持以下输入类型:

  • 文字
  • 图片
  • 视频(包含音频)
  • 文件
  • 文件夹

目前,模型的输出仅限于文字。由此可见,Gemini 1.5 Pro 更侧重于内容理解和整合。

导入文件

目前,导入文件功能仅支持读取文档中的文字,不支持处理其中图片。即使文件中包括图片,模型的回答也完全基于图片的标题和说明。我观察到这一点,是因为我选择的一张图片附带的说明是图中数据的来源,而不是图片想要表达的信息。这让我疑惑:为什么在文件中处理图片存在难点?我设想了一种解决方案:先扫描一遍页面的内容,区分文字和图片区域,分别调用 OCR 模块和图片处理接口进行处理。我计划有机会找大牛探讨一下这个问题。

目前,导入文件的最大输入限制是 1M 个 token。我上传过一个从网上找到的关于美国历史的 PDF 文档,该文档共 948 页,模型处理了大约 10 分钟。模型只需要在上传文档时进行一次处理,之后就可以自由地问询文档内容,而无需每次都经历漫长的等待。最终,模型将文档切分成了 0.6M 个 token,虽然与文档页数不是严格的线性关系,但也说明了模型能够理解的长文本大概在 1500 页左右。总体而言,Gemini 1.5 Pro 对于长文本的处理能力还是相当令人惊叹的。

后来由于我的误操作,忘记保存会话,需要重新上传文件。我感觉我和 UI 都有一部分责任。我没有再上传那本历史书籍,因为我怀疑模型在训练时看过类似的书籍,无法判断其回答是基于对文件的理解还是记忆。更重要的是,我无法通读全文以提出更好的问题。因此,我选择了一篇小众的论文作为新的测试对象。我可以通读全文,以完全理解论文内容,文本的获取也相对容易(只要选择能够免费下载原文的论文即可)。我会贴出链接,方便大家进行测试和分析。

我选取了论文《Towards a robust out-of-the-box neural network model for genomic data》(简称《Towards》)进行测试。该论文共 29 页,被模型分割成了 20k 个 token。问答都用英文进行。我将测试问题分为以下三类:

基础问题:测试模型对论文基本信息的理解。
整体理解:测试模型对论文整体内容的理解,例如研究方法、主要结论等。
细节问题:测试模型对论文细节的理解,例如特定实验结果、数据分析方法等。

基础问题

我在基础问题测试中,主要询问了以下三个问题:

  1. 论文共有多少个索引?
  2. 论文某一页的共有多少个标题(title)?
  3. 字数统计。

模型正确回答了第一个问题:“There are 45 references in this paper”。模型对于第二个问题的回答并不完整。我询问了两页,结果每次的回答都只列出部分标题。我追问了某个确实在那一页的标题,模型承认了自己的错误。我又追问了一个不在那一页的标题,模型也知道那个不是那一页的标题。模型对第三个问题的回答完全错误,与word文档统计的字数相去甚远。以上测试结果表明,模型对于页码有一定的理解,但又无法完全列出某一页的标题。可能tokenization产生了一些负面的影响。另外title这个词可能带来了部分歧义,比如图片的标题算不算标题?

在15页的标题
并不在15页的标题

整体理解

我在整体理解测试中,主要询问了以下三个问题:

  1. 论文的主要目的是什么?
  2. 作者最后得出了什么结论?
  3. 你对这篇文章的评价是什么?可以从总体质量、实验的设计、可以改进的方面进行回答。

模型几乎完美地回答了以上问题。我的评价是总结能力非常强。特别是第三点,提的建议还是很有见地。

Here's my take on the paper, keeping in mind that I'm an AI and my "opinion" is based on analyzing the text and comparing it to common scientific standards:

Strengths:

- Addresses a crucial question: The paper tackles the important issue of generalizability of neural network models in genomics, which is vital for real-world applications.
- Compares diverse models: It does a good job of comparing different types of neural networks (CNNs & RNNs) and data encoding methods (one-hot, embedding, doc2vec, LSTM-AE).
- User-focused perspective: I appreciate the attempt to approach the study from the viewpoint of a domain scientist who might want to apply these models. Highlighting the lack of reproducibility in some original papers is valuable feedback for the machine learning community.

Weaknesses & Potential Improvements:

- Limited scope of datasets: While the three chosen datasets offer some variety, they are still just three examples in a vast landscape of genomic data. More diverse datasets (different organisms, data types, sequence lengths) would strengthen the conclusions.
- Questionable data split for "Motif discovery" data: The non-standard data split (48-3-48) for this dataset, while justified by the authors, might have introduced unintended biases or affected the results in unforeseen ways. This should be explored further.
- Replication issues & lack of access to code: The inability to fully replicate results from some original papers due to missing code or data is a major limitation. This emphasizes the need for better open science practices in the field.
- Deeper analysis of model behavior: While the paper compares accuracy and overfitting, a deeper analysis of why certain models perform better (e.g., visualizing learned features, exploring the impact of hyperparameters) would be insightful.

Overall:

This paper makes a valuable contribution by highlighting the potential of RNNs for robust genomic analysis and raising awareness about the importance of generalizability and reproducibility. However, further research with broader datasets and deeper analysis is needed to solidify the conclusions.

细节问题

我在细节问题测试中,主要询问了以下几个问题:

  1. 论文中使用了什么数据集?
  2. LSTM编码是否在短序列上表现得更好?
  3. 不要与LSTM编码进行比较。doc2vec编码是否在短序列上表现得更好?
  4. 文中使用了什么优化器(optimizers)?
  5. 作者认为优化器重要吗?

模型在回答问题二时,横向比较了不同编码。由于我想要了解的是长序列和短序列上的表现差异,所以我追问了问题三。模型的回答都很完美。

跨文档问题

之后我又上传了文章中的一篇引用《Distributed Representations for Biological Sequence Analysis》(简称《Distributed》)。我询问了《Distributed》中推荐的方法是否被应用在了《Towards》之中以及两篇文章是否有不同结论。模型的回答尚可,但存在一些问题。不过我也是在这个地方发现了一点模型的问题。我当时一口气问了太多问题,模型的回答超出了一次输出的上限(大概是2k个token)。但是我当时并没有立即意识到这一点。在这之后,我提问新的问题,模型仍然在尝试继续之前没有输出的答案,导致对话显得牛头不对马嘴。所以我也有一些改进的建议。从模型的角度,可以改进的地方是拥有更明显的回答完毕的提示,以及如果一个会话无法输出全部答案,用户能够让其停止输出(也许已经有类似功能,但我没有掌握)。从用户的角度,尽量不要一次性问太多问题,另外也要学会如何更好地提问(生成更符合模型习惯的prompt),以便获取更优质的答案。

导入视频

需要找一些合适的素材进行测试。有时间的话之后更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/463712.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java Spring Boot搭配MyBatis的项目开发中关于账户余额并发更新

在Java Spring Boot搭配MyBatis的项目开发中,涉及到多个功能模块同时操作同一数据库表字段(例如用户账户余额)时,为了保证数据的一致性和防止更新过程中的错误(例如余额错账、更新丢失等),需要采…

【TB作品】MSP430,波形发生器,单片机,Proteus仿真

文章目录 题目效果梯形波100个点产生方法锯齿波100个点产生方法c代码和proteus仿真 题目 114 波形发生器的制作 设计要求 设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。设置5个开关K1~K5(从 上到下),分别对应正弦波、方波、三角波、梯形波、锯齿波,按一下…

大模型知识积累——幻觉

什么是大模型幻觉 在大语言模型的文本生成场景下,幻觉是指一本正经的胡说八道。逻辑连贯的自然表述中,有理论或者事实错误,捏造事实等问题。 幻觉问题的危害 LLM幻觉可能产生传播错误知识的后果。对于医疗应用中结果安全和可信AI尤为重要&a…

Android 系统的启动过程

Android 系统的启动流程: RomBoot(只读存储器引导程序):这是设备上电时运行的初始软件。RomBoot执行基本的硬件初始化,确保硬件处于可以运行后续启动阶段的状态。这一阶段非常重要,因为它为整个启动过程奠定…

部署 JimV 私有云

server1 控制节点计算节点192.168.136.131server2 计算节点192.168.136.132 准备环境 基础系统 Centos7 (确保关闭防火墙 禁用SELinux) 私有云平台JimV-3.10.2-x86_64-DVD-240129-CentOS72009.iso 离线安装 将Jimv的镜像上传到server1上 并将其挂载…

Linux之shell循环

华子目录 for循环带列表的for循环格式分析示例shell允许用户指定for语句的步长,格式如下示例 不带列表的for循环示例 基于C语言风格的for循环格式示例注意 while循环格式示例 until循环作用格式示例 循环控制breakcontinue详细语法示例 循环嵌套示例 for循环 for循…

字典树 [Tire]

数据结构、算法总述:数据结构/基础算法 C/C_禊月初三的博客-CSDN博客 字典树,英文名 trie。顾名思义,就是一个像字典一样的树。 Trie 树是一种多叉树的结构,它的特点是所有的字符都存储在树的分支上,并且从根节点到某…

最详细爬虫零基础教程03——Request库的介绍

文章目录 前言一、Request库的使用?二、响应Response中的属性3.用户代理(User-Agent) 前言 Request库是一个Python的第三方库,用于发送HTTP请求和处理HTTP响应。它提供了简单而方便的接口,使得发送HTTP请求变得容易。…

OpenCV(七)——灰度图像的阙值处理以及图像的边界填充

灰度图像的阙值处理 在OpenCV中利用threshold()对灰度图像进行阙值处理,该函数通过将图像中的每个像素值与一个给定的阈值进行比较来工作。如果像素值超过这个阈值,那么像素值将被设置成指定的最大值;如果没有超过阈值,则根据不同…

C语言例:设 int a=11; 则表达式 a+=a-=a*a 的值

注&#xff1a;软件为VC6.0 代码如下&#xff1a; #include<stdio.h> int main(void) {int a11, b;b (aa-a*a); //a*a121 -->a-121结果为a-110 -->a-110结果为a-220printf("表达式aa-a*a 的值为&#xff1a; %d\n",b);return 0; } //优先级&#x…

组播协议详解

1.组播基础 &#xff08;1&#xff09;组播简介 &#xff08;2&#xff09;组播的地址 &#xff08;3&#xff09;组播的MAC地址 &#xff08;4&#xff09;组播的MAC地址 &#xff08;5&#xff09;反向转发路径—RPF 2.IGMP &#xff08;1&#xff09;简介 &#xff0…

vite ts vue 项目提示 . Projects must list all files or use an include pattern.

vite ts vue 项目提示 . Projects must list all files or use an include pattern. 在引用一个 ts 的时候&#xff0c;提示如下&#xff1a; 需要在 tsconfig.node.json 文件中添加&#xff1a; {"compilerOptions": {"composite": true,"skipLibC…

【LLM】LLama2模型(RMSNorm、SwiGLU、RoPE位置编码)

note 预训练语言模型除了自回归&#xff08;Autoregressive&#xff09;模型GPT&#xff0c;还有自编码模型&#xff08;Autoencoding&#xff09;BERT[1]、编-解码&#xff08;Encoder-Decoder&#xff09;模型BART[67]&#xff0c;以及融合上述三种方法的自回归填空&#xf…

一文速通ESP32(基于MicroPython)——含示例代码

ESP32 简介 ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片&#xff0c;支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa 32 位 LX7 双核处理器&#xff0c;主频高达 240 MHz&#xff0c;内置 512 KB SRAM (TCM)&#xff0c;具有 45 个可编程 GPIO 管…

ttkbootstrap界面美化系列之简介(一)

一&#xff1a;前言 相信很多同学用Python进行界面设计第一个用到的就是Tkinter&#xff0c;Tkinter是Python的一个标准接口&#xff0c;用于创建GUI&#xff08;图形用户界面&#xff09;应用程序。它是Tcl/Tk的封装&#xff0c;Tkinter的名称来源于Tk技术工具包(Tool…

2024 Mazing 3 中文版新功能介绍Windows and macOS

iMazing 3中文版(ios设备管理软件)是一款管理苹果设备的软件&#xff0c; Windows 平台上的一款帮助用户管理 IOS 手机的应用程序。iMazing中文版与苹果设备连接后&#xff0c;可以轻松传输文件&#xff0c;浏览保存信息等&#xff0c;软件功能非常强大&#xff0c;界面简洁明晰…

Outlook API发送邮件的方法?如何设置接口?

如何使用Outlook API发送电子邮件&#xff1f;怎么调用API接口&#xff1f; 为了满足更高级别的需求&#xff0c;我们可能需要通过编程的方式来操作Outlook&#xff0c;这时候&#xff0c;Outlook API就显得尤为重要了。那么&#xff0c;如何使用Outlook API发送邮件呢&#x…

Linux下的多线程编程:原理、工具及应用(3)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;Flower of Life—陽花 0:34━━━━━━️&#x1f49f;──────── 4:46 &#x1f504; ◀️ ⏸ ▶️ ☰ …

从零到一构建短链接系统(五)

1.修改UserService Service public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {public UserRespDTO getUserByUsername(String username) {LambdaQueryWrapper<UserDO> queryWrapper Wrappers.lambdaQuery(UserDO.c…

【python】集合

前言 简洁整理&#xff0c;无废话 集合概念 含义&#xff1a;跟数学中的基本一样 形式&#xff1a;{1,a,(1,2)} 性质&#xff1a;不重复性&#xff0c;集合中每个元素不会有重复&#xff1b;集合中必须是不可变元素&#xff0c;不能有列表可以有元组 创建&#xff1a;{}或…