Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【RSJ2025】PAMIQ Core: リアルタイム継続学習のための⾮同期推論・学習フレームワーク
Search
Geson Anko
September 04, 2025
Science
0
380
【RSJ2025】PAMIQ Core: リアルタイム継続学習のための⾮同期推論・学習フレームワーク
第43回 日本ロボット学会学術講演会(RSJ 2025)で発表した際に用いたスライドです。
公開にあたり、一部修正があります。
https://ac.rsj-web.org/2025/
Geson Anko
September 04, 2025
Tweet
Share
More Decks by Geson Anko
See All by Geson Anko
2025年12月3日.人類には激kawaiiネコミミメイドロボが必要である
gesonanko
0
9
ML集会 2025年10月15日 LTのはじめかた
gesonanko
0
28
Pythonクラス基礎
gesonanko
1
110
自律機械知能基礎論 2024
gesonanko
0
22
2024年5月18日 XRMTGエンジニア飲み集会LT
gesonanko
0
13
AMI System基礎 2025
gesonanko
1
66
2025年1月10日 エンジニア集会 誰かと開発するために
gesonanko
0
87
2024年3月27日 ML集会 非同期AMI基盤システムα
gesonanko
0
41
非同期AMI Sys ロードマップ to Milestone 2
gesonanko
0
33
Other Decks in Science
See All in Science
機械学習 - 授業概要
trycycle
PRO
0
280
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
1k
研究って何だっけ / What is Research?
ks91
PRO
2
160
安心・効率的な医療現場の実現へ ~オンプレAI & ノーコードワークフローで進める業務改革~
siyoo
0
410
白金鉱業Meetup_Vol.20 効果検証ことはじめ / Introduction to Impact Evaluation
brainpadpr
2
1.4k
【論文紹介】Is CLIP ideal? No. Can we fix it?Yes! 第65回 コンピュータビジョン勉強会@関東
shun6211
5
2k
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.2k
2025-06-11-ai_belgium
sofievl
1
200
力学系から見た現代的な機械学習
hanbao
3
3.4k
NASの容量不足のお悩み解決!災害対策も兼ねた「Wasabi Cloud NAS」はここがスゴイ
climbteam
1
250
Collective Predictive Coding as a Unified Theory for the Socio-Cognitive Human Minds
tanichu
0
130
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1k
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
790
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Cult of Friendly URLs
andyhume
79
6.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Rails Girls Zürich Keynote
gr2m
95
14k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
KATA
mclloyd
PRO
32
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Transcript
リアルタイム継続学習のための ⾮同期推論・学習フレームワーク ML集会, GOP Co., Ltd. 撮影OK
1 はじめに • ⼀般の深層学習 ⼤規模なオフライン学習 → 静的なパイプライン実⾏ • 強化学習 推論(環境インタラクション)と学習を交互実⾏
→ 推論停⽌時間が発⽣ 動的に学習したい。しかし、 推論停⽌する間も時間は進む! 学習と推論の同時実⾏の必要性 • “PAMIQ Core” を実装 リアルタイムに継続学習する機械知能を簡単に作れるように • PAMIQにおいて、これらの課題を解決したシステムを実装 汎⽤的な枠組みの発⾒ → 再利⽤可能にする価値
2 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済
3 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済 起動 推論 スレッド 学習 スレッド 制御 スレッド
4 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済
5 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済 Gymnasium
6 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済
7 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済
8 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済
9 PAMIQ Coreの特徴 • マルチスレッドアーキテクチャ シンプル・軽量な3スレッド(制御・推論・学習)実装 • モジュラー設計 コンポーネントを基底クラスを元に実装。 •
既存フレームワークとの統合 PyTorch, Gymansium (OpenAI Gym) • 継続学習の運⽤⽀援機能 インタラクティブ制御コンソール、状態保存など • 段階的なサンプル 最⼩実装から実⽤サンプル、VRChatへの実装まで • “pip install pamiq-core” で即利⽤可能 Python Package Index (PyPI)へ公開済 詳細は論⽂要旨 ドキュメンテーションサイトへ https://mlshukai.github.io/pamiq-core/
11 システムの外観 フラグ・命令 フラグ・命令 起動 推論スレッド 学習スレッド 制御スレッド • ⼀時停⽌
• 再開 • 終了 • 状態保存 • 世界と インタラクション • 学習データを収集 観測取得 ⾏動⽣成 データ収集 • モデルパラメータを 更新 実⾏条件チェック 学習を実⾏ パラメータ同期 移動 モデル パラメータ 学習 データ 同期 コマンド フラグ ユーザー定義領域
12 各コンポーネントについて
14 各コンポーネントについて • Interaction, Agent, Environment 強化学習的な観測・⾏動ループの実装 推論スレッド⽤ • Agent:
意思決定(ユーザー定義) • 観測から⾏動を⽣成 • 学習データを収集 • Environment: 観測・⾏動処理(ユーザー定義) • 観測を返す(実環境から取得) • ⾏動を作⽤(実環境で実⾏) • Interaction: 観測・⾏動ループの実現 • AgentとEnvironmentを繋げる Interaction Environment 観測 ⾏動 Agent Gymnasiumの環境を Environmentとして利⽤可能!
16 各コンポーネントについて • TrainingModel, InferenceModel 機械学習モデル定義 • TrainingModel(⚠ モデルの主体) •
学習スレッド上の処理フローを記述 • InferenceModelの⽣成 • パラメータの同期処理 • InferenceModel • 推論スレッド上の処理フローを記述 ⚠ 同期排他制御の実装要求 • 推論時 • パラメータ同期時 Training Model Inference Model ⽣成 パラメータ 同期 パラメータ更新 推論 排他制御
17 各コンポーネントについて • TrainingModel, InferenceModel 機械学習モデル定義 • TrainingModel(⚠ モデルの主体) •
学習スレッド上の処理フローを記述 • InferenceModelの⽣成 • パラメータの同期処理 • InferenceModel • 推論スレッド上の処理フローを記述 ⚠ 同期排他制御の実装要求 • 推論時 • パラメータ同期時 Training Model Inference Model ⽣成 パラメータ 同期 パラメータ更新 推論 PyTorchモデルを 簡単に導⼊可能! 排他制御
22 各コンポーネントについて • DataBuffer, DataCollector, DataUser 学習データの貯蔵と収集、利⽤ • DataBuffer :ユーザー定義(蓄積、取得)
• DataCollector :推論スレッドインターフェイス • DataUser :学習スレッドインターフェイス DataCollector DataUser Queue DataBuffer update add ⼀時的に蓄積 (推論スレッド内) 同期時にバッファへadd (学習スレッド内) get_data collect 排他制御(スレッドセーフ化)
24 各コンポーネントについて • Trainer 学習処理や実⾏可能条件の記述 学習スレッド⽤ • 学習データの取得とパラメータ更新、同期 • 実⾏可能条件の実装(ユーザー定義可能)
• デフォルトの条件 • ⼗分なデータの蓄積 • ⼗分な新規データ数 → 安定した継続学習のため 処理順序 PyTorch統合では 便利な基底クラスを実装済! 実⾏条件チェック 学習を実⾏ パラメータ同期
25 各コンポーネントについて • launch, LaunchConfig 全てをまとめ、システムを起動する。 • launch関数 処理の起点 •
ユーザー定義のInteraction(Agent, Environment), Model, Buffer, Trainerを与える
26 各コンポーネントについて • launch, LaunchConfig 全てをまとめ、システムを起動する。 • launch関数 処理の起点 •
ユーザー定義のInteraction(Agent, Environment), Model, Buffer, Trainerを与える • システムの状態保存設定 • リスタートする状態パス • 時間スケール • などなど設定可能 LaunchConfig
27 同期システムについて
28 同期システム • 設計哲学 絶対に推論処理を⽌めない リアルタイム処理の実現
32 同期システム • PyTorchモデル 学習スレッドで更新したパラメータを推論スレッドに同期する • 純粋なパラメータコピーは !(size) の計算時間 →
同期時間増加、⼤規模モデルを採⽤しにくい • ソリューション → 参照スワップ (擬似同期処理) 推論スレッドから学習スレッドにコピー • Pros: 参照移動のみのため !(() の計算時間 • Cons: RNNの隠れ状態などをAgentクラス内で管理する必要性 → スワップ時に⼊れ替わる問題 交換 旧 モデル 新 モデル 新 モデル 旧 モデル パラメータコピー 推論 スレッド 学習 スレッド
33 同期システム • 学習データ 推論スレッドで収集したデータを学習スレッドへ受け渡す 参照移動で同期時間を最⼩化 同期処理 1. キューを新規⽣成 2.
既存キューと置換 3. キューオブジェクトごと移動 • Cons: キューのサイズを事前に設定する必要性 (オーバーフロー対策) キュー 推論 スレッド 学習 スレッド バッファ
34 同期システム • 学習データ 推論スレッドで収集したデータを学習スレッドへ受け渡す 参照移動で同期時間を最⼩化 同期処理 1. キューを新規⽣成 2.
既存キューと置換 3. キューオブジェクトごと移動 • Cons: キューのサイズを事前に設定する必要性 (オーバーフロー対策) 推論 スレッド 学習 スレッド バッファ 移動 キュー 新規作成・置換
35 同期システム • 学習データ 推論スレッドで収集したデータを学習スレッドへ受け渡す 参照移動で同期時間を最⼩化 同期処理 1. キューを新規⽣成 2.
既存キューと置換 3. キューオブジェクトごと移動 • Cons: キューのサイズを事前に設定する必要性 (オーバーフロー対策) 推論 スレッド 学習 スレッド バッファ 移動 キュー 新規作成・置換 +
36 同期システム • 学習データ 推論スレッドで収集したデータを学習スレッドへ受け渡す 参照移動で同期時間を最⼩化 同期処理 1. キューを新規⽣成 2.
既存キューと置換 3. キューオブジェクトごと移動 • Cons: キューのサイズを事前に設定する必要性 (オーバーフロー対策) 推論 スレッド 学習 スレッド バッファ 移動 キュー 新規作成・置換 +
37 サンプル実装について • 段階的な3つのサンプル(リンクは要旨に記載) • “minimum.py” 最⼩限の起動処理のみ記述。 フレームワークのスタート地点 • “vae-torch”
Variational AutoEncoder の継続学習例を実装 PyTorch統合の実践的なサンプル • “pamiq-vrchat” 仮想世界 VRChat への実装サンプル より複雑的な応⽤例
None
39 より深くPAMIQ Coreを知りたい⼈のために • 9/6(⼟) 21:00 より、YouTube配信! VTuberのアイシア・ソリッドさんと! • より深い、開発のアレコレや⾃律機械知能PAMIQについ
てもお話しします。 公式チャンネル
40 より深くPAMIQ Coreを知りたい⼈のために • 質問・ご感想は⼤歓迎! • なんでスレッドベース? • 他のフレームワークとの統合は? •
類似アプローチってないの? • 今後の展望は…? • そもそもPAMIQとは…? • 発表後、ぜひお話ししましょ〜! PAMIQ Core 公式リポジトリ