极大提升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.mzph.cn/news/207139.shtml

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

相关文章

基于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…

代立冬:基于Apache Doris+SeaTunnel 实现多源实时数据仓库解决方案探索实践

大家好,我是白鲸开源的联合创始人代立冬,同时担任 Apache DolphinScheduler 的 PMC chair 和 SeaTunnel 的 PMC。作为 Apache Foundation 的成员和孵化器导师,我积极参与推动多个开源项目的发展,帮助它们通过孵化器成长为 Apache …

某度旋转验证码v2 逆向分析

v2主要依据是核心 JS 文件mkd_v2.js 版本,如下图所示: 第一次 https://passport.baidu.com/cap/init 接口,请求的 ak 是固定值,当然不同场景不同网站是不一样的,_ 时间戳,ver1,返回值 as、tk 都…

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…

Linux 常用命令汇总

1 linux定时任务 查看定时任务:crontab -l 每晚一点半执行定时任务: 30 1 * * * sh /var/lib/pgsql/pg_db_backup.sh >> /var/lib/pgsql/pg_db_backup.log 2>&1 配置定时任务:crontab -e 2 linux 内核版本查询 cat /etc/r…

我有才打造私域流量的知识付费小程序平台

在当今数字化时代,知识付费市场正在迅速崛起,而私域流量的概念也日益受到重视。私域流量指的是企业通过自有渠道获取的、能够自由支配的流量,这种流量具有更高的用户粘性和转化率。因此,打造一个基于私域流量的知识付费小程序平台…

实现:切换页面切换标题,扩展 vue-router 的类型

布局容器-页面标题 网址:https://router.vuejs.org/zh/guide/advanced/meta 给每一个路由添加 元信息 数据 router/index.ts const router createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{ path: /login, component: () > im…

第一启富金:新添澳大利亚(ASIC)牌照

第一启富金:澳大利亞證券及投資委員會(ASIC) GOLDWELL GLOBAL PTY LTD 是 WHOLESALE INVESTOR SERVICES PTY LTD(CAR 編號 001304943)的企業授權代表開發澳大利亞客戶,WHOLESALE INVESTOR SERVICES PTY LT…

XML是什么

XML是是什么? XML(Extensible Markup Language),中文是可扩展标记语言,是标准通用标记语言的子集。它是一种标记语言,用于标记电子文档,使其结构化。 XML可以用来标记数据,定义数据…

【软件推荐】文本转语音,语音转wav,导入ue5

文字转语音 在线免费文字转语音 - TTSMaker官网 | 马克配音https://ttsmaker.cn/ 文件转换器 语音转wav Convertio — 文件转换器https://convertio.co/zh/

HarmonyOS应用程序框架——UIAbility实操

UIAbility概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。 每一个UIAbility实例,都对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility&…

Leetcode—901.股票价格跨度【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—901.股票价格跨度 算法思想 实现代码 class StockSpanner { public:stack<pair<int, int>> st;int curday -1;StockSpanner() {st.emplace(-1, INT_MAX);}int next(int price) {while(price > st.top(…

油猴(Tampermonkey)浏览器插件简单自定义脚本开发

介绍 浏览器插件&#xff0c;包括油猴插件和其他插件&#xff0c;通过它们可以实现浏览器网页的定制化与功能增强。 其他插件一般只有某种具体的功能&#xff0c;且已经写死而不能更改&#xff0c;比如Adblock插件只用于去广告。 油猴插件是一款用于管理用户脚本的插件&…

使用Rust 构建C 组件

协议解析&#xff0c;这不就很快了&#xff0c;而且原生的标准库红黑树和avl 树支持&#xff0c;异步tokio 这些库&#xff0c;编写应用组件就很快了 rust 标准库不支持 unix 的消息队列&#xff0c;但是支持 shm 和 uds&#xff0c;后者从多方面考虑都比&#xff0c;消息队列更…

教育类直播介绍

教育类直播是一种在线教育形式&#xff0c;它允许学生和教师通过实时视频通话进行互动学习。这种学习方式可以为学生提供更灵活的学习时间和地点&#xff0c;同时也可以帮助教师更好地与学生进行互动和指导。 在教育类直播中&#xff0c;学生可以通过网络与教师和其他学生进行…

c/c++中一些不常用但有用的知识

1.变长数组 bool fun(int cnt) {unsigned char data[cnt];return true; } 在 C 语言中&#xff0c;变长数组&#xff08;Variable Length Arrays&#xff0c;VLA&#xff09;是 C99 标准引入的特性&#xff0c;允许使用变量来定义数组的长度。因此&#xff0c;在 C 版本的代码…