首页 > 其他分享 >【压缩泛化】对大语言模型智能涌现的理解

【压缩泛化】对大语言模型智能涌现的理解

时间:2024-07-21 15:25:43浏览次数:8  
标签:泛化 训练 压缩 对大 无损压缩 涌现 AGI 数据 模型

AGI = Maximizing Compression!

1. 智能定义

      一年时间,大语言模型(LLM)席卷互联网行业,包括自己在内,日常工作生活已经快离不开大模型应用了。前段时间,看到有赞干掉了30多人的UI团队,后又干掉了HRBP团队,想当初自己还拿到过有赞的offer,对于公司果断、雷厉风行的风格还是有很深的印象的,在竞争异常激烈的当下,企业必须认清现实,预判未来,未雨绸缪,才能长久生存。有赞对于团队的变化,给出的理由是要用更新的工具和更新的工作方式和流程。不求变,迟早会被迫改变。因此在当下,要快速积极去拥抱大模型这一技术变革带来的变化,主动去适应和提升自己。事实上,在工作中,大模型确实对自己的工作效率有明显提升。如果对chatgpt熟悉的话,可以看到很多将其应用于文字写作、编程辅助、多媒体创作、开发应用程序、脚本灵感生成、分析总结报告、教育培训等多领域的应用案例。在不同的领域以及不同的语言提示背景,chatgpt可以输出相应的能力。

      之所以当下大量公司或者业务场景融入了大模型作为效率倍增器,隐含的前提条件是其具备一定的可靠性和可用性,而这背后正是LLM所体现出的智能。当然不同人对于“智能”的理解可能存在些许差异。这里给出相对学术的定义:智能最具通用性的定义是“适应环境的能力",这一定义可包含智慧和行为能力两方面,狭义的智能是抽象、逻辑、理解、推理等能力,广义的智能可描述为在一定的环境或情境中感知和推断信息、保存为知识以应用于适应性行为。针对LLM仅是大型的语言模型,那么我们将智能限定在狭义层面,即抽象、逻辑、理解、推理等能力。

2. 智能缘由

        对于大语言模型体现的智能缘由,有很多不同的看法,有一些关注点在表层的术,也就是模型结构或者训练流程等,比如去解释transformer,但transformer的NTP(next token prediction)产生智能太过于牵强。早期有观点认为通过NTP任务,LLM在模型参数里学到了某种知识图谱,当输入Prompt的时候,Prompt包含的概念启动知识图谱相关节点,然后在知识图谱上按照激活扩散理论引发知识间的激活扩散和信息传递,由此导致LLM产生了智能。这类观点相对来说有点路径依赖,难以支撑OpenAI不惜代价投入研发AGI。

2.1 压缩思路

        今天来回顾一下OpenAI的科学家分享对于LLM的理解,提供了一种新的压缩思路,来解释大语言模型背后的哲学思想,虽然追溯起来,在AGI领域对于压缩作用的探讨很早就有,但OpenAI应该是将该理念工程化落地的最佳实践。此次分享主题为《Compression for AGI》,来自于Stanford MLSys Seminar,主讲人为Jack Rae。Jack Rae 是 OpenAI 的团队负责人,主要研究大型语言模型和远程记忆(large language models & long-range memory architectures)。此前,他在 DeepMind 工作多年,领导大语言模型 (LLM) 研究组。

        首先,我们给出一个例子,来帮助理解什么是压缩。比如Alice和Bob需要通信一组数据,数据如下1,2,3,4,...,100000000。一种直观的做法就是将数据原模原样由Alice发送给Bob,那数据传输量不小。如果采用一种压缩的方法,比如发送一个语言编码器“生成1到100000000的之间连续的整数”,然后将这个编码器发送给Bob,Bob接收之后,再通过解码器还原回1,2,3,4,...,100000000,那整体通信代价就非常小。这个例子至少包含以下要点:(1)对于发送的信息,需要理解抽象; (2)生成最小长度的编码来承载发送的信息; (3) 尽可能的无损压缩。

        那么如何去刻画这种一项任务的目标函数,以及如何优化该目标函数?基于该问题,引出本次的分享的要点,也就是:

