全国大会B4発表スライド

1.2K Views

April 28, 25

スライド概要

片桐・星野研究室でのB4次の研究成果です。
以前から生成AI(主に大規模言語モデル)を独学しており,
論文調査の結果,今やるべきだと考えて持ち込んだ企画です。

画面上の文字数を減らし,図表を増やすために
読み上げ原稿はパワポのノートに書いているため,
この資料だけだと内容を理解するのは難しいかもしれません。

既存の課題を解決できる「設計力」と「実装力」の1つの証明として捉えて頂けると幸いです。

profile-image

27卒 名古屋大学 情報学研究科

Docswellを使いましょう

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

3Dify:対話型分散フレームワーク -RAGを用いたマルチDCC対応 プロシージャル3D生成LLMエージェント林 俊一郎† 片桐 孝洋‡ 星野 哲也‡ 大島 聡史§ 河合 直聡‡ 永井 亨‡ 名古屋大学 情報学部コンピュータ科学科† 名古屋大学 情報基盤センター‡ 九州大学 情報基盤研究開発センター§ 第87回 IPSJ全国大会 2025/3/15 1

2.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 2

3.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 3

4.

背景 3D生成AI 3Dデータ自体が様々な要素の集合 3D生成AIは目的もアプローチも千差万別 例:MeshGPTように3Dポリゴンを言語と同様に LLMに学習させる生成手法もある ※スクラッチ学習のコストは高い 既存LLMの3Dタスクの潜在能力を期待した研究が2023年~増加 再生成には計算コストがかかる プロシージャル手法に注目 4

5.

背景 プロシージャルとは CG業界でプロシージャル手法を用いた3Dモデリングが広まる 後から容易に変更できるパラメータを組み込むことで無数の バリエーションを作成 対象のパターンを観察し 生成手順や計算式を考え 巨大なノードグラフを 構築するのは困難 LLMの支援が必要 画像の引用 三浦 嘉大,藤塚 巧,伊藤 智也ほか:地理的要素とユーザー自由度を考慮した日本城 郭都市のプロシージャルモデリング, 研究報告コンピュータグラフィックスとビジュ アル情報学(CG),Vol.177,No.2,pp.1-9(2020). 5

6.

目的 3Dモデル生成に留まらず,LLMの汎用性を活かし CG業界標準のDCC(Digital Content Creation)ツールの操作や コンテンツ制作まで支援する汎用システムの実現を目指す ・DCCツール特化のコスト削減 ・プロシージャル手法をAIで民主化 再生成コスト軽減 6

7.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 7

8.

LLM×3Dの既存研究1:LLMR ・自然言語の指示からUnityの3Dシーンを操作するC#コードを出力 ・GPTに異なる役割を与えたマルチLLMエージェント 従量課金のGPTを 何度も呼ぶ 特にループが コスト大 画像の引用 : [1] Fernanda, D., Cathy, F., Han, H., et al.: LLMR:Real-time Prompting of Interactive Worlds using Large Language Models, Proc. CHI'24, pp.1-22, ACM (2024). 8

9.

LLM×3Dの既存研究2:3DGPT ・Blenderでテキストから3Dシーンを生成,編集 ・プロシージャル生成Pythonモジュールのラッパー ≒Skill Library GPT ≒Builder GPT 既存研究LLMRと 同等のGPTを含む 画像の引用 : [2] 3D-GPT: Procedural 3D Modeling with Large Language Models, GitHub (online), available from <https://github.com/Chuny1/3DGPT> (accessed 2025-03-08). 9

10.

既存研究の課題 ①環境依存性 ②API 呼び出しコスト増 LLMR • 有料コンパイラに依存 • バージョン制約付きUnity 両者ともマルチエージェント 3DGPT • Infinigenモジュールに依存 • OS間で機能差 (Linux推奨) 何度もLLMを呼ぶ 実行時間と費用が増加 10

11.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 11

12.

オープンソースのローコードツール GitHubで☆82K starsを集める GUIのノードで 任意のLLMでワークフローを構築 これをハブとして3Difyを考案 12

13.

3Difyの設計 Chat(逆質問/選択肢/操作依頼 あり) 任意のOS RAG Computer PyAutoGUI MCPプロトコル ・リモート対応 ・分散可能 CLI 操作 GUI 操作 Blender MCPサーバ Unreal MCPサーバ Houdini MCPサーバ API連携 API ローカル推論プラットフォーム Unity MCPサーバ Maya MCPサーバ … 任意のLLMモデル DCC MCPサーバ雛形 任意のDCCツール

14.

貢献 = 使いやすく + コスト削減 14

15.

