天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

最強DB講義 #29 検索・対話システムの公平性を評価する(酒井哲也先生)に参加してきた

dblectures.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

大規模言語モデル時代には様々な社会問題が付随します。 本講義では特に、システムが社会にもたらしうる「不公平さ」を扱う研究トピックとして、検索エンジンや対話システムを「グループフェアネス」の観点から評価する方法について説明します。これは例えば、「情報検索の研究者を教えて」というユーザの質問への回答として、システムがオジサン研究者ばかりを出力することを防ぐものです。このようなシステムは「女性や若者は研究者になれない」という偏見をユーザに植え付けてしまう可能性があるためです。国際会議NTCIRで進めていグループフェアネスのタスク、および今後の展望についても述べます。

会の様子

研究背景

ある女性の研究者が、ChatGPTでロールモデルとなるような研究者を聞くと高齢の男性ばかり出してくれるような問題が仮にあった場合、これはGroup Group Fairnessの観点やジェンダーバランスで問題があるといえるよねという話が導入としてありました。

NCU

Sakai/Robertson08EVIAを基に、情報検索結果指標をはじめとしたNCU(有用性の期待値)の紹介がありました。

ユーザーの行動を示す式と各ユーザーグループにとって有用性を示す式を組み合わせると、従来の行動評価指標を大体は説明できたということです。

GFR

NCUの説明で話があったユーザーの行動を示す式と各ユーザーグループにとって有用性を示す式に公平性を評価する式を追加することで、GER(Gorup Fairness and Relevance)の説明ができたということでした。

公平性を評価する式は、確率質量関数間のダイバージェンス*1を用いて計算しているということです。

確率質量関数間のダイバージェンス

H-index(業績量)が小さい(少ない)ような研究者が露出しやすくするためには、H-indexをグループ化した上でH-indexの度合いに応じてアプリケーションの出力を調整することができるという話がありました。

この出力の調整にダイバージェンスが活用できるということで、特にNMDやRNODといったものが活用可能だという話でした。

FairWeb-1タスクの仕様

検索トピック*2, 属性集合*3, 属性集合に対する目標分布(確率質量関数)を入力として、検索トピックに対するSERP(Webページのランキングリストのようなもの)を出力させてFairnessを比較した実験結果の共有がありました。

具体的には、映画の検索をする際にレビューがそこまでついていないような映画も出せているか?多数の地域の映画を出せるか?を検証したり、論文を検索した際にBio中の代名詞や知名度が分散されて結果が出力されるかを検証したり、Youtubeで検索した際に購読数が少ないYoutuberのタスクも出せるか?を検証したということです。

ランク付きリストからテキスト系列への拡張

今回のモデルは情報の基本単位を文書→ナゲットにすることもできるため、ChatGPTを用いた情報検索の研究でも拡張できるよ、という話がありました。

具体的な実装例として、今度NTCIR-17で発表予定のSakai23EVIAを参照しながら、FairWebタスクを実際にBingとGoogleに実行させた結果、適合性/公平性(RATINGS)/公平性(ORIGIN)すべての観点においてBingのほうが高いスコアを出していたという結果を紹介してくれました。

質疑応答

発表の後は質疑応答がありました。以下、質問と回答を一問一答形式かつ常体で記載します。

Fairnessというと、属性学習をしたがゆえに(いわゆる学歴フィルターのような形で)学歴がある人の話しか出てこないみたいなことを想像していて、今回の話は検索条件みたいな話な気がしたのだがどう考えているか?

Fairnessのアプローチは複数ある。数学的な定義づけもあるし、トップダウンにFairな分布を指定してそこに近づけるか?というアプローチもある。

今回のアプローチは、自分たちが作った分布がFairの絶対的な定義だという話ではなく、今回の分布を使うことで検索システムのFairnessがsteping stoneで考えられることが意義だと思っている。(問題を視覚化し、定量化する一つの手法として紹介している)

FairWebの評価では、グループの分布を指定してそれに合うような検索結果を出して、という認識であっているか?実際に検索エンジンでFairnessを適用する場合はユーザーが分布を決めるような形になるのか?(分布を決めるのは難しそう)

今回は一様分布を目標分布とした。*4

質問の通り「正しい」分布を定義するのは難しいと思うが、「条件としてこういう形で出してね」みたいな使い方はあると思う。

名義的グループと順序的グループのデータを区別して、情報検索システムの改善にどのように使うのが効果的だと思うか?

障害の重度をグルーピングしていた場合、軽微な障害を重度な障害とするわけにはいかないと思うので、こういった際にはダイバージェンスを気をつけることが効いてくるかな、と考えている。(重度な障害を出してほしいのに軽微な障害が出てしまった...みたいなものを防ぐ)

今回のやり方を使えば、重度な障害を出してほしいのに軽微な障害が出てしまった/軽微な障害を出してほしいのに重度な障害が出てしまった、を区別できるので、区別した結果をインプットにシステム改善することはできると思う。

単純な順序ではなくて、バランス的に色々なものをまんべんなく出すのは数学的に難しいのか?

まだ実験はしていない。順序尺度以外はまだやっていない。

名義尺度と順序尺度を区別したほうがいいよね、というところから今回はスタートしているし、目標分布に関する課題もあるので、まだ質問にあった話あたりは未着手。

大規模言語モデルの評価って再現性があるのか?

再現性がない。

大規模言語モデルで2回同じことをやったときに、全然違う結果になった。
そのため、この話に限らず、大規模言語モデルの話は再現性に関する問題が出てくると思っている。

BingとGoogleに関してratingsとoriginをどのように指示したのか?

どちらもIMDbに載っているものをそのまま使っている。

LLMに対する指示は特に何もしていない。(LLMは属性集合も知らない状況だった)

ChatGPTの評価の話でテキスト系列の評価をするということだったが、ダイレクトなアプローチに感じた。他にもデザインスペースがある気がしたが、どう考えているか?

個人的には、Fairnessはテキスト評価の一部という位置づけなので、Fairnessを含む色々な軸で今後評価していくようにしたいと考えている。

会全体を通した感想

大規模言語モデルのFairnessの話は倫理的観点の一つとして今後確実に問題になってくると思っていたので、現状どのように評価することができるのか?という研究を知れたのが非常に面白かったです。

*1:Sakai21ACLを参照

*2:3種類用意

*3:2種類用意

*4:例外的に映画の検証だけは国の数によって目標分布を定義した