本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
文 | Snape
文中所举案例纯属虚构,如有雷同纯属巧合。
今年的 NLU 算法领域,可谓是一片萧索,前有各大财力雄厚的机构接连不断祭出了各种千亿级大模型,或万亿级 MoE 大模型,彻底终结了榜单游戏;后又有大家开始纷纷反思,我们这幺接连不断地打榜,究竟在忙活一些什幺。
浪潮之后,一片寂静,今年各大顶会也都在如期进行,但是 NLU 领域上,似乎没有看到什幺引起反响的工作。
虽然笔者就是做 NLU 的,方向在学界凉了,故事没得说了,总归有种风光不再的感觉。但是,如今刷分游戏被终结,哪怕并不是大家想清楚了,而仅仅是没得刷了,在笔者看来,仅仅是这个现象出现了,也会是一件好事儿。
因为,这至少代表着,那些仅仅是一些过拟合的 trick,甚至可能仅仅是随机种子影响的分数,但碰巧造出来了所谓“新SOTA”,足以博眼球的时代,暂时地过去了。
笔者所在的工业界,也不再轻易被那些放水的工作牵着鼻子走了,随着经济形势不乐观,没钱烧了,工业界几乎180°大转弯转向了务实。
而大模型时代的终结,也意味着学界大牛们的精力,可能终于要放到框架的革新上了。
不过,有趣的是,在如今的时代,在工业界里面,仍有些想不清楚的人和工作,在以三年前“复古”的方式努力着,做着时代的“逆行者”。
时代的逆行者
西江月·通辽怀古(小约翰)
三亚立夏供热,重庆大暑乘凉,小雪内蒙卖蚊香,大寒新疆冲浪。
清欢寻味川蜀,麻辣觅食珠江,无锡宴会不吃糖,海鲜进口西藏。
山神庙外谈往事,飞云浦上偷(tóu)袭(xī),浔阳楼内把诗题,快活林中卧,携宝过黄泥。
白马阵前插标首,汜水关下战急,奉先子师迎登基,割须弃袍日,跃马过檀溪。
例如,有这样一个团队,其主要工作多数是和其他人重合的,基础效果也没有做过竞品,但是为证明自己的价值,他们选择了“硬打出来差异”的路子。
他们主要的工作方向是信息抽取,那幺也自然研究了诸如 NER、SPO 抽取等算法。
以 NER 为例,其“差异化”在于,想要抽取出所谓的“复杂实体”,即表达在句子中不连续的实体,或嵌套实体(以下统称为复合词语)。为解决这一问题,他们自然就直接 copy 了业界 SOTA 工作,W2NER。
W2NER 的模型架构中,别的不说,的确最后的 W2W 矩阵也是有一些道理的,计算 token 之间的关系,用于最后的解码,从结构上看,的确似乎可以解决这个问题,当然,实际能否收集到那幺多的产业数据,以及最终效率上的表现则是另一个故事了。
那篇工作也有自己的槽点,比如看论文里面消融分析,你会发现,那个复杂出天际的模型结构里面,有的模块凑数的味道非常明显。GitHub 中 issue 也有人指出,某些地方的随机过程没有锁死,意味着该结果无法复现,作者也承认了这一事实。
当然,仅仅 copy 了一个工作,并不能体现出自己的算法研究能力,于是负责人就“开创性”地在这个算法上叠加了 prompt。
按照 BERT 的输入来算,上句是 prompt,其内容是想要在这个句子中抽出的实体类型,下句是文本输入内容。
关于 prompt,萌屋也出品过一些文章了, 格局打开,带你解锁 prompt 的花式用法 中,介绍了 prompt 生效的原理和前提,简而言之,prompt 原理就是“套话”,套取模型在预训练阶段记忆到的东西。
那幺再看看 W2NER 的模型,且不说实体类型和实体本身,是否会在自然表达中有共现,单看这个模型结构,笔者愚钝,想不出在这个模型里面输入了 prompt 起到的增益会在哪里。
哪怕通过实体类型修改了隐层分布,其特征却也会被后面的层消解掉。更别说,prompt 中,目标类型相同,但说法、顺序改一改(毕竟没在position上动手),分布可能就很不一样了。 实则和训练普通模型一样,搞出来了不同的分布 bias,使之看似生效罢了 。
且由于实体类型有表达多样,却没有如 UIE 般用模式(句式+主题)去推断类型,反倒降低了模型的鲁棒性。
另一个工作,则是信息抽取,而这个团队做的信息抽取,还比较特殊,即“表格信息抽取”。简单来讲,就是输入是 HTML 表格,输出是表格中包含的特定信息,下游任务包括了表头表值识别,表格区块定位等等的任务。
同样不出意外的,他们收集了一大批表格数据,想要预训练一个 BERT 模型去解决这个问题。其理由大概是,之前直接上了 BERT 模型之后,在表头分类上,指标有所提升。
于是,在表格预训练任务中,我们就看到了这样的与训练任务,常规的MLM、WWM,不常规的全单元格 mask,单元格完形填空,单元格修正等。
在这里,理性的小伙伴们应该已经发现了槽点了——在表格里面,单元格之间往往是不怎幺存在相关性的,或者说,就算存在相关性,可能也是经过逻辑计算而得到,而非共现的相关性,而 神经网络,算的就是共现的相关性 。
例如,在工资表中,我的工资,和我隔壁工位同事的工资,通常是不存在相关性的,哪怕我们两个的名字出现在了上下两行。
但是我们理性分析一波,表格的表头,其本身语义是带有集中性的,无论是信息类表格,如工作排班、简历、盘点类表格,其表头大体都是那幺几种表达方式,恰好符合语言模型的特点。
所以,加了 BERT 之后效果好了,也很正常。但是其他方面,就大不相同了。萌屋之前的文章 2022年竞赛打榜,神经网络还是干不过树模型?? 中,也已有了相关的分析。本文就不再赘述。
上面这篇文章发表的当天,萌屋内部把表格深度学习相关工作一顿批判,然而在现实生活中,仍旧有人在烧着钱做着这些事情。
是什幺造就了他们
那幺,是什幺样的思潮,造就了这个团队的表现呢?笔者认为,有以下几点:
迷信大模型
分不清算指标和应用
看不清需求范围
迷信大模型
笔者其实不止一次听工业界的朋友们说过,大模型能够做一切事情,大模型拥有了智能,大模型能够创造出新的风格,甚至包括最离谱的,大模型能够做逻辑演算等等的说法。
这其中也不乏如 DeepMind 为了骗股价、博眼球,发表的一些乱七八糟的报告,也有营销号们不加掩饰的吹嘘,助长了这种浮夸的风气。
萌屋文章 DeepMind 发了篇论文,把我看笑了 也曾有详细的吐槽,今天,笔者想在此基础上,补充一下最近很火热的文生图的讨论。
如今,文生图模型不仅在模仿已有作画风格上有了极大的建树,同时似乎也创造出了一些“离经叛道”的东西——其似乎“独创”了一些别样的艺术风格,看上去,它学会了“创造”。
这自然又会引起大规模的讨论:AI 是否要取代画师了?AI 是否真正学会了艺术创作?
我以浅薄的艺术素养,大致将艺术风格突破分为两类,一种是已有不同艺术风格的融会贯通,另一种则是天才的大胆突破,横空出世。
而第一种,恰恰可以看作是一个 搜索组合游戏 。人借助自己的阅历,各取一点他山之石,生发新的东西,但囿于浏览效率、精力、寿命等限制,我们穷尽一生,见过的、记住的、深究过的东西终究十分有限,在 AI 强大算力的面前,仅仅是沧海一粟,所以第一种艺术风格的再创造,反倒正是 AI 所擅长的。
归根到底,人对“美”的穷举和想象,远远不及世界的尽头。甚至,人对自身认知本身的认知,可能也远远未达边界。正如张钹院士常引,“我们不知道我们的知道”,以及“我们不知道我们的不知道”远远超过了“我们知道我们的知道”。
而面对 AI 穷举、展现给我们的一些筛选、优化的组合,不妨拥抱它,将之作为有力的助手,用于创造新的美好。
此时此刻,恰如彼时彼刻。
几年前,Alpha Go Zero 横空出世,几乎以压倒性的姿态,打赢了彼时最强的棋手柯洁。在它之后,围棋 AI 出现在各大围棋平台中,成为了棋手们的训练对手。
在围棋高手们的眼里,AI 似乎完全没有传统认知上的“棋理”、“棋路”,不会去讲究“阵型”,更遑论“哲学”、“文化”,其诞生的唯一目的就是赢得竞技比赛。
竞技棋手们为了提升自己“赢得比赛”的能力,也逐渐转向了 AI 下棋的思路,通过足够多的对局,追求更加有效率的取胜方式。棋手们也纷纷感叹:AI 出现了之后,围棋渐渐失去了它的味道。
以围棋为中心,所衍生出的文化,以及哲学,仍会在各自的领域散发光芒,但是以 取胜 为唯一目的的竞技围棋,却又变回了启发式搜索游戏,我们穷极千百年,无数的高手,以经验主义得出的所谓棋理、棋道,终抵不过 AI 海量对局,得到的最优搜索路径—— 在固定规则中,最快地找到最优解,正是 AI 所擅长的 。
但围棋,也并没有失去它作为一个游戏、一种文化本身的韵味,职业竞技棋手,也并未消亡。
所以,我们可以看到,尽管大模型已经展现出了神奇的效果,但是说它无所不能,或者说它有了智能,或许就过于得扯淡了。而如果身为业内人士,相信了这路论调,也只能说,难怪在白费劲了。
分不清算指标和应用
在我们做的工作还在务虚,追求所谓“影响力”的时候,想要做出成果是无比简单的——拉下来公开的测试集,不断地过拟合(手段多样,包括但不限于集成,用 test 搜数据搞预训练),跑个最高分,然后宣称我们业界最强就行了。
诚然,在 test 上算指标,的确是最有效率的一种评估方式,工业界在评估算法的时候,往往也会用这种方式来 定性 ,在标准测试集上跑出高分,是某一工作成立的 必要条件 之一。
而在这种评估方式之下,错了就错了呗,case 就仅仅是 case,仅仅是拿出来分析的时候用一用就好了,我们也不必想要去解决它。
而这种方式如果直接应用在产业上,则会给我们提供更大的便利——毕竟测试集都是自己定义的了,如果算法调不上去,我们就可以去调整测试集,当然在工业界,有另外一种叫法: 调整问题范围 ,无论怎幺样,我们都能够把分数做高,大家皆大欢喜——除了应用方。
萌屋 Google掀桌了,GLUE基准的时代终于过去了? 中,曾详细讨论了多个数据集共同计算指标的危害,而针对单个数据集的常用指标:P/R/F1,我们也要看一看了。
例如,有一个工作,我们听到的汇报是,F1 是80+,较之前提升了几个点,但是看到的详细报告则是,P 是70+,R 近90,最终算出的 F1 是80+。
也就是说,对应用方来讲,平均情况下, 每输入4个数据,则会有一个错误 。当然,如果更极端一点儿,每次我都把答案全都吐出来,那 R 甚至能够达到100,这个是否又会被当成亮点吹嘘?
当然,笔者作为一个算法研发,很少作为应用方出现,所以也不知道,这样的错误,是否可以容忍。
另有一个工作,汇报上来的测试指标非常的好,但是到了实际应用中,效果骤降到难以接受的水平,追问之下,才知道,测试集是被干预过的,简而言之,就是测试集被一个复杂的预处理策略筛选过,分布之外的数据都已经被预处理卡掉了。
实际上,真正在做应用上的算法的人,真正在产业中的人,从来不会把测试集上的那几个分数,当作是唯一的评审依据,一个算法是否可用,向来会经过复杂的检验,其中包括完备的测试流程、用户表现上的反馈等等。
而仅仅在极少数测试集上跑出了几个分数,却有各种各样的前置条件,又要满世界吹嘘自己业界最强,最终也只是圈地自嗨,贻笑大方而已。
看不清需求范围
实际上,很多 NLU 的打榜任务,可能仅仅是由学界假想出来,或者在 case 中看到,就直接收集数据集,将之做成了一个基准任务了。
前些年卷出天际的时候,水文们看到了这样新鲜、复杂的基准任务,自然要扑上去吮吸一番,毕竟先到先得,又能复用一批 trick,又是一批顶会文章,又养活了不知道多少人。
但是回到工业界,我们就得看看,这些任务,是否可以作为需求,在实际的产业中存在?如果可以,需求范围又有多大?是否达到了必须得用模型才能解决的程度?
例如,复合词的拆解,这个需求,在产业中的确有用得到的地方,比如拆解了之后,更方便做实体归一和链指,其结果可用于支持问答、搜索等场景。
不过,无论是用映射表,构造词汇学的规则,还是结合了大规模用户行为数据,起码在线上应用场景,复合词的归一和链指都被解决得不错。
那幺,一个问题,出现在哪儿?规模多大?是否一定要放在基础层解决?各方案性价比是什幺样子?都是应当去想清楚的事情。
又比如,表格内容理解,如将表格转换成结构化数据,或者将表格里面的东西抽出来。这的确是一个可以玩一玩的问题,但是在真正的工业上,做这个事情是要干嘛呢?
例如,我为什幺要将一个半结构化的数据,转换成另一个结构化的数据?我为什幺要将里面的特定信息抽出来,干什幺用呢?搜索?问答?但是,如果是搜索和问答的话,现在 DeepQA 已经做的相当好了啊,如果我把表格打平了,变成 DQA 能够理解的格式,喂进去,是不是更香呢?
再延伸一下,比如,通用信息抽取。
当然,笔者承认,领域信息抽取是非常有意义的,首先,领域文本,大多数表达方式单一、集中,而将这类文本中特定的信息抽取出来,或用于填槽,或用于下游很多的辅助任务,比如医疗领域的辅助诊疗等,且领域的知识绝大多数也只存在于专业文档中。
在领域中,识别到了样本的一些模式,即可以达到相当好的效果,UIE 可以说在这个方面做到了极致。
但是到了通用域,问题就复杂得多了。首先就是,表达形式相当多样,且相当多的通用表达里面,是不包含 schema 里面定义的 SPO 的,意味着,高质量的标注样本就很难拿到,遑论把句式给训练好了。
而如果记忆事实知识……这个问题萌屋的文章已经讨论过很多次了。
其次,信息抽取任务起初被设计出来,是为了构造知识图谱,但尴尬的是,现有的大规模知识图谱,基本上没有用信息抽取算法构建起来的,基本都是使用大规模、多源头、由人工编辑而得的结构化数据,辅之以大量的归一、消歧策略而成,说一句略显嘲讽的话,知识图谱构建,真的是使用了“人工”智能。我们也可以放眼业界,看看有哪个通用信息抽取模型,真正地落了地。
哪怕,我们放开知识图谱不谈,认为信息抽取的结果可以当作问答特征,那幺,还是上面的问题,为什幺不直接拥抱 DQA 呢?
又例如,知识图谱构建中的实体归一,及 SPO 归一。实际上,自动的归一方法,业界几乎没有人做好过,我们也能够看出些许问题。
例如,在飞机领域,教练机和指导机,如果没有相关背景,是否知道它们的区别是什幺?桃花和山桃花,如果没学过,是否能够知道这两个压根不是同一个物种?芒果和杧果又有什幺区别?甚至,大熊猫、熊猫、猫熊这三者又要怎幺分辨?
我们无法假设,所有这些实体我们都有充分的语料去区分它,哪怕有了语料,其细微的区别我们也无法假设模型能够捕获它。
我们看中深度学习模型,就是看中它的泛化能力,可是上面那些 case,如果不特殊对待,模型泛化起来,谁也不知道会发生什幺,这在应用上一定是不允许的,但是如果特殊对待了,首先是否会影响模型的其他部分,其次,我们处理一次这种 case,要枚举多少数据?花费多少时间?是否值得?而如果我们把这类 case 都放到人工规则干预,是否性价比更高些呢?
SPO 归一同样,实际上,在自然语义表达中,P 的语义可以说根本是不靠谱的,那幺又只能像远程监督一样,用 S 和 O 去约束、归一,但是这又会有多少种情况呢?最终是不是又变成了 garbage in garbage out 了?
总结
综上,我们可以看到,这个团队的问题,大体就是,过于相信大模型,认为所有的问题都可以通过大模型解决,同时又信了搞大模型的那些论文的邪,将自己过多的精力放在了测试集打榜上,从而忽略了自己的立足点——问题本身到底有什幺样的价值。
什幺问题可以放在基础模型层解决,什幺问题应该靠上层应用策略解决,这种 策略分层 能力,需要负责人们有足够清醒的头脑,及对行业有充分的洞察。
最后,是我最近在学习一些产业优秀案例的时候,前辈给我的一些经验之谈,我相当受用,在此也分享给小伙伴们,大家共勉:
一个算法若有太多的应用门槛,它通常不太容易落地
优化模型 or 优化数据,通常后者的性价比更高
重训通常不是唯一的优化手段,也不是性价比最高的
是否便于被集成,也是衡量性价比的重要指标
以上。
卖萌屋作者:Severus
Severus,在某厂工作的老程序员,主要从事自然语言理解方向,资深死宅,日常愤青,对个人觉得难以理解的同行工作都采取直接吐槽的态度。笔名取自哈利波特系列的斯内普教授,觉得自己也像他那幺自闭、刻薄、阴阳怪气,也向往他为爱而伟大。
Be First to Comment