3Difyの設計 Chat(逆質問/選択肢/操作依頼 あり) 任意のOS RAG PyAutoGUI MCPプロトコル ・リモート対応 ・分散可能 MCP クライアント as Dify プラグイン API連携 API Computer ローカル推論プラットフォーム CLI 操作 GUI 操作 Blender MCPサーバ Unreal MCPサーバ Houdini MCPサーバ Unity MCPサーバ Maya MCPサーバ … 任意のLLMモデル DCC MCPサーバ雛形 任意のDCCツール

16.

実装箇所 Computer RAG PyAutoGUI CLI 操作 MCP クライアント as Dify プラグイン ローカル 画像生成AIとの 連携例 オープンソースLLMの ローカルデプロイ例 GUI 操作 Blender MCPサーバ Unreal MCPサーバ Houdini MCPサーバ Unity MCPサーバ Maya MCPサーバ … DCC MCPサーバ雛形 16

17.

GitHubで公開 17

18.

貢献 = 使いやすく + コスト削減 18

19.

コスト削減 Computer RAG PyAutoGUI CLI 操作 GUI 操作 Blender MCPサーバ APIの代わりに Unreal MCPサーバ ローカルLLMを用いた Houdini MCPサーバ コスト検証は後述 ローカル 画像生成AIとの 連携例 オープンソースLLMの ローカルデプロイ例 Unity MCPサーバ Maya MCPサーバ … DCC MCPサーバ雛形 19

20.

貢献 =「使いやすく」+「コスト削減」 Computer RAG PyAutoGUI CLI 操作 MCP クライアント as Dify プラグイン GUI 操作 Blender MCPサーバ Unreal MCPサーバ Houdini MCPサーバ Unity MCPサーバ Maya MCPサーバ … DCC MCPサーバ雛形 20

21.

画面に見える情報だけ用いる手法もあるが Computer RAG PyAutoGUI ハイコストな手法 CLI 操作 GUI 操作 入力 スクリーンショット 出力 GUI操作のみ … 21

22.

Chat(操作依頼 あり) Computer RAG PyAutoGUI CLI 操作 MCP クライアント as Dify プラグイン Blender MCPサーバ Unreal MCPサーバ Houdini MCPサーバ Unity MCPサーバ Maya MCPサーバ … 失敗率の低い CLI操作で コスト削減 GUI 操作 DCC MCPサーバ雛形 22

23.

MCPとは Anthropic考案の規格 Model Context Protocol LLMが外部ツールを 直接呼び出すのに必要な 一式を SDKで提供 23

24.

MCPクライアント Claude Desktopの代わりの MCPクライアントを実装可 プラグインとして実装 24

25.

MCPサーバの雛形一部 SDKで実装 from mcp.server.fastmcp import FastMCP # MCPサーバに名前を付けて起動 mcp = FastMCP(“3Dify-MCP-Server”, dependencies=[“pyautogui”,”Pillow”]) # LLMが生成したコマンドを,DCCデフォルトのCLIで実行 @mcp.tool() def send_cmd_console(cmd: str): “”””Send and execute command on DCC’s default console””” #各DCCツール依存の実装 LLMからも見える # ショートカットキーの一覧を取得 @mcp.resource(“shortcut://keys”) ツールの説明 def get_shortcut_keys() -> dict: “”””Get activated shortcut key list””” # 各DCCツール依存の実装 return json 25

26.

MCPサーバの軽量化 バックアップ ・汎用GUI 操作エージェント(UI-TARS + PyAutoGUI) ・ユーザへの操作依頼 MCPサーバは少しの実装で動作 26

27.

RAG PyAutoGUI CLI 操作 GUI 操作 … Difyで作成した マルチエージェント 詳細を見ていく 27

28.

サブワークフロー1 Scene Analyzer LLM Computer User Prompt ・逆質問 ・選択肢 ・操作依頼 対話的に 3Dの完成 イメージ を固める Planner LLM Inspector LLM 各3Dソフトに最適化した Builder RAG MCP server LLM メインワークフロー Conceptualization LLM 一般のGUI操作 PyAutoGUI サブワークフロー Computer API Code Visual Script Compute Use LLM 画像生成AIで完成イメージ作成 サブワークフロー 28

29.

画像生成AIで完成イメージ作成 サブワークフロー ローカル生成AI プラットフォーム comfyUIと連携した例 29

30.

サブワークフロー2 Scene Analyzer LLM Computer User Prompt ・逆質問 ・選択肢 ・操作依頼 Planner LLM Inspector LLM 各DCCツールに最適化した Builder RAG MCP server LLM メインワークフロー Conceptualization LLM 一般のGUI操作 PyAutoGUI サブワークフロー Computer API Code Visual Script Compute Use LLM 30

31.

