「関西Kaggler会 交流会 in Osaka 2024#3」に参加してきました

2024/11/09に公開

関西Kaggler会にはじめて参加してきました。とても楽しかったので、Xに投稿したメモを使って振り返りたいと思います。

関西Kaggler会とは

https://kansaikaggler.studio.site/

関西Kaggler会は、有志によるKaggleコミュニティです。 関西を拠点に、企業や組織の垣根を超えて、データサイエンティストの交流を促すために活動をしています。kaggleやデータ分析が好きで、関西在住の方、関西に縁がある方、関西が好きな方が参加できます。

公式サイトによると、2021年12月の忘年会が始まりで、今回で10回目になるようです。今年は既に3回も開催されており、人気の高まりが伺えます。

関西Kaggler会 交流会 in Osaka 2024#3

https://kansaikaggler.connpass.com/event/326615/

会場は、グラングリーン大阪内にあるさくらインターネット社提供の「Blooming Camp」。9月にオープンしたばかりの新しい会場です!そこで関西Kaggler会ではお決まりの「はじまりの儀式」で会がスタートしました(下に、なんや様、Aufify様のツイートを引用させていただきました)。

参加者のKaggleランクはNoviceが最多で、居住地で見ると関西以外からの参加者が半数以上でした(実質、日本Kaggler会では?と思ってしまったのはここだけの話)。

https://x.com/nanya3737/status/1834462893993263612

https://x.com/AutifyJapan/status/1854768853370511439

さて、ここからはイベントの内容について、Xへの投稿メモを元に振り返っていきます。

※聞き間違いや解釈間違いがあるかもしれません。お気づきになられた方はぜひお知らせください。

第一部 - 初心者に優しい

どうやったらkaggleでいい成績をとれるか - すえさん

元ツイート:https://x.com/pinokio7kayo/status/1854738376865595794

  • 実際には自作キーボードの話
  • セパレートタイプのキーボードを作成している
  • メリット
    • ①市販品にはないキー配置のものを選べる
    • ②キーマッピングも自由
    • ③セパレートタイプにすれば、机の一等地が空く!(技術書置いたり)
    • ④カスタマイズが楽しい
      • キースイッチ、キーキャップの選択肢が無限にある
      • 無線にしたり
    • ⑤セパレートタイプなら肩が凝らない
  • デメリット
    • 気づいたら出費がかさむ

QAセッションでは、自作キーボードを使うとKaggleで良い成績を残せるのか!?といった面白い議論も。

自作キーボードのケース作成 - たかまるさん

元ツイート:https://x.com/pinokio7kayo/status/1854742436800872944

  • 10台以上のキーボードを自作し、総額50万以上!
  • 昨年、勢いで3Dプリンターを買ってしまった。けっこう高かったので使い道を探した結果、自作キーボードのケースを作ることに。
  • オススメのCADはFusion360。初心者でも使いやすい。CADはGPUを使用するためkagglerと相性が良いはず。
  • オススメの書籍は、Fusion360マスターズガイド、自作キーボードガイド?(KaggleでいうGMのような自作キーボード界のレジェンドが書いた書籍)。
  • オススメの3Dプリンタは、Bambu lab A1 miniとか。
  • QAセッション
    • キーボードを作るときもKaggleと同じで睡眠を削っている
    • 普段使ってないキーボードは観葉植物と同じように飾っている

諸事情により、無茶振りで当日朝に登壇依頼を受けたそうですが、スライドと発表内容のクオリティが高く、素晴らしいセッションでした!

Kaggle推進チームコンペ - boboさん

元ツイート:https://x.com/pinokio7kayo/status/1854747188402045096

  • コンペは主にチームで参加しているが、方針を決めた後はほぼ個人プレイになっている
    • ノートブックは共有して、精度が良かったコードを自分のコードにも追加する
    • 隔週でやることを会話する
  • 疑問
    • ①他社と比較するとチームの良さを引き出せてない?
    • ②参加してる人が毎回違う。同じ人が参加してくれていない。チームで楽しめてない?
  • 改善案
    • ①スキルや経験に応じてタスク振り分け
    • ②気軽に相談できる環境を作る。コンペのことを忘れない仕組みを作る
    • ③学ぶことよりも上位を狙う、メンバーそれぞれの目的を明確にする。振り返りをする。

仕事ではない場合、チームで意識を合わせることの難しさに共感しました。

会社をKaggleで変えていく - Itoさん

