e4exp / paper_manager_abstract

0 stars 0 forks source link

DeltaLM: Encoder-Decoder Pre-training for Language Generation and Translation by Augmenting Pretrained Multilingual Encoders #563

Open e4exp opened 3 years ago

e4exp commented 3 years ago

学習済みのエンコーダーは、様々な自然言語理解(NLU)タスクで成功を収めているが、これらの学習済みエンコーダーと自然言語生成(NLG)の間にはギャップがある。 NLGタスクは多くの場合、エンコーダーとデコーダーのフレームワークに基づいており、学習済みのエンコーダーはその一部しか恩恵を受けることができません。 このギャップを減らすために、我々はDeltaLMを導入する。 これは、デコーダを既製の学習済みエンコーダのタスク層とみなす、学習済みの多言語エンコーダ-デコーダモデルである。 具体的には、事前学習された多言語エンコーダにデコーダを追加し、それを自己教師付きで事前学習する。 大規模なモノリンガルデータとバイリンガルデータの両方を利用するために、事前学習のタスクとして、span corruptionとtranslation span corruptionを採用した。 実験の結果、DeltaLMは、機械翻訳、抽象的なテキストの要約、データからテキストへの変換、質問の生成など、自然言語生成と翻訳の両方のタスクにおいて、様々な強力なベースラインを上回る性能を示した。

e4exp commented 3 years ago

1 はじめに

近年、多くの自然言語処理タスクにおいて、事前学習された言語モデル(Devlinら、2019年、Liuら、2019年、Dongら、2019年、Raffelら、2020年)の有効性が証明されています。 彼らは、Transformerベースのモデルを自己教師付きタスクで事前学習し、質問応答、文検索、文分類などの下流タスクで微調整します。 自然言語理解(NLU)タスクについては、事前に学習したエンコーダーで、Transformer層の上にあるタスク層以外のほとんどの部分を初期化することができます。 しかし、自然言語生成(NLG)タスクは、エンコーダ・デコーダ構造に基づいているため、事前学習したエンコーダは部分的にしか恩恵を受けられません。 この違いを解消するために、BART(Lewis et al., 2020; Liu et al., 2020)やT5(Raffel et al., 2020; Xue et al., 2020)のような、エンコーダー・デコーダー構造に基づいた事前学習済み言語モデルがあります。 彼らは、モデルを一から効率的に事前学習するために、いくつかの自己教師付きタスクを模索しています。

先行研究とは異なり、我々はデコーダを既製の事前学習されたエンコーダのタスク層とみなす。 この目標を達成するために、我々はデルタLM (∆LM)を提案する。 デルタLMは、事前学習された多言語エンコーダ-デコーダモデルであり、エンコーダとデコーダは事前学習された多言語エンコーダで初期化され、自己監視方式で学習される。 図1に∆LMの概要を示す。

image

デコーダのアーキテクチャはエンコーダとは異なるため、デコーダをどのように初期化するかが課題となる。 この問題を解決するために、我々は、エンコーダとより一貫した構造を持つインターリーブ・デコーダを導入した。 このようにして、デコーダは事前学習されたエンコーダのすべての重みを完全に活用することができる。 もう一つの課題は、大規模なモノリンガルデータとバイリンガルデータの両方を効果的に利用できるモデルを期待しているため、どのような事前学習タスクを使用すべきかということである。 エンコーダー・デコーダーモデルの事前学習に関する先行研究にヒントを得て、我々は事前学習タスクとしてspan corruption (Raffel et al., 2020)とtranslation-pair span corruption (Chi et al., 2021)を採用した。 span corruptionタスクは、異なる言語の単言語データから言語間の伝達性を高めるのに有効であり、translation span corruptionタスクは、対訳コーパスの知識を用いて伝達性を高めるのに有効であることがわかった。 広範な実験により、自然言語生成と機械翻訳の両方のタスクにおいて∆LMの有効性が検証された。

e4exp commented 3 years ago

2 ∆LM

まず,∆LM のエンコーダとデコーダを事前学習済みのエンコーダで初期化する. 次に、モノリンガルデータとバイリンガルデータの両方を用いて、自己教師として∆LMを事前学習する。

2.1 多言語事前学習済みエンコーダ

事前学習済みの多言語エンコーダを再利用することは、効率と効果の両面でいくつかの利点がある。 まず、収束までの時間を短縮することで、学習コストを削減することができる。 32個のV100 GPUを用いて∆LMを学習するのに1週間かかるのに対し、ゼロから学習するmBART(Liu et al., 2020)は256個のGPUを用いて2.5週間かけて学習した。 次に、先行研究(Kasai et al., 2020)の実証実験によると、NLGには強力なエンコーダが重要である。 我々の実験でも、下流のタスクで∆LMとベースラインの性能を比較することでこれを検証している。 第三に、様々なベンチマークデータセットで最先端であることが証明されている、学習済みのエンコーダの言語間互換性を継承することができる。 前もって学習された強力な多言語エンコーダを利用するために、我々はInfoXLM(Chi et al.、2020b)を使用する。 InfoXLMは、大規模な単言語データと対訳データを使用し、マスク言語モデル、翻訳言語モデル、異言語対照目的の組み合わせで共同学習されている。 SentencePieceモデル(Kudo and Richardson, 2018)に基づいた25万トークンの共有語彙を持っている。

