OpenChat:性能高达105.7%,第一个超越ChatGPT的开源模型?

OpenChat:性能高达105.7%,第一个超越ChatGPT的开源模型?

前几天开源模型第一还是是Vicuna-33B、WizardLM,这不又换人了。对于开源模型的风起云涌,大家见怪不怪,不断更新的LLM榜单似乎也没那么吸引人了。

最近,开源模型 OpenChat 发布了新的版本,据说在 AlpacaEval 和 VicunaGPT-4 评估上的性能超过了ChatGPT。

在这里插入图片描述

这次#击败ChatGPT的开源模型#有些唬人,到底如何呢?

根据官方介绍,OpenChat 的性能表现:

在斯坦福AlpacaEval上,以80.9%的胜率位列开源模型第一;

在Vicuna GPT-4评测中,性能则达到了ChatGPT的105.7%。

在这里插入图片描述

PART 01

开源模型 OpenChat 超越 ChatGPT

OpenLLM 是一个在多样化且高质量的多轮对话数据集上进行微调的开源语言模型系列。

具体地,研究人员从约 90K 的ShareGPT对话中,过滤出约 6K 的GPT-4对话用于微调。清洗后的GPT-4对话与对话模板和回合结束时的token相结合,然后根据模型的上下文限制进行截断(超出限制的内容将被丢弃)。

数据处理流程包括三个步骤:

清洗:对HTML进行清理并转换为Markdown格式,删除格式错误的对话,删除包含被屏蔽词汇的对话,并进行基于哈希的精确去重处理

筛选:仅保留token为Model: GPT-4的对话

转换:为了模型的微调,针对所有的对话进行转换和分词处理

要运行数据处理流程,可执行以下命令:

./ochat/data/run_data_pipeline.sh INPUT_FOLDER OUTPUT_FOLDER

OpenLLM 被证明可以在有限的数据下实现高性能。
在这里插入图片描述
OpenLLM 有两个通用模型,即 OpenChat 和 OpenChat-8192。

OpenChat 模型是基于 LLaMA 模型进行微调的,它充分利用了极小、多样且高质量的多轮对话数据集。这样的数据集有助于 OpenChat 模型在对话场景中产生更准确、更自然的回复。

在这里插入图片描述

具体地,OpenChat:基于LLaMA-13B微调,上下文长度为2048

在 Vicuna GPT-4 评估中达到ChatGPT分数的105.7%

在 AlpacaEval 上取得了惊人的80.9%的胜率

具体地,OpenChat-8192:基于LLaMA-13B微调,上下文长度为8192
在 Vicuna GPT-4 评估中达到ChatGPT分数的106.6%

在 AlpacaEval 上取得的79.5%胜率

在这里插入图片描述
图注:Vicuna GPT-4评估(v.s. gpt-3.5-turbo)

在这里插入图片描述
图注:Vicuna GPT-3.5-Turbo评估(v.s. gpt-3.5-turbo)

除此之外,OpenLLM还有代码模型:

在 Vicuna GPT-4 评估中达到ChatGPT分数的102.5%

在 AlpacaEval 上获得78.7%的胜率

在这里插入图片描述

PART 02

OpenChat 安装和权重

要使用OpenLLM,需要安装CUDA和PyTorch。用户可以克隆这个资源库,并通过pip安装这些依赖:

git clone git@github.com:imoneoi/OChat.git
pip install -r requirements.txt

目前,官方提供所有模型的完整权重作为Hugging Face repos。用户可以使用以下命令来启动本地 API 服务器,网址是 http://localhost:18888。

在这里插入图片描述

该服务器与 ChatCompletions协议(请注意,有些功能不完全支持)和openai软件包兼容。用户可以通过设置来指定openai包的服务器:

openai.api_base = "http://localhost:18888/v1"

当前支持的ChatCompletions参数有:
在这里插入图片描述

PART 03

对 OpenChat 的争议

研究者采用的评估模式与 Vicuna 的略有不同,还使用了证据校准(EC)+平衡位置校准(BPC)来减少潜在的偏差。

在这里插入图片描述

虽然 OpenChat 模型在 AlpacaEval 和 VicunaGPT-4 评估中超越了ChatGPT,但这一消息并未引起网友的热烈讨论。争议声音认为 OpenChat 的评价方式夸张,并呼吁使用更高级的MT-bench基准进行评估。

为了回应这些争议,Vicuna官方回应称他们正在使用更高级的MT-bench基准进行评估。这一基准可以更全面地评估模型的性能,使评估结果更具有说服力。
在这里插入图片描述

OpenLLM 虽然够实现优秀的性能,但仍然受到其基础模型固有限制的限制,如:

复杂推理

数学和算术任务

编程和编码挑战

另外,OpenLLM 有时可能会产生不存在或不准确的信息,也称为「幻觉」。
这表明开源模型仍需要进一步改进,包括构建更好的基础模型和增加指令调优数据。无论如何,开源模型的发展仍然充满希望,我们期待未来能够看到更多的突破和进步。

参考:

https://github.com/imoneoi/openchat
https://tatsu-lab.github.io/alpaca_eval/

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

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

相关文章

数学建模【因子分析】

一、因子分析简介 因子分析由斯皮尔曼在1904年首次提出,其在某种程度上可以被看成是主成分分析的推广和扩展。 因子分析法通过研究变量间的相关系数矩阵,把这些变量间错综复杂的关系归结成少数几个综合因子,由于归结出的因子个数少于原始变…

C/C++工程师面试题(数据库篇)

