想把半本《红楼梦》搬进ChatGPT输入框?先把这个问题解决掉

点击上方“AI遇见机器学习”,选择“星标”公众号

第一时间获取价值内容

2cf249bf241d06883ec8011e5a572ae1.gif

来自:机器之心

从 GPT-4 的 32k 到谷歌 CoLT5 的 64k 再到最新研究的 200万 token,类ChatGPT 模型们可以处理的文本长度正在急剧增加,这意味着它们的应用范围也越来越广。或许有一天,ChatGPT 能帮乔治·马丁把《冰与火之歌》(权力的游戏)写完呢?

6776ca739750e232589763632f08347d.png

过去两年,斯坦福大学 Hazy Research 实验室一直在从事一项重要的工作:增加序列长度。 

他们有一种观点:更长的序列将开启机器学习基础模型的新时代 —— 模型可以从更长的上下文、多种媒体源、复杂的演示等中学习。

目前,这项研究已经取得了新进展。Hazy Research 实验室的 Tri Dao 和 Dan Fu 主导了 FlashAttention 算法的研究和推广,他们证明了 32k 的序列长度是可能的,且在当前这个基础模型时代将得到广泛应用(OpenAI、Microsoft、NVIDIA 和其他公司的模型都在使用 FlashAttention 算法)。

5513d8aca0a4dce65546a3ebaca76fe7.png基础模型的上下文长度一直在增长,那下一阶段是什么样?

  • 论文地址:https://arxiv.org/abs/2205.14135

  • 代码地址:https://github.com/HazyResearch/flash-attention

正如 GPT4 的相关资料所指出的,它允许近 50 页的文本作为上下文,而且像 Deepmind Gato 使用图像作为上下文那样实现 tokenization/patching。

在这篇文章中,作者介绍了关于在高层级上增加序列长度的新方法,并提供了连接一组新原语的「桥梁」。

49831b02e4f8020da2114c9c1cbf468e.png

Transformer 变得越来越深,越来越宽,但在长序列上训练它们仍然很困难。研究人员遇到的一个基本问题是,Transformer 的注意力层在序列长度方面是按二次方比例增长:就是说从 32k 长度增加到 64k 长度,成本不只增加 2 倍,而是增加了 4 倍。因此,这促使研究人员探索具有线性时间复杂度的序列长度模型。在 Hazy Research 实验室,这项工作从 Hippo 开始,然后是 S4、H3,再到现在的 Hyena。这些模型有可能处理数百万、甚至十亿级别的上下文长度。

FlashAttention 可以加速注意力并减少其内存占用 —— 无需任何近似。「自从我们在 6 个月前发布 FlashAttention 以来,我们很高兴看到许多组织和研究实验室采用 FlashAttention 来加速他们的训练和推理。」博客中写道。

FlashAttention 是一种对注意力计算进行重新排序并利用经典技术(平铺、重新计算)加快速度并将内存使用从序列长度的二次减少到线性的算法。对于每个注意力头,为了减少内存读 / 写,FlashAttention 使用经典的平铺技术将查询、键和值块从 GPU HBM(其主内存)加载到 SRAM(其快速缓存),计算关于该块的注意力,并将输出写回 HBM。在大多数情况下,这种内存读 / 写的减少带来了显著的加速(2-4 倍)。

5aa49d2293748aafd3c3a163e30a00a2.pngFlashAttention 通过减少 GPU 内存读写来加速注意力。

接下来,让我们看一下研究细节。

Long Range Arena 基准和 S4

谷歌的研究人员在 2020 年推出了 Long Range Arena (LRA) 基准测试,以评估不同模型处理长程依赖的能力。LRA 能够测试一系列任务,涵盖多种不同的数据类型和模式,例如文本、图像和数学表达式,序列长度可达 16K(Path-X:对已展开成像素的图像进行分类,没有任何空间归纳偏置)。关于将 Transformer 扩展到更长的序列方面已经有很多出色的工作,但其中许多似乎会牺牲准确性(如下图所示)。请注意 Path-X 那一列:所有 Transformer 方法及其变体表现甚至不如随机猜测。

6944a3663d4b1c8ddb15e34972915777.png在 LRA 数据集上对多种 Transformer 变体进行基准测试,并将它们与 S4 进行比较。

现在让我们认识一下由 Albert Gu 主导研发的 S4。受到 LRA 基准测试结果的启发,Albert Gu 想要找出如何更好地对长程依赖关系建模,在正交多项式和递归模型与卷积模型之间关系的长期研究基础上,推出了 S4—— 一种基于结构化状态空间模型(SSMs)的新的序列模型。

