致敬2202年,这些优秀的裁缝们

news2025/2/22 23:41:29

48a083e532ffbc76de093b73422cd451.png

文 | 鹰钩鼻涕虫

2202年过去了,不知道小伙伴们是否和我一样,绝大多数时间处于迷茫之中,除去其他因素不谈,在最后一个月到来之前,NLP 学界的表现似乎不如前几年那样“精彩”,甚至可说是“寡淡”,翻开会议,满眼望去,可能也是些不痛不痒的报告。

工业界积蓄的力量,却迎来了大爆发,大模型、大数据的加持,让今年迎来了“创作”的大年。既有年中的各家发力,文生图模型大爆发,前有 DALL-E 和 Disco 积蓄力量,又有 imagen、Parti 你方唱罢我登场,而后又有 stable diffusion 彻底点爆了这一领域,席卷了业界,预期也可彻底改变画师的创作习惯。

在年底,NLP 领域也终于迎来了重磅炸弹——ChatGPT,其在可控生成上秀出来的肌肉,也必将给文本生成领域带来重大变革,其核心原因在于,看上去,它有能力生成逻辑结构完整的长文

我前些天看了符尧大佬对 OpenAI 从 GPT-3 开始,到 ChatGPT 为止,发表的各个模型,及其能力的演进路线,突然好像悟了 ChatGPT 是怎样炼成的,这之中,惭愧的事情有二:首先是我之前一直被误导,认为 RLHF 才是 ChatGPT 看上去这么强大的核心因素。可看过符尧大大的梳理之后,我意识到,我错了。第二是,当我猜想了 ChatGPT 的能力是怎么来的之后,发觉其几个能力来源,大部分是我看不上的,可能就是比较小的点,但是它们的副产品组合在一起,就如此重磅。此时,模型发布已有一个月之久,我才明白这些,只能说,是我格局小了。

那么,再去回首这一年,我发现,其实这一年并不寡淡,只不过先锋们,看上去步子没有前两年那么大,也是因为,这两年我们对大模型也更加清楚了。却不想,他们也是在攀登更陡峭的山峰。所以,这篇文章,带着这种心情,以我极有限的视野,再看一下这一年,工业界这些比较重磅的进展。

Pathways 系列模型

Jeff Dean 大佬在去年下半年,发表了 Pathways 架构,其基于 MoE 的思想,从工程学的角度,提出了宏大的设想。去年萌屋的文章 《谷歌称之为“下一代 AI 框架”, Pathways 真有那么强吗?》也从不同的维度,分析了 Pathways 可能 work 的原因。

彼时,我听到过一种声音,就是介绍 Pathways 那篇 blog,里面没有写任何的新东西,甚至有“假大空”之论调,大有这些年工业界不分场合地去追求“impact”,却失掉了最基础的品质之感。的确,Pathways 的每一个部分,都不是新的,但同时,Pathways 又非常“工程”——充分利用、有机结合已有的方法,做出来好用的东西。

这样的工作,我们喜欢叫它“缝合怪”。通常,我们说缝合怪,都是带有贬义意味的,但我认为,工业界,无论是想法上还是实现接口上,能够缝合出好用的东西,绝对是不可多得的好能力(甚至可以说,我们其实一直站在前人的肩膀上。每一个行业技术上的开创者,首先得是行业内已有技术绝对的专家,一味追求创新,可能万分之一是天降猛人,其他的都是民科),从这个角度上来讲,Google 绝对是个好“裁缝”。

而可笑的是,当 Jeff Dean 发表的另一篇论文,方法上有不错的创新性的时候,却又有一群杠精揪着一大堆指标中的一行,说“花了这么多钱就为了个这?”,完全不考虑文章中的方法部分,以及其他的指标。

但可悲的又是,树大招风,强如 Jeff Dean,还是得卷榜单啊。

c59dcdcd1f8c87ba89d09b08ff602a3b.png

