VRChatで自律機械知能を進化させる!非同期AMI基盤システムαステージ発表内容を徹底解説
詳細情報
※以下文章はスライド資料を元に自動生成されたものです。
発表のハイライト
- VRChatで活動する自律機械知能「P-AMI<Q>」の開発状況と、新たな非同期AMI基盤システムについて発表されました。
- 従来の同期処理の問題点を克服し、推論と学習を同時に行うことで、より自然でリアルタイムなAIの動作を実現。
- マルチスレッド化やデータ収集・使用の工夫など、システムの改善点や今後の展望が語られました。
自律機械知能「P-AMI<Q>」とは?
GesonAnkoさんは、VRChat内で活動する自律機械知能「P-AMI<Q>」(プリミティブ・オートノマス・マシーン・インテリジェンス・ベースド・オン・キュリオシティ)の開発を行っています。「P-AMI<Q>」は、好奇心に基づいてVRChatワールド内を動き回り、学習していくAIエージェントです。2023年のバーチャル学会で発表され、VRChatのJapan Streetなどをうろついているそうです。
従来のシステムと課題
「P-AMI<Q>」は、VRChatとインタラクションしながら学習するシステムでした。しかし、推論と学習を交互に行う必要があり、そのたびに処理が止まってしまうという課題がありました。
具体的には、以下の様な問題がありました。
- 処理の停止による学習の断続: 推論と学習を交互に行うため、学習中の経験の連続性が途切れてしまい、プランニングアルゴリズムなどに悪影響を与えていました。
- モデルサイズを大きくできない: 学習時間が増えると、処理が停止する時間も増えるため、大規模な深層学習モデルを導入することが困難でした。
- 計算リソースの非効率的な使用: 推論と学習を交互に行うことで、計算リソースが効率的に使われていませんでした。
新しい非同期AMI基盤システム:What's New!
GesonAnkoさんは、これらの課題を解決するために、非同期AMI基盤システムαステージを開発しました。このシステムは、推論と学習を同時並行に実行することで、上記の課題を解決し、よりスムーズなAIの動作を実現することを目指しています。
システムのマルチスレッド化
新システムでは、処理を複数のスレッドに分割しました。
- Mainスレッド: システム全体の管理
- Inferenceスレッド: VRChatとのインタラクションと推論
- Trainingスレッド: 学習
これにより、推論と学習を同時に行うことが可能になりました。
学習データの収集と使用
従来は、学習データの収集と使用が同期的に行われていました。新システムでは、Data CollectorとData Userという2つのシステムを導入し、それぞれ別々のスレッドで動作するようにしました。
- Data Collector (推論スレッド): VRChatとのインタラクションからデータを収集し、バッファに格納
- Data User (学習スレッド): バッファからデータを取得して学習
これにより、推論と学習が独立して動作し、データのやり取りもスムーズに行えるようになりました。
モデルの推論と学習
推論と学習でそれぞれ異なるモデルを使用し、内部モデルスイッチングによってモデルを同期させることで、推論スレッドを待たせることなく、学習スレッドがパラメータを更新できるようにしました。これにより、より高速な学習が可能になりました。
システムの全体像
新システムは、推論スレッドサイドと学習スレッドサイドに分かれており、それぞれが独立して動作するようになっています。
- 推論スレッドサイドは、VRChatとインタラクションを行い、データを収集する役割を担います。
- 学習スレッドサイドは、収集されたデータを使ってモデルを学習する役割を担います。
実際に動かしてみると
GesonAnkoさんは、画像VAE(Variational AutoEncoder)を用いたダミータスクで、新しいシステムをテストしました。その結果、推論と学習が同時並行に実行され、CPUとGPUのリソースを効率的に利用できていることを確認しました。
開発の難所
非同期処理の隠蔽には、ガチガチのフレームワーク化が必要で、MyPyによる厳密な型チェックを導入したことで開発は難航したそうです。特に、Data Bufferクラスの実装に苦労したとのことでした。
Next Step
今後の展望として、既存実装の引き継ぎ、システムの状態セーブ・ロード機能の実装、学習記録の可視化などが挙げられています。
まとめ
GesonAnkoさんの発表では、VRChatにおける自律機械知能「P-AMI<Q>」の開発状況と、その課題を解決するための新しい非同期AMI基盤システムが紹介されました。マルチスレッド化やデータ収集・使用の工夫など、システムの改善点や今後の展望が語られ、VRChatにおけるAIの可能性を感じられる発表でした。