Edge implementation plan

Edge 実装プラン

実装状況サマリ: - Phase 1: 実装済み(環境チェック、代表サンプル生成) - Phase 2: 実装済み(ローカル edge server + クライアント遅延計測) - Phase 3: 部分実装済み(TorchScript 検証完了、TFLite/CoreML は依存未導入で未実行) - Phase 4: 手順化済み(実機ランブック生成済み、実測のみ未実施) - Phase 5: 実装済み(評価レポート自動生成)

成果物: - 自動実行パイプライン: scripts/device/run_edge_phase_pipeline.py - 実装報告: Docs/edge_phase1_5_implementation_report.md - 最新ローカル実行結果: bench_output/edge_phase_runs/20260409-130535/edge_phase1_5_report.md

目標: - EvoSpikeNet SDK をエッジ環境(Raspberry Pi / Android / iPhone)で運用可能か検証し、最終的に最適なデプロイ戦略(SDK 単体実行 vs モデル変換)を決定する。

タイムライン(概略): 1) 準備 (0.5–1 日) - 開発 PC: 仮想環境を整備(Python 3.12) - 必要ツール: onnx, onnx-tf, tensorflow, coremltools を用意(量子化検証に必要) - 代表サンプルデータを用意(rep_samples/.npy

2) ローカル PoC (1–2 日) - scripts/device/edge_server.py を使い、エッジSDK をローカルサーバとして動かす - mobile_client_sim.py でレイテンシ/スループットを計測 - collect_bench_and_log.py で CPU/メモリ統計を取得

3) 変換 & 量子化テスト (1–3 日) - 小さめのモデルで TorchScript/ONNX/TFLite/CoreML を試験 - 代表サンプルを使って量子化(android_convert_tflite.py --quantize --rep-dir rep_samples/) - 変換後の差分テスト(推論出力、精度、レイテンシ)を自動化

4) 実機検証 (Raspberry Pi 最優先、次にモバイル) (1–2 日/機種) - RPi: rpi_setup_and_bench.sh を用いて依存インストール→ベンチ - Android: TFLite を組み込み、デバイス上で推論を計測 - iPhone: CoreML を統合、Instruments で Energy を測定

5) 評価と意思決定 (0.5 日) - 主要指標: レイテンシ、スループット、平均消費電力、実装コスト(CI/メンテ) - しきい値案: - SDK 単体で 目標レイテンシ(例: <10ms)・消費電力が満たせる → SDK を優先 - モデル変換で軽量化し、精度劣化が限定的なら変換を採用

チェックリスト(実行時): - [ ] 仮想環境と依存をクリーンに再現できる - [ ] 代表サンプルが 200 件以上ある(量子化用) - [ ] ベンチ: cold-start と steady-state を分けて測定 - [ ] 電力: 外部電力計(または RAPL)で同時取得 - [ ] 変換後: 出力の L2 差分 / タスクレベル精度を比較

自動化スクリプト (推奨): - scripts/device/rpi_setup_and_bench.sh — 依存インストール + ベンチ - scripts/device/android_convert_tflite.py — 変換と量子化 - scripts/device/collect_bench_and_log.py — サンプル取得 - scripts/device/plot_bench.py — プロット/要約生成

リスクと緩和策: - 変換失敗(カスタムSNNレイヤ): SDK をエッジに置くアプローチに切り替え、必要であればカスタム演算を TFLite カスタム OP として実装する - 量子化による精度低下: ポスト訓練量子化前に軽いファインチューニング(QAT)を検討 - デバイス依存の性能差: RPi/Android/iOS 毎にプロファイルを取り、デプロイ戦略を分ける

次のアクション(提案): 1. 代表サンプルディレクトリを用意していただく(rep_samples/.npy) 2. 実際の小さめモデルを一つ指定いただく(例: models/tinynet.pt) 3. 私が変換と量子化を走らせ、結果(CSV/JSON/プロット)を報告します

備考: 実機での電力測定はハードウェアが必須です。測定データが提供可能なら、消費電力の分析もこちらで実行できます。