看上去,Pathways 的确在 Google 有着不错的地位,到了今年,Google 持续发力,PaLM 模型作为第一个展示肌肉的工作,发表了出来,看上去也早早地给今年的榜单画上了一个句号。

当然,PaLM 也不是终点,今年10月,在一篇名为 Scaling Instruction-Finetuned Language Models 的论文中,Google 又上了新的魔法—— prompt。

正式介绍之前,请允许我引一个题外话,介绍第一波被我忽视掉的工作。

Prompt 系列

其实,我一直是 prompt 爱好者,也是我工作岗位上第一批应用 prompt 的人,也曾经针对 prompt 做了很多的探索、解释和分享。但也限于工作,我使用 prompt,也仅止于关键字 prompt,或称作完形填空 prompt。Prompt 后续的各种进展,都不在我关注范围之内。

指令微调

而其实 prompt 也一直在演化,去年,就有了 instruction tuning,即把针对于上下文补全的 prompt 输入,改变成带有目的性的指令输入,这样就能将原本受限于 language model 的任务形式,扩展成为无限的任务形式。我们不必要去纠结于如何将任务转换为语言模型任务,而直接莽上去就完了。同时也因为语言模型的基础能力,相似的自然语言输入激活的参数组合也是相似的(这也成为了 prompt 本身的一大特性),而不同的任务,其指令也会有较大差异,这就给同一个模型,通过指令微调做多任务,提供了理论上的合理性,也非常符合我们对多任务的设想,即目的相似的任务互相增益,其他的任务互不影响

同时,现在模型参数规模、预训练数据规模,都发展得足够大,绝大多数任务的指令和回答,我们都可以认为预训练数据集里面也已包含,而巨大的参数规模,也给上面的理论足够的操作空间。

思维链

除此之外,今年1月,另一篇名为 Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 的文章,又提出了一种新的 prompt,思维链 prompt,其目的是让语言模型解决复杂推理问题(如数学题)。首先,早先的诸多尝试中,我们都看的出来,简单的语言模型训练目标,实际上根本不可能让模型像模像样地模仿逻辑推理能力,GPT-3 在这方面确实就比较拉胯。

e6179bad25efb7f33b97fd4ddfad9222.png

思维链则是,训练目标不仅仅是问题答案,同时还有问题求解的过程(即思维链)。然后,神奇的事情来了,模型在推理(比如数值计算、符号推理)任务上,的确有了不错的提升,甚至在分布外数据上,都表现得不错。也就是说,大模型的确通过思维链,部分 get 到了一些符号逻辑的规律。Google 的 Minerva 也证实了这一点。

理性分析一波,每一个问题的思维链中,去除了共性的那些词之后,真正差异化的那些 bias,的确是从归纳角度上,体现了符号规律的,被大规模数据预训练后的语言模型,自然很容易找到思维链之中的 bias 部分,也就是真正需要训练的知识,而把其他的东西卸载掉。又有大量的训练数据做支撑,知识的空间又相对有限(简单数值计算,和简单的三段论推理问题),靠着归纳,我认为的确能让统计模型 get 到简单符号逻辑。

但是,哪怕我承认了上面那些,我也绝不认为现阶段的大统计模型就已经具备了完整的复杂推理能力,原因还在于,想要枚举所有的符号规律,规定所有的边界,在数据构建上是有极大困难的(单是数值计算,就已经难以枚举了)。哪怕大模型似乎已经在挑战问题空间更大的中学数学,甚至奥数了。

这篇文章我是属实忽略了,不过老实讲,哪怕我当时看到了,但当我看到复杂推理这个东西的时候,也可能嗤之以鼻,最终与这个工作错过,人有的时候就是要靠打脸来成长。

不过思维链也是需要模型参数足够大,才能够发挥功力,根据现有已发表的工作统计,至少 62B 参数才能让思维链更优。

哦对,上述两篇工作,也是 Google 发表的。

