當前位置:
首頁 > 知識 > 跨語言版BERT:Facebook提出跨語言預訓練模型XLM

跨語言版BERT:Facebook提出跨語言預訓練模型XLM

選自 GitHub

機器之心編譯

參與:張倩、思源

自去年 BERT 橫空出世以來,預訓練語言模型就得到大量的關注,但大多數預訓練表徵都是單語言的,不同語言的表徵並沒有什麼關係。今天,Facebook 發布了一種新型跨語言預訓練語言模型,它旨在構建一種跨語言編碼器,從而將不同語言的句子在相同的嵌入空間中進行編碼。這種共享的編碼空間對機器翻譯等任務有很大的優勢。

項目地址:https://github.com/facebookresearch/XLM

在這一項工作中,作者展示了跨語言預訓練語言模型的高效性,它在多種跨語言理解基準任務中都取得了很好的效果。總的而言,Facebook 提供的是一種跨語言版的 BERT,它在 XNLI 和無監督機器翻譯等跨語言任務取得了當前最好的效果。

整個 XLM 開源項目主要展示了預訓練語言模型和機器翻譯等使用方法,如下所示為項目結構。

1. 預訓練語言模型:

因果語言模型(CLM)—單語言

BERT 中通過掩碼訓練的語言模型(MLM)—單語言

翻譯語言模型(TLM)—跨語言

2. 監督/無監督機器翻譯訓練:

降噪自編碼器

平行數據訓練

在線回譯

3.XNLI 微調

4.GLUE 微調

此外,XLM 支持多 GPU 和多節點訓練,這對於大規模重訓練或微調都很有幫助。

預訓練模型

本項目提供預訓練跨語言模型,所有預訓練模型都是利用 MLM 目標函數訓練的:

機器翻譯預訓練論文中用到的是英-法、英-德、英-羅馬尼亞模型。如果要使用這些模型,需要使用相同的數據預處理/BPE 代碼來預處理數據。

XNLI 微調用到的模型是 XNLI-15。它可以處理英語、法語、西班牙語、德語、希臘語、保加利亞語、俄語、土耳其語、阿拉伯語、越南語、泰國語、漢語、印地語、斯瓦希里語和烏爾都語。該模型的預處理方法不同於機器翻譯模型。

生成跨語言句子表徵

項目提供了一段簡單的示例代碼,它可以幫我們從預訓練模型快速獲取跨語言句子表徵,這種跨語言的句子表徵對機器翻譯、計算句子相似性或實現跨語言的分類器都很有幫助。項目提供的示例主要是 Python 3 寫的,它還需要 Numpy、PyTorch、fastBPE 和 Moses 四個庫的支持。其中 fastBPE 主要幫助解決機器翻譯中罕見詞的表徵問題,Moses 主要對文本進行清理和 Tokenize 等過程,這個庫並不需要安裝。

要生成跨語言的句子表徵,首先需要導入一些代碼文件和庫:

載入預訓練模型:

構建字典、更新參數和構建模型:

下面展示一些語言的案例,我們會根據預訓練模型抽取句子表徵,它們已經是 BPE 格式(基於 fastBPE 庫):

最後創建批量並完成前向傳播就能獲得最終的句子嵌入向量:

最後輸出的張量形狀為 (sequence_length, batch_size, model_dimension),它可以進行進一步的微調,從而完成 GLUE 中的 11 項 NLP 任務或 XNLI 任務等。

當然除了提取預訓練句子嵌入向量,該項目還展示了如何用於無監督機器翻譯等任務,詳細內容可查閱原 GitHub 項目。

論文:Cross-lingual Language Model Pretraining

論文鏈接:https://arxiv.org/abs/1901.07291

摘要:最近的研究已經展示了生成預訓練在英語自然語言理解上的有效性。本研究將此方法擴展到多種語言並展示了跨語言預訓練的有效性。研究者提出了兩種方法,用於學習跨語言模型(XLM):一個是無監督模型,只依賴單語數據,另一個是有監督模型,利用具有新的跨語言模型目標函數的平行數據。該方法在跨語言分類、無監督和有監督機器翻譯方面達到了當前最佳水準。在 XNLI 上,該方法將當前最高絕對準確率提高了 4.9%。在無監督機器翻譯上,本研究中的方法在 WMT"16 德語-英語任務上的 BLEU 到達了 34.3,將當前最佳水平提高了 9 分。在有監督機器翻譯任務中,該方法在 WMT"16 羅馬尼亞語-英語任務中的 BLEU 達到 38.5,將當前最佳水平提高了 4 分。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

二階優化!訓練ImageNet僅需35個Epoch
NeurIPS 2018|如何用循環關係網路解決數獨類關係推理任務?

TAG:機器之心 |