Upgrade to Pro — share decks privately, control downloads, hide ads and more …

atmaCup#17-3rd Place Solution-

Avatar for syurenuko syurenuko
October 17, 2024
750

atmaCup#17-3rd Place Solution-

atmaCup#17振り返り会(https://atma.connpass.com/event/333637 )の発表資料です。

Avatar for syurenuko

syurenuko

October 17, 2024
Tweet

Transcript

  1. コンペの課題 「 おすすめされるレビューがなにか?を予測せよ!」 ユーザーの属性と商品に対するレビューのデータから、その商品がおすすめされたかどうかを2値分類で予測する 開催期間2024/8/29 18:00〜2024/8/31 18:00(48時間) 評価指標ROC-AUC train.csv/test.csv •

    Clothing ID: 衣服のID • Age: レビューをしている人の年齢 • Title: レビューのタイトル • Review Text: レビューの本文 • Rating: レビューでつけた点数。 train.csvのみ提供 • Positive Feedback Count: 他のユーザーからつけられたイイネの数。 • Recommended IND: 予測対象。レビューした人が、この商品をおすすめするかどうかを予測する。 clothing_master.csv • Clothing ID: 衣服のID。train.csvとtest.csv の Clothing ID と紐付けられる。 • DIvision/Department/Class Name: 衣服のカテゴリ。右に行くほど細かいカテゴリ。
  2. 3位解法 概要 Gemma2-9B(instruction tuning)・Llama3.1-70B(instruction tuning)・Qwen2-72B 4bit量子化されたモデルを QLoRAでFine-Tuning(SequenceClassification) 15モデルの予測値を加重平均でアンサンブル CV戦略 KFold(1fold)で精度確認→Full

    Train(All Data) でepoch数を決め打ちで学習 5fold回さないと完全なoof予測値が得られない等のデメリットがあるが、48時間しか無いので今回は試行回数を優先した 基本的に1epochで十分な精度が出ていた テキスト処理 Clothing ID + Age + Title + Review Text + Positive Feedback Count(clothing_master.csvは未使用) 実行環境 vast.aiでGPUインスタンスをレンタル 3rd Place Solution(atmaCup#17 discussion ) https://www.guruguru.science/competitions/24/discussions/f312bbe9-453b-4500-a5d2-2d250f519773 ※Qwen2-72Bがinstruction tuningモデルではないのは model pathを間違えたからです。
  3. Google翻訳: Roberta/Deberta は、そのサイズからす ると依然として素晴らしいものです。しか し、LLM は分類に関しては私が考えて いたよりもはるかに優れています。 実 際、最近の Kaggle

    コンテストでは、分類 と回帰の LLM が優勝しています。副次 的な利点は、デコーダーによるキャッシュ です。 https://x.com/ph_singer/status/1727437419514098082?s=46&t=b7W2--TQhCyHpdXdr5hFCA 2023/11/23 @ph_singer
  4. gemma2-9b • Googleが開発した最新のローカル LLM(2024年10月時点) • 9B(90億)のパラメータを持つ it • instruction tuning(指示チューニング)されたモデル

    • ベースモデルが特定のタスクや指示に対応できるように調整されている • 今回のコンペではベースモデルよりも instruction tuningモデルの方が精度が良かった bnb-4bit • bitsandbytes(bnb)によって4bitの精度で量子化されているモデル • 量子化により高速化と省メモリを実現 gemma-2-9b-it-bnb-4bit
  5. 700億パラメータの LLMをFine-Tuningした結果 Lllama3.1-70Bの学習速度の速さに驚いた(逆に Qwen2が遅い?) Meta-Llama-3.1-70B-Instruct-bnb-4bit 0.9736 0.9758 約3時間 Qwen2-72B-bnb-4bit 0.9734 0.9748 約10時間

    (参考)gemma-2-9b-it-bnb-4bit 0.9739 0.9774 約40分 Qwen2-72B-Instruct-bnb-4bit 0.9742 0.9767 約10時間 コンペ期間中に試せなかった Qwen2-72Bのinstruction tuningモデルのlate sub検証結果 Public Private 学習時間
  6. なぜLLMが強かったのか?① ※あくまで個人の考察です https://arxiv.org/html/1706.03762v7 Encoder Only BERT Decoder Only LLM 一般的にEncoderモデルの方が

    文脈理解能力に優れているとされる しかし、パラメータ数が違いすぎると 文脈理解能力でLLM優勢になる? • DeBERTa-v3-large: 304M • Gemma2-9B: 9B
  7. コンペ終了後に投稿された discussion (@chikuwabu_qedさん) https://www.guruguru.science/competitions/24/discussions/d57bc416-56fa-454a-a071-743597b29293 • 約7年前にkaggle上で公開されたWomen's E-Commerce Clothing Reviews データ

    セットが元データ? • 2016年頃のスクレイピングデータ   (=web上に実際に存在したデータ) クローリングされた元データが LLMの 事前学習データに含まれているのでは?