元ツイート:https://x.com/pinokio7kayo/status/1854751221925790182

  • Kaggle初心者なのでタイトル変えます!ということで
  • 「会社を変えるヒーローの作り方」について
  • 「会社を変える」には「意識改革」が必要で、そのためには「コミュニティを外で知る」ことが必要。社内DSコミュニティを運営し、メンバーを3000人以上集めた。でも、会社を変えるところまで、つながらない。
  • 自分を正しく認識して行動し続ける人、そういう人達がヒーロー
  • 例:
    • 全社で誰でも使えるデータ分析環境を作った人
    • チャレンジしやすいカルチャーを作った人
    • 社内コンペを開催した人
    • 7万人の会社で1万人が参加するコミュニティを作った人
  • 未来のヒーローは、インプットする機会に加えて、活躍する場と認められる場を用意するして育てる
  • たくさんのヒーローが生まれればコミュニティの価値が高まる
  • QAセッション
    • Googleで1ヶ月みっちり勉強してきてもらって、会社にその知識を還元してもらう環境を整えている。活躍の場として、社内コンペの優秀者には役員レベルの人に向けてアピールする機会を設ける。
    • 一歩目を踏み出す雰囲気、カルチャー作りが大事。

行動変容を促す、行動した人に活躍の場を設ける。マネジメント層の方は大体同じことで悩んでおられることがわかり、こちらも大変共感しました。

KaggleカーネルでvLLM x Gemmaを動かす - こへっちさん

https://speakerdeck.com/kohecchi/kaggle-kernel-de-gemma-2-x-vllm-wodong-kasu

元ツイート:https://x.com/pinokio7kayo/status/1854757137605652730

  • Gemmaが最近のコンペで活躍。vLLMが高速らしい。
  • Gemma2をvLLMで動かしたくなる話
    • LMSYS上位解法はみんなGemma2を使ってデータ並列で推論。ただし時間がかかる。
    • HuggingFaceからvLLMに変えるだけで、コードもシンプルに、数時間が数分レベルに
  • Gemma2をvLLMを動かしたくなくなる話
    • Kaggleカーネルで実行すると、基本的にエラーになる
    • GitHub issueには、もっと新しいGPUになるのを待つしかないと書いている人も。configの設定を少し修正すると一つ目のエラーは回避できるが、次から次へとエラーが発生する
    • casualタスクでは使えるが、classificationは使えない

第二部 - kaggleガチ勢から学ぶ

NeurIPS - Ariel Data Challenge 2024振り返り - motoさん

https://www.docswell.com/s/6883279/K1RXRP-2024-11-08-162001

元ツイート:https://x.com/pinokio7kayo/status/1854766140742156712

  • 現役大学生。今まで取り組んだコンペは時系列データが多め。
  • 「NeurIPS - Ariel Data Challenge 2024」には、関西kaggler会で知り合ったメンバーとチームを組んで1ヶ月チャレンジ。シェイクアップして銀メダル👏
  • 物理系コンペで大事なこと
    • データの振る舞いには物理法則による単純な規則があることが多い
    • =データに物理現象がどのように関わっているか想いを馳せる
  • コンペの概要
    • 可視光線のデータ(FSG1: 時間x空間x空間、AIRS: 時間x空間x波長)やセンサーデータを使って、恒星と惑星のタスク
  • 難しかったところ
    • 問題設定、データがノイジー、センサーの状態がサンプルごとに異なる、空間次元の解像度が小さい、サンプル数が少ない、など
  • 共有されていたアイデア
    • light curve: センサーが感知した光量の時間変化を表す曲線
    • transit中(光量がゼロになっている時間帯)のlight curveを持ち上げて多項式フィッティングする
      • ※trainsit中の光量はゼロではなく、transit外の光量の0.9999倍くらいのスケールだそうです。ブログ公開後に、登壇者のmotoさんからコメントをいただきました。motoさん、ありがとうございました。
  • 解法
    • 画像の中央付近をcrop
    • 波長方向にsliding windowで平均化
    • 各波長ごとのlight curveを使う
    • FGS1はノイズが多かったのでwl_1の予測は全波長で平均を取ったlight curveで予測
    • transit中の範囲を持ち上げる量を各波長ごとに最適化、など
  • 上位解法(1-10位)
    • ノイズの対処
      • Savitzky-Golay filter(局所的に多項式でフィッティング)
      • 時間方向にbuffer filter
      • 波長方向にhann window
      • 波長方向の近傍でexponential smoothing
      • light curveをSVDでノイズ除去など
    • センサーのキャリブレーション方法
      • Hot Pixel Processを変更
      • foreground light(恒星がなくてもセンサーが光を検出してしまう影響)の除去
      • 周りのピクセルを用いて壊れたセンサーのデータの補正(空間の位置は同じで、波長が近くの値を使う)
    • ここで時間切れ!

技術の話が一番多い発表でしたが、時間切れとなり全てはお聞きできませんでした。資料を拝読します!

GMになるまでの話 - penguin46さん

元ツイート:https://x.com/pinokio7kayo/status/1854772413378314709

  • 現役大学生。AtCoderでも強々。競プロからKaggleに。
  • 初参加はIndoorコンペ。最初辛かったが途中でスコアが跳ね上がり、そこでKaggleの沼にハマる。チーム内では競プロ的な後処理で活躍し、Masterになる。
  • その後、一時休止して、AHCなどをやる。
  • NLF3コンペで復帰。Benetechコンペがターニングポイントで、ad-hocな解法を考える前に過去コンペの知見を調べるという意識が生まれた。それ以降、安定して金メダルを取れるようになった。
  • Kaggleで強くなるには、過去コンペを勉強して、知見を順番に試す
  • ソロ金を取るには自分の得意なコンペを狙う

