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.pswp.cn/news/717053.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717053.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717053.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在springboot項目中調用通義千問api多輪對話并實現流式輸出

官網文檔 阿里靈積提供了詳細的官方文檔 如何實現多輪對話 官方文檔中提到只需要把每輪對話中返回結果添加到消息管理器中,就可以實現多輪對話。本質上就是將歷史對話再次發送給接口。 如何實現流式輸出 官方文檔中提出使用streamCall()方法就可以實現流式輸出&…

ViT的若干細節

之前只看了ViT的大概結構,具體的模型細節和代碼實現知之甚少。隨著ViT逐漸成為CV領域的backbone,有必要重新審視下。 patch -> token 為了將圖片處理成序列格式,很自然地想到將圖片分割成一個個patch,再把patch處理成token。 …

Mysql整理-主從復制

MySQL的主從復制是一種常見的數據復制和分布式數據共享方法。在這種架構中,一個MySQL服務器充當主(master)服務器,而一個或多個其他MySQL服務器充當從(slave)服務器。數據從主服務器復制到從服務器,實現數據的分布和備份。這種設置主要用于數據備份、讀取擴展、災難恢復…

Python系列(20)—— 循環語句

Python中的循環控制語句 一、引言 在Python編程中,循環是重復執行一段代碼直到滿足特定條件的基本結構。Python提供了多種循環控制語句,如For 和While ,以及用于控制循環流程的輔助語句,如Break、Continue和Pass。這些語句的組合…

SpringBoot緩存

目錄 緩存支持 緩存集成 redis緩存集成 緩存支持 Spring 框架只提供抽象,不提供具體的緩存存儲,底層需要依賴第三方存儲組件,如果當前應用沒有注冊CacheManager 或者 CacheResolver 實例,Spring Boot 會按以下緩存組件的順序來…

[藍橋杯 2020 省 B1] 整數拼接