很关键的一点是,SSM 在将长度为 N 的序列拓展到 2N 时的时间复杂度为def461953401a8200f31e937d72b7714.png,而不像注意力机制一样呈平方级别增长!S4 成功地对 LRA 中的长程依赖进行了建模,并成为首个在 Path-X 上获得高于平均性能的模型(现在可以获得 96.4%的准确度!)。自 S4 发布以来,许多研究人员在此基础上发展和创新,出现了像 Scott Linderman 团队的 S5 模型、Ankit Gupta 的 DSS(以及 Hazy Research 实验室后续的 S4D)、Hasani 和 Lechner 的 Liquid-S4 等新模型。

另外,当 Hazy Research 发布 FlashAttention 时,已经能够增加 Transformer 的序列长度。他们还发现,仅通过将序列长度增加到 16K,Transformer 也能在 Path-X 上获得不凡的表现(63%)。

建模方面的不足

但是 S4 在语言建模方面的质量存在的差距高达 5% 的困惑度(对于上下文,这是 125M 模型和 6.7B 模型之间的差距)。为了缩小这一差距,研究人员研究了诸如联想回忆之类的合成语言,以确定语言应该具备哪些属性。最终设计了 H3(Hungry Hungry Hippos):一个堆叠两个 SSM 的新层,并将它们的输出与乘法门相乘。

使用 H3,Hazy Research 的研究人员替换了 GPT 式 Transformer 中的几乎所有注意力层,并能够在从 Pile 训练的 400B 规模的 token 时,在困惑度和下游评估方面与 transformer 相媲美。

2aab7f4acb26980c7b945a983f86d5de.png

由于 H3 层建立在 SSM 上,因此在序列长度上,它的计算复杂度也以f5b077d6793a80530c2e098890f1c951.png的速度增长。两个注意力层使得整个模型的复杂度仍然是6742b2f90f5db16ebec38dfc67f6c925.png,稍后会详细讨论这个问题。

当然,Hazy Research 不是唯一考虑这个方向的人:GSS 也发现带有门控的 SSM 可以与语言建模中的注意力很好地协同工作(这启发了 H3),Meta 发布了 Mega 模型,它也将 SSM 和注意力结合起来,BiGS 模型则替换了 BERT-style 模型中的注意力,而 RWKV 一直在研究完全循环的方法。

新进展:Hyena

根据前面的一系列工作,启发 Hazy Research 的研究人员开发了新的架构:Hyena。他们试图摆脱 H3 中最后两个注意力层,并获得一个几乎呈线性增长的模型,以适应更长的序列长度。事实证明,两个简单的想法是找到答案的关键:

  • 每个 SSM 都可以看作是一个长度与输入序列相同的卷积滤波器。因此,可以用一个大小等于输入序列的卷积来替换 SSM,以获得在相同计算量下更加强大的模型。具体来说,通过另一个小型神经网络来隐式地参数化卷积滤波器,这借鉴了关于神经场文献中的强大方法和 CKConv/FlexConv 的研究成果。此外,卷积可以在 O (NlogN) 的时间内计算,其中 N 是序列长度,实现了近乎线性的扩展;

  • H3 中的门控行为可以概括为:H3 采用输入的三个投影,并迭代地进行卷积和应用门控。在 Hyena 中,只需添加更多投影和更多的门,这有助于泛化到更具表现力的架构并缩小与注意力的差距。

Hyena 首次提出了完全近线性时间卷积模型,它可以在困惑度和下游任务上与 Transformer 相匹配,并在实验中取得了很好的结果。并且在 PILE 的子集上训练了中小型模型,其表现与 Transformer 相媲美:

3e499bb3df05516d778fd4069f0e09a1.png

通过一些优化(更多内容见下文),在序列长度为 2K 时,Hyena 模型的速度略慢于相同大小的 Transformer,但在更长的序列长度上会更快。

接下来仍需思考的是,究竟能将这些模型推广到什么程度?是否能将它们扩展到 PILE 的全尺寸(400B 个 token)?如果结合 H3 和 Hyena 的思想精华,会发生什么,能走多远?

FFT 还是更基本的方法?

在所有这些模型中,一个常见的基本操作是 FFT,它是高效计算卷积的方式,只需要 O (NlogN) 的时间。然而,FFT 在现代硬件上的支持很差,因为现代硬件主流架构是专用的矩阵乘法单元和 GEMMs(例如 NVIDIA GPU 上的张量核心)。

