OpenAI模型GPT-4o、GPT-4、Gemini 1.5性能比较

news2024/11/16 9:49:36

大家好,OpenAI最新推出的GPT-4o,标志着人工智能语言模型和交互方式迈入了新纪元。最引人注目的是,GPT-4o支持实时互动和流畅的对话切换,让交流更加自然。

本文将对比分析GPT-4o、GPT 4以及谷歌的Gemini和Unicorn模型,分析是基于一个独立创建的英文数据集,对这些模型在分类任务上的表现进行深入比较。

1.GPT-4o新功能

OpenAI最新提出的全知模型理念,旨在实现对文本、音频和视频的无缝理解和处理,标志着人工智能领域的新突破。

OpenAI似乎已经把重心放在了普及GPT-4级别的智能技术上,让免费用户同样能够体验到高端的语言模型智能。这一行动有望推进AI技术的普及化,让更多人受益于先进的AI技术。

OpenAI 还宣布,GPT-4o包括50多种语言的增强质量和速度,承诺将以更亲民的价格,为全球用户提供一个更包容、更易访问的AI体验。

对于付费用户,OpenAI将提供是非付费用户五倍的容量,以满足不同用户的需求。

此外,他们还将发布桌面版 ChatGPT,以方便大众在音频、视觉和文本界面上进行实时推理。

2.如何使用GPT-4o API

新的GPT-4o模型遵循了OpenAI现有的聊天完成API,能够与旧版本相互兼容且易于使用。

from openai import OpenAI

OPENAI_API_KEY = "<your-api-key>"

def openai_chat_resolve(response: dict, strip_tokens = None) -> str:
    if strip_tokens is None:
        strip_tokens = []
    if response and response.choices and len(response.choices) > 0:
        content = response.choices[0].message.content.strip()
        if content is not None or content != '':
            if strip_tokens:
                for token in strip_tokens:
                    content = content.replace(token, '')
            return content
    raise Exception(f'Cannot resolve response: {response}')

def openai_chat_request(prompt: str, model_name: str, temperature=0.0):
    message = {'role': 'user', 'content': prompt}
    client = OpenAI(api_key=OPENAI_API_KEY)
    return client.chat.completions.create(
        model=model_name,
        messages=[message],
        temperature=temperature,
    )

response = openai_chat_request(prompt="Hello!", model_name="gpt-4o-2024-05-13")
answer = openai_chat_resolve(response)
print(answer)

GPT-4o也可以通过ChatGPT界面使用:

图片

3.官方测评

OpenAI的博客文章包括了诸如MMLU和HumanEval等知名数据集的测评分数。

图片

从图表中可以看出,GPT-4o的性能达到了这一领域的最前沿水平。考虑到新模型在成本和速度上的优势,这一成绩无疑令人充满期待。

然而在过去一年内,市场上出现了多款模型,它们在已知数据集上声称具有领先的语言表现。值得注意的是,部分模型可能在这些公开数据集上进行了过度训练,导致其在排行榜上的高分可能并不能完全反映实际应用中的表现。

因此,对这些模型在鲜为人知的数据集上进行性能分析非常重要。使用特定创建的数据集进行评估,可以提供更加客观和全面的视角。

4.数据集

为了衡量不同大型语言模型(LLMs)的分类性能,开发了一个主题数据集。该数据集包含200个句子,分布在50个主题之下。设计时特意使一些主题紧密相关,以增加分类任务的难度。

整个数据集的英文版本是通过手动创建和标记完成的。之后,利用GPT4(gpt-4–0613)将数据集翻译成多种语言,以扩展其应用范围。

在本次评估中,仅对数据集的英文版本进行了测试。这种选择确保了评估过程的公正性,避免了因使用同一语言模型进行数据集创建和主题预测可能引入的偏见。

5.性能结果

对以下模型进行评测:

  • GPT-4o: gpt-4o-2024-05-13

  • GPT-4: gpt-4-0613

  • GPT-4-Turbo: gpt-4-turbo-2024-04-09

  • Gemini 1.5 Pro: gemini-1.5-pro-preview-0409

  • Gemini 1.0: gemini-1.0-pro-002

  • Palm 2 Unicorn: text-unicorn@001

