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
nagiss
October 24, 2025
Technology
83
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
910
F0推定の手法を色々試してみる
nagiss
1
1.5k
音信号の電子透かし
nagiss
0
1.5k
F0推定アルゴリズムHarvestは中で何をしているのか
nagiss
3
1.9k
ヒューリスティックコンテストで機械学習しよう
nagiss
10
7k
XNNPACKを直接使ってみた
nagiss
0
990
SantaとAHCと遺伝的アルゴリズム
nagiss
8
4.4k
Kaggleシミュレーションコンペの動向
nagiss
2
1.8k
Other Decks in Technology
See All in Technology
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
190
Kiro Crew 入門 (手を離しても進む仕事) | 目指せ Kiro マスター 11
inariku
PRO
4
650
SREのためのFinOps入門
muziyoshiz
1
250
eBPF 簡介 2026 版
shunghsiyu
0
190
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
290
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
210
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
130
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
1.6k
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
240
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
200
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
610
Technical Leadership for Architectural Decision Making
baasie
3
640
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
First, design no harm
axbom
PRO
2
1.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
510
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
3
1.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
68k
Mind Mapping
helmedeiros
1
430
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
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 に食わせる数を絞る 我々の解法 (本質的な部分の概要のみ)