《舞狮少年》观后——信念、文化与希望

疫情一波又一波,感觉已经很久没有出去过了,周六晚上舒璇说明天一起出去看个电影吧,好久没有活动了,最近正好上映了一部口碑很不错的片子。我好奇一问:“啥电影啊?”答:“舞狮少年”。我一想,哎,这不是昨晚看某个 UP 主提到过的影片么,说看起来像是鸡汤片。对鸡汤我一向是不喜欢的,可能是以前喝太多了,有点腻上头了。不过最后,当然是毫无异议地来到了电影院,我其实有点担心自己会睡着。

More

Multitask Prompted Training Enables Zero-shot Task Generalization

一句话描述:多任务 Prompt 可以明确影响 Zero-shot 学习。

论文:[2110.08207] Multitask Prompted Training Enables Zero-Shot Task Generalization

Code:bigscience-workshop/promptsource: Toolkit for collecting and applying prompts

摘要:大语言模型显示出可观的 Zero-shot 泛化能力,被假设成是语言模型中多任务训练暗含的结果,所以这个能力能不能体现的直接点?本文使用一大堆有监督数据集,每个又有多个不同自然语言的 prompt,通过微调一个预训练的 Encoder-Decoder 模型,取得不错的 Zero-shot 性能。真可谓是大数据集、大 prompt 出奇迹。

More

虚拟网络指南

问题的研究总是源于现实,这不,一直对虚拟机的几种网络懵懵懂懂,直到有个需求冒出来,这才想办法(有机会)一把撸掉。

业务背景描述:一台 Win10 的主机,跟了我很多年的 ThinkPad,只有 4 核 4G;由于工作、生活各种需要,里面用 VirtualBox 装了个 Ubuntu18 的虚拟机。平时写代码,跑个实验啥的就都在虚拟机上。突然需要在局域网多台终端上能够访问到虚拟机中的某个服务,自然少不了要一番配置,研究一天后终于把几个主流模式差不多搞清楚了,特记录如下。当然,尚有诸多细节留待日后继续研究。

先把官方文档的一张表放这里:

Mode VM→Host VM←Host VM1←→VM2 VM→Net/LAN VM←Net/LAN
Host-only + + + —(共享网卡后+)
Internal +
Bridged + + + + +
NAT + 端口转发 - + 端口转发
NATservice + 端口转发 + + 端口转发

表格来自:https://www.virtualbox.org/manual/ch06.html

More

Pretrain, Prompt and Predict, A Systematic Survey of Prompting Methods in NLP

论文:[2107.13586] Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing

Code:无

一句话概述:想办法在输入和标签之间搭一座桥。

摘要:与传统有监督学习不同的是,基于 Prompt 的学习基于语言模型直接对文本的概率进行建模。具体来说,为了使用这些模型执行预测任务,使用模板将原始输入 x 修改为具有一些未填充槽的文本字符串提示 x’,然后使用语言模型对未填充信息进行概率填充以获得最终字符串 x^,从中可以导出最终输出 y。这个框架强大且有吸引力的原因有很多:它允许语言模型在大量原始文本上进行预训练,并且通过定义一个新的 Prompt 函数,模型能够执行少样本甚至零样本学习,适应很少或没有标注数据的新场景。

More

Data Augmentation Approaches in Natural Language Processing:A Survey

论文:[2110.01852] Data Augmentation Approaches in Natural Language Processing: A Survey

Code:无

一句话概述:全面和结构化的数据增强文献综述。

摘要:DA 缓解了深度学习中数据不足的场景,在图像领域首先得到广泛使用,进而延伸到 NLP 领域,并在许多任务上取得效果。一个主要的方向是增加训练数据的多样性,从而提高模型泛化能力。本文将 DA 方法基于增强数据的多样性分成三类:释义、噪声和采样,分别进行详细分析,另外也介绍了它们在 NLP 任务中的应用和挑战。

More

Debiasing Techniques for Pre-Trained Language Models

论文:[2110.08527] An Empirical Survey of the Effectiveness of Debiasing Techniques for Pre-Trained Language Models

Code:McGill-NLP/debias-eval

一句话概述:去偏技术尚不明朗。

