UniLM

论文:[1905.03197] Unified Language Model Pre-training for Natural Language Understanding and Generation

Code:microsoft/unilm: UniLM AI - Unified “Language” Model Pre-training across Tasks, Languages, and Modalities

一句话概述:一个通过参数共享训练多种语言模型以同时适应下游 NLU 和 NLG 微调的统一框架。

摘要:UniLM,统一的预训练语言模型,可以同时微调 NLU 和 NLG 任务。做法是使用三个不同类型的语言模型任务:单向、双向、Seq2Seq 预测。具体是使用一个共享的 Transformer 网络,并利用不同的 Self-Attention Mask 来控制预测基于哪些上下文。结果自然是很好(不,极好)的。

More

通过最优转移进行词表学习:VOLT

论文:[2012.15671] Vocabulary Learning via Optimal Transport for Machine Translation

Code:Jingjing-NLP/VOLT: Code for paper “Vocabulary Learning via Optimal Transport for Neural Machine Translation”

一句话概述:借鉴边际效用通过最优转移学习词表。

摘要:机器翻译词表影响性能,本文旨在弄清楚什么是好的词表,以及是否可以在不尝试训练的情况下找到最佳词表。为此,作者首先从信息论的视角提供对词表作用的另一种理解。受此启发,将词汇化的探索 —— 找到具有适当大小的最佳词表—— 作为最优转移问题。提出了 VOLT,一个简单有效的无须尝试训练的解决方案。实验结果表明,VOLT 在各种场景中优于广泛使用的词表。此外,与 BPE-search 相比,VOLT 将搜索时间从 384 GPU 小时减少到 30 GPU 小时。

More

简单的对比学习框架:SimCSE

论文:[2104.08821] SimCSE: Simple Contrastive Learning of Sentence Embeddings

Code:princeton-nlp/SimCSE: SimCSE: Simple Contrastive Learning of Sentence Embeddings

一句话概述:Dropout 增益句子 Embedding。

摘要:本文提出一个简单的对比学习框架,极大地提高了句子的表征能力。首先是无监督的方法,使用一个输入句子,在对比目标中预测自己,这里仅使用标准的 dropout 作为噪声。接下来将 NLI 数据集中的标注对合并到对比学习中,“蕴涵”对作为正例,“矛盾”对作为负例。最后,论文还发现对比学习在理论上能够将预训练 Embedding 的各向异性空间正则化,使其更加均匀,而且有监督信号可用时,可以更好地对齐正例对。

More

机器之脑:树莓派初使用

拖延症太厉害了,这次终于下定决心要把自己一直想做的小弟(同时兼小秘)给做起来,什么时候做好不知道,但不能不开始。第一步要整的就是大脑,用一块树莓派承载,里面慢慢给灌上各种软件和模型。本文主要整理记录树莓派初始配置操作,主要针对的是远程 ssh 无屏幕连接无桌面版树莓派(4B),请注意限制条件,其他的操作也类似。

More

Python 调用 Java

一直以为这样的情况不会出现,但它还是出现了:一段 Java 代码+引用 Jar 包,一段 Python 代码要使用 Java 代码中某个方法。本来想用 Python 重新实现一遍,又觉得这简直是浪费时间,何不直接在 Python 代码中使用 Java 代码的该方法呢?应该特别简单,分分钟搞定的事情,结果还是掉坑里了,特此记录,以备后查。

More