Seminar 02 · 2026 May

Apple Silicon 向け
3D Gaussian Splatting
実装の進捗

品質 +4 dB / 学習時間 -30%。中盤の節目 4 件を達成した。

7322023 大竹律輝 — 松田研究室2026.05.22
01 前回のおさらい

研究の 3 軸貢献 と前回到達点

  • 研究テーマ
    • 搭載端末で を単一デバイスで完結させるパイプライン
  • 研究の貢献は 3 軸
    • (1) Apple Silicon に最適化した自作 3DGS 実装
    • (2) の抽象化層によるコストの定量化
    • (3) 活用の実証
  • 前回 (2026-04-22) 時点
    • 参考値 37.38 dB を取得 (比較の上限)
    • 自作実装の構築完了 (・学習ループ)
    • データセットで 22.42 dB 達成
今月の結果サマリ

品質 + 4 dB、時間 - 30 %

PSNR
26.27 dB
+ 3.85 dB (vs 22.42)
Wallclock
26m32s
- 30 % (vs 37m48s)
Milestones
4
M-1 / M-2 / M-3 / M-3.x
進め方は 品質向上の探索Apple 固有最適化再構築 の順。以降のスライドで 4 件を 1 枚ずつ。
02 今月の進捗 — 節目 4 件

達成した 節目 (M-1 〜 M-3.x)

節目内容PSNR時間
M-1パラメータ探索25.59 dB37m48s
M-2逆伝播ラスタライズの SIMD 集約化25.79 dB30m00s (-20.7%)
M-3命令キューの再利用26.27 dB26m32s (-13.7%)
M-3.x損失計算の GPU 化 (読み戻し排除)25.30 dB*22m14s (-14〜-19%)

* 4 試行平均、25.0 ± 0.6 dB の分散帯内で従来手法と統計的に同等

第 1 軸 — 品質

— 品質向上のためのパラメータ探索

25.59 +3.17 dB
val PSNR / 30,000 反復 / 80,793 点
  • 探索対象
    • の重み係数 / ウィンドウサイズ
    • 近傍点数 / 点群初期化時の有効範囲
  • 位置付け
    • 研究の第 1 軸 (自作実装の品質) の主要成果
    • 参考値 37.38 dB との差は -11.79 dB まで縮小
第 2 軸 — カーネル単位

— 逆伝播ラスタライズの 集約化

2.43 ×-20.7 %
カーネル単体 / 全体学習時間
  • 起点
    • Metal System Trace で律速箇所を同定 = 逆伝播 (順伝播全体の 52.1 %)
  • 改善内容
    • 勾配累積を atomic 排他 → SIMD グループ内の simd_sum に置換
    • 24.1 ms → 9.47 ms
第 2 軸 — ループ単位

の再利用

- 13.7 %
学習時間: 30m00s → 26m32s
  • 改善内容
    • 各 dispatch ごとに MTLCommandQueue を生成していたのを 1 queue 再利用に変更
    • CPU 側の命令記述コストを削減
  • 付随効果
    • PSNR 25.79 → 26.27 dB (分散帯上端、品質も向上)
第 3 軸 — 活用

— 損失計算 GPU 化、CPU 読み戻し排除

- 14 〜 -19 %
学習時間 (host pump 排除)
  • 改善内容
    • L1 + 損失と SSIM 勾配を GPU
    • 値と勾配の CPU への読み戻しを排除し、GPU 内で完結
  • PSNR の解釈
    • 4 試行平均 25.0 ± 0.6 dB の分散帯
    • 従来手法 (HOST 経由) と統計的に同等
補助作業

splat に再構築

  • 背景
    • 3dgs-rs に Phase 5 試作実装が積層し見通し悪化
  • 構造
    • 新規 Rust workspace splat/ に段階移植 (5 クレート構成、Phase A 〜 C)
  • (migration gate)
    • 品質: PSNR 24.842 dB ← 分散帯 25.0 ± 0.6 dB 内 ✅
    • 学習時間: +9.6 % (序盤の初期化が累積) ⚠
    • 判定: partial pass として記録
Negative findings

不採用となった検討 (卒論で活用)

  • 点群スケールの 4 種
    • いずれも -7 dB 級の劣化、future work 化
  • の移植 4 試行
    • すべて失敗 (最良 20.99 dB)
    • 設計欠陥 3 点を特定 → 次月の完全実装で修正再挑戦
  • Metal — 却下
    • CPU 命令記述コストが全体の 0.5 % で gate 不通過
    • ただしこの調査で「真の律速はホスト中継処理」と判明 → M-3.x の発見につながった
03 次月の計画