而同时借助着语言模型和 prompt 的特性,如果我们准备了超大规模的指令集,可以覆盖绝大多数任务,甚至绝大多数对话场景,那么是不是说,我们对模型提出的任何一个指令,哪怕模型没有见过,但是大概率也能从已训练过的指令中找到相似的,从而保证模型对任何任务、任何问题,都有训练调优后的回答了呢(这个想法的起始是一个名为SPoT的工作:SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer,我也相当推崇)?

Google 给 PaLM 加持的魔法,就是这个,将大规模的指令集和思维链,统统加到了 PaLM 的训练中,训练出了一个强劲的小样本模型,FlanPaLM。

说到这儿,不知大家有没有发现一种既视感,大规模指令集训练,好像 ChatGPT 干的也是这个事儿呢?不妨就顺势再浅聊一下 ChatGPT 这另一个优秀的裁缝吧。

ChatGPT

聊之前,我还是先表明一下态度:我认为 ChatGPT 绝对是生成领域的重大变革,甚至可能改变以后做生成的范式。但我绝不认为它在NLU领域能引起那么大的波澜,毕竟我们看得到,目前它还是有各种各样的疯言疯语,实际也是,一带就歪(《ChatGPT进入百度“弱智吧”后,疯了》《ChatGPT惊人语录大赏》)。

0cccf10da9a3a9c996ca65d3d7be1d55.png
▲实际上,这几篇论文都不存在,感谢@天于刀刀提供素材

首先我们要搞懂,它带来最核心的变革是什么?它的回答中,看似有较长思维链,看似做了很严谨的推理。可以说,目前的 ChatGPT,可能就已经是一个八股文大师了。但是,它生成的东西,也不能细究。甚至我可以说,ChatGPT 目前完全是没有推理能力的,它只是在模仿推理,我也不认为大模型具备了思维链,它顶多有了形式思维链。其具迷惑性的是,它的确成功模仿了一步步解决问题的过程(虽然其实通过上下文训练,生成模型也很容易模仿文风),并且做到了不“一眼假”,因为它具备了长距离依赖,可以记住提到过的东西是干啥的,然后准确的在下一个语言环境里面复用它,同时也能够做到在一个 session 里面,完成多轮对话。

哇,这可是对话系统,或者生成梦寐以求的能力啊!

可是,这个能力是从哪儿来的呢?我曾一直以为 RLHF 是这种可控生成的核心来源,而看过了符尧大佬的分析后,我才明白,其很有可能来自于代码生成。这个结论是由符尧大佬提出,他提到,code-davinci-002(即Codex)之后的模型,似乎开始具备了思维链,再之后的大规模指令集微调,才形成了 ChatGPT(篇幅原因仅部分总结,强烈推荐阅读原文,非常详实精彩)。

我认为,这个结论绝对是 make sense 的。因为编程代码,存在大量的、统计意义相当显著的长距离依赖数据,即——变量/对象名。同时,又有作用域,又同时,高级编程语言是更接近于文本的,这给后面迁移到自然文本上提供了一些便利。这给了模型超大量的提示——某一个东西这里定义,下面要用。且上下文环境里,也大体约束了其语义。相比于自然文本来讲,程序的空间是相对集中的,自然让模型更加容易地 get 到这个能力。自然文本不仅仅空间很大,没有很明确的强调信号,且经常会使用别名、简称,命名之间的关系是多义的,自然相对难上不少。

当然,代码形式化地写出了思维链,面向对象的工程则有更加复杂的拆解、组合过程,供模型可以模仿

不过我在和领导讨论这个问题的时候,领导问了我一个问题:拿代码训练到的能力,是怎么迁移到自然文本上的呢?

刚刚提到的高级编程语言更接近于自然文本,提供了一部分便利。而更大的杀器则是,我们前面提到的,大规模指令集训练。Codex 的升级版本其实是已经加入了指令集训练了,这个时候加入的指令集已经是人类指令了,且代码数据相当庞大,其中所能拿到的指令其实也异常丰富,同时,还记得前面提到的吗?这些指令定向激活的那些参数,已经提前被强化了长距离依赖,和形式思维链了,那么,同样用指令集训练的方式,训练它去生成自然文本,是不是它就更加容易 get 到自然文本中的长距离依赖了呢?又得益于语言模型训练得到的语义理解能力,那么,它生成出了看似有复杂推理的结果,是不是就合理了?

