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
【RSJ2025】PAMIQ Core: リアルタイム継続学習のための⾮同期推論・学習フレームワーク
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Geson Anko
September 04, 2025
Science
750
0
Share
【RSJ2025】PAMIQ Core: リアルタイム継続学習のための⾮同期推論・学習フレームワーク
第43回 日本ロボット学会学術講演会(RSJ 2025)で発表した際に用いたスライドです。
公開にあたり、一部修正があります。
https://ac.rsj-web.org/2025/
Geson Anko
September 04, 2025
More Decks by Geson Anko
See All by Geson Anko
2025年12月3日.人類には激kawaiiネコミミメイドロボが必要である
gesonanko
0
39
ML集会 2025年10月15日 LTのはじめかた
gesonanko
0
55
Pythonクラス基礎
gesonanko
1
130
自律機械知能基礎論 2024
gesonanko
0
40
2024年5月18日 XRMTGエンジニア飲み集会LT
gesonanko
0
41
AMI System基礎 2025
gesonanko
1
96
2025年1月10日 エンジニア集会 誰かと開発するために
gesonanko
0
110
2024年3月27日 ML集会 非同期AMI基盤システムα
gesonanko
0
67
非同期AMI Sys ロードマップ to Milestone 2
gesonanko
0
48
Other Decks in Science
See All in Science
見上公一.pdf
genomethica
0
120
HajimetenoLT vol.17
hashimoto_kei
1
200
防災デジタル分野での官民共創の取り組み (1)防災DX官民共創をどう進めるか
ditccsugii
0
590
データマイニング - ウェブとグラフ
trycycle
PRO
0
270
因果推論と機械学習
sshimizu2006
1
1k
Amusing Abliteration
ianozsvald
1
150
タンパク質間相互作⽤を利⽤した⼈⼯知能による新しい薬剤遺伝⼦-疾患相互作⽤の同定
tagtag
PRO
0
180
知能とはなにかーヒトとAIのあいだー
tagtag
PRO
0
180
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
1.3k
YouTubeにおける撤回論文の参照実態 / metascience-meetup2026
corgies
3
220
あなたに水耕栽培を愛していないとは言わせない
mutsumix
1
300
凸最適化からDC最適化まで
santana_hammer
1
380
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Visualization
eitanlees
150
17k
Test your architecture with Archunit
thirion
1
2.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
670
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Balancing Empowerment & Direction
lara
5
1k
Practical Orchestrator
shlominoach
191
11k
Building Adaptive Systems
keathley
44
3k
Making Projects Easy
brettharned
120
6.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
The SEO Collaboration Effect
kristinabergwall1
0
420
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 公式リポジトリ