Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

AISing MEMORY SAVING TREE 開発の背景と特徴.pptx

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 19 Anuncio

AISing MEMORY SAVING TREE 開発の背景と特徴.pptx

Descargar para leer sin conexión

株式会社エイシングの独自エッジAIアルゴリズムであるMEMORY SAVING TREEの解説スライドです。
MEMORY SAVING TREEは、指先大のマイコンへの実装を実現した超軽量かつ高精度なエッジAIアルゴリズムであり、KB(キロバイト)オーダーのメモリ上で動作します。
Arm Cortex-M0レベルに実装可能な省メモリ性により、GPUなどの専用機器を必要とせず、エッジ側で既存のマイコンに組み込んで推論が可能です。
また状態変化に追随する逐次学習の機能も備えています。
P19の更新動画については、以下のURLを参照ください。
https://aising.jp/mst/

株式会社エイシングの独自エッジAIアルゴリズムであるMEMORY SAVING TREEの解説スライドです。
MEMORY SAVING TREEは、指先大のマイコンへの実装を実現した超軽量かつ高精度なエッジAIアルゴリズムであり、KB(キロバイト)オーダーのメモリ上で動作します。
Arm Cortex-M0レベルに実装可能な省メモリ性により、GPUなどの専用機器を必要とせず、エッジ側で既存のマイコンに組み込んで推論が可能です。
また状態変化に追随する逐次学習の機能も備えています。
P19の更新動画については、以下のURLを参照ください。
https://aising.jp/mst/

Anuncio
Anuncio

Más Contenido Relacionado

Más reciente (20)

Anuncio