(1)对完成某个任务有效方法的最小描述长度代表了对该任务的最大理解;

(2)使用生成模型进行无损压缩可以对最小描述长度进行计算;

(3)大语言模型是 SOTA 的无损文本压缩器。

2.1.1 最小描述长度

        所谓的最小描述长度,其实就是对于观测对象的最深层次的理解。例如对于英文翻译成中文的任务,仅仅通过直接查找词典把所有可能的短语翻译成中文,那么对该翻译任务理解是最差的,因为需要维护一个足够庞大的词典,而且由于英文与中文天然存在语言表达的差异,按词直译的效果往往不尽如人意。但如果将词典提炼为一系列的规则集(例如语法、词汇、短语等),那它将会有更好的理解能力,因此根据规则集的压缩程度对其进行最小描述长度的评价。如果将该规则集压缩到最小描述长度,那么可以获得对翻译任务有着最好的理解。

        Jack给出了一种更数学化对压缩的描述公式,图中|D|表示数据集D的无损压缩,无损压缩的大小可以表示为对 D 评估的生成模型的负对数似然加上估计函数f的最小描述长度。对数据集D评估的生成模型的负对数似然等于对 next token 预测损失的总和。这里的最小描述长度可以理解成初始化模型的代码量,和模型大小无关,和具体语言或者三方包也无关(code from scratch)。

        接下来通过LLaMA的例子,基于上述公式可以对比不同语言模型选出更好的压缩器,以及如何计算出精确的压缩率。

(1)模型效果对比:LLaMA 33B 和 LLaMA 65B 两个模型有着相同的数据描述长度,用于训练的代码大小相同。65B 模型有着更低的训练损失,根据公式把两项loss因子相加,可以得出 65B 模型是更好的压缩器。

(2)压缩比例的计算:LLaMA 65B 用于初始化和训练模型的代码约为 1MB,负对数似然大约是 400GB,而用于训练的原始数据是 5.6TB 的文本,因此该模型的压缩率为 14 倍。

2.1.2 使用生成模型进行无损压缩计算最小描述长度

        使用算术编码实现无损压缩。假设在 t时刻有一个 token x_t,并且概率分布是p_t。简单来说,算术编码就是将 token x_t编码成z_t,z_t占用对应bit大小。解码 z_t时仍然需要用到分布p_t。

        以 p_t是均匀分布为例,此时存储x_t需要的空间与直接二进制存储是一样的。当确切知道x_t是什么时,也就是概率为1,那么不需要耗费存储空间。这是两个极端的例子,说明需要尽可能好的生成模型来表征数据来降低空间的耗损。

        因此,对于Satya 和Sundar的例子,Satya在数据D上训练transformer模型,然后记录下一个词出现的概率分布,使用算术编码来对数据进行编码。

然后 Satya 把模型代码和算术编码后的 z 发送给 Sundar,训练代码约为 1MB,编码量级为-\sum {log_2}{p_t}{(x_t)}bits。也就是不发送神经网络的超大规模参数,而只是发送训练的代码。

        在 Sundar 这端,他运行模型训练的代码:使用相同的初始化网络进行初始化,在 t=1时刻模型使用 P_1 对 Z_1进行算术解码得到 X_1,然后经过一个训练步长使得网络预测出 P_1,之后迭代地遍历并恢复整个数据集。

