This page is intended for users in Japan. Go to the page for users in United States.

Kaggle Google Quest Q&A Labeling 反省会

本日、2月28日(金)に弊社 Wantedly にて、Kaggle Google Quest Q&A Labeling 反省会を開催したので、その様子をお伝えいたします。

Kaggle Google Quest Q&A Labeling コンペ とは

世界最大のデータ分析プラットフォームである Kaggle 上で 2019/11/22 ~ 2020/2/10 の約3ヶ月間、開催された自然言語処理に関するデータ分析コンペです。

英文による質問と回答のペアが与えられており、そのペアに対する30項目における評価値を予測するコンペでした。

反省会の開催に向けて

弊社では 3 名 (懸さん, 合田さん, 私 )がこのコンペに参加しまして、反省会を開こうと話していました。合田さんが Twitter にて社外の方へも呼びかけてくださり、社外の方々も参加していただける形で反省会を開くことができました!

connpassにて参加者・登壇者を正式に募集し、想定より多くの方々に応募していただけました。
会場の関係で参加人数に限界があり、せっかく応募いただいたのに抽選で不参加となってしまった方々には本当に申し訳なく思います。また機会がありましたら、よろしくお願いいたします。

タイムテーブル

タイムテーブルを見ると、錚々たるメンバーにご登壇いただけたことが分かるかと思います。
3 位入賞のsakamiさんと、4 位入賞のDracondaさんが!
その他の方々も素晴らしい解法・知見を共有いただけました!

詳細は資料リンク先に記載されておりますので、本記事では口頭でありました印象的な部分をピックアップして、紹介したいと思います。
(資料はまだすべて掲載できておりませんが、公開され次第、更新していきます。)

23 th place soluton @hakubishin さん

弊社のhakubishinさん (合田さん) が発表しました。弊社の@agatanさん(懸さん) とのチーム戦での参加でした。学習と推論を Kaggle Notebook 上で行うという縛り解法で 23th なのはすごいですね!(本来、推論だけでOK...)

学習もNotebook上で行っていたので、ソースコードをすべてKaggle Notebook上で公開してくれています!

解法で印象的だったのは、Questionだけで予測するモデルとQuestionとAnswer両方で予測するモデルを使い、後処理でLightGBM (depthのかなり浅いもの) を使っていた点でした。また、難しいタスクはweightを大きくするようなナイーブなLabel weightもよく効いたそうです。

LightGBMでビンニングした理由としては、ビンサイズとweightを両方最適化したかったからだったそうです。

https://www.kaggle.com/shuheigoda/23th-place-solusion/notebook

47th place solution @kenmatsu4 さん

ソロ参加で 47th の kenmatsuさんに発表いただきました。
ポイントとしては不均衡データと、ターゲットデータの離散値に対する対処で、資料に記載されているよう、4つのBERTモデルの平均を利用されたそうです。

また、テキストが長すぎるものは最初の部分と最後の部分を利用したり(1:1)、MultilabelStratifiedKFold (10-fold) でデータ分割する工夫をされたそうです。
後処理としては、予測値の分布を学習データの分布に近似させたそうです。

1週間 Errorしか出ないような辛い時期や、チームマージのお誘いもあったそうですが、ソロゴールド狙いだったため、強い心で最後までソロ参加を貫いたそうです!

https://www.kaggle.com/c/google-quest-challenge/discussion/129885

16th place solution @AtsunoriFujita さん

サブタイトルが「某GMの絶対に負けられない戦いに巻き込まれて」となっております、16th の Fujitaさんからの発表がありました。有名なGMが 2名もいる、すごいチームです!

チームメンバがそれぞれモデルを作成し、それをブレンドしたようです。
話の中で面白かったのは、yuvalさんのモデルRoBERTaのconfigと学習スケジュールは、コードから解読が困難なほどにテクニカルなカスタマイズがされていたという話でした。

工夫したこととしては、ターゲットをランクに変換して[0, 1]に正規化して学習させたことと、後処理として、0過剰と1過剰のカラムはtrain dataの比率でクリップしたことだそうです。

Privateでランキングがダウンした原因としては、CVを信頼できなかったこと、また実行時間の制限で良いモデルを選択できなかったことだそうです。

会場のみで公開された「とあるGMの絶対に負けられない戦い」という茶番スライドが、とてもおもしろかったです!!

https://www.kaggle.com/c/google-quest-challenge/discussion/130112

3rd place solution @sakami0000 さん

3th 入賞のsakamiさんからの発表でした。
ポイントとしては、アンサンブルでの力技の部分と、弱いPost-Processに抑える部分だそうです。

12種類のモデルのアンサンブル、4種類の文章の切り取りという、ソリューションを見た時、なぜそんなに多くのこと1人でできるのですか?!と、びっくりしました。ソロで金をとるというのはこのくらいのことをしないと不可能なのだな、とあらためてソロ金の凄さを思い知りました。

