Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サンタコンペの話をさくっと
Search
nagiss
October 24, 2025
Technology
0
4
サンタコンペの話をさくっと
2025/2/6のDeNA/Go AI技術共有会の発表資料です。
nagiss
October 24, 2025
Tweet
Share
More Decks by nagiss
See All by nagiss
Fujitsuの量子化技術を完全理解する
nagiss
0
28
F0推定の手法を色々試してみる
nagiss
1
1.1k
音信号の電子透かし
nagiss
0
580
F0推定アルゴリズムHarvestは中で何をしているのか
nagiss
3
1.6k
ヒューリスティックコンテストで機械学習しよう
nagiss
10
6k
XNNPACKを直接使ってみた
nagiss
0
790
SantaとAHCと遺伝的アルゴリズム
nagiss
8
4.1k
Kaggleシミュレーションコンペの動向
nagiss
2
1.3k
Other Decks in Technology
See All in Technology
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
3
4.4k
LINEヤフー バックエンド組織・体制の紹介
lycorptech_jp
PRO
0
830
Bedrock のコスト監視設計
fohte
2
210
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
210
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
380
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
750
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
3.1k
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
60
21k
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
2
150
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.5k
自然言語でAPI作業を片付ける!「Postman Agent Mode」
nagix
0
110
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Producing Creativity
orderedlist
PRO
348
40k
Typedesign – Prime Four
hannesfritz
42
2.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Building Applications with DynamoDB
mza
96
6.8k
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 に食わせる数を絞る 我々の解法 (本質的な部分の概要のみ)