那么 RLHF 又起到了什么作用呢?其实更多起到了约束模型的行为边界的作用。

实际上,正如我认为现阶段统计模型不可能真正掌握符号推理能力一样,我对 Codex 也一直是嗤之以鼻的,现在我仍旧认为统计模型不具备真正写代码的能力,毕竟 copy 和拼凑不能叫编程,何况很多代码不能 run,或很多代码有漏洞,稍复杂的功能也未必能搞定。所以,ChatGPT 能力形成的每一个工作,我都会忽略,但它们的副产品,组合起来却有了这么大的威力,是我格局小了。

本文关于 ChatGPT 的部分观点及绝大部分资料来自于符尧大佬所写的文章 《ChatGPT的前世今生》,我是站在巨人的肩膀上,妄谈自己的见解。

文生图系列

提到2202年,怎么能不提到文生图呢?

当然最大最火的那个进展,是 stable diffusion,它针对现有的扩散模型做了大幅度的效率优化,使得生成高清图片的资源消耗大幅降低,文生图宣告走入民用,算是彻底点爆了这个领域,形成了统治地位。

不过我想提名的是两个目前没有公开的文生图模型:imagen 和 Parti。

Imagen 提到,其主要改进是在扩散模型的基础上,文本处理的那个部分,使用了大规模预训练语言模型。曾经我对文生图(或者多模)主要的担忧其实是,多模态的数据实际上是对不齐的,同样的一个意思,在文本和图像两端,实际上都是无限对无限。更何况,艺术创作上,每每有相对意识流的主题,对应上了具体的画面,这其中又有我们称之为“意境”的东西。意境这个东西,就更是各人有各人的理解,最终产物上更是千差万别。

但是,模型接受的是这些东西,人类接受的也是这些东西啊。人类能够容易地理解、建构,将意识流转换成画面,将画面吟诵成诗词。正是因为学过的东西,在我们大脑里的认知层,被编码成了原型,通过原型去发散,则可以想象出无限的画面或描述。也就是说,无限的感知信号,在认知层则做了归组编码,且有注意力去做更加细致的事情(比如去认画面中的每一个主体)。

而我一直认为,图文对齐数据是远远达不到,让一个不具备一定文学素养及美术素养的人学到这种能力的,何况模型。所以当时虽然 Disco 已然是风生水起,我仍觉得其实最多也还是只能做到玩具。随后,imagen 出现了。

引入大规模语言模型做语义理解,就可以看作,在自然语言这一层,引入了抽象编码,至少,解决了一端的编码问题。虽然我后面看到,语言模型带来的泛化性似乎也导致了一些问题(《我们追求的泛化,竟是一条死路?》),但总体来讲,是利大于弊的。

Parti 和 imagen 双方团队其实后来也说,两边是互相借鉴的。所以也可以认为,Parti 可能也直接缝了语言模型进去。

不过,Parti 不用说了,Pathways yyds!且是看到了用 Pathways 搞多模了。

可惜这两个东西不开放,我在这里吹得天花乱坠也有可能直接打脸。

后记

以上,是这个不太平的一年,给我留下很深刻印象的工作。

也看得出,每一个工作其实都能找到或久远,或近来一直延续的前人工作,或向前迈了一步,或组合了若干工作,最后做出了卓越的成果。如我一直所推崇:充分利用已有成果,有机结合,科学、高效地缝合出一个漂亮的工作,是一件非常酷的事情。我列举的几个工作,各个单体都没提出什么变革的修改(除了 latent diffusion),更多的都还是有机的组合,其背后的团队,都是优秀的裁缝。