Kaggleコンペsoloで参加するときの選び方 - takoiさん

元ツイート:https://x.com/pinokio7kayo/status/1854777002022351130

  • solo金を狙う条件は
    • 自分1人でアンサンブルできる
    • 最終submission選択が難しい、Shakeしやすそう
  • 1人でアンサンブルできるように、必要なスキルセットを身につける
    • 例)時系列データコンペの場合、TransformerとLightGBMを使えれば1人でアンサンブルできる。
  • 最終submissionを選択するときには、運の要素がある。1人の場合、リスクを取れる。
  • QA
    • 健康にKaggleをする秘訣は、毎日運動する、早寝早起きする。コンペ開催中も23時前には寝るようにする。その代わり朝は5〜6時に起きる。夜型の人とチームを組むと24時間体制で取り組めるのが利点。
    • GBDTとNNは結構極め方が違う。アンサンブルするときはまずNNに取り組んでいる。NNでしか勝てないコンペや、学習に時間がかかる場合があるので。中途半端にならないようにスケジュールを組んでいる。自分にとって時間がかかりそうなところを先にするのがおすすめ
    • 会社の支援は分析環境と業務時間。最近の打率は7-8割✨

トラブルがあったコンペに学ぶデータ分析 - terekaさん

https://speakerdeck.com/tereka114/toraburugaatutakonpenixue-budetafen-xi

元ツイート:https://x.com/pinokio7kayo/status/1854781498622460335

  • 参加者が納得できなかったコンペ。
  • ライセンス問題。例えば、データセットに登場している個別の人物からの許可が必要とホストから要望があった。その許可が取れなかったLBの1位と2位が失格になった。
  • 学習データとNotebookの評価データが重複してリークしていた。
  • 画像の解像度がまちまち。
  • データが少なく、十分に学習ができない。
  • 内容は面白かったけど、コンペ期間が2回延長(合計1.5ヶ月)された。
  • 匿名化されているはずの情報が復元できるという問題が発見され、2週間延長された。
  • 教訓
    • データリークさせない
    • ライセンスに気を付ける
    • データ数に気を付ける
  • 良いコンペの選び方
    • ディスカッションにホストがどの程度関与しているか
    • コンペの参加者のランクを見る、など

いろんなものと両立するKaggleの向き合い方 - paoさん

https://speakerdeck.com/go5paopao/ironnamonotoliang-li-suru-kagglenoxiang-kihe-ifang

元ツイート:https://x.com/pinokio7kayo/status/1854787022852165731

  • コンペ歴6年、子供6歳。子供が産まれてすぐにパパKagglerに。
  • 【継続】蓄積量で勝つ。Kaggleは知見がたまって強くなりやすい。ただ、継続が難しい。
    • 対策①:変化をつける(ソロ、チーム、分析環境など)
    • 対策②:間をあけすぎない
    • 対策③:Kaggler同士のコミュニティへ参加(現役でkaggleやってる人と交流する)
    • 対策④:マイペースで
    • 継続前提であればあるほど、ちゃんとした解決探しが効いてくる=急がば回れ
  • 【コミット強弱】無理な両立は続かない
  • 【ポータビリティ】隙間時間でKaggleができる環境を用意する。スマホでEDAを見れるように、notebookをkaggleで作っておく。ノートPCを持ち歩く。
  • 真の両立を目指して、やることをやった上でKaggleをする。自分のための時間も大事。

自分が苦手とする「継続は力なり」を体現しておられて、グサグサと刺さりました。

第三部 - スポンサーセッション

Aufity様、さくらインターネット様、Udemy様、Panta Rhei様、Turing様、エクサウィザーズ様、Elith様より、会社概要、事業概要、採用に関するご紹介がありました。

運営の裏話

  • 椅子が足りなくて急きょ20脚をニトリで購入
  • 学生さんが会場準備を手伝ってくれました
  • Xでの投稿数、まさかのアナログ集計してました

謝辞

運営の皆様、スポンサーの皆様、登壇者の皆様、素晴らしい機会を提供していただきありがとうございました。

スポンサー様のご支援により、豪華なプレゼントが参加者の皆様に提供されました。Xへの投稿数が多かったので、優先的に選ばせていただきました。ありがとうございました。今年の冬は関西Kaggler会のロゴ入りマグカップを手に、Kaggleに向き合いたいと思います。

https://x.com/pinokio7kayo/status/1854817493409550672

おまけ - オススメの大阪グルメ

関西圏以外から来られている方に。くくるのとろっとろのたこ焼きと、松葉の立ち飲み串カツがオススメです。

Discussion