見出し画像

AI王 〜クイズAI日本一決定戦〜 に参加し第3位入賞した話

こんにちは。PKSHA Technologyでアルゴリズムエンジニアをしています、星野悠一郎です。この度、2022.8.30 〜 2022.12.2で開催されたAI王 〜クイズAI日本一決定戦〜に参加したので体験記を報告します。

 星野悠一郎 | アルゴリズムソリューション事業本部 アルゴリズムエンジニア
早稲田大学大学院 先進理工学研究科 物理学及応用物理学専攻 博士後期課程単位取得退学後、先進理工学部 助手として勤務。その間、主に重力理論における非線形現象の研究、画像認識/ 強化学習を用いた量子物理の研究に従事。新卒としてPKSHA Technology へ参画後は文法誤り訂正や質問応答技術の研究開発・プロジェクト等に従事。

AI王 〜クイズAI日本一決定戦〜 とは?

PKSHA Technology が力を入れている主要な技術の1つとして、チャットボットやコールセンター等で利用している質問応答技術があります。

現状の質問応答技術は、主に英語での研究が中心となっています。「AI王〜クイズAI日本一決定戦〜」とは、日本語での質問応答研究の促進・裾野を広げるという目的で立ち上げられた東北大学/理化学研究所/NTTの共同プロジェクトです。2020年4月より開催されており、第1回は20択のクイズで最終的な正答率が 95%、第2回からは自由回答(オープンドメイン質問応答)に変わり正答率 83.9%、そして今回の第3回では正答率 93.8% を達成しています。
 
弊社は、チーム VARCH として同僚の福地とともに参加し、第3位に入賞しました。

12/2に行われた最終報告会では、参加チームの発表に加え、2つの招待講演が設けられていましたので、それらについても簡単に紹介したいと思います。また、本コンペの内容は、弊社の事業に密接に関わる技術の一つとして、研究開発の一業務として取り組みました。

招待講演について

1人目の招待講演者は、Washington 大学の浅井 明里 氏による「より多くの言語での情報検索・質問応答を可能にするために」という発表でした。冒頭で触れたように、現状の質問応答の研究は英語中心となっていますが、多言語での情報源に対して、翻訳を介在させることなく、直接ターゲット言語で解答すること(言語横断的な検索及び推論)が主題となる講演でした。この研究が進めば、たとえ自国の言語に情報源がなくとも、情報リッチな言語を参照することで、自国の言語で解答できるようになることが期待されます。講演の中では、これらの研究に必要な多言語ODQAデータセット (XOR QA, NAACL 2021) をどのように整備し、タスクを解く上での新たな単一多言語モデル Cross-lingual Open-Retrieval Answer Generation model (CORA)をどのように構築したかということがメインに解説されました。講演者は、この技術に基づくコンペティション (MIA 2022 Shared Task, NAACL Workshop 2022) を主催しており、入賞チームのアプローチや言語横断的な検索の難しさについても説明されていました。
以前から、同氏の研究については弊社プロジェクトの中でも関連のある研究として注目していたこともあり、実際に講演を聞くことができて嬉しかったです。公式ページ個人サイトでスライドも公開されていますので、興味のある方は是非ご参照ください。
 
2人目の招待講演者は、古川 洋平 氏(クイズ法人カプリティオ)で、クイズに長く携わっている同氏が人間側のアプローチにフォーカスしてクイズのいろはを解説していました。特に、クイズ王が早押しクイズを行う際には、クイズの知識だけに留まらず、読まれる問題文のどこにアクセントがあるかで問題の意図を推測する等、様々なテクニックを駆使しながら回答しているとのことでした。そのため、音声早押しクイズにおいては、AIが人間を超えるようになるのは、まだまだ難しいようです。普段からクイズ自体にはそこまで馴染みがなかったのですが、上記のような駆け引きやその競技性は、本コンペで扱っているようないわゆるペーパー問題にはないものなので非常に興味深いお話でした。

コンペ概要

今回開催されたコンペ内容は第2回の問題設定と全く同じもので、最終的な評価データとしてはクイズ作家によって作成された問題(1000問)のみが与えられ、その正答率を競うというものでした。いわゆるオープンドメイン質問応答というタスクで、

  • 無償公開されているデータのみ利用可能

  • 単一の計算機内のリソース(V100, 16GB)で動作、実行時はオフライン

  • 最終投稿は Docker イメージ(容量無制限、推論時間は6時間以内)

といった制約の下、あらゆる情報を駆使してクイズの正解率を上げる必要があります。 運営側からは、最新の質問応答システムである Binary Passage Retriever (BPR), Fusion-in-Decoder (FiD), Generative Pre-trained Transformer (GPT) , 等のベースラインモデル (各モデルの簡単な説明もこちらに記載されています)に加え、各種ツールも公開されていました。問題と解答の一例としては、以下のようなものになります。

"questuion": "タガログ語で「ごちゃまぜ」という意味の、様々な具が乗ったフィリピン風のカキ氷といえば何?"
"answer"   : "ハロハロ"

投稿システム概要とその過程

弊社のチームは、近年の SOTA モデルによく採用されている Retriever-Reader 型をベースとして、特に学習データの増強と検索精度の改善という点に最もフォーカスしました。検索部分の詳細は以下の図に示すように、マルチステージの pipeline を導入しています。ここでは、他のチームとの比較的大きな差分と思われる検索精度の改善という点について専門的な内容になりますが、少し詳しく触れてみようと思います。

