Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サンタコンペの話をさくっと
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nagiss
October 24, 2025
Technology
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サンタコンペの話をさくっと
2025/2/6のDeNA/Go AI技術共有会の発表資料です。
nagiss
October 24, 2025
More Decks by nagiss
See All by nagiss
Fujitsuの量子化技術を完全理解する
nagiss
0
880
F0推定の手法を色々試してみる
nagiss
1
1.5k
音信号の電子透かし
nagiss
0
1.4k
F0推定アルゴリズムHarvestは中で何をしているのか
nagiss
3
1.9k
ヒューリスティックコンテストで機械学習しよう
nagiss
10
6.9k
XNNPACKを直接使ってみた
nagiss
0
980
SantaとAHCと遺伝的アルゴリズム
nagiss
8
4.3k
Kaggleシミュレーションコンペの動向
nagiss
2
1.8k
Other Decks in Technology
See All in Technology
今さら理解するウェブフォントver.2026
takanorip
3
920
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
120
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
310
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
100
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
7
5.1k
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
630
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
180
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
290
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Typedesign – Prime Four
hannesfritz
42
3.2k
Building Applications with DynamoDB
mza
96
7.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Optimising Largest Contentful Paint
csswizardry
37
4k
KATA
mclloyd
PRO
35
16k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Transcript
AI 2025.02.06 nagiss 株式会社ディー・エヌ・エー サンタコンペの話を さくっと
AI 2 ▪ 自己紹介: サンタコンペに現れる人 ▪ 今回優勝したのでその話をします 初めに コンペの名前で韻を踏んでたことに初めて気づいた というか今年の名前去年とほぼ同じじゃないか
AI 3 ▪ 毎年恒例の最適化系 Kaggle コンペ ▪ 今年は参加チーム数 1514 と
(謎の) 大盛り上がり ▪ 金メダルが 13 チームになったのは 2019 年以来 ▪ (メダル確定後時点で) 金圏に GM が 14 人いる、良コンペかな? サンタコンペ
AI 4 ▪ 概要 ▪ 与えられた単語列を並び替えて Gemma 2 9B で計算した
Perplexity を最小化してください ▪ Gemma が一番出力しそうな文を作れと言ってるのに近い ▪ 問題数 (単語列の種類) は 6 ▪ それぞれの Perplexity の平均が LB スコア ▪ 単語数はそれぞれ 10, 20, 20, 30, 50, 100 サンタコンペ今年のお題 ID0 ID5
AI 5 ▪ 特徴 ▪ 9B model x 16bit float
= 18GB の VRAM をロードだけで消費 ▪ 24GB 程度以上の GPU を使えないと土俵に上がれない ▪ スコア計算が重すぎる ▪ A100 使って 1 秒に (確か) 50 回くらいしか計算できない ▪ GPU 資源多く使える人は有利 ▪ C++ などの高速な言語を使う必要がない ▪ スコア計算がブラックボックスに近い ▪ 差分計算のような高速化テクニックを使う余地が少ない ▪ 解法の工夫の余地が限られる ▪ ある意味初心者向け サンタコンペ今年のお題
AI 6 ▪ ID0 ▪ 長さ 10 の解は 10! =
3628800 通りしかないので総当たりで最 適解が求まる ▪ ID0 以外 ▪ 総当たりは無理 ▪ ID5 は長さ 100 なので 100! = 93326215443944152681699238856266 7004907159682643816214685929638952175999932299156089414 6397615651828625369792082722375825118521091686400000000 0000000000000000 通りの解がある (本当は重複した単語があるのでもう少し少ない) ▪ 単語順が似ていればスコアも近いこと (近接最適性) を利用して、 スコア計算の対象を効率的に選択する 基本的な解法 (一般的な最適化の話)
AI 7 ▪ ID0 以外 ▪ 単語順が似ていればスコアも近いこと (近接最適性) を利用して、 スコア計算の対象を効率的に選択する
▪ 例 (山登り法): 既知の最良の解から単語 1 つを別の箇所に移動させて、 スコアが良くなれば既知の最良の解を更新、これを繰り返す ▪ ただし、これだけでは簡単に局所解に嵌ってスコアを改善できなくなる 基本的な解法 (一般的な最適化の話)
AI 8 ▪ さっきの山登り法を 3 段階くらい強化する ▪ 強化 1: Kick
を導入する (反復局所探索法にする) ▪ 局所解に嵌って単語の移動くらいでは改善できなくなった時に、強 制的に単語列をランダムに変更する ▪ 強化 2: 山登りで DFS を行う ▪ 単語移動させてスコアが改善しなかったけどほとんど悪化もしな かった場合に、さらにその単語列の周りも再帰的に調べる ▪ 強化 3: 有望な単語列を小さい NN で判別しフィルタリングする ▪ どう見てもその単語順では改善しないだろ、というのを小さい NN で事前に予測し除外して Gemma に食わせる数を絞る 我々の解法 (本質的な部分の概要のみ)