サブワークフロー2 Scene Analyzer LLM Computer User Prompt ・逆質問 ・選択肢 ・操作依頼 Planner LLM Inspector LLM Computer 各DCCツールに最適化した Builder RAG MCP server LLM メインワークフロー Conceptualization LLM API Code Visual Script Compute Use LLM UI-TARS Qwen2-VLをGUI操作タスク向けに ファインチューニングしたモデル PyAutoGUI PyAutoGUI GUI自動操作ライブラリ • Windows • Mac • Linux 対応 31

32.

3Difyのワークフロー = メインワークフロー + サブワークフロー LLMR + 3DGPT + α (既存研究) 32

33.

メインワークフロー Scene Analyzer LLM Computer User Prompt Planner LLM Inspector LLM 各DCCツールに最適化した Builder RAG MCP server LLM メインワークフロー Conceptualization LLM Computer* API Code Visual Script 33

34.

メインワークフロー Computer User Prompt Planner LLM Scene Analyzer LLM Inspector LLM RAG Builder LLM Conceptualization LLM Computer* MCP server API Code Visual Script 34

35.

ノード形式のビジュアル プログラミング対応 3Difyメインワークフロー(Ours) User Prompt Planner LLM 既存のAPIドキュメント等 非構造データも扱える ビジュアル Computer Scene Analyzer LLM Inspector LLM RAG Builder LLM Conceptualization LLM Computer* API MCP server Code Visual Script DCCツール標準搭載の コンソール等で動作 手動設計のスキル説明集 有料コンパイラ依存 LLMR(既存研究) 35

36.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 36

37.

実験の目的 課題②「API呼び出しのコスト増」に対し ローカルLLMを用いたコスト削減の検証 はバッチ推論の同時処理中のリクエスト数が 増えるほどスループット向上 本環境でのリクエスト数に対するスケール性を調査 37

38.

実験概要 • ローカルLLM推論プラットフォーム Llama3.3-70Bをバッチ推論 で • 既存研究の実験と同じ150ユーザプロンプトを同時リクエスト LLMRワークフローはPythonで再現 38

39.

実験環境 名古屋大学情報基盤センター設置 のスーパーコンピュータ 「不老」 Type II サブシステム VRAM32GBのNVIDIA V100を 4基×4ノード=16 GPUで LLMのモデルの重みを分散 引用 : 名古屋大学情報連携推進本部 – スーパーコンピュータシステム, https://www.icts.nagoya-u.ac.jp/ja/sc/overview.html 39

40.

不老の性能評価 TypeⅡ(16GPU)を用い 45 分で 150 ユーザプロンプトに対し LLMR を完遂 465.2 円で$1=150 円換算では $3.10 モデルのロードとCUDA Graph計算に約8分 サーバを再起動せず,一括処理した方がコスパ◎ 40

41.

実験結果 同時処理リクエスト数 60を下回ると スループットが 低下傾向 経過時間(秒) 41

42.

補足:前処理も加味したスループットへの変換 の仕様 ・前処理と生成フェーズは排他的 ・新規リクエストの前処理を優先 生成スループット[tokens/s] 推移だけ見ると乱高下 前処理のスループットと 重みづけで加算&正規化 𝑨𝒗𝒈(𝑷) 𝑃 + 𝐺・ 𝐴𝑣𝑔(𝐺) ≒ 𝑃 + 8.18 𝐺 前処理: Avg(P) 1229.5[tokens/s] 生成: Avg(G) 150.3[tokens/s] 42

43.

実験結果 LLMエージェントの割合推移 緑のBuilder(コード生成)が処理時間の7割を占める ‘ ‘ 43

44.

APIとの費用比較表 モデル GPT Claude Llama バージョン 4o 3.5 Sonnet API Option Batch API Prompt Cache 3.3-70B-Instruct vLLMバッチ推論 ※不老TypeⅡ Cache Write 3.75 $ / M tokens Cache Read 0.3 $ / M tokens Input 1.25 $ /M tokens 3.0 $ / M tokens Output 5 15 Real-time 総額 $ /M tokens × 5.01$ $ / M tokens ○ 6.95 $ △ 3.10 $ 44

45.

プロンプトキャッシュによるコスト削減 $13.0 でSYSTEMプロンプトを一度だけキャッシュに書き込むと $6.95 (54%未満にコスト減) Input[$ / M tokens]×2.694[M tokens] + Output[$ / M tokens]×0.3293[M tokens] = 3.0×2.694 + 15×0.3293 [$] = $8.08 + $4.94 プロンプトキャッシュ使用時 $2.01 + $4.94に削減 45

46.

目次  背景,目的  既存研究の課題  フレームワーク3Difyの提案  提案システムの評価  まとめ 46