また、gelu_new activationを使うと全体的に良かったそうです。BERT、LSTM、XLNetが個人的に良かったモデルで、GPT2はアンサンブルのweightが大きいイメージだったけど、今回はそうならなかったそうです。

https://www.kaggle.com/c/google-quest-challenge/discussion/129927

Google QA Solution & Review @Draconda さん

4th入賞のDracondaさんからの発表でした。
コンペでは、Public金圏外からPrivateで 4th 入賞へランクアップしたのが印象的でした!

資料3枚目に記載されているよう、3つのTransformerを合わせてアーキテクトで、Transformer部分をBERTとXLNetにしたもを採用されたそうでうす。英語を他の言語に変えてからまた戻すAugumentationをおこない、特にフランス語・スペイン語がうまくいったようです。

また、External Dataset(stack overflow)でPreTraining(MLMだけ)をしてスコアが上がるかと思いきや、逆にスコアが下がったそうです。


https://www.kaggle.com/c/google-quest-challenge/discussion/129896
https://www.kaggle.com/c/google-quest-challenge/discussion/130009

NLPコンペの知見を実務に活かすために @upura さん

Kaggle Master の upura さんから、NLPコンペを実務で活かすための発表がありました。

コンペを実務に活かすためには以下のような課題があり、それに対して使いやすい自作ライブラリAyniyを作っているそうです。

  • コンペ特化のpipe lineだと使いづらい
  • 実務では英語ではなく日本語を扱うことが多い

様々な手法での精度比較を容易にできるような設計にされているそうで、実際に実務で使われているそうです。実例紹介は会場のみでの共有となり、とても貴重なお話でした。
また、コンペで使う指標と実務で使う指標の使い分けの難しさも話してくださり、とてもおもしろかったです。


懇親会

発表後に1時間ほど、懇親会を行いました。
同じコンペに参加した者同士、和気あいあいとコンペの話や最近の仕事の話などが出来てとても楽しかったです!

また、このようなイベントを弊社で企画できたらと思いました。

guchioさんのブログ

本イベントに参加していただいた guchio さんが昨日公開されました、Google QUEST Q&A Labeling コンペに関するブログが、とても丁寧に背景から公開されているソリューションを網羅して記載されていて、必見です!!


Wantedly の機械学習の勉強会に遊びに来ませんか?

現在、Wantedlyでは毎週木曜日18:30から、機械学習の勉強会を開催しています。外部の方も参加可能ですので、ぜひ遊びに来てください!

また、一緒にWantedlyで機械学習エンジニアとして活躍してくれるメンバーも募集中です。話だけでも聞きたいなど、カジュアル面談も受け付けてますので、気軽に話を聞きに来ていただけたら嬉しいです!

データサイエンティスト
ユーザにとって本当に良い推薦とは?を突き詰めたいデータサイエンティストへ
WantedlyはビジネスSNSとして、「であい/Discover」「つながり/Connect」「つながりを深める/Engage」の3つの体験を提供しています。 ■プロダクトについて Wantedlyは現在2つのプロダクトに力を入れています。 1つ目のWantedly Visitは、人と企業の出会いを生み出す「会社訪問アプリ」です。 共感や働く仲間を軸に、ココロオドル仕事との出会いを創出します。 現在約34,000社以上の企業様に使っていただいており、IT業界のみならず、メーカーや不動産といった業種の企業様にも導入頂いています。 2つ目のWantedly Peopleは、名刺管理をきっかけとし、人と人のつながりを将来持続的に使える資産へと変える「つながり管理アプリ」です。 2016年に立ち上がった新規事業ですが、読み込んだ名刺の枚数は1億枚を超え、今後さらにつながりを深める体験を提供していきます。 ■今後の展開 目標は全世界1000万人のユーザーにWantedlyを使っていただくこと。 そのため海外展開にも積極的に取り組んでおり、シンガポール、香港に拠点を構えています。
Wantedly, Inc.


コロナウイルスの対策について

本イベントではコロナウイルス対策として、参加者に以下のとおりお願い・ご協力いただき、少人数イベントであることからオンサイトで開催いたしました。ご協力いただきました皆様、本当にありがとうございました。

  • 当日ご参加される方は必ずマスクの着用をお願いいたします. イベントスポンサーのWantedlyスタッフもマスクを着用させていただきます
  • 当日会場の入り口にアルコールスプレーを設置致しますので, 入場の際は消毒をお願いします
  • イベント当日より14日以内に中国大陸への渡航歴のある方, 当日に熱の症状がある方は参加の見送りをお願いいたします
  • 懇親会の食事にて紙トングを用意いたしますので、自箸でとらないようお願いします
Wantedly, Inc.では一緒に働く仲間を募集しています
Kaggle Google Quest Q&A Labeling 反省会
石崎 裕子
Wantedly, Inc. /
25 いいね!
25 いいね!

今週のランキング

ランキングをみる
このストーリーが気になったら、直接話を聞きに行こう