摘要:研究表明预训练模型有一定的社会偏见(这个真得怪社会),所以我们不得不从技术角度去缓解它。本文主要从经验角度分析了五种最近的纠偏技术:Counterfactual Data Argumentation(CDA)、Dropout、Iterative Nullspace Projection,Self-Debias,SentenceDebias。在三个不同的 bias benchmark 上分别对其效果进行量化评估,同时评估了这些技术对模型的语言建模能力和下游任务表现的影响。结果如下:(1)CDA 和 Self-Debias 是最好的纠偏技术;(2)当前的纠偏技术不能很好地泛化到性别偏见之外;(3)纠偏通常伴随着语言建模能力的下降,从而难以确定偏差缓解是否有效。

More

Python Ellipsis

这几天在阅读一段源代码时,突然看到了这样的写法:

1
2
class A:
host: Text = ...

当时一愣——这三个点是个什么玩意儿,好像只在 numpy 中切片时用过,怎么突然出现在这里?嗯,于是就有了这篇小文,记录下这个有意思的玩意儿。总的来说,主要有以下几种用法:

  • Numpy Slice:表示「其他维度的所有值」
  • 类型提示:表示「不指定、可变的、任意的」参数类型
  • 占位符:表示类或方法还没写的 Body
  • 循环引用:表示一个循环引用,而不是满屏幕打印
  • 特殊标记:表示一个特殊的位置,比如结束、开始等

More

MetaICL:Learning to Learn In Context

论文:[2110.15943] MetaICL: Learning to Learn In Context

Code:facebookresearch/MetaICL: An original implementation of “MetaICL Learning to Learn In Context” by Sewon Min, Mike Lewis, Luke Zettlemoyer and Hannaneh Hajishirzi

一句话概述:任务的数量和多样性+Instruction是元学习的最佳实践。

摘要:MetaICL 是一种新的元训练框架,用于小样本学习,其中预训练模型被微调以在大量训练任务上进行上下文学习。这种元训练使模型在测试时能够更有效地学习上下文中的新任务,方法是在不更新参数或不需要任务特定模板的情况下简单地调整几个训练示例。本文对 142 个 NLP 数据集组成的任务集合进行实验,包括 CLS、QA、NLI、释义检测等,跨越 7 个不同的元训练/目标拆分。结果比已有的 Baseline(如没有 Meta 训练的 In-Context 学习,多任务学习,零样本转移)要好。而且,对于具有从元训练任务进行域转移的目标任务,收益尤其显着,并且使用不同的元训练任务集是改进的关键。另外,MetaICL 接近(有时甚至超过)在目标任务训练数据上完全微调的模型的性能,并且优于具有近 8 倍参数的更大模型。

More

浅析文本分类——情感分析与自然语言处理

文本分类是自然语言处理(以下使用 NLP 简称)最基础核心的任务,或者换句话说,几乎所有的任务都是「分类」任务,或者涉及到「分类」这个概念。比如分词、词性标注、命名实体识别等序列标注任务其实就是 Token 粒度的分类;再比如文本生成其实也可以理解为 Token 粒度在整个词表上的分类任务。为何会如此?这篇分类与AI可能会给您带来一点启示。

本文篇幅较长,主要分为以下几个部分:

  • 背景介绍:主要简单介绍情感分析相关的概念、类型,并和文本分类任务对应。
  • 基本流程:主要介绍文本分类(或常见的 NLP 任务)基本处理流程。
  • 模型简史:主要介绍 NLP 处理任务中模型变迁的简单历史。
  • 情感未来:主要探讨未来情感分析可能的发展方向。

本文侧重于从宏观角度(历史演变和基本流程)对文本情感分类任务进行介绍,目的是给读者提供一个整体视角,从高远处审视情感分析、文本分类、甚至 NLP,期望能抛砖引玉,引发读者更多的思考。如果您想了解工业界的具体方案和进展,最后的《文献资料》部分有两篇来自淘系和美团的文章值得仔细研究。

本文同样适合对机器学习和深度学习稍微有一些了解的非算法岗位的工程师,或其他无技术背景但对 NLP 感兴趣的非工程师。

More

TensorBay 指南

Introduction

本篇文章主要介绍如何使用 Tensorbay 和 Tensorflow 进行简单的文本分类。

我们首先介绍 Tensorbay 相关使用,然后简单介绍 NLP 领域常用的分类模型:TextCNN,最后将所有的串起来完成一个简单的文本分类任务。

More