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
Rust 並列強化学習
Search
NearMeの技術発表資料です
PRO
July 18, 2025
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust 並列強化学習
NearMeの技術発表資料です
PRO
July 18, 2025
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
AIエージェントのための 隔離された安全なインフラ設計
nearme_tech
PRO
0
25
Claude Code × git worktree で並列開発 (続き) -差分のサービスだけを併設する-
nearme_tech
PRO
1
69
Claude Code × git worktree で並列開発 — サブモジュール構成のリポジトリで成立させる —
nearme_tech
PRO
0
79
LLM + 強化学習
nearme_tech
PRO
0
37
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
110
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
2
71
初めてのLean言語
nearme_tech
PRO
0
110
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
2
50
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
93
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Site-Speed That Sticks
csswizardry
13
1.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Discover your Explorer Soul
emna__ayadi
2
1.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
How STYLIGHT went responsive
nonsquared
100
6.3k
A better future with KSS
kneath
240
18k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
Transcript
0 Rust 並列強化学習 2025-07-18 第126回NearMe技術勉強会 Takuma KAKINOUE
1 今回のテーマ • Rustで強化学習のDQNアルゴリズムを実装した ◦ https://zenn.dev/kakky_hacker/articles/652bd7f9a1e6c1 • 今回はDQNを並列化し、マルチエージェントで強化学習してみる
2 並列化のアーキテクチャ 環境サーバ_1 環境サーバ_n ・・・ n台 Agent_1 Agent_m ・・・ m個
リプレイバッファ gRPC通信 gRPC通信 1プロセス mスレッド
3 実装解説 • 左のコードのようにmemoryをMutexで包みつつTransitionBufferを定義 • 各agentにArc::cloneでTransitionBufferのインスタンスの参照を渡す ※TransitionBufferに経験をappendするとき、Q関数ネットを更新するために経験をサン プリングするときは、self.memory.lock()を⾏うことで排他制御する
4 実験概要 • OpenAI GymのLunarLander-v3で実験 ◦ https://gymnasium.farama.org/environments/box2d/lunar_lander/ ◦ DQN(single) vs
並列DQN(multi)で⽐較
5 実験結果 • 横軸:エピソード、縦軸:訓練中の報酬(10エピソード移動平均) ※ 並列DQN(multi)は9個並列で学習し、一番性能の良かったagentの軌跡をプロットした 並列化した方が安 定している!
6 パフォーマンス⽐較 • single(Python) ※参考 ◦ 実⾏時間:410 s ◦ 使⽤メモリ:93.3
MB • single(Rust) ◦ 実⾏時間:360 s ← Pythonと⽐べて約12%削減! ◦ 使⽤メモリ:79.7 MB ← Pythonと⽐べて約15%削減! • multi(Rust)※9並列 ◦ 実⾏時間:727 s ← singleの約2.0倍に留まった! ◦ 使⽤メモリ:- ※ 実行時間は始め200エピソードにかかった時間 今回の本筋と関係ないが、 一応Rustの優位性を実証 とはいえ、 9並列はtoo muchだったかも(最適な並 列数はありそう ..!)
7 まとめ • リプレイバッファを複数agentで共有するだけというシンプルなアプ ローチで、学習を安定化&効率化させることに成功! • Rustを使うことで、簡単に並列学習を実装できた!
8 今後の展望 • リプレイバッファからのサンプリングの⼯夫 • エージェント毎にハイパーパラメータを変化させて並列学習 • DQNだけでなくPPOやSACなどのアルゴリズムも並列化させて性能検証
9 おわりに • Starよろしくお願いします!⭐ ◦ https://github.com/kakky-hacker/reinforcex
10 実験⽅法詳細 • モデル ◦ 全結合ネットワーク ◦ ニューロン数:300個 ◦ 中間層:2層
◦ 活性化関数:relu • 最適化関数 ◦ Adam ◦ 学習率:3e-4 • DQNのハイパーパラメータ ◦ 更新間隔:8 step ◦ ターゲットネットワークの更新間隔:50 step ◦ ⽅策:ε decay ε-greedy(1.0→0.05, 10000 step) ◦ 割引率:0.99 • CPU → Intel Corei7-10870H, GPU→なし
11 Thank you