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

Data-Centric Kaggle

Data-Centric Kaggle

Avatar for ねぼすけAI

ねぼすけAI

January 17, 2026
Tweet

More Decks by ねぼすけAI

Other Decks in Programming

Transcript

  1. 自己紹介 名前:ISAKA Tsuyoshi(ねぼすけAI) 仕事:データサイエンティスト(LLM関連) 趣味:Kaggle(特に解法読み)、Qiita、将棋、自作 PC、ポケポケ、ピクミン、フットサル 計算資源:RTX 5090、LLM API、RunPod 好きなコンペ

    :LLMコンペなどの エンジニアリング要素が強いコンペ Kaggle:@isakatsuyoshi GitHub:@Isaka-code Qiita :@Isaka-code X :@AInebosuke Opinions are my own. I just came here as a Kaggler. 2 LLM + DCAI Tabular + DCAI LLM + 🎅 LLM + ⛳ LLM + DCAI LLM + DCAI ※DCAI(Data-Centric AI):データ を起点にAIの性能を高めるアプローチ 一緒にチームを組んでくださった皆様 ありがとうございました!
  2. Data-Centric AIとは Data-Centric AI とは、AIの性能向上を、 
 従来のモデル改良よりもデータセットの 
 体系的な設計・改善で実現する開発手法。 


    Andrew Ng先生が2021年に提唱した。[1] 
 
 
 
 
 Model-Centric AI :データ固定でモデル改善 
 Data-Centric AI :モデル固定でデータ改善 
 4 [1] A Chat with Andrew on MLOps: From Model-centric to Data-centric AI(YouTube)
  3. Data-Centricなアプローチが特に役に立ったコンペの紹介① LLM 20 Questions (9位・solo gold medal) - 言葉当てゲーム「20 Questions」をプレイするAIを開発するコンペ

    - Private LBは完全に新規のThings(モノ)カテゴリーのキーワード - LLM・人力によるデータ拡張、英語版 Wikipediaのタイトルの利用 - LLM-as-a-Judgeの結果を参考にTier振り分け、UMAP可視化で確認 6 keyword・question・answerテーブル 
 データセットTier表 

  4. Data-Centricなアプローチが特に役に立ったコンペの紹介② MAP - Charting Student Math Misunderstandings (7位・team gold medal)

    - 数学の問題に対する生徒の回答から、どのような誤解をしているかを AIに予測させるコンペ - ラベルは不均衡、Train/Public/Privateはi.i.d. - LLMによる合成データ作成+擬似ラベル - 3つの異なるデータを用いて、単一の例への過剰適合を回避 - 擬似ラベルを付与することで、ラベルノイズの緩和 - EDA、CVとLBなどを参考に意思決定 7
  5. データを 1. 理解する 2. 増やす 3. 評価する 1. データを理解する まずはデータの分布やタスクに

    ついての理解を深めます。 2. データを増やす Private LBにおける分布を模倣 することを目指してデータを増や します。 3. データを評価する 増やしたデータがスコア改善に 貢献するか評価します。 ※Data-Centric AIの実践方法は、 決まった手順があるわけではなく、 論文やソリューションによって異なりま す。本日紹介する分類は一例です。 8
  6. 思考実験:目的の分布に近いデータセットを用意する 9 仮に目的を、共通テスト数学の本番(≒Private LB)における点数の最大化とする。
 模擬試験(≒Public LB)でもスコアを確認しながら、日々勉強に勤しんでいる。
 共テ数学の過去問(≒コンペ公式のデータセット)はすでに全て解いてしまった。
 追加するべき問題(≒外部データセット)として有力なのは何か?
 ✕共通テスト国語過去問 :


    同じ共通テストだが、分布が違いすぎる
 △数学検定1級過去問 :
 数学試験ではあるが、やや分布が異なる
 〇共テ数学予想問題集、センター試験数学過去問 :
 目的の分布に近い!※発表者はセンター世代のため想像で書きました。共テ世代の方、訂正あればコメントお願いしますm(_ _)m 

  7. Train / Public LB / Private LB の関係性を理解する 10 -

    目的の分布に近い手元データを用意する 
 - 実際にはLBのデータは見えないので注意 
 - i.i.d.ではない場合はさらに工夫が必要 
 good bad
  8. データ特性の何を強化すべきか? 11 Scaling Laws 
 Kaplan et al. (2020) 


    計算量・データ量・パラメータ数を 
 増やせばべき乗で性能が向上。 
 Data Shapley 
 Ghorbani et al. (2019) 
 性能に貢献する価値あるデータを評価。 
 Concept Drift 
 Gama et al. (2014) 
 データは鮮度が命。
 ※ビッグデータの5V: アナリストのDoug Laney氏によって「3つのV」が提唱され、 後年2つのVが追加された概念。 6Vや7Vとする場合もある。 [1] A Chat with Andrew on MLOps: From Model-centric to Data-centric AI(YouTube) [1] 
 Small Data and 
 Label Consistency 
 Active Learning 
 Settles et al. (2009) 
 多様性や不確実性を考慮しデータを増やす。 

  9. Kaggle Winning Formula by ケロッピ先生(hengck23さん) 12 [1] [1] https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025/discussion/587564#3241637 NeurIPS

    - Open Polymer Prediction 2025 にて、「Kaggle Winning Formula 」を教えてもらいました。 
 個人的には、MCAI期間 → DCAI期間 → MCAI期間(適宜さらにDCAIを追加) の順番で試すことが多いです。 
 原文
 翻訳

  10. データを 1. 理解する 2. 増やす 3. 評価する 1. データを理解する まずはデータの分布やタスクに

    ついての理解を深めます。 2. データを増やす Private LBにおける分布を模倣 することを目指してデータを増や します。 3. データを評価する 増やしたデータがスコア改善に 貢献するか評価します。 ※Data-Centric AIの実践方法は、 決まった手順があるわけではなく、 論文やソリューションによって異なりま す。本日紹介する分類は一例です。 13
  11. データを増やす技術の全体像 14 Many Simulation Competitions +α Many Competitions Many Competitions

    Many CV Competitions +α Many NLP/LLM Competitions +α 本日紹介するデータを増やす技術 1. データ生成過程の再現 2. オープンデータの利用 3. 擬似ラベルの付与 4. ルールベースによるデータ拡張 5. LLMによる合成データ作成 その他(本日は紹介せず) - ラベルノイズの修正  - 事前学習済みモデルの利用 - LLM以外の生成モデルによる合成データ作成 - オーバーサンプリング手法 - mixup(複数サンプルをmixして新データ作成) - Back Translation(翻訳された文章を再度翻訳)
  12. データを増やす方法①:データ生成過程の再現 16 データ生成過程の再現 :
 データの生成過程を実際に再現できるなら、 
 新たな学習用データをいくらでも作成可能。 
 ⚠注意点:外部データの利用やハンドラベリングが 


    禁止されているコンペではこの方法は使えない。 
 
 Vesuvius Challenge - Ink Detection では、
 パピルスを実際に作成するチームが登場した[2] 
 [1] https://www.kaggle.com/competitions/um-game-playing-strength-of-mcts-variants/discussion/533088 [2] https://www.kaggle.com/competitions/vesuvius-challenge-ink-detection/discussion/407545 UM - Game-Playing Strength of MCTS Variants 
 では、主催者からシミュレーションコードが提供された[1] 

  13. データを増やす方法②:オープンデータの利用 オープンデータの利用 :
 確立されたタスクの場合は、すでに先行研究、 
 ベンチマーク、コンペなどがある可能性が高い。 
 - ディスカッションでも話題になっているはず 


    - Deep Researchなども活用 
 - Kaggleデータセットで検索 
 ⚠ライセンスに注意。不明点はKaggle内で質問。 
 
 Konwinski Prize は、SWE-benchという有名 
 ベンチマークを発展させたコンペだった。 
 当然既存のデータセットは利用可能。 
 17 NeurIPS - Open Polymer Prediction 2025 
 (機械学習を使用してポリマー特性を予測するコンペ) 
 では、シミュレーションの詳細設定は非公開。 
 ただし、一部のオープンデータが利用可能だった。 
 
 CAFA 5 Protein Function Prediction 
 (タンパク質の生物学的機能を予測するコンペ) 
 では、APIやディスカッションで外部データが共有 された。
                           
 
 [1] https://www.kaggle.com/competitions/cafa-5-protein-function-prediction/discussion/405362 [1]

  14. データを増やす方法③:擬似ラベルの付与 18 擬似ラベル(Pseudo Label) :
 ラベルなしデータに対して、モデルの予測値を付与 した仮のラベルのこと。 
 追加学習に用いて精度を上げる目的で使う。 


    
 
 #22 atmaCup (バスケットボール選手判別チャレンジ)では、 「擬似ラベル」が上位解法に採用された 
 - 外部データを利用している訳では無く、与えられたラベルなし
 テストデータを用いているため、外部データ禁止のコンペでも
 適用可能(なことが多い ← 要ルール確認!)
 Feedback Prize - Predicting Effective Arguments 
 では、過去コンペデータに適用された[1] 
 CMI - Detect Behavior with Sensor Data では、
 「Online Pseudo-Labeling 」が採用された[2]
 - ラベルなしテストデータが手元で確認できない「Code Competition」で あっても、推論時に「擬似ラベル」を
 付与しオンラインで学習することで、モデルを更新できる
 [1] https://www.kaggle.com/competitions/feedback-prize-effectiveness/writeups/team-hydrogen-team-hydrogen-1st-place-solution [2] https://www.kaggle.com/competitions/cmi-detect-behavior-with-sensor-data/writeups/2nd-place-solution 擬似ラベル付与
  15. データを増やす方法④:ルールベースによるデータ拡張 19 ルールベースによるデータ拡張 :
 画像データを始め、回転・反転などのルールベース 
 操作を行うことで、データ拡張が可能なことがある。 
 テキストデータでは、paraphrasing,noising,sampling 


    といったデータ拡張が可能なことがある。 
 ルールベースによるデータ拡張は、計算コストが軽量なため、 
 推論時にも適用可能 (Test Time Augmentation;TTA )
 Kaggle - LLM Science Exam (LLMを活用して科学の多肢選択問題を解くコンペ) 
 - 選択肢をシャッフルしTTAを行うことは自然な発想。ただし、それだけ推論時間が伸びてしまう。5位チーム は、{context} {Q} {A B C D E} {B C D E A} … {E A B C D} のように、全ての
 パターンをconcatすることで、推論を1回に減らし、Position Biasも緩和した。[2]
 [1] Li, Hou, Che (2021) Data Augmentation Approaches in Natural Language Processing: A Survey. arXiv:2110.01852. [2] https://www.kaggle.com/competitions/kaggle-llm-science-exam/writeups/preferred-chattykids-5th-place-solution-llama-2-70 スポーツデータ 
 [1]
 ルールベースによるparaphrasingの例 
 ボードゲームデータ 

  16. データを増やす方法⑤:LLMによる合成データ作成 20 LLMによる合成データ作成 :
 次のように定式化できる: 
 
 
 ①モデル 


    - よりサイズの大きなモデルを使う
 - 複数のモデルを使う
 ②プロンプト 
 - 適切に構造化し、条件付けを行う(Conditional Prompting)
 ③元データ 
 - タスク理解に役立つデータを与える(In-Context Learning)
 - 偏りやノイズの少ないデータを与える
 [1] Long et al. (2024) On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation. arXiv:2406.15126. [2] https://www.kodansha.co.jp/book/products/0000420398 『Kaggleではじめる大規模言語モデル 入門』で紹介されているコンペ 
 8つの内7つ でLLMによる合成データ 
 作成が行われた
 [2]
 [1]

  17. データを 1. 理解する 2. 増やす 3. 評価する 1. データを理解する まずはデータの分布やタスクに

    ついての理解を深めます。 2. データを増やす Private LBにおける分布を模倣 することを目指してデータを増や します。 3. データを評価する 増やしたデータがスコア改善に 貢献するか評価します。 ※Data-Centric AIの実践方法は、 決まった手順があるわけではなく、 論文やソリューションによって異なりま す。本日紹介する分類は一例です。 21
  18. データの評価①:CVとPublic LB 23 〇 △ △ ✕ CV + CV

    - Public LB - Public LB + 成功 リーク? 失敗 過学習? CVとPublic LBからPrivate LBへの寄与を 
 一定推し量ることができる。 
 (i) 両者が連動して改善/悪化した場合は、 
 Private LBも同様の結果となることが多い。 
 (ii) CVのみ改善の場合は、データを増やす過程で、 リークが発生した可能性が高い。 
 (iii) Public LBのみ改善の場合は、過学習の傾向。 
 背景にある ダイナミクス を想像することが大切。 

  19. データの評価②:EDA 24 オリジナルデータと同様に、追加したデータもEDAを行う必要がある。 
 説明変数と目的変数の両面での評価を行う。 
 大きくミクロ視点とマクロ視点 の2種類のEDAがある。 
 生データを見ろおじさん

    
 ※イメージ図 
 ミクロ視点のEDA: 
 生データを直接見ることで、イージーミスを防止。 
 エラー分析も同様に重要。 
 LLMの合成データにおける問題例: 
 - 不要なフレーズ(例: "Sure!")が出力される 
 - 指示したフォーマットを守らない 
 - 不要な補足説明 
 - 別の言語になる 
 - 出力の多様性の欠如 
 マクロ視点のEDA: 
 データの件数が多い場合は、統計情報を確認することが大切。
 高次元データの場合は、UMAP可視化が有力。
 LLM 20 Questions で
 生成したデータは、
 オリジナルに近い。
 MAPコンペ で生成した
 データは、分布に差異が
 あるため、工夫が必要
 だったと考えられる。

  20. データの評価③:Adversarial Validation 25 Adversarial Validation とは、訓練データとテストデータを 
 結合し、データの出所(訓練=0、テスト=1)を目的変数として 
 分類モデルを学習することで、訓練データの中からテストデータ

    
 に類似したサンプルを特定・抽出する手法である。[1][2] 
 適切なCV設計のため、あるいは特徴量選択のために用いられることが多い。 
 合成データ=0、オリジナル=1とすることで、合成データにも応用可能。 
 
 G2Net Detecting Continuous Gravitational Waves (重力波検出コンペ) 
 - 本コンペは、主催者からデータ生成を行うためのAPIが提供された。
 11位チームは、作成した合成データに対してAdversarial Validation
 を適用することで、品質の評価を行った。[3]
 [1] https://fastml.com/adversarial-validation-part-one/ [2] Bickel, Brückner, Scheffer「Discriminative learning for differing training and test distributions」(ICML 2007) [3] https://www.kaggle.com/competitions/g2net-detecting-continuous-gravitational-waves/writeups/volodymyr-11th-place-solution-or-simpler-is-better
  21. データの評価④:LLM-as-a-Judge 26 LLM-as-a-Judge :
 LLMを評価者(Judge)として用いること。 
 人力での評価と比べると、短時間で 
 大量のデータに対して、評価が可能。 


    次のように定式化できる: 
 
 
 LLM 20 Questions解法におけるLLM-as-a-Judge 
 - “question”を約500件用意
 - “keyword”候補に対して、LLM-as-a-Judgeを行い、
 “answer”を得る(yes, no, unsure, irrelevant)
 - yes, no以外はtieとしてまとめることで
 max_tokens=1に節約可能 
 - tieが50未満 かつ yesが50以上 
 - Wikipediaのタイトルに存在する
 [1] Gu et al. (2024) A Survey on LLM-as-a-Judge. arXiv:2411.15594. [1]
 keyword・question・answerテーブル 
 データセットTier表 
 Tokenization可視化 
 →Tier1
  22. 余談:MAPコンペの個人的な反省 27 3行振り返り 
 - 序盤:gemma-2-9b-it + LLMによる合成データ でCVとLBを向上させ金メダル圏内へ! 


    - 中盤:チームマージ後のチームメイトのDeepSeekやQwenではなぜか逆効果... 🤔
 - 終盤:擬似ラベル付与でラベルノイズ緩和、チームメイトの圧倒的パワーで7位金メダル獲得! 
 
 
 
 個人的な反省 
 - UMAP可視化などのEDA をもう少し丁寧に行うべきだった 
 - gemma-2-9b-it以外のモデルも早い段階で試すべきだった( MCAIとDCAIは両輪で回すべき!) 
 - LLM-as-a-JudgeやAdversarial Validation などを行わず、フィルタリングを疎かにしてしまった 

  23. 何から始めるべきか? 30 ②応用 論文や過去コンペのソリューション から生きた事例を学ぶ。 基礎の組み合わせということが多い。 ③実践 実際のコンペで試し、 知識を経験に昇華する。 適用可能な状態に帰着

    させることが大切。 ①基礎 DCAIの要素技術のインプット。 - 「Data-centric AI入門」[1] CVとLBに対する理解を深める。 - 「shake-upを科学する」[2] - 「Kaggleへの取り組み方~validation編~」[3] [1] https://gihyo.jp/book/2025/978-4-297-14663-4 [2] https://speakerdeck.com/rsakata/shake-upwoke-xue-suru [3] https://docs.google.com/presentation/d/1cjZTtvBDiHci1Hlc33UH9LVJXyj2t5Hh9ZiHnp3BgVk/edit#slide=id.p