索引的优缺点 索引是一种支持快速查找特定行的数据结构,如果没有索引,就需要遍历整个表进行查找。用于提高数据检索的速度和效率。 好处: 提高检索速度: 索引可以加快数据的检索速度,因为它们允许数据库系统直接定位到…

Mysql学习之MVCC解决读写问题

多版本并发控制 什么是MVCC MVCC (Multiversion Concurrency Control)多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之&#xff0…

【Tomcat】The CATALINA_HOME environment variable is not defined correctly

文章目录 一、问题二、解决办法三、优化 一、问题 运行绿色版Tomcat时,单击apache-tomcat-9.0.27\bin\startup.bat时窗口一闪而过。 检查JAVA_HOME环境变量,可以发现并没有问题。 为了检查错误,将startup.bat程序使用文本编辑器打开&#x…

Debezium发布历史163

原文地址: https://debezium.io/blog/2023/09/23/flink-spark-online-learning/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Online machine learning with the data streams from the database …

C++_程序流程结构_选择结构_switch

作用 执行多条件分支语句 语法 if和switch区别 switch 缺点,判断的时候只能是整形或者字符型,不可以是一个区间switch 优点,结构清晰,执行效率高

go 命令行框架cobra

go 命令行框架cobra go 拉取依赖包go get github.com/spf13/cobra 认识spf13/cobra-cli. cobra 命令行框架在golang中的地位也算得上是大明星级别。像k8s,docker都有使用这个框架构建自己命令行这块的功能. 最最最简单的开始----使用命令行工具cobra-cli来初始化你的demo c…

四种策略改进的麻雀算法!效果起飞!你确定不来看看吗?

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 效果展示: 改进策略详解&#…

C语言——指针的进阶——第1篇——(第26篇)

坚持就是胜利 文章目录 一、字符指针1、面试题 二、指针数组三、数组指针1、数组指针的定义2、&数组名 VS 数组名3、数组指针的使用(1)二维数组传参,形参是 二维数组 的形式(2)二维数组传参,形参是 指针…

django的模板渲染中的【高级定制】:按数据下标id来提取数据

需求: 1:在一个页面中显示一张数据表的数据 2:不能使用遍历的方式 3:页面中的数据允许通过admin后台来进行修改 4:把一张数据表的某些内容渲染到[xxx.html]页面 5:如公司的新商品页面,已有固定的…

python进阶:可迭代对象和迭代器

一、Iterable(可迭代对象) 1、可迭代对象:能够进行迭代操作的对象。 可以理解为:能够使用for循环遍历的都是可迭代对象;**所有的可迭代对象,偶可以用内置函数iter转换为迭代器** 2、可迭代对象包括&…

Linux文本处理三剑客:awk(常用匹配模式)

在Linux操作系统中,grep、sed、awk被称为文本操作“三剑客”,上三期中,我们将详细介绍grep、sed、awk的基本使用方法,希望能够帮助到有需要的朋友。 1、前言 awk作为一门编程语言还有很多内容,我们继续学习awk。 网…

快速解决maven依赖冲突

我们在开发过程中经常出现maven依赖冲突,或者maven版本不匹配的情况,我们可以使用阿里云原生脚手架来做maven管理,添加需要的组件,然后点击获取代码,就可以获得对应的依赖文件。

【C语言】InfiniBand驱动mlx4_init和mlx4_cleanup

一、中文注释 Linux内核模块的初始化和清理过程,针对一个称为mlx4的网络设备驱动。以下是代码的逐行中文注释: static int __init mlx4_init(void) {int ret;if (mlx4_verify_params())return -EINVAL; // 检查设备参数是否有效,无效则返回…

.idea文件详解

.idea文件的作用: .idea文件夹是存储IntelliJ IDEA项目的配置信息,主要内容有IntelliJ IDEA项目本身的一些编译配置、文件编码信息、jar包的数据源和相关的插件配置信息。一般用git做版本控制的时候会把.idea文件夹排除,因为这个文件下保存的…

ABAP - SALV教程08 列设置热点及绑定点击事件

实现思路:将列设置成热点,热点列是可点击的,再给SALV实例对象注册点击事件即可,一般作用于点击单号跳转到前台等功能 "设置热点方法METHODS:set_hotspot CHANGING co_alv TYPE REF TO cl_salv_table...."事件处理方法M…

OSCP靶场--Hepet

OSCP靶场–Hepet 考点(1.邮件获取 2.msf恶意宏文档制作 3. 邮件投递恶意宏文档 4.服务配置不当提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- 192.168.188.140 --min-rate 2000 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-01 05:46 ES…

【网上商城系统的设计与开发】

目录 1.实训概况 1 1.1 实训题目 1 1.2实训时间 1 1.3实训目的 1 1.4 实训环境 1 1.5 实训内容 2 1.6 进度安排 3 2.需求分析 5 2.1 功能需求分析 5 2.1.1用户需求分析 5 2.2.2网站前台需求 5 2.2.3网站后台需求 6 2.2 可行性分析 7 2.2.1社会可行性 7 2.2.2技术可行性 8 3.系统…

通过多进程并发方式(fork)实现服务器(注意要回收子进程)

以下内容为视频学习记录。 1、父进程accept后返回的文件描述符为cfd以及用于创建连接的lfd; 调用fork()创建子进程后,子进程继承cfd,lfd,通过该cfd与连接过来的客户端通信,lfd对子进程来说没用,可以直接close(lfd); 对于父进程来说&#x…

如何利用ChatGPT搞科研?论文检索、写作、基金润色、数据分析、科研绘图(全球地图、植被图、箱型图、雷达图、玫瑰图、气泡图、森林图等)

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…