CommonLitのコンペに参加したので振り返り
コンペ概要
promptが与えられ、その中にはquestion, title, textがある。
それを生徒?が要約した内容に対し、content, wordingというスコアを着ける。
コンペではそのcontent, wordingのスコアを予測する。
取り組んだこと
詳細はリポジトリにある。 ここでは簡単にまとめる。
- debertaでprompt_question, summary_textを入力にし、content, wordingを予測
- 上記の予測値とテキストを基にした特徴量を合わせて、XGB, LGBMで予測
- XGB, LGBMの予測値をアンサンブル
これでは全く上位には届かなかったので、上位解法見ていく。
上位解法
2nd place solution
- debertaの入力値を
'Think through this step by step : ' + prompt_question + [SEP] + 'Pay attention to the content and wording : ' + text + [SEP] + prompt_text
とした- prompt enginneringがこんなところでも・・・
- SEPで囲まれた部分はmaskさせる
- 別コンペで学習させたモデルの予測値をつかった?
- モデルの最大長は1280~2048
- 最終的には2048で学習?
- GroupKFoldで0.4581
- アンサンブル
- deverta-large
- mean pooling, lstm pooling
- deberata-base
- mean pooling, lstm pooling
- OpenAssistant/reward-model-deberta-v3-large-v2
- mean pooling
- deverta-large
3rd place solution
- prompt_question, summary_textを入力にし、content, wordingを予測
- 似ているサマリ文章同士で単語の置換を行った(これ思いついたのすごすぎ)
- 上記でData Augmentationをした
- deberta
- poolingには、cls tokenとmean poolintを使った
- token_type_idsを使って、prompt, question, textを区別した(token_type_idsってこういう使い方するんですね)
- max_lengthは1500
4th place solution
- 大量のモデルのアンサンブル
- deberta large, base
- layer freeze
- max_length 1500 ~ 868
- poolings
- cls, mean
- deberta large, base
- GBDTを使ったアンサンブルを使っていたが、最終的にはcvが低かったのでアンサンブルはしなかった
- 自分の場合途中結果のcvを比較可能にしていなかったのでこれは反省点…
5th place solution
- summary, question, title, prompt_textを使用
- deberta largeとlgbmのアンサンブル
- deberta large
- max_length 1,536
- 最初の18layerをfreez
- content, wordingを同時に学習
- lgbm
- public notebookをほぼ同じ(テキスト統計量を中心にしたものだろうか?)
- アンサンブルは加重平均
- deberta large
- GroupKFold
まとめ
- deberta largeを使う
- max lengthは1500程度と長めにする
- poolingをcls token, lstm, mean poolingなど多様性を持ったモデルをアンサンブルさせるのが効いた
- stackingよりもbest single modelを追い求める方が重要
と勝つために必要だったことを並べてみると、rtx3060とkaggle notebookだけでは戦えなかった気がする。
deberta largeは試したが、4fold学習しようとするとtimeoutになるし。。
今回は縁がなかったコンペだった。早めに撤退するべきだった。 いいグラボを手に入れた時にまた頑張ろう。
See Also
- スケールするチームと効果的なコミュニケーション: PdMのためのタスク管理
- リスク管理の方法
- PSPコンペ振り返り
- kaggle OTTOコンペ解法調査
- GPT-3.5で作った恋愛シュミレーションAI ChatBot