2.2 インターリーブドトランス・デコーダ

エンコーダは事前学習済みの多言語エンコーダで直接初期化できますが、事前学習済みのエンコーダとはアーキテクチャが異なるデコーダを初期化することは容易ではありません。 さらに、デコーダをどのように初期化するかは、十分に検討されていない。 図2aに示すように、バニラ・トランスフォーマーのデコーダは、自己注意、交差注意、フィードフォワードネットワーク(FFN)の順に、3つのモジュールで構成されています。

image

いくつかの先行研究(Conneau and Lample, 2019)では、自己注意とFFNを事前学習したエンコーダの重みで初期化し、クロス注意はランダムな重みまたは自己注意と同じ重みで初期化しています。 学習済みのエンコーダをよりよく活用するために、インターリーブされたTransformerデコーダを提案します。 図2bに示すように、FNNと注目モジュールをインターリーブして、前置学習されたエンコーダと構造が一致するようにします。 そして、デコーダの機能を維持するために、お互いの自己注意を相互注意に置き換えます。 残留接続と層の正規化は、バニラ・トランスフォーマーの層と同じように、各サブレイヤーで行われます。 そのため、各ブロックは1つのセルフアテンション、1つのクロスアテンション、2つのFFNで構成されています。 このようにして、事前学習済みのエンコーダとの整合性を高めています。

初期化

インターリーブ構造では、学習済みのエンコーダを用いてデコーダを直接初期化することができます。 具体的には、自己注釈と最下層のFNNをInfoXLMの奇数層で初期化し、交差注釈と最上層のFNNを対応する偶数層で初期化します。 これは、InfoXLMの言語横断的な能力が、クロスアテンションに有利に働くと考えているからである。 デコーダの残りの構成要素(埋め込み、残差接続、活性化関数、層の正規化など)は、事前学習したエンコーダと同じです。 インターリーブ構造のおかげで、我々の手法は事前学習された重みを完全に使用することができ、どのサブレイヤーもランダムに初期化する必要はありません。

2.3 事前学習タスク

初期化後、span corruption (Raffel et al., 2020)とtranslation span corruption (Chi et al., 2021)の2つの事前学習タスクで事前学習を行う。

スパン破損

図3aに示すように、スパン破損は、マスキングされた入力文書に基づいて、テキストのスパンを再構成することである。 これは、エンコーダ・デコーダモデルの事前学習に有効であることが証明されている。 本研究では、mT5(Xue et al., 2020)に従い、この事前学習タスクを適用して、100言語の大規模多言語コーパスに対して∆LMを事前学習する。 このタスクは、事前学習されたエンコーダの言語間能力を維持するのに役立つと考えている。

Translation Span Corruption

大規模な対訳コーパスがあるので、この翻訳データも活用して、事前学習したエンコーダー・デコーダーモデルを改善したいと考えている。 そこで、mT6(Chi et al., 2021)に従い、mT5を改善するために、翻訳スパンの破損タスクを行うことにした。 翻訳スパン破損は、入力されたマスキングされた翻訳ペアに基づいてテキストスパンを予測する(図3b参照)。 具体的には、2つの並列文を入力として連結し、span corruptionタスクを実行します。 このように、対訳データを組み込むことで、モデルの言語間の伝達性を向上させることができます。

事前学習の詳細

CC100、CC-Net、Wikipediaを組み合わせた100言語をカバーする6TBの多言語データを用いて、∆LMの事前学習を行う。 また、CCAlignedとOPUSの88GBの対訳データを使用し、77言語をカバーしています。 実験では、ベースサイズのTransformerモデルを検討し、768の隠れサイズ、3, 072のFN次元、12の注目ヘッド、12のエンコーダ/デコーダ層を持つ。 このモデルは、InfoXLM BASEチェックポイントで初期化されます(Chi et al., 2020b)。 Adam (Kingma and Ba, 2015) オプティマイザーを使用し、β1 = 0.9、β2 = 0.999とします。 10, 000ウォームアップステップの線形学習率スケジューラを採用しています。 バッチごとに2,048個のサンプルを用いて600,000ステップのモデルの事前学習を行います。 スパン破損タスクでは、入力長は512トークン、破損トークンの確率は0.15、スパンの平均長は3とし、翻訳スパン破損では、破損トークンの確率は0.50、スパン長は3としました。