2.1.3 通过压缩实现对训练集以外的信息实现最大泛化能力

        图中橙色部分代表模型的训练集,白色部分是训练数据所对应的真实世界信息,压缩的目标并不是保证能对训练数据做更好的预测,而是对训练数据所代表的真实世界信息能够最大程度的泛化表示。因此神经网络在橙色圆圈对应的训练数据上可能存在丢失部分信息,甚至不能很好地重建出训练集。LLM模型的训练更在意的是模型的泛化能力。

        Jack认为对于通用人工智能的关键包含两个部分: (1)收集所有有效的感知信息;(2)通过使用更加强大的基础模型学习来尽可能压缩数据。也就是说可以从使用更好的模型架构、模型尺寸、第三方工具、信息检索、人工合成数据等各种可能的方案,来实现更好的无损压缩效果,不应该限制所使用的方法,这也说明其实GPT模型只是现阶段的一种优选网络结构,也许未来会出现更好的模型网络结构来代替。只要是能够提升压缩效果的手段,都是AGI 基础模型的可选项,生成模型只是被压缩过程的一个组成部分,而被压缩的完整过程是对应一个以生成模型为核心的系统,其中可能包含规则、第三方工具等。

2.2 局限性

        前述章节讨论了使用大语言模型进行压缩的方案,接下来会谈其存在的局限性。

        (1) 压缩有可能是正确的,但效率不高 对于像素级图像进行建模需要的代价是相对高昂的,特别是对于像素级的视频建模就更加夸张了。因此一开始会从语义信息进行建模。随着算力、价格等的变化,也会有相应的变化。

        (2)现实世界的很多有用的信息是不可观察的, 比如 Alphazero可能只能观察到其可以进行围棋的自我博弈,但在训练它时用到了很多其他游戏的中间搜索结果。它看起来更像是一个代理人,可以通过搜索中间结果实现不同行为。

2.3 总结及展望

        Jack提到,基础模型工作总纲:明确 AGI 基础模型的目标并搜集尽可能多的有效数据,然后使用所有可能的无损压缩方式,从而得到对任务方法的最小描述长度。大道至简,复杂现象的底层存在着简单的原理。

        有效数据的搜集是 AGI 基础模型工作总纲中的两项工作之一,该项工作至关重要。从GPT4的技术报告中可以看到有大量的工作组投身在数据的收集、处理、对齐等任务。那么什么是有效数据,个人觉得应该是包含人类智慧结晶的数据,比如结构化的大规模的知识图谱数据、逻辑和架构清晰的人类编程语言数据都属于包含大量人类抽象总结信息在内的有效数据。密度越高,有效性越高的数据,对于数据压缩会有更显著的效用。另外,对于数据进行细致的文字描述,说明图像包含什么物体,特点是什么,描述了什么场景,那么这样一份图像和文字数据所包含的人类智慧密度就更高。新增多轮对话数据,可以让模型提升原本不具备的对话能力,这类数据的有效性也会帮助模型更好的压缩,提升语言表达能力。数据的异质化越高,有效性也会越高。AGI 基础模型是对人类智慧行为的概率预测,那么包含人类智慧信息的数据是对这种概率预测确定性的增强。

        同时,Jack也提到会进一步探索更高效的压缩方案,探索新的LLM的算法架构、不同的模型尺寸,在有效数据上进行提取有效信息,不断增强AGI模型地理解和表达能力。比较直观理解其中的关系,可以描述为:压缩方法会决定压缩的行为的效率以及有效压缩力度的上限;压缩力度决定了你是否能成功完成压缩任务;压缩数据决定了你该选用何种压缩方法以及模型能力增强的程度。

3. 参考文献

【1】Compression for AGI - Jack Rae | Stanford MLSys #76 

【2】《微软官方推出介绍Prompt 教学指南》

【3】智慧信息的压缩:模型智能的涌现之道

标签:泛化,训练,压缩,对大,无损压缩,涌现,AGI,数据,模型
From: https://blog.csdn.net/weixin_65514978/article/details/140587617

