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
非同期更新AMI基盤システム
Search
Geson Anko
January 09, 2024
0
72
非同期更新AMI基盤システム
Geson Anko
January 09, 2024
Tweet
Share
More Decks by Geson Anko
See All by Geson Anko
自律機械知能基礎論 2024
gesonanko
0
8
2024年5月18日 XRMTGエンジニア飲み集会LT
gesonanko
0
5
AMI System基礎 2025
gesonanko
0
27
2025年1月10日 エンジニア集会 誰かと開発するために
gesonanko
0
59
2024年3月27日 ML集会 非同期AMI基盤システムα
gesonanko
0
35
非同期AMI Sys ロードマップ to Milestone 2
gesonanko
0
22
AMI System 非同期処理の事前知識
gesonanko
0
37
仮想AI研 ML集会 2023年12月27日
gesonanko
0
27
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
The Pragmatic Product Professional
lauravandoore
32
6.4k
How to train your dragon (web standard)
notwaldorf
89
5.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
It's Worth the Effort
3n
184
28k
A Philosophy of Restraint
colly
203
16k
Navigating Team Friction
lara
183
15k
GitHub's CSS Performance
jonrohan
1030
460k
Why Our Code Smells
bkeepers
PRO
335
57k
Unsuck your backbone
ammeep
669
57k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Transcript
<企画書> ⾮同期AMI システムの実装 GesonAnko
1 Virtual AI Exploresについて • 和名:仮装AI研究所 仮想世界上で AI, 特に⾃律機械知能 (AMI)
を造る集団 • テーマ 「なぜと問い、探求する知性を造る。」 ͜ͷԾੈքʹ৽ͨͳੑΛੜͤ͞Δɻ ͨͪɺ൴Βػցೳʹڵฃ͍͍ͯͨ͠ɻ ͦΜͳ൴ΒΛੜΈग़͠ɺ୳ڀ͍͍ͯͨ͠ɻ ͦͯ͠൴ΒʹΑ͕ͬͯΕΔະདྷΛݟಧ͚͍ͨɻ
2 概要 • 背景と⽬的 • VRChatに⾃律機械知能 ぱみきゅー を作成したが、学習中は動作 が⽌まる問題がある。 •
学習と推論を⾮同期に並⾏して⾏うシステムを造る • ぱみきゅーが常に動くようになる!より強いモデルが使える! • 進め⽅ • ⼩さなマイルストーンを定め、着実に達成していく⽅針 • 週1ミーティングで進捗確認&タスク決定 • 期間 • 2024年 1⽉18⽇ ‒ 4⽉ 3⽇ (予定)
3 背景
4 ⾃律機械知能(AMI)とは? ⾃律動作する機械でできた知能のこと。 • ⾃律性 ある系の中で、定められた⽬的に従って動作し続けること • 系とは? AMIとその周りの環境のこと Autonomous
Machine Intelligence • ⽬的は? 報酬によって定められる (強化学習の場合) • 機械知能におけるロケット 様々な技術の総結集
5 P-AMI<Q>:ぱみきゅーとは? 好奇⼼ベースの原始⾃律機械知能 Primitive Autonomous Machine Intelligence based on Q(Cu)riosity.
⾃律性 • 系 : VRChat • ⽬的: 探索(好奇⼼)← 今回は解説しないよ 好奇⼼に従って VRChatのワールド上を動き回っている。 バーチャル学会2023 で発表したよ。 アップデートに伴い原始性は消失。 でも「ぱみきゅー」の語感が良いのでそのまま Japan Streetに いるよ! 2023年9⽉ 誕⽣
6 VRChatにAMIを作るには? Linux上にPythonで構築 • 映像の取得 VRChatをOBSでキャプチャ OpenCVで読取り • ⾏動の送信 “OSC
as Input Controller”で操作 前後左右の移動、⽔平回転 ジャンプ、ラン OBS OpenCV VRChat OSC API Ubuntu Linux Python 観測 ⾏動 ⼀つのVRChatterとして • 専⽤のPC • VRCアカウント作成
7 P-AMI<Q>の構成パーツは? Data Collectors Neural Networks Interaction Environ- ment Agent
Trainers 観測 データ ⾏動 収集 使⽤ モデル 使⽤ 学習 実データ VRChatと 直接やり取り インタラクション 形式の設定 観測 → ⾏動 ⼿続き 学習する AIモデル群 学習のための データ収集 データを使って モデルを更新
8 処理の⼿続きは? 起動 インタラクション 学習 観測 取得 ⾏動 ⽣成 次の観測
予測 報酬(予測誤差)計算 ⼤枠 インタラクション ×128回 (10 fps) 観測 取得 次の観測 予測 ⾏動 ⽣成 セット アップ
9 システムの課題 • 定期的に⽌まる 推論と学習を交互に⾏うため。 • 問題 • 経験の連続性が切れる:現実の時間進⾏との不⼀致 →
プランニングアルゴリズムなどに悪影響 • モデルサイズを⼤きくできない:学習時間が増加→停⽌時間も増加 → ⼤規模化は深層モデルの要 • 計算リソースの⾮効率的使⽤
10 ⽬的・⽬標 • 以上の課題より、推論と学習を⾮同期に並⾏して⾏う システムが必須。 • ⽬標 • ⾮同期更新システムが実装され、推論(ロールアウト、インタラ クション)処理と学習処理が並⾏して⾏われることによって、
AMIが常時動作していること。 • ⾮同期システムを新たに作成し、そこに既存のモデルを移⾏する。 • さらに、今まで不可能だったモデルの⼤規模化の試運転までやっ てみたい。
11 嬉しいこと • ずっと動く • ⽌まっている間は ぱみきゅーがどんな⾵に動くか⾒れない。 • いつもインタラクションできるようになる! •
⼤きなモデルで、⾼度な知能に • より複雑で興味深い⾏動を獲得する可能性 • プランニングアルゴリズムが使えるようになる • ようは「考えること」をするための基盤が作れる。
12 ⾒通し
13 構想 起動 前準備 メイン スレッド 推論 スレッド 学習 スレッド
CUI System制御 VRChatと やり取り 内部モデルの 学習 共有オブジェクトは スレッド開始前に全て集めるよ! 並⾏処理中に新たに 共有なんてされたら…
14 構想:スレッド間の関係性 メイン スレッド 推論 スレッド 学習 スレッド 終了命令 ⼀時停⽌・再開命令
学習 スレッド 推論 スレッド モデル更新後 パラメータ同期 集めた経験バッファ 推論⽤ モデル 学習⽤ モデル データ データ データ ※現時点での深層モデルは推論モードと 学習モードがあるため、⼆つモデルが必要
15 ロードマップ • ステップ1 ⾮同期システムが動作する。 • 推論スレッド:モデルの推論をしつつ、データ収集 • 学習スレッド:集められたデータでパラメータ更新、同期 •
メインスレッド:終了、⼀時停⽌、再開ができる モデル • ランダムな⼊⼒を与えて、AutoEncoderを学習してみる(構想) • AutoEncoderは Encoderのみしか推論では使わない → 簡単に実装できて実際の動作形式に近い
16 ロードマップ • ステップ2 既存の深層モデルが引き継がれる 現状P-AMI<Q>に使われているモデル群を移⾏する。 • Observation Encoder: VAE
• Forward Dynamics: SConv, ResnetFD • Policy: PPO • Hydraによる設定ファイルからの起動
17 ロードマップ • ステップ3 モデルの規模拡⼤ 計算リソースをフル活⽤できるようにする • 基本はパラメータ数を単純に増やしてみる • 発⽣する問題の調査(メモリオーバーフローなど)
• 解決策の提案
18 スケージューリング 1/21 2/4 2/18 3/3 3/17 3/27 ⾮同期システム 既存モデル引き継ぎ
モデル規模拡⼤ 最終報告・振り返り 中間報告 LTしても いいかも
19 進め⽅ • プロジェクト • 週 1 程度でミーティング。進捗確認とタスク決定 • ML集会
Discord #ディスカッション フォーラムでやるよ • 実装 • 機能設計 • GitHub上で開発。 Issueにタスク書く → Branch切って作業 → Pull Request → レビュー してマージ
20 メンバー募集!
21 募集 • 1〜2⼈ほど 既に Myxyさんが参戦。私は設計や実装⽅⾯。 • 実装担当 ← ゆんたんさん
IN (1/17) • マネージャー担当 • 要件 • PyTorchなどでMLのプログラムを書いた事がある⽅ • C++/C#など、静的型付け⾔語(または mypy) を使⽤した経験 • GitなどのCIを⽤いた開発経験 • ⾮同期処理を書いた事がある⽅ (Udon#でのグローバル同期など、所有権のお話がわかる⽅…)
22 得られるもの • スキル • ⾮同期システムを安全に造る設計・実装⽅法 • Pythonによる機械学習の実装能⼒ • 実時間スケールで動作する機械知能システムの実装⼒
→ ロボティクス⽅⾯への応⽤ • ドキュメンテーション能⼒(タスクをissueに書くので)