一、題目描述 P8712 [藍橋杯 2020 省 B1] 整數拼接 二、題目簡析 我們選兩個數 a a a 和 b b b,用 f ( a , b ) f(a, b) f(a,b) 表示 a a a 在前、 b b b 在后的拼接,即 f ( a , b ) a ? 1 0 b . s i z e b f(a, b) a * 10^{b.size} b f(a,…

Linux學習:初始Linux

目錄 1. 引子:1.1 簡述:操作系統1.2 學習工具 2. Linux操作系統中的一些基礎概念與指令2.1 簡單指令2.2 ls指令與文件2.3 cd指令與目錄2.4 文件目錄的新建與刪除指令2.5 補充指令1:2.6 文件編輯與拷貝剪切2.7 文件的查看2.8 時間相關指令2.9 …

洛谷P1256 顯示圖像

廣搜練手題 題目鏈接 思路 打印每個數與其最近的 1 1 1的曼哈頓距離&#xff0c;顯然廣搜&#xff0c;存儲每一個 1 1 1&#xff0c;針對每一個 1 1 1開始廣搜&#xff0c;逐層更新&#xff0c;每輪后更新的為兩輪之中的最小曼哈頓距離 ACcode #include<bits/stdc.h>…

波動數列(藍橋杯)

問題描述&#xff1a; 觀察如下數列&#xff1a; 1 3 0 2 -1 1 -2 … 這個數列中后一項總是比前一項增加 2 或者減少 3。 棟棟對這種數列很好奇&#xff0c;他想知道長度為 n nn 和為 s ss 而且后一項總是比前一項增加 a aa 或者減少 b bb 的整數數列可能有多少種呢&#xff1f…

非專業程序員常用vscode插件

牙叔教程 簡單易懂 我常用的腳本語言是js, python. AutoHotkey v2 Language Support vscode-autohotkey-debug 由于工作有寫重復, 要用到autohotkey, 所以裝這個插件 Black Formatter 格式化python代碼 Bookmarks 書簽 change-case 命名方式: 小駝峰, 下劃線, 等命名風格轉…

【網站項目】202物流管理系統

&#x1f64a;作者簡介&#xff1a;擁有多年開發工作經驗&#xff0c;分享技術代碼幫助學生學習&#xff0c;獨立完成自己的項目或者畢業設計。 代碼可以私聊博主獲取。&#x1f339;贈送計算機畢業設計600個選題excel文件&#xff0c;幫助大學選題。贈送開題報告模板&#xff…

不會代碼的時候,如何使用Jmeter完成接口測試

1.接口測試簡介 接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換&#xff0c;傳遞和控制管理過程&#xff0c;以及系統間的相互邏輯依賴關系等。 2.接口測試流程 接口測試的…

【貪玩巴斯】VisualStudio+Github聯合工作指令

實現在本地VisualStudio進行代碼改寫&#xff0c;同時上傳Github和項目組成員實時更新代碼。 格式指令&#xff1a; alt z ctrl shift p后 輸入 wordwrap —— 進行格式排盤&#xff08;在一頁中能夠完全顯示&#xff0c;代碼會自動換行&#xff09; git pull origin mast…

2024.3.1 小項目

1、機械臂 #include <myhead.h> #define SER_IP "192.168.125.32" //服務器端IP #define SER_PORT 8888 //服務器端端口號#define CLI_IP "192.168.68.148" //客戶端IP #define CLI_PORT 9999 /…

串的BF算法(樸素查找算法)

串的模式匹配&#xff1a;在主串str的pos位置查找子串sub&#xff0c;找到返回下標&#xff0c;沒有找到返回-1。 1.BF算法思想 相等則繼續比較&#xff0c;不相等則回退&#xff1b;回退是i退到剛才位置的下一個&#xff08;i-j1&#xff09;;j退到0&#xff1b;利用子串是否…

Python matplotlib

目錄 1、安裝 matplotlib 2、繪制折線圖 修改標簽文字和線條粗細 校正圖形 3、繪制散點圖 繪制單點 繪制一系列點 自動計算數據 刪除數據點的輪廓 自定義顏色 使用顏色映射 自動保存圖表 4、隨機漫步 創建 RandomWalk() 類 選擇方向 繪制隨機漫步圖 給點著色 …

最簡單的ubuntu遠程桌面方法

最簡單的ubuntu遠程桌面方法 部署環境&#xff1a;Ubuntu 20.04 LTS 現在最常用的遠程控制Linux系統的方法是通過XRDP、VNC等&#xff0c;但是安裝配置過程繁瑣復雜&#xff0c;經常出現各種問題導致連接失敗&#xff0c;另外一方面延遲較高&#xff0c;操作卡頓。 經過我堅…

【Java項目介紹和界面搭建】拼圖小游戲——鍵盤、鼠標事件

&#x1f36c; 博主介紹&#x1f468;?&#x1f393; 博主介紹&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高興認識大家~ ?主攻領域&#xff1a;【滲透領域】【應急響應】 【Java】 【VulnHub靶場復現】【面試分析】 &#x1f389;點贊?評論?收藏 …

DDS數據分發服務——提升汽車領域數據傳輸效率

1.引言 隨著智能化技術的快速發展&#xff0c;汽車行業正經歷著一場革命性的變革。如今的分布式系統變得越來越復雜且龐大&#xff0c;對網絡通信基數要求在功能和性能層面越來越高。數據分發服務&#xff08;DDS&#xff09;作為一項先進的數據傳輸解決方案&#xff0c;在汽車…

2369. 檢查數組是否存在有效劃分(動態規劃)

2024-3-1 文章目錄 [2369. 檢查數組是否存在有效劃分](https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/)思路&#xff1a;代碼&#xff1a; 2369. 檢查數組是否存在有效劃分 思路&#xff1a; 1.狀態定義:f[i]代表考慮將[0,i]是否能被有效劃…