TAPAS: SQL不要の弱教師ありテーブルQA、そしてそれがBeancountに意味すること
私はこれまでBIRD、DIN-SQL、MAC-SQLといったtext-to-SQLの系譜に時間を費やしてきましたが、それらすべてに共通する、ある前提に疑問を投げかけたいと思います。それは、「テーブルQA(質問応答)における正しいインターフェースはSQLの生成である」という点です。Google ResearchのHerzigらによって発表されたTAPAS(ACL 2020)は、逆の賭けに出ています。TAPASはクエリを一切生成しません。その代わりに、セルを選択し、オプションでスカラー集計を適用するだけで、回答の外延(denotations)のみからエンドツーエンドで学習されます。
論文の概要
TAPASは、標準的な位置IDとセグメントIDの上に6つの新しい埋め込み次元を追加することで、テーブルをエ ンコードするようにBERTを拡張しています。列IDと行IDは、各トークンがテーブルグリッドのどこに位置するかを示します。ランクIDは、ソート可能な列内の相対的な数値順序をエンコードします(ランク0は比較不能、i番目に小さい値にはランクi+1)。「前回の回答(Previous Answer)」インジケーターは、前の会話ターンで選択されたセルにフラグを立てます。質問トークンとテーブルトークンを区別するバイナリセグメント埋め込みと組み合わせることで、TAPASに7つのタイプのトークン表現が与えられます。
推論時、モデルはセルごとの確率に閾値を設けることでセルのセットを選択し、4つの集計演算子(NONE、COUNT、SUM、またはAVERAGE)のいずれかを適用して最終的な回答を生成します。中間のSQLや論理形式は存在しません。事前学習は、620万件の英語版Wikipediaのテーブルとテキストのペアに対して、標準的なMasked Language Model(MLM)の目的関数を実行します。
主なアイデア
- 列/行の埋め込みは非常に重要です。アブレーション(構成要素の削除実験)によると、これらを削除するとSQAで19.4ポイント、WikiSQLで10.6ポイント、WikiTQで11.6ポイント精度が低下し、これは他のどのアーキテクチャ構成要素よりも大きな影響です。
- テーブルの事前学習もほぼ同様に重要です。事前学習を省くと、ファインチューニング後でもSQAで12.5ポイント、WikiTQで11.1ポイント精度が低下します。
- SQA(会話型テ ーブルQA)において、TAPASは精度を55.1%から67.2%へと12ポイント向上させました。「前回の回答」トークン埋め込みは、個別の状態トラッカーなしで会話の継続性を機能させるメカニズムです。
- WikiSQL(単一テーブル、主に検索と集計)では、TAPASは83.6%に達し、SQL生成を全く行わずに、SOTA(最先端)のセマンティックパーサーの83.9%にほぼ並びました。
- WikiSQLからWikiTQ(マルチステップ、マルチカラム推論)への転移学習では48.7%を達成し、当時のSOTAを4.2ポイント上回りました。SQAからの転移では48.8%となりました。
- 弱教師あり学習は、コスト効率に関する主要な主張です。モデルは(質問、SQL、回答)の3つ組ではなく、(質問、回答)のペアで学習されるため、SQLの専門知識がなくても大規模なコーパスに注釈を付けることができます。
評価できる点、できない点
「多くのテーブルQAの質問は、セルを選択し、4つのスカラー演算のいずれかを適用することで解決できる」という核心的な洞察は、テストされたベンチマークにおいて経験的に妥当であることが証明されています。しかし、WikiTQに関する論文の正直なエラー分析は示唆に富んでいます。エラーの37%は著者自身によっても分類不能であり、16%はモデルが実行できない文字列操作を必要とし、10%は複雑な時間的推論を含んでいました。つまり、TAPASの限界は集計演算子が間違 っていることにあるのではなく、質問のカテゴリー全体が構造的に範囲外であることにあります。
512トークンの制約は高い壁です。約500セルを超えるテーブルは切り捨てられなければならず、モデルには複数テーブルにまたがる推論のメカニズムがありません。これはチューニングの問題ではなく、アーキテクチャ上の問題です。また、モデルは集計を入れ子にすることもできません。「平均残高が0より大きい口座は何個ありますか?」という質問には、2つのパス(COUNT述語内の平均)が必要ですが、4つの演算子を持つヘッドではこれを表現できません。
TAPEX(ICLR 2022)は、WikipediaのテーブルMLMを、自動生成されたプログラムによる合成SQL実行に置き換えることで、事前学習のボトルネックに直接対処し、WikiTQを57.5%(+4.8)、SQAを74.5%(+3.5)まで押し上げました。これは意味のある差です。しかし、TAPEXもテーブルサイズと構成の深さに関する同じアーキテクチャ上の制限を継承しています。
どちらの論文も触れていない、より深い未解決の問いは、セル選択パラダイムが、実用的な面でSQL生成よりも現実世界のテーブルQAに適しているかどうかです。これはベンチマークの精度ではなく、監査可能性と正確性の保証の観点からです。セル選択は不透明です。回答は得られますが、プログラムは得られません。SQL生成は冗長ですが検証可能です。本番環境での利用においては、このトレードオフは数ポイントの精度よりも重要になります。