可以通过将 FFT 重写为一系列矩阵乘法操作来缩小效率差距。研究小组的成员利用蝴蝶矩阵来探索稀疏训练,从而实现这个目标。最近,Hazy Research 研究人员利用这个连接构建了快速卷积算法,例如 FlashConv 和 FlashButterfly,通过使用蝴蝶分解将 FFT 计算转化为一系列矩阵乘法操作。

此外,通过借鉴之前的工作,还能建立更深入的联系:包括让这些矩阵被学习,这同样需要相同的时间,但会增加额外的参数。研究人员已经开始在一些小型数据集上探索这种联系,并取得了初步成效。我们可以清楚地看到这种联系可以带来什么(比如,如何使其适用于语言模型):

77abce07e4fca9d98c126982f59a04f8.png

这一扩展值得更深入的探索:这个扩展学习的是哪类转换,它能让你做什么?当将它应用于语言建模时会发生什么?

这些方向都是令人兴奋的,接下来会是越来越长的序列和新的架构,让我们能够进一步探索这个新领域。我们需要特别关注那些能够受益于长序列模型的应用,比如高分辨率成像、新的数据形式,能够阅读整本书的语言模型等等。想象一下,把整本书给语言模型阅读,并让它总结故事情节,或者让一个代码生成模型基于你写的代码来生成新的代码。这些可能的场景非常非常多,都是让人感到非常兴奋的事情。

参考链接:

https://hazyresearch.stanford.edu/blog/2023-03-27-long-learning

https://hazyresearch.stanford.edu/blog/2023-01-12-flashattention-long-sequences

欢迎大家加入我的这个”AIGC与GPT“知识星球,目前已有100+人,欢迎大家快速加入

作为一个大厂算法工程师和机器学习技术博主,我希望这个星球可以:

  • 【最全免费资源】免费chatgpt,最新AIGC和GPT相关pdf报告和手册。

  • 【最专业算法知识】Transformer、RLHF方法、多模态解读及其论文分享。

  • 【最新变现姿势】如何结合ChatGPT应用落地,各种可以作为副业的AIGC变现方式,打好这个信息差。

  • 【最有趣AICG】ChatGPT+midjourney拍电影,制作壁纸,漫画等等有趣的AICG内 容分享。

4c702b0df8233172cc8e51f5229e82e0.jpeg

另外这里会保存我收集的各种关于AIGC的资源和资料,包括AI绘画-midjourney,ChatGPT, GPT-4,百度-文心一言的各种资料。会保持持续更新,欢迎大家自行拿取。(网盘地址和密码在知识星球自取!)

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

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

相关文章

结合ChatGPT,告诉你如何在制药行业推行PACE与IPD!

最近爆红于网络的ChatGPT是一种大型的语言模型,用于对自然语言输入进行建模和预测。它是基于OpenAI的GPT-3架构进行构建的,并经过训练,以便能够回答人类的问题并进行自然对话。通常,这种技术被用于实现聊天机器人或人工智能助手&a…

jieba词频统计、关键词提取、词云图制作

1、jieba分词及词频统计 import jieba import pandas as pd# 加载自定义分词词典(txt内容格式:自定义关键词空格空格 ----->换行继续) jieba.load_userdict("./dict.txt")content open(./测试.txt,encodingutf-8).read() #分…

textrank提取关键词与关键句