47.

まとめ 背景:3D再生成が不要なプロシージャル手法への期待と LLMを通した対話的な3D生成の既存研究の課題から 1. フレームワーク3Difyの提案 ・任意のDCC,バージョン,LLM,OSで使えるよう再構築 2. 提案システム評価 ・ローカルと API 両方でバッチ推論やプロンプトキャッシュによる 高速化でコスト削減 47

48.

今後の課題 • データベースの内容や知識抽出アルゴリズムなどのRAG最適化 • 推論のみで構築してきたが,プロシージャル3D生成に特化した 学習モデルの作成(強化学習+微調整) • 2周目以降 Builderを差分出力 トークン削減 • ソース公開 48

49.

補足資料 49

50.

キャッシュプロンプト算出詳細 プロ ンプトを キャッシュWrite できる最低トークン数 1024 を超えている 50

51.

のオプション 51

52.

実験結果の詳細 52

53.

V100の制約(精度) 8ビットの量子化とBF16(主流)に非対応 FP32にcastすれば精度を維持できるがTensorコアを使えない FP16で要妥協 53

54.

実は3Difyフレームワークは プロシージャル生成に限定されない 仮にプロンプトを変えて CS学科全員のコードを自動採点をするワークフローを組めば 数十分,数百円で済む ローカルでバッチ推論を行うコスパ◎ 英語のタイトル 3Dify: Distributed interactive framework - your LLM Agent for Multi-DCC Compatible Procedural 3D Generation with RAG 元の意味も継承 Dify = Define(定義) + Modify(修正) 54

55.

3Difyのメインワークフロー グラフの右端に到達すると 左端のstartに戻ってループ 55

57.

拡大図 Scene Analyzer LLM RAG 現在のエージェントを 会話変数で管理して Conceptualization LLM Builder LLM if/elseノードで分岐し ワークフローを実現 Inspector LLM MCP server 57

58.

3Difyメインワークフロー(Ours) User Prompt Planner LLM 既存のAPIドキュメント等 非構造データも扱える Scene Analyzer LLM Inspector LLM RAG Builder LLM Computer* MCP server Code Conceptualization LLM マルチDCC対応の 鍵となるRAGを解剖 API Visual Script 既存研究3D-GPTのエージェント プロシージャル生成のパラメータを推定 形状・サイズ・質感を述べさせ LLMの知識を引き出す ビジュアル Computer 58

59.

RAGとは Retrival-Augment Generationは クエリに該当する文書をデータ ベースから取得して,生成AIへ 動的に入力する仕組み RAGの手法は様々 右図は本研究で用いた親子検索 画像の引用 https://dify.ai/blog/introducing-parent-child-retrieval-for-enhanced-knowledge 59

60.

自動操作APIマニュアル以外で RAGのデータベースに含めるもの 3D-GPTで用いられたInfinigenモジュールをRAGのデータベースに Blender非依存のプロシージャル生成の知識を共有 従来法 3Dify 知識を共有し DCC上で直接生成 60

61.

InfinigenのPythonコード(データセット) 約2.5万行は個別のプロシージャル生成用 苺が数学的に生成される過程 seed_lib strawberry_surface import surfaces(表面) lib FruitFactoryStrawberryクラス 実数値を代入しインスタンス化 Numpy quadratic(2次曲線) shape(輪郭) lib FruitFactoryGeneralFruitクラス libの候補を絞ってimport circle_cross_section cross section(断面) lib calyx_stem(へた) stem(軸) lib import AssetFactoryクラス (/core/placement/factory.py) Blender Python (bpy) モジュール 61

62.

ソースコードに特化したRAGの考案 RAGでヒットしたPythonファイルをクエリとして再帰入力する 関連するコードを全て抽出する コードの特徴を 利用したRAG 基本的なRAG クエリ クエリ 62

63.

直接GUIを操作するVLM (Vision Language Model)の研究 Computer Use OOTB(コスト削減) UI-TARS Desktop(現状SOTA) 63

64.

バッチ推論レベルでしか並列化できない理由: LLMエージェントの入出力の依存関係 Scene Analyzer Skill Library を除き並列化不可 ※並列にしても最大3%の高速化しか期待できない 64

65.

LLMの判断による「次のエージェント」分岐 を実現するためのノード群を提供 65

66.

既存研究と3Difyメインワークフロー対応表 66

67.

3Dify Overview Chat(question/ choices /request) Computer any OS RAG PyAutoGUI MCP remote distributed MCP clients as Dify plugin CLI 操作 GUI 操作 Blender MCP server Unreal MCP server Houdini MCP server API連携 API Local inference platform Unity MCP server Maya MCP server … any LLM Models DCC MCP server template any DCC tools