每天给你送来NLP技术干货!
转载自 | PaperWeekly
作者 | AlbertYang
单位 | Amazon/Georgia Tech
研究方向 | NLP
作为拖延症患者马上要 NAACL 了才写这个 ACL 的参会总结 :( 。
Onsite 会议上见到了许久未见的前老板 Bonnie Webber(ACL 2020 终身成就奖 /Lifetime Achievement Award),更巧的是她主持了老板 Diyi Yang 的 Rising Star Talk,Diyi 还有一个 outstanding paper 和一个 tutorial,大概暗示 Diyi 不久的将来也会成为领域里的传奇吧 :) 。 接下来我主要从大模型的视角出发,根据 ACL 2022 中 tutorial,workshop,invited talks(the next big ideas, keynote, rising star talks)列了一下自己眼中的 NLP 热点和最新的有趣工作。
1 『继续预训练大模型仍然是工业界的大方向之一』
在“Zero- and Few-Shot NLP with Pretrained Language Models” 的Tutorial中,Iz Beltagy 在最后一部分介绍了预训练时候的顾虑。
除了讲述标准模型架构和高效训练方法的相关问题之外,我认为有两点值得关注,其一是在开启预训练之前就要根据经验公式,来预估给定计算资源时能够达到最好效果的模型大小,试想一个 OPT-175B 的模型需要 1000 张 80G 的 A100 训练两个月,即使是工业界也只有极少数的 lab 有这样的资源,是不可能允许多次实验尝试来决定最优模型的。其二是预训练数据本身的筛选与构建应该被给予更多关注。
另外还有专门讨论模型预训练的 workshop:“Workshop on Challenges & Perspectives in Creating Large Language Models”
2 『让大模型解决更全面的NLP问题,以及NLP之外的问题』
包括 Extend large-scale Transformer models to multi-task, multimodal, multilingual settings。
2.1 Cross-task Generalization
2.1.1 Instructions as Task Descriptions
和 FLAN,T0,InstructGPT 类似,“NatrualInstructions” 也是利用对任务描述的 instructions 作为 prompt 的一部分,让在多个已知任务上预训练(meta-training)的模型能够根据未知任务上的 instruations 实现 cross-task generalization:
- “Cross-Task Generalization via Natural Language Crowdsourcing Instructions.”(以及之后的“NatrualInstructions V2”)
- “MetaICL:Learning to Learn In Context”(Meta-training 指在训练阶段就让模型见到不同 task 的指令,而不是直接在 inference 阶段把 task 指令给 GPT3)。
- “Adapting Language Models for Zero-shot Learning by Meta-tuning on Dataset and Prompt Collections”(earlier work)
- “Meta-learning via Language Model In-context Tuning”
2.1.2 Continual / Lifelong Learning
有一些特定的方法能帮助 Continual/Lifelong Learning,比如“Continual Sequence Generation with Adaptive Compositional Modules”利用了类似 MoE 的方法来组合不同任务的模块。
2.2 Multimodal Learning
我整理的 multimodality paper list 几个月不更新已经有点 out-of-date 了:
https://github.com/JingfengYang/Multi-modal-Deep-Learning
2.2.1 视觉
随着 Transformer 在视觉任务上也展现出越来越好的效果,多模态预训练在 ACL 会议上也被大量关注,最新的进展可以在 Tutorial:“Vision-Language Pretraining:Current Trends and the Future”中找到。但现如今视觉语言预训练的目标大多还是以语言词汇 mask 或者视觉语言对的判定作为目标,图片的 mask 复原(MAE 方式)在多模态预训练中还没有见到很有效的进展,tutorial 中指出这是值得研究的下一个突破点。
确实,语言由于词汇语义信息丰富,作为监督目标是效果比较好的(Jacob Andreas 举办的“Learning with Natural Language Supervision” 的 workshop 也强调了这一点),如何在多模态预训练中用好图片低密度的语义信息(如 BEiT)作为目标,仍值得研究。
2.2.2 表格
多模态预训练还包含了更多的模态,比如语言和表格,和视觉语言预训练类似,如何设计更好的预训练目标,如何实现更好的表格与文本对齐,也是值得探究的问题。我在谷歌的文章在这一方向上做了进一步的探究:“TableFormer: Robust Transformer Modeling for Table-Text Encoding” 。
2.2.3 代码
另外 Code pretraining 等在工业界越来越多的公司来做,除了 OpenAI 的 codex、微软的收费 codepilot 之外,AWS 发布了 CodeWhisperer,Luke 在 Meta 也在预训练 code generation model。semantic parsing 大概要被这些模型统治了,或者至少要靠 code generation model 来帮助生成数据,来解决没有训练数据的窘境(我和 Jacob Andreas 聊天时他强力推荐的方法)。
2.3 Multilingual Learning
2.3.1 有趣的方向
除了更多的 Multilingual 预训练模型以及针对更多下游任务的应用不断出现(e.g. “mLUKE: The Power of Entity Representations in Multilingual Pretrained Language Models”),我认为比较有趣的和值得探索的有以下几个方面:
1. “Multi Task Learning For Zero Shot Performance Prediction of Multilingual Models” 提出了更严格的多任务框架来预测多语模型 Zero-shot cross-lingual transfer 的表现,不需要在目标 low-resource language 评估,甚至在 low-resource language 完全没有标注数据作为测试集时,即可预测模型的零资源跨语言迁移效果。
2. 关于预训练多语模型为什么表现好,仍是一个没有定论的问题。:“Cross-Lingual Ability of Multilingual Masked Language Models:A Study of Language Structure”再次指出词表 overlap(anchor)并不是 pretrained multilingual model 跨语言能力的原因,Constituent 的顺序也不是,而语义的组合才是。而之前有研究关于 word anchor 有类似或者相反的结论。
3. 关于如何预训练更好的多语模型和覆盖更多样的语言,除了在同一语系(如 indo-European language)中使用 subword 或者 character 可以有多共享的词汇作为“anchor”(比如“Canine:Pre-training an Efficient Tokenization-Free Encoder for Language Representation”)。
对于差异很大的语言,比如中文和英文,我认为还应该设法让模型学到不同语言间共享的语法结构,比如类似 Universal Dependency(UD)的结构,在我们之前的工作(“Frustratingly Simple but Surprisingly Strong:Using Language-Independent Features for Zero-shot Cross-lingual Semantic Parsing”)中 UD 被证明对 zero-shot cross-lingual semantic parsing 帮助巨大。
2.3.2 Special Theme
这次 ACL 的 special theme 就是 “Language Diversity: from Low-Resource to Endangered Languages”,在 rising star talk上Sebastian Ruder 做了 “Scaling NLP Systems to the Next 1000 Languages”的演讲。确实,对于语料极少语言的 NLP 问题是从社会影响和公平性角度极为重要的问题。
3 『用好大模型』
学术界没有大量的计算资源来预训练模型,不过仍有许多极有价值的问题适合去做,比如其中一大类就是如何用好预训练模型。How to use large-scale models ?
3.1 Decoding / Sampling
对于极大规模的模型,在大部分场景下无法 fine-tune,如何设计更加有效的 Decoding 和 Sampling,以直接利用模型的生成能力是研究的重点。比如 Ryan Cotterell 在“Typical decoding for natural language generation”提出的 sampling 算法能生成更自然的语言并且减少重复生成的问题。
如何设计更好的constrained decoding 算法来实现 controllable generation 仍是重点,比如“COLD Decoding: Energy-based Constrained Text Generation with Langevin Dynamics” ,以及我比较喜欢的 constrained decoding 做 IE 的方法 “Multilingual Autoregressive Entity Linking”(我们的工作“SEQZERO: Few-shot Compositional Semantic Parsing with Sequential Prompts and Zero-shot Models.”也用了类似的方法)。
另外,non-autoregressive generation/multi-stage generation 也还是常用的方式(我在之前的工作“Planning and Generating Natural and Diverse Disfluent Texts as Augmentation for Disfluency Detection.”做过类似尝试)。
3.2 Prompt
基于 prompt 的方式已经成为一种主要的利用大规模模型的方法(清华的 OpenPrompt 拿了 best demo 奖),除了常见的 prompt,in-context learning (类似 GPT3 给定 few-shot 输入输出样例子)之外,利用生成的 explanations 去帮助模型得到更好的结果,以及将 instructions 作为 prompt 的一部分,这些都成了常用的进一步提升生成结果的方法。会议 / tutorial / talk 中提到的一些有趣的论文有:
- “Noisy channel language model prompting for few-shot text classification”
- “Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?”
- “Can Explanations Be Useful for Calibrating Black Box Models?”
- “The Unreliability of Explanations in Few-Shot In-Context Learning”
- “Cross-Task Generalization via Natural Language Crowdsourcing Instructions”
- “Maieutic Prompting: Logically Consistent Reasoning with Recursive Explanations”
3.2 Effiecient Models
如何设计更高效的模型(模型压缩,quantization,adapter 等)仍是热点,比如:
- “Structured Pruning Learns Compact and Accurate Models”
3.3 Language Models as KG
把大模型视为 knowledge base,它可以帮助我们生成有助于解决任务的知识进而帮助任务本身:
- “Generated Knowledge Prompting for Commonsense Reasonin”
3.4 Language Models to Generate Data
大模型强大的生成能力或者 zero-shot/few-shot 能力可以帮助生成标注数据以及生成数据作为数据扩增的方式,比如“Generating Data to Mitigate Spurious Correlations in Natural Language Inference Datasets” (我们 EMNLP 2020 的工作“Planning and Generating Natural and Diverse Disfluent Texts as Augmentation for Disfluency Detection”也可以算是最早用预训练模型(GPT2)生成扩增数据的工作之一了,那时 BART 和 T5 刚出来,还没有 GPT3)。
3.4 Zero/few-shot Learning & Learning with Limited Data
大模型时代我们可以更好地在有限数据的场景下学习(limitted data learning)或者 few/zero-shot learning。两个极其火爆的 tutorial 是了解相关工作的极好材料:
- “Learning with Limited Text Data”:我老板 Diyi Yang 介绍了 data augmentation 的相关工作(欢迎关注我们最近的工作“SUBS:Subtree Substitution for Compositional Semantic Parsing”),Colin Raffel 提出了一个统一的框架来理解各种 semi-supervised learning 方法,Ankur Parikh 从 multilinguality 的视角下做了介绍(感谢 Ankur Parikh 在 Google 内部对我们 ACL TableFormer 工作的审核,我们在致谢中提到了他)。
- “Zero- and Few-Shot NLP with Pretrained Language Models” 具体介绍了prompting/in-context learning,instructions/task descriptions, adapter, meta-training, evaluation, pretraining.
4 『大模型无法完成的』
另外学术界更关注的还是大模型做不了的、由模型或者问题本身性质决定的问题,以及预训练框架的本质缺陷。
4.1 Ambiguity
Yejin Choi 在 KeyNote 中提到的 Ambiguity 现象可以 cover 到很大一部分问题。她提到 Ambiguity 是自然语言的内在性质,自然语言理解不是严格的分类问题(“language understanding is not categorization”),我们应该接受无处不在的 ambiguity,NLP 最基本的任务 POS Tagging 中 POS 的定义在随时间而变化;给定不同的场景(context),两句话的 NLI 关系可能由蕴含变为相斥(“Partial-input baselines show that NLI models can ignore context, but they don’t.”)。
情感分类由最初的只有 postive negtive 标签,到引入了 neutral 的标签;由于标注者的个体不同,人的标注不可避免会有 ambiguity 和 bias(“Annotators with Attitudes: How Annotator Beliefs And Identities Bias Toxic Language Detection”);自动问答中也有 AmbigQA、SituatedQA 这样的数据集(Eunsol Choi 在 rising star talk 中再次强调了同一个问题的答案可能随时间temporal、地点 geographical 等背景的变化而变化)。
nonmonotonic reasoning 中,引入新的知识后,原有的推论和逻辑会被推翻。最近 temporal modeling 本身也成为比较火的领域(如 TKGC,时序 /event 数据的建模等)。
另外模型如何理解 ambiguous 的数据,以及利用 ambiguous 的数据提升模型也有很多有趣的工作,Swabha Swayamdipta 在 rising star talk 中着重介绍了用 training dynamics 发现 ambiguous,并生成 ambiguous 数据来帮助提升模型(OOD)泛化能力的工作(“WANLI:Worker and AI Collaboration for Natural Language Inference Dataset Creation”)。
4.2 Reasoning / Logic / Structure
在“the next big ideas” talk 中,逻辑/推理/结构这些大模型本质的缺陷再次被着重强调。Heng Ji 强调了结构在 multilingual transfer(例如我们之前的“Frustratingly Simple but Surprisingly Strong: Using Language-Independent Features for Zero-shot Cross-lingual Semantic Parsing”文章), 长文本理解,多模态泛化中都应发挥更关键的作用。
Dan Roth 提到知识的解构(decompose),重组(compose)和规划(plan)的决策过程是实现推理(如temporal/numerical reasoning)的关键, 如何利用各种各样的 Incidental supervision signal(比如 Comparable texts/Language-world mapping)是学习这个决策(decision)过程的途径。感觉有点类似 Zhiting Hu 的 Panoramic Learning—training AI agents with ALL types of experiences 了哈哈哈。
“符号主义真的还需要吗?”的争论仍在继续,一方面 Hang Li 等仍在强调逻辑的重要性(用类似 MoE 的方式组合 Neural Prediction 和 Symbolic Prediction)。
一方面 Yejin Choi 在 keynote 中 Continuum 部分所说,随着大模型的成功,“语言(language),知识(knowledge),推理(reasoning)”应该在大模型时代融为一体,而我们之前过分强调了形式和逻辑的作用(“Reasoning is intuitive inference where logic plays a marginal role”),用形式语言和逻辑 cover 掉所有自然语言中的 variation 是永远不可能的。
4.3 Out-of-distribution (OOD)Generalization & Robustness
大模型在 out-of-distribution data 上泛化的能力仍是模型实际应用中最应该关心的问题之一。
在语言中 Compositionality 关注度明显提升,在和 Luke 的聊天中他提到他们最近的 code pretrained model 规模增大的情况下 compositional generalization 也会有明显的提升,在和 Jacob Andreas 的交流中他还是强调了数据在compositionality 的作用(包括数据扩增,利用大模型生成数据等),Sash(Alexander Rush)貌似最近也对 compositionality 极感兴趣,可惜没找到机会和他聊天。
此外,利用大模型逐步 prompting 是最近比较火热的提升 compositionality 方式。更具体的细节可以看我的讲述 compositionality 的文章以及我们的两篇 NAACL 工作:十年内就能实现通用人工智能?先把组合泛化研究明白吧!
关于 Robustness,利用 out-of-distribution/perturbed data 来 attack 模型来检验或者提升模型仍然持续有文章出现(比如我们的“TableFormer:Robust Transformer Modeling for Table-Text Encoding”)。
4.4 Long Document Understanding / Generation
这里包括 Corpus / Discourse / Story / Screenplay / long dialogue/ Movie / TV series 等的理解和生成
大模型对长文本的理解和生成仍是最大的问题之一。一种解决方案是提升模型允许编码的序列长度和改进 self-attention 效率,一种是先 retrieve 出来重要的短文本再编码,另外一种就通过结构进行多层级编码或解码。在“the next big ideas”演讲中,Heng Ji 重新强调了 corpus-level IE 的重要性,Mirella Lapata 强调了故事的重要性。
4.5 Knowledge
关于在大模型时代的知识图谱(KG),Heng Ji 基本提到了可能的用法:1)To pretrained LM 2)GNN 3)Structural constraints during inference 4)Structure alignment via weak supervision and self-supervised learning。
大模型本身也可以当作知识库(生成知识)或者帮助 KG 的构建,比如 Yejin Choi 也有一系列 commonsense KG 构建和使用的工作。
Semi-parametric 的方法也成了主流之一,retrieval-augmented 的方法已经被广泛应用于理解和生成任务,这方面依然不断有有趣的工作出现,如“Training Language Models with Memory Augmentation”。
另外,“Semiparametric Methods in NLP: Decoupling Logic from Knowledge” workshop 也是我最喜欢的 workshop 之一,除了 cover 到大部分相关方向,Deepmind 提到的用 retrievel 的方式做蛋白质结构预测的工作,让许久不做 biology 的我着实眼前一亮。
4.6 Problem Definition / Dataset Creation / Evaluation
Edaurd Hovy 在 big ideas 演讲里提到了应该从问题本身思考,找出有什么 wrong/worst case/never seen cases,明白”why things go wrong”,再寻找解决方案。这也是我一直以来认为在研究和工程中应该遵循的方式,好好做 error analysis,发现问题,再对症下药。
另一方面,做 NLP 最重要的不应该是模型本身,人(human)应该调动主管能动性去更好地定义问题,构建数据集,进行更好的evaluation(evaluation仍然是generation中老大难的问题)。
5 『Large LM的目的:更好地为人类所用(help people instead of replacing people)』
5.1 Interactive Learning / Human-in-the-loop / Human-AI Collaboration
Eduard Hovy 在 big ideas 的演讲中提到了除了相对客观的在 LM 或者 web 中的知识(Commonsense knowledge about Schema mined from web/LM)人以及社会的知识也极为重要(Commonsense knowledge about people and people in groups:roles)。
并且人应该去指导模型达成想要的目标。我想这也是interactive learning,human-in-the-loop learning 作为热门研究话题要达到的一部分目的。比如有趣的工作有 Ensol Choi的“Simulating Bandit Learning from User Feedback for Extractive Question Answering”,以及 Yejin 提到的“Reframing human-ai collaboration for generating free-text explanations”。
5.2 SocialNLP
我老板 Diyi Yang 给的 rising star talk 详细讲述了人和社会因素应该在 NLP 中发挥更大的作用(很高兴见证终身成就奖老板 Bonnie 主持 Rising Star 老板的 talk)。另外 Diyi 的 outstanding paper “Inducing Positive Perspectives with Text Reframing”定义了“积极转述”这个很有社会影响的问题,很开心对这个工作有过微小的贡献。
5.3 Complex Tasks
随着大模型能力越来越强,可能可以做一些人类非常关心的,更复杂的,使我们成为人的任务,比如 Mirella Lapta 提到的 story understanding 和 story telling,我非常喜欢她提到的类似“stories make us human”的观点。
5.4 安全性/隐私
大模型的安全性问题仍然是重点,federated learning 在这次 ACL 中有一个workshop“Federated Learning for Natural Language Processing”。Privacy 方面也持续有文章值得关注,比如“Are Large Pre-Trained Language Models Leaking Your Personal Information?”。
5.5 Personalization
Personalization 在工业界(搜索,推荐,广告)和学术界关注度都很高, 比较吃惊的是和Jason Eisner的聊天中他提到最近他也对Personalization很感兴趣并期待和工业界合作。
6 『结语』
Onsite Conference 的体验还是很好的,最开心的是很多 big name 在会议上有充足的时间来面对面交流,从 paper/talk/tutorial 中也学到了不少。