仕上げへ向けた 3 項目

  • (1) カーネル改良 — 3 〜 5 時間
    • Apple の専用メモリ領域 (imageblock_data) を活用
    • 学習時間 〜3 % 改善 + Apple 固有の論述強化
  • (2) の完全実装 — 3 〜 5 日
    • 3 設計欠陥 (点数上限 / スケール上限の副作用 / 増加スケジュール) を修正
    • 成功すれば brush 比 -3 〜 -6 dB レンジまで縮小可能
  • (3) 研究室 GPU での CUDA 参考値 — 1 〜 2 週
    • A6000 / RTX 6000 Ada で brush・3DGS 原著・gsplat を測定
    • 「CUDA (抽象なし) vs brush (wgpu) vs 自作 (Metal 直)」の対比表で第 2 軸を補強
Q & A

想定問答 一覧

PSNR 22.42 → 26.27 dB / 学習時間 -30 % / 節目 4 件達成

  1. との差 -11.79 dB は埋まるのか?
    完全実装で 26〜29 dB、つまり brush 比 -3〜-6 dB レンジまで縮小できる見込み (次月計画 (2))。
  2. -20.7 % / -13.7 % の高速化はどう測ったか?
    30,000 反復を回しきる学習時間 (wallclock) で比較。同一シード・同一データセット ()。
  3. が partial pass なのは?
    品質 (PSNR) は分散帯内で同等、学習時間が +9.6 % で軽微に超過。序盤の反復で生じる初期化オーバーヘッドが累積した結果。原因切り分けは今後。
  4. の PSNR は本当に同等?
    4 試行で 25.0 ± 0.6 dB の分散帯を確認。従来手法 (HOST 経由) も同じ分散帯内で出ていて統計的に区別がつかない。
  5. 分散帯 ±0.6 dB はなぜそこまで大きい?
    atomic_fetch_add の演算順序が非決定的で、30k 反復の累積で sample 間の training trajectory が分岐する。確定的にするには Kahan summation 等が必要 (future work)。
  6. MCMC 4 連敗の原因は?
    (a) 点数上限が無く無制限に増える、(b) スケール上限による強制削除の副作用、(c) 多項分布による点増加スケジュールが単純すぎる、の 3 点。次月で修正して再挑戦。
  7. Apple 却下の理由は?
    CPU 側の命令記述コストが全体の 0.5 % に過ぎず、3 % の改善 gate を通らなかった。ただしこの調査で「真の律速はホスト中継処理」と判明し M-3.x の発見につながった。
  8. 第 2 軸 ( 抽象コスト) の数字は?
    来月の研究室 GPU で CUDA baseline を取得後に「CUDA (抽象なし) vs brush (wgpu) vs 自作 (Metal 直)」の対比表が出せる。現状は brush との時間比較 (-30 %) で間接的に示している。
  9. L1 で方針転換したのはなぜ?
    brush という既存の Rust + wgpu 実装の発見。fork / コピーは独自性が出ないので、比較対象に位置付け直して「wgpu 抽象化層のコスト定量化」という新軸で独自化した。
  10. なぜ に絞る? NVIDIA では?
    の特徴で「端末完結パイプライン」と親和性が高い。NVIDIA は CUDA で完結済みだが Apple 上の整備は未着手で、ここに研究的余地がある。
  11. 自作実装の意義は? brush を改良すれば良いのでは?
    fork は独自性が出ない。比較対象に置くことで「wgpu 抽象化層のコスト」と「Metal 直」の差を分離して測れる。これが本研究の第 2 軸の方法論。
  12. atomic → simd_sum の置換は数学的に等価?
    同じ加算の集約なので結果値は等価。ただし浮動小数点の累積順序が変わるので bit-exact ではなく、分散帯内 (±0.6 dB) で同等という形になる。
  13. 次月の MCMC で 26〜29 dB の見積もり根拠は?
    brush 系の MCMC 実装 (Kheradmand 2024 系) が報告する水準。3 設計欠陥を修正できれば同等 ± 数 dB を期待している。
  14. imageblock_data は本当に使える?
    Apple GPU の仕様上、フラグメントシェーダ内の専用メモリ領域として利用可能。本研究では 7×7 畳み込みでの適用を検討中。
  15. メモリ使用量は測定している?
    現状の主指標は品質 (PSNR/SSIM) と学習時間。メモリは parameter buffer + activation で M4 Max 36 GB 内に収まっている。詳細測定は卒論段階で。
  16. 3 軸のうち、卒論の本命の貢献は?
    第 2 軸 (wgpu 抽象コスト定量化) が学術的に最も新規。第 1 軸 (自作実装) は存在証明、第 3 軸 (ユニファイドメモリ) はその効果分解、という位置付け。
1 / 12