写点什么

阿里首提前向训练框架:让大模型深度思考,可快速定制专属模型

阿里巴巴

  • 2023-06-28
    北京
  • 本文字数:1720 字

    阅读完需:约 6 分钟

阿里首提前向训练框架:让大模型深度思考,可快速定制专属模型

大语言模型(LLM)是当前自然语言处理领域最核心的技术,以 GPT-4 为代表的大语言模型展现出了类人的学习能力。其中,情境学习(In-context Learning)是大语言模型最神秘的能力之一。如下图所示,在这种情境学习的范式下,大模型无需更新任何参数,仅依赖几个示例样本(demonstrations)就可以学习新任务,执行新样本的预测。



得益于这种范式的存在,使得大模型可以仅通过修改指令(prompt)和示例 (demonstrations)就在某个具体任务上达到不错的效果,然而当前的情境学习仅通过输入一次示例的方式来进行任务的归纳与推理,存在很大的局限。首先,这种单轮的策略与人类类比学习的决策过程并不一致。

 

在认知学中,人类通常通过迭代式的思维过程(例如,分析示例、反思示例和形成抽象概念)执行类比学习。可以考虑让大模型通过“思考更长时间”或者“多次思考”,来提升情境学习的能力。其次,一些相关工作指出,情境学习与传统神经网络训练的梯度下降有潜在的联系,一次大模型前向的过程完成了一次隐式的梯度下降,可以看作执行了一次训练。这进一步表明,可以通过多次(迭代)前向训练演示来提高情境学习的效果,让大模型和人类一样,拥有深度思考的过程。



阿里首创前向训练框架


为此,阿里研究团队在《Iterative Forward Tuning Boosts In-context Learning in Language Models》论文中率先提出了一个新的大模型情境学习框架——Deep-Thinking。


论文:https://arxiv.org/abs/2305.13016

代码: https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/deep-thinking

Demo: https://modelscope.cn/studios/huybery/deep-thinking/summary

 

Deep-Thinking 与传统情境学习不同,它分为两个阶段。第一个阶段为思考阶段,仅将示例作为大模型的输入,然后通过多次迭代来让大模型进行前向“训练/思考”,模拟人类不断地观察与学习示例样本。为了做到前向训练,研究团队借助 self-attention 中的 Key, Value 矩阵作为一种“元梯度”。

 

具体来说,需要执行多个步骤优化过程。在某一次具体的优化过程中,研究团队改造 self-attention 的前向机制,对  Key, Value 矩阵执行了更新 (update) 与 合并 (concat) 操作。更新操作通过当前步骤的元梯度与历史累积到的元梯度进行积累,产生新的元梯度。而合并操作将元梯度进行合并,让网络更深层地表示受到元梯度的增益。需要强调的是,这个过程不依赖反向传播,所以能够大大地降低大模型的训练的成本。第二个阶段为推理阶段,输入待预测的样本与训练阶段产生的最终元梯度,最终执行预测。



Deep-Thinking 拥有两个优势,一方面通过第一阶段的思考可以有效提升下游任务的效果,另一方面,在第二阶段预测时仅需要输入预测的样本与第一阶段学习的产物(K,V 矩阵),无需输入大量的自然语言示例,可以有效节约显存并提升推理速度。


效果


为了评估 Deep-Thinking 相比传统情景学习的优势,该团队评测四种 LLM 的不同尺寸,共 20 个模型在 10 个数据集上的效果,发现都有较好的提升,在某些情况下甚至能得到几十个点的相对提升。



除了定量的评估外,该团队还执行了一些有趣的分析,Deep-thinking 的优化过程和传统的梯度下降优化展现出了一系列有趣的现象:首先,Deep-thinking 也存在类似过拟合的现象,如果迭代过程过多,将会导致效果下降,可以通过引入小规模的验证集来选择合适的迭代次数,这与传统优化中的 Epoch 概念类似;其次,Deep-thinking 的梯度范式也呈现出了与梯度下降相同的趋势,比如更浅的层收敛更快,对学习率敏感等。