给语言模型的任务是将数据集中的每个句子准确匹配到相应的主题。

通过这一过程,可以计算每种语言模型的准确率以及错误率。由于模型们大多数情况下都能正确分类,因此我们专注于绘制每个模型的错误率。

错误率越低,意味着模型的性能越好。

图片

不同LLMs错误率的横向柱状图

从图表中可以明显看出,GPT-4o在所有模型中具有最低的错误率,仅出现了2次错误。还可以看到,Palm 2 Unicorn、GPT-4和Gemini 1.5的错误率与GPT-4o非常接近,表明它们也具有出色的性能。

此外,GPT-4 Turbo的表现与GPT-4–0613相似,这可能与它们的设计和优化有关。有兴趣的读者可以访问OpenAI的模型页面(https://platform.openai.com/docs/models),获取更多关于这些模型的详细信息。

Gemini 1.0的表现稍显逊色,但考虑到其定位和价格范围,这一结果在预料之中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java继承使用细节二

构造器 主类是无参构造器时会默认调用 public graduate() {// TODO Auto-generated constructor stub也就是说我这里要用构造器会直接调用父类。它是默认看不到的 &#xff0c;System.out.println("graduate");} 但当主类是有参构造器如 public father_(int s,doubl…

2024最新私有化部署AI大模型,让每个人都有属于自己的AI助理

让每个人都拥有一个属于自己的本地大模型 下载Ollama 下载地址 ​ https://ollama.com/download ​ Ollama支持MacOS、Linux、Windows 解压 下载完成后&#xff0c;会得到一个Ollama-darwin.zip文件&#xff0c;解压后&#xff0c;以Mac为例是一个可运行文件&#xff1a;O…

鸿蒙HarmonyOS开发:tabs结合tabContent实现底部tabBar导航栏页面布局

文章目录 一、组件介绍1、Tabs参数属性事件TabsController 2、子组件属性说明 二、基础示例1、基础顶部导航2、效果3、可以滚动导航栏2、效果 三、扩展示例自定义导航栏1、代码2、效果 一、组件介绍 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。Tab…

【CTF Web】NSSCTF 3868 [LitCTF 2023]这是什么?SQL !注一下 !Writeup(SQL注入+报错注入+括号闭合+DIOS)

[LitCTF 2023]这是什么&#xff1f;SQL &#xff01;注一下 &#xff01; 为了安全起见多带了几个套罢了o(▽)q 出题人 探姬 解法 先试试这个&#xff1a; )))))) or 11 -- 有结果了&#xff0c;但是这个 flag 是假的。 flag 可能在其他表里。用 hackbar 上 DIOS payload。 …

2024-2030数据集成成熟度曲线(一)

作者 | 郭炜 导读&#xff1a;最新发布的《技术成熟度曲线2024》全面评估数据集成技术架构的7个维度&#xff0c;包括技术成熟度、技术难度、业务价值、技术成熟周期、管理协作难度、大模型结合等评估维度&#xff0c;报告篇幅较长&#xff0c;我们将报告分为3篇系列文章&#…

微信小程序源码-基于Java后端的会议发布与预约系统毕业设计(附源码+演示录像+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设…

一文通晓mysql

目录 1.mysql在centos7环境上的安装 2.数据库基础 1. 什么是数据库 2.基本认识 3.库的操作 1.创建数据库 2.查看数据库列表 3.删除数据库 4.修改数据库 5.库的备份与修复 4.表的操作 1.创建表 2.查看表 3.修改表 修改表名 给表增加属性。 修改表中的某个属性&…

【传知代码】用二维图像渲染3D场景视频-论文复现

文章目录 概述原理介绍模型介绍环境配置/部署方式安装环境准备数据训练&#xff08;train&#xff09;评估&#xff08;eval&#xff09;渲染&#xff08;render&#xff09; 小结 论文地址 本文涉及的源码可从用二维图像渲染3D场景视频该文章下方附件获取 概述 **NeRF&#…

第十九届全国环境友好科技竞赛(绿色创业类)正式启动

近日&#xff0c;第十九届全国环境友好科技竞赛&#xff08;绿色创业类&#xff09;正式拉开帷幕。本次竞赛由清华大学、同济大学、西安建筑科技大学及中国环境科学学会共同主办&#xff0c;旨在通过学科竞赛的方式鼓励全国高校学生积极参与到资源节约型和环境友好型的和谐社会…

【linux-IMX6ULL-LED字符驱动框架完善】

目录 1.简介&#xff12;.前置知识2.1 重要函数及结构体2.2 程序框架流程 3. 代码详解&#xff1a; 1.简介 在上节&#xff0c;我对linux-IMX6ULL-字符设备驱动简单框架实验进行了说明和构建&#xff0c;但是也存在几个问题&#xff1b; 需要手动指定设备号&#xff0c;不能自…

Android Studio添加依赖 新版 和 旧版 的添加方式(Gradle添加依赖)(Java)

旧版的&#xff08;在线添加&#xff09; 1找 文件 在项目的build.gradle文件中添加依赖(在下面的节点中添加库 格式 ’ 组 &#xff1a;名字 &#xff1a; 版本号 ‘ ) dependencies {implementation com.example:library:1.0.0 }implementation 组:名字:版本…

手机版AI写作软件哪个好用?5款AI写作软件分享

在这个快节凑的时代&#xff0c;人们对于高效、便捷的创作方式很是追求。尤其是在人工智能技术发展迅速的今天&#xff0c;AI写作软件的出现&#xff0c;让很多自媒体创作者都会想到在手机上面进内容创作&#xff0c;这样不仅能提高工作效率&#xff0c;而且工作的自由度会更高…

Centos7静态路由和动态路由

路由&#xff0c;即路由选择&#xff08;Routing&#xff09;&#xff0c;是指在计算机网络中选择数据传输路径的过程。路由器&#xff08;Router&#xff09;是执行路由选择功能的网络设备。路由的主要目的是在复杂的网络结构中&#xff0c;选择最佳路径将数据包从源节点传递到…

等保三级 腾讯云控制台检查项设置

1、地址限制 2、角色里加三权用户&#xff08;查看日志权限&#xff09; 3、登录失败处理和超时退出 4、密码复杂度和口令有效期 5、双因素验证 6、操作审计

Vue3实战笔记(43)—Vue3组合式API下封装可复用ECharts图表组件

文章目录 前言一、封装echart图标钩子二、使用步骤总结 前言 接上文&#xff0c;已经安装好了ECharts&#xff0c;开始封装组件方便使用。 一、封装echart图标钩子 首先应用我们之前学习的钩子方式&#xff0c;在hooks目录下创建一个名为 useECharts.js 的文件&#xff0c;用…

边框渐变样式

实现样式&#xff1a; 对应代码&#xff1a; div {min-height: 40vh;border: 10px solid transparent;background-image: linear-gradient(#222, #222), var(--gradient);background-origin: border-box;background-clip: padding-box, border-box;border-radius: 10px;positi…

【深度学习】yolov8 seg实例分割训练,交通灯

文章目录 一、类别定义二、标注后再清洗数据三、训练yolov8 seg四、部署五、代码资料 一、类别定义 类别0&#xff1a; 类别1&#xff1a; 类别2&#xff1a; 类别3&#xff1a; 类别4&#xff1a; 类别5&#xff1a; 类别6&#xff1a; 类别7&#xff1a; 二、标注后再清洗…

kubernetes之prometheus kube-controller-manager。 scheduler报错问题

项目场景&#xff1a; prometheus scheduler及kube-controller-manager监控报错 问题描述 kubeadm搭建完kube-prometheus 会有这个报错 原因分析&#xff1a; rootmaster2:~# kubectl describe servicemonitor -n kube-system kube-controller-manager通过以上图片我们发现 k…

数据结构_链式二叉树(Chained binary tree)基础

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 二叉树的遍历 前序、中序以及后序遍历 学习二叉树结构&#xff0c;最简单的方式就是遍历。所谓二叉树遍历(Traversal)是按照某种特定的规则&#xff0c;依次对二叉树中的结点进行相应的操作&#xff…

自己手写一个栈【C风格】

#include <iostream> //栈 #define MAX_SIZE 20 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0typedef int Status;//状态类型 typedef int ElemType;//元素类型typedef struct SqStack {ElemType data[MAX_SIZE];int top; };//初始化&#xff0c;方法1 …