无需微调,只要四行代码就能让大模型窗口长度暴增,最高可增加3倍!
而且是“即插即用”,理论上可以适配任意大模型,目前已在Mistral和Llama2上试验成功。
有了这项技术,大模型(LargeLM)就能摇身一变,成为LongLM。
近日,来自得克萨斯农工大学等机构的华人学者们发布了全新的大模型窗口扩展方法SelfExtended(简称SE)。
在Mistral上,研究者在24k长度的文本中随机插入5位数字让模型搜索,结果经SE处理后,呈现出了全绿(通过)的测试结果。
而未经处理的版本,在6k长度时就已经开始“见红”了。
GitHub Copilot主创Alex Graveley也激动地宣布,在Llama2上进行的实验同样取得了成功。
在网友的进一步询问之下,Alex解释了推文中“work”的具体含义:原先在4k长度时就会出现的噪声,现在已经消失了。
而对于SE窗口长度的极限,一位根据论文复现SE代码的大佬表示,理论上(只要算力足够)可以达到无限长。
那么,SE具体能达到什么样的效果呢?
长文本能力显著增强
在窗口长度从4096增长到16384的过程中,Llama 2的困惑度从一开始变飙升了两个数量级。
但使用SE后,文本长度变成了原来的4倍,困惑度却只增加了0.4。
而在Mistral上,SE比Mistral自身采用的滑动窗口(SWA)机制带来了更低的困惑度。
△左下图使用对数坐标
在专为长文本模型设计的LongBench数据集中,SE处理后的模型在单/多文档问答、总结、少样本学习、代码等任务中,评分均相比起原始版本有所提升。
特别是在一个名为SOLAR的模型上,处理后的模型在16k长度下的表现比原始版本在4k长度下的表现还要优异。
SOLAR由两个羊驼掐头去尾拼接而成,这种拼接的方式,使得其注意力层结构与其他基于Transformer的模型形成了一定差异。
同时,在GSM等由考试题组成的闭域问答任务中,SE优化后的模型也都相比原始版本取得了更高的平均成绩,在Mistral上稍逊于其自身的SWA方法。
而长文本能力的增强,并没有带来模型在短文本上的能力下降。
在HuggingFace的OpenLLM基准下,SE版Llama2的测评成绩相比原版均为发生显著降低。
目前,SE的开箱即用版支持Phi、Llama和Mistral三种模型,在这三种模型上只需4行代码就能进行窗口扩增。
对于其他模型,则需要对代码进行一定修改。
那么,SE是如何给模型增加窗口长度的呢?
两种注意力机制共同作用
研究者认为,长文本能力是大模型本身就具有的,但需要通过一定方法激发才能实现。
其中最主要的问题是,大模型在处理长文本时,会遇到相对位置编码超出训练时所见范围的情况。
针对这一情况,作者采用了FLOOR注意力机制作为解决策略。
FLOOR对输入的文本序列进行分组,然后用组数对某一token的绝对位置做取整除,就可以长距离将映射到较短的范围。
然后,对这些映射值进行注意力运算,就解决了位置编码超限的问题,实现了长文本的处理。
而在处理中短长度文本时,仍然使用模型原有的注意力机制,从而确保了模型不会“顾此失彼”,避免因长文本能力的增长导致短文本能力损失。
此外,在Mistral上复现SE的作者还坦言,目前该模型并不完美,可能存在计算量暴增的问题。
同时,SE的原作者也说,目前SE方法的确还没有做过效率方面的优化,未来计划通过引入FlashAttention机制等策略来解决这一问题。
论文地址:
https://arxiv.org/abs/2401.01325
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。