一般には、Dense Passage Retriever (DPR)などの事前学習モデルを利用した密なベクトルベースの手法は意味的な類似性に強く、語彙一致ベースの BM25 より精度が高いことが知られています(SQuAD のような特殊なデータセットの場合は例外)。その一方で、DPR の原論文 [Karpukhin+ 2020] や後続の研究 [Thakur+ 2021] 等でも分かっているように、低頻度語を見逃す傾向があったり、分布外(OOD)での性能劣化が著しいという欠点もあります。また、DPR, BM25 の両者の検索結果のオーバーラップは極めて小さいことも知られており、これらの結果を効率的に直接取り入れる、もしくは片方のモデルのアーキテクチャ内部にその性質を内包させることができれば両者のいいとこ取りが可能になります。[Ma+ 2021] では、両者の検索スコアを適切に扱うことで、dense/sparse のハイブリッドモデルを構築しており、この方法を我々も導入することで、大きく精度改善しました。ここまでが、上図でいうところの stage-1 の部分になります。

次に、後段の Reranker モデル (stage-2) についてですが、前段のハイブリッドモデルを導入したことで検索精度は向上したものの、実際に検索結果を眺めてみると解答を生成する上での根拠が書かれている文章がかなり後ろの方に現れてしまう場合があることが分かりました。Reader として採用している FiD に複数文章を入力する際は、今回の場合だと上位 100 件程度になるので、なるべくこの中に関連文章が入っていてほしいのですが、上記の例ではこの範囲に入りません。したがって、関連文章を改めて判断し直す Reranker モデルが新たに必要になります。情報検索周りの論文を調査していくと、この文脈での研究がいくつか見つかり、BERT ベースで分類器を構築するよりも、seq-to-seq ベースのものの方が精度が高いことが報告されていました(例えば、[Nogueira+ 2020])。そこで、我々は学習データの増強を行った後、Reranker 用の学習データを100万オーダーで新たに作成し、T5 ベースの Reranker モデルを学習しました。

下記の図は各ステージでの検索精度(Recall@k)を示していますが、ハイブリッドモデル及び Reranker モデルの効果が確認できます(具体的な値は参考程度です)。ちなみに、ハイブリッドモデルでの Recall@100 の値を見ても、stage-0 としている DPR での Recall@1000 と同等の精度がでており、単体で使用するよりも効率的であることが分かります。

以上が投稿システムの主な概要になりますが、この他にも GTR [Ni+ 2021] (チームメンバーの福地が担当), RAG [Lewis+ 2020] といった比較的最新のアプローチも試してみたりしましたが、全体的な精度改善には大きく寄与しませんでした。もう少し詳細が気になる方は、下記スライドを是非ご参照ください。

結果

結果として、我々のチームの最終スコアは 826/1000 で第3位となり、入賞することができました。モデルのアーキテクチャとしては、全チームが Retriever-Reader 型を採用していましたが、上位のチームでは、これに加え Reranker モデルも構築していました。特に上位2チームは、前回大会でも1, 2位に入賞しており、9割を大幅に超えるスコアを出していました。両チームとも、モデルのアンサンブルに関しての施策に加え、情報源(Wikipedia 以外の外部データ)の拡充を重点的に行っていた印象で、オープンドメイン質問応答における外部知識の重要性が認識できる結果となっていた気がします。

感想

今回、AI王 〜クイズAI日本一決定戦〜 には初参加だったのですが、結果として第3位入賞することができ、大変嬉しく思っています。本大会を主催していただいた運営の皆さんや、参加に向けてサポートしてくれた会社、一緒にチームで戦ってくれたチームメイトにも感謝します。また、社内のDGX A100などの計算資源を使用できたことも今回の結果に繋がったと思います。

本コンペに参加したことによって、最新の質問応答技術に関する様々な知見が得られました。特に、DPR を始めとした Two-Tower model で embedding を取得後、高速な ANN(近似最近傍探索)で得られた検索と語彙ベースの sparse retriever である BM25 の両者を含めた結果に対して、検索品質をさらに上げるために Reranking モデルを適用という pipeline の効果が実際に確認できたことは有益だったと思います。今後は、他のチームが導入していたアプローチや視点も適宜参考にしながら引き続き研究開発に取り組んでいきたいと思っています。
また、2つ目の招待講演の中でも触れていましたが、本コンペで達成された9割を大きく超えた正答率は、クイズのプロと同等か、もしくはそれ以上とのことで、知識を問う問題については一般的な人間を既に凌駕してしまっているようです。最近では、ChatGPT を始めとした人のフィードバックを考慮したような大規模言語モデルが注目を集めていますが、このような知識を問う問題をどの程度正確に解けるのかなど、まだまだ分かっていない点も多い[1]と思うので、今後そのあたりも明らかになってくると面白いように思います。長い記事となりましたが、ここまで読んでくださりありがとうございます。

最後に、弊社PKSHA Technologyでは、機械学習を含めたアルゴリズムを一緒に社会に実装してくれる仲間を募集しています。私のような情報系以外を専門にしていた方やKagglerの方も多数在籍しており、頻繁に社内チームを組んで様々なコンペにも挑戦しています。また、そういった活動を積極的に支えてもらえるような風土がある会社だと思います。
機械学習コンペ等で身につけた技術を社会に実装することにご興味のある方は、Wantedlyや採用サイトから応募が可能ですので、是非ご覧ください!

▼採用職種一覧

▼Wantedlyはこちら



[1] ちょうどこの記事の執筆中に、招待講演者の浅井 明里 氏がこのテーマに関する新しい論文: When Not to Trust Language Models: Investigating Effectiveness and Limitations of Parametric and Non-Parametric Memories を出されていて非常にタイムリーでした。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!