AISing MEMORY SAVING TREE 開発の背景と特徴.pptx

  1. 1. 1 MEMORY SAVING TREE 開発の背景と特徴
  2. 2. 2 モデル化の必要性(機械制御の場合) 高速かつ高精度に制御を行うためには 対象のモデル化が必須 𝑥 𝑓(𝑥) 予測モデル 予測 入力 (Xだけ動かしたい) (司令量はy) - FB制御器 制御対象 + 目標値 時間 - FB制御器 制御対象 + + + FF制御器 時間 目標値 誤差を認識してから制御するため 収束まで時間がかかる モデル化の目的:将来の予測やシミュレーション 𝑥 𝑥 𝑥 𝑥
  3. 3. 人手による 予測モデル 3 従来:人手によるモデル作成 (例) 製品加工の場合 気温(t) 電流値(i) 送り速度(v) 寸法誤差(e) if(t>θ1), if(i>θ2)… ・係数 ・次数 を経験、知識から決定 𝑒 = 2𝑡 + 3𝑖 + 4𝑣? 𝑒 = 4𝑡 + 2𝑖2 − 3𝑣3 ? ・入力データのパラメータ数 ・データ自体の量 が増えると決定は困難 入力データ 目的の値 (教師データ) 定式化 e = F(t, i, v) 条件分岐 または
  4. 4. 4 全世界のデータ総量(エクサバイト)の推移 約60倍 約1万倍 Source : https://data.wingarc.com/data-volume-27155
  5. 5. 5 近年:機械を用いたAI・機械学習によるモデル作成 収集データ (入力+教師) AI モデル ・計算能力が高い ・データの量を問わず同様に扱える AIモデル作成の仕方は AIアルゴリズムごとに異なり 目的によって使い分ける ・高精度モデル ・省メモリモデル ・高速モデル ⇒エイシングでは独自AIアルゴリズムを開発 AIアルゴリズム
  6. 6. 6 独自AIアルゴリズムAiiRシリーズ ・独自AI開発の方針 ・顧客の課題 ・顧客ニーズ 独自AI開発の背景 独自AI開発の方針 各AIは用途に最適化されていない 機械制御の分野に特化したAIを開発する Pythonライブラリだと必要メモリ、計算時間が大きい 可能な限り省メモリで高速に動作する 組込みの場合、Pythonだとメモリ管理しづらい C言語系で開発を行う
  7. 7. 7 お客様の二つの課題 ① 開発段階:PoCではうまくいったが、本番環境ではHWリソースの観点から搭載不可能 ② 運用段階:本番稼働後に精度の問題が発覚 データ収集 要件定義 PoC検証 本番環境で 検証 本番環境で 運用 開発段階 運用段階
  8. 8. 8 お客様の課題①:本番環境に搭載できない ① 開発段階:PoCではうまくいったが、本番環境ではHWリソースの観点から搭載不可能 うちもAIやろうよ じゃあ本番で使おうよ やってみます PoCでうまくいきました できません… … データ収集 要件定義 PoC検証 本番環境で 検証 本番環境で 運用
  9. 9. 9 理想的な環境と本番環境との違い PC, GPU コスト: 数千, 数万円以上 メモリ: 数百MB~数百GB マイコン コスト: 数十円~数百円 メモリ: 数KB~数MB 時間制約無し 精度検証がメイン リアルタイム 制御周期を厳守 通信可能 PCやサーバで計算 通信不可能 エッジデバイス上で完結 本番環境を想定してPoCを実施しないと結局は実現不可能 DeepLearningやRandomForestなどのAI 搭載可能 搭載不可能 ハードウェア 計算時間 通信可否 PoCの目的: AIでの精度検証 ⇒ハードウェアコスト・メモリ・計算時間・通信可否等が無視されるケースが多い 本番環境 理想的なPoC環境
  10. 10. 10 AI領域マップ Deep Learning 画像・音声領域 機械制御領域 ・機器コスト ・リアルタイム性 ・正確性 Random Forest 1KB 100MB 1MB 要求計算速度 秒 ミリ秒 μ秒 マイコン PC GPU メモリ 既存AIはマイコンに搭載することが困難 機械制御に要求される理想的なAIが必要 機器コスト 機器コスト リアルタイム性 遅 速
  11. 11. お客様の課題②:運用段階における精度の課題 ② 運用段階:本番稼働後に精度の問題が発覚 前より良い精度になったね! なんか精度悪い時ない? 本番環境で稼働できました そうですね… なんででしょう? … あと最近精度 悪くなってきてない? 本番環境に デプロイして 作業完了? AI モデル 11 データ収集 要件定義 PoC検証 本番環境で 検証 本番環境で 運用
  12. 12. 12 二種類の精度課題の原因:その1) 学習が十分でない箇所が存在 例) 自動運転車のための路面学習モデル ⇒ 世界中のあらゆる路面状況をすべて網羅したモデル作成は困難 ・晴、雨、雪、凍、土、砂、傾き… 学習していない箇所を どのように扱えばよいか? [課題の要素] ・学習していない箇所は予測精度が低い ・そもそも学習していない箇所が存在するのか判断できない
  13. 13. 二種類の精度課題の原因:その2) 徐々に精度が低下(コンセプトドリフト) 運用時間 誤差 例) 環境の変化 ・部材の摩耗 ・油の減少 ・気温、湿度 13 [課題の要素] ・データの出現領域/傾向が変化する場合がある(コンセプトドリフト) ・学習内容が現れなくなり、未学習内容が現れてくるため徐々に予測精度が低下する データの出現領域/傾向の変化に どのように追従すべきか?
  14. 14. バッチ学習と逐次学習 14 開発段階 運用段階 [逐次学習器の運用] [バッチ学習器の運用] 常にモデルを更新 モデル 再構築 運用時間 誤差 データ収集 モデル作成 予測 追加学習 開発段階 運用段階 必要に応じてデータ収集またはモデル再作成 データ収集 モデル作成 予測 モデル 再構築 運用時間 誤差 ・未学習データも追加学習可能 ・コンセプトドリフトによるズレに追従可能 ・モデル評価をしてモデル再作成の判断が必要 ・モデル再作成は手間のかかる作業 学習方法は大きく「バッチ学習(オフライン型)」と「逐次学習(オンライン型)」の二種類が存在 現状用いられている多くのAIは「バッチ学習」 バッチ学習:学習データからモデルを作成したら、更新/修正のためには再作成の必要がある 逐次学習:学習データからモデルを作成した後でも、常にモデルを更新/修正できる
  15. 15. 15 MEMORY SAVING TREE の特徴 1 2 軽量かつ高速、高精度 極小メモリのコンピュータで動作可能 短時間(マイクロ秒オーダー)かつ一定速度で動作可能 一般的な学習器と同等以上の予測精度 デバイス上で逐次学習が可能 未学習データとコンセプトドリフトへの対応が可能 更新性
  16. 16. 16 MEMORY SAVING TREEの特徴①:Random Forestの比較 モデルサイズ 約144分の1 Airfoil Self-Noise データセットを使用(UCI Dataset) ・ NASA による翼型ブレード部分の 空力/音響試験のデータ ・ 入力次元: 5 ・ 出力次元: 1 ・ 訓練データ行数: 751 ・ 予測データ行数: 752 RMSE Model size [KB] Train Time [ms] Predict Time [μs/record] Memory Saving Tree 2.24 6.76 19 1.0 Random Forest 2.35 977.25 116 144.9 誤差 参考: https://archive.ics.uci.edu/ml/datasets/airfoil+self-noise 問題設定 他複数データにおける Random Forestとの比較結果傾向 モデルサイズ 数十~数万分の1 計算速度 数倍~数百倍高速 精度 同程度以上 高精度 ※CPU: Core-i7 8665U 1.9~4.8GHz
  17. 17. 17 MEMORY SAVING TREE の搭載可能領域 推奨実装範囲 Arm®ベースマイコン 出荷台数の 約92% ※ [推奨シリーズ] Cortex®-A Cortex®-M7, M4, M0+, M0 想定ユースケース例 [Cortex®-Mに搭載] [Cortex®-AやPC, PLCに搭載] 搭載可能 (高付加価値化) ※当社調べ 搭載不可能 × 3 計算リソースから 少数だけ稼働可能 × 100 同時に 大量使用が可能 推奨Arm®マイコンシリーズ モデル モデル 従来AIモデル 従来AIモデル
  18. 18. 18 MEMORY SAVING TREE 性能検証結果 Core Clock [MHz] FPU FLASH [KB] SRAM [KB] Model size[KB] Prediction time[μs/record] STM32H747 (on SRAM) M7 400 ○ 2048 1024 19.2 62 STM32H747 (on FLASH) M7 400 ○ 2048 1024 19.2 108 STM32F446 (on SRAM) M4 180 ○ 512 128 19.2 180 STM32F446 (on FLASH) M4 180 ○ 512 128 19.2 190 STM32G474 M4 170 ○ 512 128 19.2 208 STM32L476 M4 80 ○ 1024 128 19.2 384 STM32F303 M4 64 (Max 72) ○ 64 16 19.2 757 STM32G031K8 M0+ 64 × 64 8 19.2 2612 STM32G0316-DISCO M0+ 64 × 32 8 12.8 1917 STM32F091 M0 48 × 256 32 19.2 3300 [Airfoil Self-Noise Data Setでの検証結果] ・KBオーダのモデルサイズ ・マイコン上でマイクロ秒オーダの予測時間 (・逐次学習機能はSRAMとModel sizeの大きさに依存)
  19. 19. 19 逐次学習 逐次更新可能 非線形表現の獲得 バッチ学習器 × ○ 一般的な逐次学習器 ○ × MEMORY SAVING TREE ○ ○ Passive Aggressive ②コンセプトドリフトへの追従 コンセプトドリフト後の関数 ①未学習領域の追加学習 ①,②の更新動画については、以下のURLを参照 https://aising.jp/mst/

×