最近在用pg进行全文检索,如果检索全文则速度会慢,考虑可以检索关键句以提高速度。测试了一下textrank提取关键句,目前的思想是用全文提取关键词和关键句提取关键词进行比较,以评估关键句的提取。(提取关键词的方法现在…

中文文本中的关键字提取

关键词提取就是从文本里面把跟这篇文章意义最相关的一些词语抽取出来。这个可以追溯到文献检索初期,关键词是为了文献标引工作,从报告、论文中选取出来用以表示全文主题内容信息的单词或术语,在现在的报告和论文中,我们依然可以看…

关键词提取-TFIDF(一)

系列文章 ✓ 词向量 ✗Adam,sgd ✗ 梯度消失和梯度爆炸 ✗初始化的方法 ✗ 过拟合&欠拟合 ✗ 评价&损失函数的说明 ✗ 深度学习模型及常用任务说明 ✗ RNN的时间复杂度 ✗ neo4j图数据库 分词、词向量 TfidfVectorizer 基本介绍 TF-IDF是一种统计方法,用…

hanlp关键词提取算法TextRank

欢迎关注鄙人公众号,技术干货随时看! 技术交流qq群: 659201069 鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅! https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7 《kibana权威指南…

Jieba进行词频统计与关键词提取

文章目录 1 词频统计1.1 简单词频统计1.2 加入停用词 2 关键词提取2.1 关键词提取原理2.2 关键词提取代码 1 词频统计 1.1 简单词频统计 导入jieba库并定义文本 import jieba text "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域…

关键词提取(keyword extraction)技术

目录 1 统计方法(Statistical Method)1.1 TF1.2 TFIDF1.3 YAKE 2 图方法(Graph Based Approaches)2.1 PageRank2.2 TextRank2.2 SingleRank2.3 TopicRank2.4 PositionRank 3 语义模型(Semantic Models) 1 统…

TextRank关键词提取算法

参考:百度AI Studio课程_学习成就梦想,AI遇见未来_AI课程 - 百度AI Studio - 人工智能学习与实训社区 (baidu.com) 1.关键词提取算法分类 1.有监督 将关键词提取问题转换成二分类问题,判断每个候选关键词是否为关键词该类算法,需…

全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门关键词提取应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门关键词提取应用场景 Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例 其它资料下载 ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字&a…

马斯克的Starship,除了“大”还有什么呢?

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 种种迹象表明,由ChatGPT引发的算力军备竞赛已经悄然而至了。 终于,到了检验人类最大火箭发射的时候了。 2023年4月17日,SpaceX将其大型深空火箭Starship发射升空,发射地点为Sp…

细思极恐!GPT-4太强,发明者们也不懂!智能到底是怎么突然「涌现」的?

本文来源 新智元 编辑:LRS 【新智元导读】不可解释的智能,未来该如何发展? 2023年至今,ChatGPT和GPT-4始终霸占在热搜榜上,一方面外行人都在惊叹于AI怎么突然如此强大,会不会革了「打工人」的命&#xf…

ChatGPT真的像说的那么神,什么都能做吗?

神到不至于,但确实给我的工作生活带来不少便利! 我用的是LintCode刷题网里面自带的这个ChatGPT,不花钱就能直接用! 像用它来解决不会的LeetCode题,动动手指解析秒出,对于我这种经常刷题的人来说就比较方便…

textarea输入换行字符提交给后台后,前台获取数据没有换行

解决方案&#xff1a; 需要提交数据库之前把textarea中的换行字符转换为<br>存储到数据库。 当读取的时候在把<br> 替换成textarea的换行符\n就好了 注意&#xff1a;使用replace 方法的时候需要用正则表达式&#xff0c;否则只能替换第一个换行 例如&#xff…

input按回车换行

需求描述&#xff1a;页面是table里面嵌入input,用户要求按回车去下一个input 之前由于用到elementUI的,用于改变许多类型&#xff0c;之后就自己用原生的input去实现 具体代码&#xff1a; <inputtype"number":ref"ipt index":class"ipt index…

enter无法换行

第一种方法&#xff1a;按住window Insert第二种方法&#xff1a;按住Fn Insert

Notepad++显示所有字符:空格换行

因项目需要&#xff0c;写了一个脚本&#xff0c;在windows下&#xff0c;可以正常运行。Push到设备后&#xff0c;报错。 经过Debug, 发现将脚本中的CRLF&#xff0c;改为LF, OK notepad 显示全字符&#xff0c;设置方法&#xff1a; 英文版&#xff1a;View -> Show Sy…

天猫精灵,还缺点啥?

我也是99买的天猫精灵&#xff0c;马大侠在下一盘大棋。也用了京东的叮咚&#xff08;感觉应该是合作开发而已&#xff0c;纯是为了应景&#xff0c;你有我有全都有而已&#xff09;&#xff0c;体验感不行&#xff0c;而且居然这个青春版还不能语音控制了&#xff0c;只能手机…

天猫精灵打开电脑 语音控制电脑

“天猫精灵” “哎&#xff0c;我在&#xff01;” “打开电脑” 上了一天班&#xff0c;回到家就想静静的玩会游戏&#xff0c;吼一句天猫精灵&#xff0c;立马帮你开机&#xff0c;多么舒服装x的体验。然而现实是骨感的&#xff0c;精灵无此功能&#xff0c;网上有人让弄个智…

亲测超好用的一款流程图制作软件(内含制图技巧分享)

什么是流程图&#xff1f;流程图是思维导图的一种图形模式&#xff0c;通过固定的流程和图形组合而成&#xff0c;通常应用于IT业、建筑业、数字统计行业中。因为思维导图慢慢热门起来&#xff0c;所以其他领域也都开始慢慢学习这款思维工具&#xff0c;并通过思维导图工具整理…