グラフ手術
ほとんどのモデルは、その演算子とテンソルの形状がModel Compilerでサポートされている場合、直接コンパイルできます。モデルを変更する前に、モデル互換性リストを確認し、まず標準のコンパイルフローを試してください。
グラフ手術は、モデルをクリーンにコンパイルしたり、SiMaデバイス上で効率的に実行するために、特定のグラフ変更が必要な場合の高度なステップです。元のPythonモデルコードでそれらの変更を行い、モデルを再度エクスポートするか、エクスポートされたONNXグラフを直接編集できます。
SDKには、CodexとClaude用の事前に構築されたsima-model-surgeryスキルが付属しています。エージェントにモデルを検査させると、互換性をチェックし、必要なグラフの編集を提案および適用し、結果を検証し、モデルを次のコンパイル試行に備えることができます。このスキルは、特にYOLOモデルで役立ちます。グラフ手術によって、コンパイラの互換性を向上させ、SiMaランタイム用にモデルの出力を最適化できます。
たとえば、次のように質問します。
Use the sima-model-surgery skill to inspect my YOLO model, optimize unsupported
graph sections, and validate the modified model.
グラフ手術を理解する
グラフ手術は、ニューラルネットワークの計算グラフの構造を変更します。モデルに対して量子化、コンパイル、またはデプロイメントの前に、特定の変更を加える必要がある場合に利用します。
一般的な理由としては、以下のようなものがあります。
- 事前に学習済みのモデルをカスタマイズします。
- Model Compiler でサポートされていない演算子を別のものに置き換えてください。
- 効率的なコンパイルを妨げるグラフ演算を再構成または書き換えます。
- モデルのグラフを最適化し、より多くのモデル処理をMLAで実行できるようにします。
- 特定のデバイスや展開環境の制約に合わせて、モデルを調整します。