其实,务实地讲,工业界可能更加需要的,就是裁缝,而非硬凹出来的创新。举一个不恰当的例子,公式相声之后,郭德纲在一次采访中说,每一个行业,都会有改革,有突破,但问题是,这些改革的人,他得是干这个的,且是最顶尖的那一种人,你给人修鞋修了十年,这天看不惯了说你要来改革相声,你看他们打不打你吧。

也就是说,变革、突破、天降猛人一样的创新,其应当是对已有东西充分了解且利用的基础上产生的,而非凭空而来,所以我觉得应当打开自己,去接受,尤其得了前面所说的教训之后,更有此感触。啥也没了解,自身也没有过成功经验,奇思妙想也没work过,就胡扯出来的创新,要么就是民科,要么,可能几十年前,就已经被大佬们验证过了,到头来,是吧。

270e6c887bb4efa60e470ca142524247.png

上述吐槽,也是因我看不惯些什么,有感而发,夹带私货,若误伤了您,深感抱歉。

2202年是非常 down 的一年,3202年看上去也注定不太平,希望我们都能够平安吧!

最后,诸位,新年快乐!开工大吉!

6d531fcf07d7c6348eff1521608ae852.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring事务执行流程分析_5(注解形式 advisor等前置对象的生成)

调用beanFactory处理器 依旧进入刷新refresh方法AbstractApplicationContext#refresh -> 在上一篇文章spring事务执行流程分析_4(注解形式 EnableTransactionManagement的作用) 解析EnableTransactionManagement注解就是在此方法进行的,也就是在会注册 名字:i…

简单模拟vue实现数据劫持-视图更新双向绑定-2

