極大提升GPT-4等模型推理效率,微軟、清華開源全新框架

隨著用戶需求的增多,GPT-4、Claude等模型在文本生成、理解、總結等方面的能力越來越優秀。但推理的效率并不高,因為,多數主流模型采用的是“順序生成詞”方法,會導致GPU利用率很低并帶來高延遲。

為了解決這一難題,清華和微軟研究院開發了一種SoT(Skeleton-of-Thought,思維骨架)框架并開源了項目。SoT首先引導大語言模型生成答案的骨架,然后使用并行API調用或批量解碼來完成內容每個骨架點的填充,可極大提升模型的推理效率

為了驗證SoT的效果,研究人員在Vicuna-80和WizardLM兩個對話數據集上測試了12個模型,包括GPT-4、LLaMA、Claude等。

數據顯示,在SoT的幫助下,大多數模型的推理延遲減少了1.5—2.4倍。例如,在Vicuna-80數據集上,使LLaMA的33B參數量模型的推理延遲從43秒降低到16秒。除了效率的提升,研究人員發現,SoT可以提高模型的回答質量。

開源地址:https://github.com/imagination-research/sot/

論文地址:https://arxiv.org/abs/2307.15337

圖片

SoT的最大創新點在于,采用了一種擬人化的思考方式。通常,人類在回答某個問題時,會先根據某些原則和策略擬定思路框架,然后再擴充每個要點的細節。

例如,我們在制定公司發展戰略時,會先制定一個大的框架然后分模塊具體去執行。

這種方法比一步一步的順序生成方法高效的多。所以,SoT的技術架構也并不復雜主要由骨架生成和內容填充兩大部分組成。

圖片

骨架生成

該模塊就是直接生成內容的整體架構。骨架生成模塊使用了特制的提示模板,指導語言模型直接輸出骨架。

提示模板明確要求語言模型用1.,2.,3.等序號的形式輸出3-10個要點,每個要點內容保持在3-5個詞的長度。

圖片

同時提供了完整的任務描述,確保語言模型理解所要完成的工作,以及部分回答“1.”來讓語言模型遵循正確的格式繼續書寫。

由于語言模型生成的骨架回復大多符合預期的編號要點格式,因此,可以用正則表達式提取出要點及其內容。

內容補充

當模型拿到骨架后,SoT會為每個編號要點并行地生成詳細內容。內容補充也使用特制的提示模板。

圖片

提示模板明確要求語言模型只關注擴展指定的要點,并用1-2句很短的話完成擴展。同時提供了原問題、已生成的完整骨架和要擴展的要點序號及內容,確保語言模型理解上下文。

為了實現推理效率加速,SoT采用了批量解碼或并行API請求,使語言模型并行地擴展多個要點,大大縮短獲取最終回答所需的時間。

研究人員表示,SoT這種從內容結構優化的方法,將比其他系統底層、架構的方法簡單、高效的多。尤其是隨著內容產出的高速增長,發揮的作用也會越發明顯。

但SoT也存在一些不足的地方,例如,當邏輯推理需要前后步驟之間的相互依賴時,SoT會自動切換至順序生成模式。

本文素材來源SoT論文,如有侵權請聯系刪除

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207139.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207139.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207139.shtml

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

相關文章

美國Linux服務器的iptables防火墻介紹

美國Linux服務器防火墻一般分為硬件防火墻和軟件防火墻,但不論是硬件防火墻還是軟件防火墻,都需要通過使用硬件作為聯機的介質,也需要使用軟件來設定美國Linux服務器安全政策,因此可以從使用的硬件與操作系統來加以區分。硬件防火…

oracle怎么推進scn?

很多時候,數據庫有故障打不開,需要用到推進scn的技術,這里介紹下12c及以上版本的oracle怎么推進數據庫的scn。 經測試發現,數據庫mount和open狀態下都可以通過此方法推進SCN。 Session1: 查詢當前SCN SQL> select c…

基于jsp+servlet的圖書管理系統

基于jspservlet的圖書管理系統演示地址為 圖書館后臺管理系統 用戶名:mr ,密碼:123 圖書館管理系統主要的目的是實現圖書館的信息化管理。圖書館的主要業務就是新書的借閱和歸還, 因此系統最核心的功能便是實現圖書的借閱和歸還。此外,還需要提供圖書…

Stable Diffusion XL on diffusers

Stable Diffusion XL on diffusers 翻譯自:https://huggingface.co/docs/diffusers/using-diffusers/sdxl v0.24.0 非逐字翻譯 Stable Diffusion XL (SDXL) 是一個強大的圖像生成模型,其在上一代 Stable Diffusion 的基礎上主要做了如下優化:…

生產上線需要注意的安全漏洞

一、關閉swagger 1、關閉swagger v3 # 需同時設置auto-startupfalse,否則/v3/api-docs等接口仍能繼續訪問 springfox:documentation:enabled: falseauto-startup: falseswagger-ui:enabled: false 2、關閉swagger v2 # 只要不是true就不啟用 swagger:enable: fa…

深度解讀:淘客返利機器人無限制與免費版的差異

