HTMLデータでも言語モデルの事前学習が可能!?
3つの要点
✔️ HTMLデータによる事前学習モデルHTLMの提案
✔️ 簡略化されたHTMLを利用したBARTベースの事前学習手法の導入
✔️ 要約/表形式生成タスクなどの様々なZero-Shot/One-Shot設定で良好な性能を発揮
HTLM: Hyper-Text Pre-Training and Prompting of Language Models
written by Armen Aghajanyan, Dmytro Okhonko, Mike Lewis, Mandar Joshi, Hu Xu, Gargi Ghosh, Luke Zettlemoyer
(Submitted on 14 Jul 2021)
Comments: ICLR2022
Subjects: Computation and Language (cs.CL); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
言語モデルの事前学習では、通常、インターネット上のウェブページから収集されたHTMLデータをそのまま利用するのではなく、前処理を行ってテキストのみを抽出して学習を行います。
しかしHTMLデータには、例えば<title>要素がドキュメントの<body>のよい要約となっているなど、通常テキストと比べて多くの情報を含んでいる点、データの収集が容易である点など、通常のテキストにはない様々な利点が存在します。
本記事で紹介する論文では、HTMLデータにより学習された最初のモデルである、HTLM(Hyper-Text Language Model)を提案しました。このモデルは、Zero-shot要約のROUGE-1性能を最大で8向上させるなどの優れた性能を示しました。
HTLM(Hyper Text Language Model)
提案手法であるHTLM(Hyper Text Language Model)は、Common Crawlから自動的に抽出されたHTMLデータで学習されるモデルです。これは、BARTをベースとして修正を施したモデルとなっています。
モデルの学習に用いるデータ(Minimal HTML)について
一般的なWebページに含まれるHTMLの大部分は、言語モデルの事前学習にとって必ずしも重要ではない情報を含んでおり、そのまま言語モデルの学習に利用することは困難です。
これは、JavaScriptのコードやCSSなど、文書レベルの情報ではなくページの美麗さを高めるための情報も多く含まれていることや、Transformerベースのモデルは非常に長いシーケンスを処理することに向いていないことなどによります。
そのため、以下に述べる処理を行い、HTMLデータをMinimal-HTML(MHTML)と名付けられた単純な形式に変換してモデルの学習に利用します。
- HTML DOMのうち、ある文字数(128、list/table/spanでは64)のテキストを含まないサブツリーを全て削除する
- header、footer、copyright、form、iFrameを除外
- 連続する<div>要素を、属性を統合した一つの<div>にまとめる
- class、id以外の属性をすべて削除
- HTMLに対するテキストの比率が0.46以下のMHTML文書は除外
最後の閾値については、HTMLに対するテキストの比率が低い文書は、文書の平均品質が低くなる傾向があることをふまえて人力で設定されました。
これらの処理により、生のWebページから平均94%の文字が削除され、85%程度のMHTML文書がBARTやその他の最大トークン長である1024BPEトークン以下に収めることができました。最終的に、Common Crawlの2021年1月のスナップショットから、23TBのMHTMLデータが得られ、これがモデルの学習に用いられました。
モデルについて
モデルのアーキテクチャと学習目標は、BARTスタイルのdenoising auto-encoderを採用しています。ランダムなマスキングを行う際のスパン長のサンプリングには$\lambda=3.5$のポアソン分布を利用します。
実験では、BART-Largeと同じアーキテクチャとチェックポイントを利用し、256GPU・バッチサイズ8192で合計33万ステップの学習を行います。
マスキング時のサイズのヒント
BARTでは、ポアソン分布からサンプリングされた長さでマスキングを行い、その部分を予測するように学習を行います。
このとき、マスク部分を予測して生成されたテキストの長さを制御できるようにするため、マスクした長さに応じて<mask>トークンを複数個挿入します。このとき、トークンを追加する数は$n=max(1, \lfloor N (m, m*\epsilon) \rfloor$となります($\epsilon$はヒントのノイズの大きさを表すハイパーパラメータ)。学習時には、80%のマスクに対してノイズ0.1でサイズヒントが与えられます。
タスク実行のためのHTMLベースプロンプト
学習時のHTMLデータとタスク実行時のテキストデータとで形式に違いがあるため、HTLMを下流タスク実行に適用する場合、タスクをHTML形式に変換する必要があります。
下流タスクを実行する場合、マスクされた領域を予測する形式でタスクを実行できるよう、専用のプロンプトテンプレートを人力または自動で作成します。このとき、サイズヒントを与える場合はトレーニングセットの平均長を基準に、生成するテキストの長さのヒントを与えます。
プロンプトテンプレートを自動で作成する場合、タスクとして与えられるテキストの周囲に<mask>トークンを追加してその部分を予測することで、タスクをHTML形式に変換します。
実験結果
Zero/One-Shot Prompting
はじめに、Zero-ShotまたはOne-Shot設定で提案手法(HTLM)の実験を行います。手動でプロンプトを作成する場合、関連論文またはトレーニングセットから得られた最大50個のサンプルをもとにテンプレートが作成されます。
生成タスク
生成タスクでは、以下に述べるデータセットで評価を行います。まず、要約タスクに用いるデータセットは以下の通りです。
Gigaword:平均10BPEトークンからなるニュース記事の見出しで構成されている要約
- CNN/Dailymail:約3文、50トークンからなる複数文要約
- Reddit TIFU:Redditの投稿の要約タスク、ニュース記事ではなく抽象度が高い
- XSum:ニュース記事のAbstractiveな単文要約
また、構造化された(structured)表形式の生成タスクに用いるデータセットは以下の通りです。
- E2E:レストランドメインの表形式の生成タスク、サンプル数は約50k
- WebNLG:表形式の生成タスク、実験では Seen (S)、Unseen (U)、All (A)についての結果を報告
- DART:Wikipediaの表を含むオープンドメインの表形式の生成タスク
はじめに、典型的な生成タスクである要約タスクで評価を行います。ベースラインとしてPEGASUS(元論文、本サイトの解説記事)と比較した結果は以下の通りです。
表のスコアはそれぞれROUGE-1/ROUGE-2/ROUGE-Lスコアを示しています。総じて、手動プロンプト(-Manual)の場合では、4つのデータセット全てでベースラインのZero-Shot要約の結果を上回りました。また、サイズヒントありの自動プロンプト(-Auto-S)では、4つのデータセットのうち3つでPEGASUSを上回る結果を示しました。
次に、構造化された表形式の生成タスクにおける実験を行います。実験では、One-Shot、Fine-tuning、Prefix設定での性能を評価します。なお、これらのタスクは表形式のデータを入力としており、通常のテキストベースの事前学習モデルをOne-Shot設定で適用することは困難なため、Fine-tuningやPrefix設定での結果のみ、ベースライン(GPT-2)との比較が行われています。
一方、提案手法(HTLM)はHTMLベースのモデルのため、このようなタスクでもOne-Shotで実行することが可能です。結果は以下の通りです。
全体としてGPT-2と同等以上の結果が示されており、特にOne-Shotでも実行可能な手法であることが魅力的であるといえます。
分類タスク
分類タスクでは、以下の4つのデータセットでZero-Shot設定での評価を行います。
- RTE
- BoolQ
- Winogrande
- HellaSwag
結果は以下の通りです。
全体として、GPT-3 MedまたはLargeと比肩する結果を示しました。
Fine-tuning実験
次に、既存の事前学習言語モデルとFine-tuning設定での比較を行います。GLUEベンチマークにおける結果は以下の通りです。
総じて、他の事前学習手法と拮抗する結果を示しており、HTMLベースの事前学習により得られた表現は下流タスクでも有効であることがわかります。また、プロンプトの改善により、さらに性能を向上させられる可能性もあります。
プロンプトのデータ効率
最後に、1つのプロンプトがどれだけのデータポイントに値するかを定量化する研究をもとに、HTMLベースのプロンプトの有用性を評価します(指標の詳細は省きます。)結果は以下の通りです。
表では、fine-tuningにおけるプロンプトの分類ヘッドに対する優位性が示されており、スコアが高いほど良好です。総じて、提案手法は既存のテキストベース言語モデルと比べて良好であり、HTMLベースの事前学習の有効性を示しています。
まとめ
本記事では、HTMLデータを元に事前学習を行うHTLMについて紹介しました。
このモデルは、通常のテキストベースの事前学習モデルと比べ、単に精度が高いのみではなく、表形式のような構造化されたデータからなるタスクをOne-Shotで実行することができるなどの利点もあり、HTMLデータを事前学習に用いる新たな道を切り拓いたと言えるでしょう。
この記事に関するカテゴリー