1
/
5

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項目における評価値を予測するコンペでした。

Google QUEST Q&A Labeling
Improving automated understanding of complex question answer content
https://www.kaggle.com/c/google-quest-challenge

反省会の開催に向けて

弊社では 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 コンペに関するブログが、とても丁寧に背景から公開されているソリューションを網羅して記載されていて、必見です!!

Google QUEST Q&A Labeling コンペの反省文 - guchiBLO はてな
kaggle の NLP コンペである Google QUEST Q&A Labeling に参加し、その社内反省会を主催したので、その時の資料をブログに落としておきます。筆者は 1,571 チーム中 19 位でした。 NLP コンペには初めて参加してのですが、系列データを NN でさばく上での学びが多く非常に楽しめました。個人的には良いコンペだったと感じていて、コンペ終了後にはブログ化する方々*1 や勉強会を開催する方々がいつもより気持ち多かったような気がします。 一方で、post-process のス
https://guchio3.hatenablog.com/entry/2020/02/27/100505


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

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

wantedly/machine-learning-round-table
Gather around the table, and have a discussion to catch up the latest trend of machine learning 🤖 - wantedly/machine-learning-round-table
https://github.com/wantedly/machine-learning-round-table

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

Data Scientist
ユーザにとって本当に良い推薦とは?を突き詰めたいデータサイエンティストへ
”究極の適材適所により、シゴトでココロオドルひとをふやす” ウォンテッドリーは、究極の適材適所を通じて、あらゆる人がシゴトに没頭し成果を上げ、その結果成長を実感できるような「はたらくすべての人のインフラ」を構築しています。 私たちは「シゴトでココロオドル」瞬間とは「シゴトに没頭し成果を上げ、その結果成長を実感できる状態」瞬間と定義しています。 その没頭状態に入るには、内なるモチベーションを産み出す3要素が重要と考えています。 ・自律:バリュー(行動指針)を理解していて、自分で意思決定しながらゴールへ向かっている状態 ・共感:ミッションを有意義なものであり、その達成が自分の使命と感じられる状態 ・挑戦:簡単/困難すぎないハードルを持ち、成長を実感しながらフロー状態で取り組んでいる状態 この要素に基づき、下記のプロダクトを開発しています。 ・「共感」を軸にした運命の出会いを創出する会社訪問アプリ「Wantedly Visit」 ・働き手同士のつながりを深めるつながり管理アプリ「Wantedly People」 2020年より従業員の定着・活躍を支援すべく提供開始したEngagement Suite ・新しい福利厚生「Perk」 ・モチベーション・マネジメント「Pulse」 ・社内報「Story」 目下の目標は全世界1000万人のユーザーにWantedlyを使っていただくこと。 そのため海外展開にも積極的に取り組んでおり、シンガポールに拠点を構えています。
Wantedly, Inc.

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

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

  • 当日ご参加される方は必ずマスクの着用をお願いいたします. イベントスポンサーのWantedlyスタッフもマスクを着用させていただきます
  • 当日会場の入り口にアルコールスプレーを設置致しますので, 入場の際は消毒をお願いします
  • イベント当日より14日以内に中国大陸への渡航歴のある方, 当日に熱の症状がある方は参加の見送りをお願いいたします
  • 懇親会の食事にて紙トングを用意いたしますので、自箸でとらないようお願いします
Wantedly, Inc.'s job postings
25 Likes
25 Likes

Weekly ranking

Show other rankings
Invitation from Wantedly, Inc.
If this story triggered your interest, have a chat with the team?