展望


传统的模型优化依赖于反向传播算法,但这种方法需要大量的计算资源和庞大的数据集,使得大模型的训练与微调成本非常高昂,成为大模型落地的阻碍之一。

 

而阿里研究团队提出的 Deep-thinking 是一种迭代式的前向训练框架,摒弃了反向传播的依赖,这将允许用户和企业在具体的任务上低成本的优化大模型效果。企业往往需要保护用户数据的安全性,但同时也需要让模型具备针对特定任务的学习能力。利用 Deep-thinking ,企业可以在不共享大量数据的前提下,根据自身需求快速训练和优化专属模型。这对于提高模型的个性化适应性和隐私保护具有重要意义,这项技术有潜力成为大模型落地的最佳实践。

2023-06-28 17:334979
用户头像
赵钰莹 极客邦科技 总编辑

发布了 935 篇内容, 共 724.7 次阅读, 收获喜欢 2718 次。

关注

评论

发布
暂无评论
发现更多内容

收藏手册:Docker安装RabbitMQ,只需3步

互联网应用架构

Docker RabbitMQ

第十一周.命题作业

刘璐

java安全编码指南之:输入校验

程序那些事

java安全编码 安全编码规范 java安全编码指南

智能商业时代的思考(三)数据驱动

刘旭东

大数据 数据驱动 智能商业

Java ConcurrentHashMap 高并发安全实现原理解析

vivo互联网技术

Java hashmap 多线程 高并发

rpc探路(一)

余歌

收藏手册:该不该用Lombok?15个常用注解全解析

互联网应用架构

lombok

LeetCode题解:144. 二叉树的前序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

从linux源码看socket的阻塞和非阻塞

无毁的湖光

Linux TCP socket Linux Kenel

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

程序员小航

Java 源码 源码阅读 JUC Semaphore

高难度对话读书笔记

wo是一棵草

Java开发连Redis都不会还想跳槽涨薪?先把Redis的知识点吃透再说

Java架构之路

Java redis 编程 程序员 面试

Golang框架探索(一)

余歌

Web框架 Go web

springboot2.3手册:多租户及自动创建数据,这样做

互联网应用架构

springboot mybaitsplus 多租户 自动填充基础信息

Java新特性:数据类型可以扔掉了?

Java 编程 架构师

测试工程师在敏捷项目中扮演什么角色?

禅道项目管理

程序员 敏捷开发 测试

实践解读丨Python 面向对象三大特征之多态

华为云开发者联盟

编程 面向对象

(0)skynet序章

休比

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Learun

敏捷开发 开发工具

谈谈力软快速开发平台B/S专业报表工具

Philips

敏捷开发 开发工具

拆分链表、图解HTTPS、Zookeeper原理、如何成为技术专家、架构师三板斧 John 易筋 ARTS 打卡 Week 18

John(易筋)

ARTS 打卡计划 图解https ZooKeeper原理 架构师三板斧 拆分链表

架构设计:微服务架构如何划分?这6个标准原则让你一目了然

互联网应用架构

微服务 架构设计

Kotlin 插件1.4.10使用报错

三爻

android kotlin

科大讯飞再握一国产核心技术,可高精细拾取30分贝超小音量

Talk A.I.

JavaScript原型机制

Clloz

Java 原型

Golang 反射性能优化

余歌

性能优化 Go 语言

RDS、DDS和GaussDB理不清?看这一篇足够了!

华为云开发者联盟

数据库 华为云 RDS

我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等

iOSer

ios 面试

分布式数据库拆分常用之法

华为云开发者联盟

数据库 架构 分布式

大作业2

雪涛公子

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Java架构之路

Java 编程 面试 并发编程 多线程

阿里首提前向训练框架:让大模型深度思考,可快速定制专属模型_阿里巴巴_InfoQ精选文章