接上, new一个实例对象,vc,构造函数动态绑定一个空对象,并在构造函数上绑定静态方法 $on进行事件的注册,$emit抛出执行事件 function observe() {// 利用策略模式-可以快速根据特定的事件,执行多个函数th…

最全总结 | 聊聊 Selenium 隐藏浏览器指纹特征的几种方式!

大家好,我是安果!我们使用 Selenium 对网页进行爬虫时,如果不做任何处理直接进行爬取,会导致很多特征是暴露的对一些做了反爬的网站,做了特征检测,用来阻止一些恶意爬虫本篇文章将介绍几种常用的隐藏浏览器…

第九层(9):STL之map/multimap

文章目录前情回顾map/multimap概念差别构造函数赋值操作大小操作函数交换函数插入函数删除函数查找函数统计函数排序规则下一座石碑🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远,后…

三线金叉选股公式,均线、成交量、MACD共振

均线、成交量、MACD三线金叉共振选股公式思路还是比较简单的,分别写出均线金叉、成交量的均量线金叉、MACD的快线和慢线金叉,最后用AND连接这三个条件。 一、编写选股公式所需通达信函数 1、EXIST函数 含义:是否存在 用法:EXIST…

OpenGL | 搭建OpenGL 画画框架

一、搭建OpenGL 画画框架3D场景初始化(1) 代码void Init() {glMatrixMode(GL_PROJECTION); //将当前矩阵指定为投影矩阵,对投影矩阵操作gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, 1000.0f);//创建一个对称的透视投影矩阵,并且用这个…

世界上最大型的 Demo Drop DJ 比赛来到元宇宙!

简要介绍 WBDD 于 2023 年 1 月 26 日至 2 月 8 日进入元宇宙。 认识世界上最大型的 DJ 比赛获胜者,并在元宇宙中伴随着他们的音乐跳舞。 该体验将是线下活动的延伸,由 Mike Williams 担任活动大使。 体验将对所有人开放。 完成 80% 的任务&#xff…

51单片机简易出租车计费系统仿真设计( proteus仿真+程序+报告+讲解视频)

51单片机简易出租车计费系统仿真设计( proteus仿真程序报告讲解视频) 仿真图proteus 8.9及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0036 51单片机简易出租车计费系统仿真设计讲解视频1.主要功能:…

MXNet实现图片的样式风格迁移(Style Transfer)

样式迁移就是将一个样式(风格)应用到一张主图上,改变这张图片的风格,比如说拍摄了一张夜晚的图片,我们可以拿梵高的"星月夜"图片做样式,应用到拍摄的图片上,两者合成后的新图片&#…

linux基本功系列之uptime命令实战

文章目录一. uptime命令介绍二. 语法格式及常用选项三. 参考案例3.1 显示当前系统运行负载情况3.2 显示机器正常运行的时间3.3 显示机器启动时间3.4 关于平均负载的介绍总结前言🚀🚀🚀 想要学好Linux,命令是基本功,企业…

推荐 5 个实用 GitHub 项目

本期推荐开源项目目录:1. AI-For-Beginners2. 一个小巧轻便的 PDF 阅读器3. 开源的智能手表4. 开源内容管理系统5. 程序员海外工作/英文面试手册01AI-For-Beginners之前推荐过 Microsoft 出品的 Web 技术栈课程,本开源项目同样是 Microsoft 的 Azure Clo…

go runtime

go 运行时,也称为 go runtime,类似Java中的JVM虚拟机,不过runtime并非是虚拟机。其本身就是每个 go 程序的一部分,它会跟源码一起编译并链接到目标程序中,即便只写了一个 hello world 程序,这个程序中也包含…

day15 二叉树 | 104、二叉树的最大深度 111、二叉树的最小深度 222、完全二叉树的节点个数

题目 104、二叉树的最大深度 递归法(后序)(必须会) // 定义:输入根节点,返回这棵二叉树的最大深度 int maxDepth(TreeNode root) {if (root null) {return 0;}// 利用定义,计算左右子树的最大…

论文笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling

IJCAI 2019 1 abstract & intro 时空数据挖掘问题大多数使用邻接矩阵来建模节点之间的属性关系,这种思路的一个基本假设是:节点信息取决于自身和邻居的历史信息。 但这类模型的假设存在着一些问题: 未能充分建模节点之间的依赖关…

宝塔部署springboot,vue,node.js项目

宝塔部署springboot项目: 先将命令转移到jar包所属文件夹中 分为短暂部署和永久部署 短暂部署:java -jar xxx.jar 永久部署:nohup java -jar demo-1.0.0.jar logs_mark.txt 2>&1 & nohup:linux的命令,代表关闭但持续运行 查看898…

52.Isaac教程--操纵杆

操纵杆 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录操纵杆使用游戏机操纵杆使用其他操纵杆使用 Playstation 操纵杆很容易控制运行 Isaac SDK 的机器人,但也可以使用其他控制器。 使用游戏机操纵杆 按照以下步骤校准您的…

微信小程序018小说在线阅读系统书城

管理员的主要功能有: 1.管理员输入账户登陆后台 2.个人中心:管理员修改密码和账户信息 3.用户管理:对注册的用户信息进行删除,查询,添加,修改 4.小说信息管理:对小说信息进行添加,修…

TCP/IP第六章笔记ICMP协议

文章目录6.1 引言6.2 ICMP报文分组格式和类型6.3 ICMP地址掩码请求与应答6.4 ICMP时间戳请求与应答6.5 ICMP端口不可达差错6.6 ICMP的处理(4.4BSD系统下)6.1 引言 第三章在IP选择路由时,如果一个报文最后限制转发次数用完后还传输不到目的地…

【高并发】- 不可不知道的RPC框架服务通信

前言 前面章节讲解了高并发系统中相关指标、为什么要学习高并发设计思想、高并发系统中每个环节的流量处理等思想。本章节讲解服务通信,来帮助大家更好理解系统间通信过程。 1 RPC框架介绍 RPC(Remote Procedure Call,远程过程调用&#xff0…

Win10家庭版和Win10专业版有什么区别?

win10操作系统拥有7个不同的版本,其中win10家庭版和专业版被人们广泛的应用,很多用户都不知道如何区分win10家庭版和专业版,接下来把win10家庭版和专业版有什么不同的地方告诉大家。我们一起来看看吧。 win10家庭版和专业版的区别&#xff1a…