深度解讀:淘客返利機器人無限制與免費版的差異 在數字時代,人工智能和大數據技術的飛速發展正在改變我們的生活方式,尤其在購物領域,各種優惠工具如雨后春筍般涌現。其中,淘客返利機器人和微賺淘客系統以其獨特的優勢&#xff0c…

Python核心編程之序列下篇

目錄 十二、列表 如何創建列表類型數據并給它賦值 如何訪問列表中的值

代立冬:基于Apache Doris+SeaTunnel 實現多源實時數據倉庫解決方案探索實踐

大家好,我是白鯨開源的聯合創始人代立冬,同時擔任 Apache DolphinScheduler 的 PMC chair 和 SeaTunnel 的 PMC。作為 Apache Foundation 的成員和孵化器導師,我積極參與推動多個開源項目的發展,幫助它們通過孵化器成長為 Apache …

如何訪問內部網絡做內網穿透

項目:https://github.com/ehang-io/nps 有個公網服務器,搭建服務端。 然后客戶端使用: -server是服務端的訪問方式。-vkey是秘鑰。 ./npc -server192.227.19.12:8024 -vkeyoies8gq3wml -typetcp然后在服務端配置TCP隧道即可。

某度旋轉驗證碼v2 逆向分析

v2主要依據是核心 JS 文件mkd_v2.js 版本,如下圖所示: 第一次 https://passport.baidu.com/cap/init 接口,請求的 ak 是固定值,當然不同場景不同網站是不一樣的,_ 時間戳,ver1,返回值 as、tk 都…

大數據的技術棧-逐步完善

目錄 1.hadoop a.HDFS分布式文件系統 b.Yarn集群資源管理器 c.MapReduce sql引擎 d.Impala sql引擎 e.工具概觀 2.數據倉庫知識 a.Hive數據庫 1)Hive Sql 2)數據庫結構 b.Doris數據庫 3.混合處理框架SPARK a.Spark b.集群架構 4.數倉模型知識 5.開發工具 a.Dbeaver b.Idea…

android項目實戰之使用框架 集成多圖片、視頻的上傳

效果圖 實現方式,本功能使用PictureSelector 第三方庫 。作者項目地址:https://github.com/LuckSiege/PictureSelector 1. builder.gradle 增加 implementation io.github.lucksiege:pictureselector:v3.11.1implementation com.tbruyelle.rxpermissio…

線性回歸實戰

3.1 使用正規方程進行求解 3.1.1 簡單線性回歸 公式 : y w x b y wx b ywxb 一元一次方程,在機器學習中一元表示一個特征,b表示截距,y表示目標值。 使用代碼進行實現: 導入包 import numpy as np import matp…

中綴表達式轉后綴表達式與后綴表達式計算(詳解)

**中綴表達式轉后綴表達式的一般步驟如下: 1:創建一個空的棧和一個空的輸出列表。 2:從左到右掃描中綴表達式的每個字符。 3:如果當前字符是操作數,則直接將其加入到輸出列表中。 4:如果當前字符是運算符&a…

QNX usleep測試

QNX usleep測試 結論 usleep時間在QNX上沒有ubuntu上運行準確&#xff0c;但是10ms以上誤差不大。 測試代碼 testsleep.cpp的代碼如下&#xff1a; #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <time.h>double usleep_…

sklearn 筆記:neighbors.NearestNeighbors 自定義metric

1 數據 假設我們有這樣的一個數據tst_lst&#xff0c;表示的是5條軌跡的墨卡托坐標&#xff0c;我們希望算出逐點的曼哈頓距離之和&#xff0c;作為兩條軌跡的距離 [array([[11549759.51313693, 148744.89246911],[11549751.49813359, 148732.97804463],[11549757.620705…

Linux 常用命令匯總

1 linux定時任務 查看定時任務&#xff1a;crontab -l 每晚一點半執行定時任務&#xff1a; 30 1 * * * sh /var/lib/pgsql/pg_db_backup.sh >> /var/lib/pgsql/pg_db_backup.log 2>&1 配置定時任務&#xff1a;crontab -e 2 linux 內核版本查詢 cat /etc/r…

P5744 【深基7.習9】培訓

題目描述 某培訓機構的學員有如下信息&#xff1a; 姓名&#xff08;字符串&#xff09;年齡&#xff08;周歲&#xff0c;整數&#xff09;去年 NOIP 成績&#xff08;整數&#xff0c;且保證是 5 5 5 的倍數&#xff09; 經過為期一年的培訓&#xff0c;所有同學的成績都…

學習-java多線程

線程的創建 *繼承Tread,重寫run *實現Runnable接口,重寫run() [匿名內部類] *實現callable接口(有結果返回) 線程的常用方法 調用join保證這個方法先執行完成, 線程安全 并發編程 進程&#xff1a;就相當一個程序的實例線程&#xff1a;就是指令流&#xff08;一個進程包含多…

無重復字符的最長子串-中等

leetcode地址 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長子串 的長度。 示例 1:輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是 "abc"&#xff0c;所以其長度為 3。 示例 2:輸入: s "bbbbb" 輸出: 1 …