相关文章

  • 基于典型相关性分析的多视图学习方法(基于半监督学习的 CCA)——泛化能力的多视图分析模
    泛化能力的多视图分析模型(GeneralizedMulti-viewAnalysis,GMA)是由Sharma等人提出的,旨在扩展传统无监督的典型相关分析(CanonicalCorrelationAnalysis,CCA)至有监督学习和更广泛的数据分析场景。GMA的核心在于能够处理多源异构数据,同时考虑数据的标签信息,以提高模型的泛......
  • [分布式项目]应用对大量Message处理方案的一些思考
    目录问题背景分析流程设计一些思考问题背景问题来源于之前公司做的项目,组内维护有调度任务的应用,对全量商品的每日价格信息进行离线计算,结果用于分析和制定售卖策略。计算周期根据商品的特点,设置在半小时到一天。随着应用的推广以及业务上的需求,使用方对数据......
  • 断点续传:使用java对大文件进行分块与合并
    通常我们下载上传的视频文件比较大。虽然https协议没有规定上传文件大小的限制,但是网络的质量,电脑硬件的参差不齐可能会导致大文件快要上传完成的时候突然断网了要重新上传,非常影响用户体验。以此我们引入了断点续传的功能。什么是断点续传呢?就是我们在上传下载文件的时候,将一个......
  • 深度学习领域的名词解释:SOTA、端到端模型、泛化、RLHF、涌现 ..
    SOTA(State-of-the-Art)在深度学习领域,SOTA指的是“当前最高技术水平”或“最佳实践”。它用来形容在特定任务或领域中性能最优的模型或方法。随着研究进展,SOTA会不断被新的研究成果所超越。 非端到端模型非端到端模型指的是模型架构中包含多个分离的组件或步骤,每个......
  • 计算机大方向的选择,面对大环境不好科班生应该怎么选择
    选专业要了解自己的兴趣所在。即想要学习什么样的专业,如果有明确的专业意向,就可以有针对性地选择那些专业实力较强的院校。2.如果没有明确的专业意向,可以优先考虑一下院校。确定一下自己想要选择综合性院校还是理工类院校或是像财经或者语言之类的特色院校。3.综合考虑地......
  • #面对大环境我们应该如何做出正确的选择#
    选专业要了解自己的兴趣所在。即想要学习什么样的专业,如果有明确的专业意向,就可以有针对性地选择那些专业实力较强的院校。2.如果没有明确的专业意向,可以优先考虑一下院校。确定一下自己想要选择综合性院校还是理工类院校或是像财经或者语言之类的特色院校。3.综合考虑地......
  • C#如何使用HttpClient对大文件进行断点上传和下载
    什么是Http的断点上传和下载断点上传:在向服务商上传大文件的时候,将一个大的文件拆分成多个小的文件,每个文件通过单独的Http请求上传给服务器。断点下载:在向服务器请求下载一个大的资源文件的时候,不是一次Http请求返回所有的资源文件内容。而是先通过Head请求,拿到资源文件的大小(......
  • 面对大方差的解决方法
    大方差的定义:大方差通常是指数据集中的数值相对于平均值的波动较大,这种波动可以通过方差来量化。方差是衡量一组数值离散程度的统计量,计算方式是每个数值与平均值差的平方的平均值。大方差产生的可能原因包括:极端值或离群点:数据集中的极端值或离群点会显著增加方差,因为......
  • 文献总结:ON THE TRAINING AND GENERALIZATION OF DEEP OPERATOR NETWORKS(关于深度算
    ONTHETRAININGANDGENERALIZATIONOFDEEPOPERATORNETWORKS(关于深度算子网络的训练和泛化)remark:相较于之前的文章,这篇更新了两个重要定理的证明!算子网络DeepONet由两个网络构成,即trunk网络和branch网络,通常是同时训练这两个网络,这相当于是在高维空间中解决复杂的优......
  • AI产品安全标准:只要意图和价值观与人类对齐,能力可以无限强于人类。如何确保超人的超能
    “人工智能系统正在成为日常生活的一部分。关键是要确保这些机器符合人类的意图和价值观。”AI标准:能力可以无限强悍,只要意图和价值观与人类对齐,就值得信赖随着人工智能(AI)技术的飞速发展,AI系统在各个领域展示出超凡的能力。这些技术不仅影响了我们的日常生活,还对社会的......