极大提升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,一经查实,立即删除!

相关文章

美国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 …