「Microsoft AI Researchは、Pythonで直接ONNXモデルを作成するためのONNXスクリプトライブラリをオープンソース化しました」

Microsoft AI Research has open-sourced the ONNX script library for directly creating ONNX models in Python.

機械学習の常に進化する風景の中で、ONNX(Open Neural Network Exchange)モデルは重要な技術として登場し、多様なハードウェアプラットフォームとランタイム環境にわたる標準化された柔軟な表現を提供しています。クラウドベースのスーパーコンピュータからスマートフォンやWebブラウザなどのリソース制約のあるエッジデバイスまで、ONNXモデルはスペクトラム全体でシームレスな実行を可能にします。

ONNXの力の中心は、通常Protobuf形式を使用して表されるグラフ形式です。しかし、ONNXは単なるグラフ表現以上のものです。それは一連の簡潔なプリミティブオペレータで構成されており、ランタイムとハードウェアベンダーによって普遍的に実装されています。広範なエコシステムを維持し、オーバーヘッドを最小限に抑えるため、ONNXは意図的にオペレータ数を低く保ち、ONNX関数を通じてモジュール性を促進します。

機械学習モデルはしばしばPyTorchやTensorFlowなどの高レベルフレームワークを使用して構築されますが、それらを本番環境に展開するには移行が必要です。モデルはフレームワークが提供するツールを使用してONNXにエクスポートされ、その後、Oliveなどのツールを使用して特定のターゲットに最適化されます。

ONNXモデルを直接作成するためのマイクロソフトチームによって設計された革新的なオープンソースライブラリであるONNX Scriptに出会ってください。ONNX Scriptは、クリーンで独自のPython構文を優先し、ONNXネイティブの関数を通じて合成性を促進します。このアプローチにより、モデルの作成が簡素化され、既存のPythonツールとの統合が容易になり、可読性と生産性が向上します。重要なことは、ONNX Scriptが将来のPyTorch ONNXエクスポータの基盤であり、TorchDynamoをサポートしているということです。

ONNX Scriptの登場前は、ONNXモデルの作成には仕様とシリアル化形式の深い理解が必要でした。ヘルパーAPIがこのプロセスを改善しましたが、ONNXの複雑さに精通している必要がありました。ONNX Scriptは、Pythonに深く埋め込まれるという異なるアプローチを取ります。

1. オペレータのための型付きAPI:ONNX Scriptは、opset 19を含む現在の186のすべてのオペレータのための型付きAPIを提供します。これにより、標準のPythonツール、リンター、IDEが貴重なフィードバックを提供し、正確性を強制することができます。

2. 自然なPython構文:ONNX Scriptは、条件分岐、ループ、バイナリおよび単項演算子、スライシングなど、Pythonの言語機能をサポートしています。Pythonでは、`a + b`のような式は、ONNX Scriptでは`Add(a, b)`と対応します。

ONNX ScriptのPyTorch ONNXエクスポーターとの統合は、進化する風景に応えています。PyTorch 2.0とTorchDynamoの登場は、TorchScriptからの移行を意味し、ONNXエクスポーターの主要な改革を必要とします。ONNX Scriptは、この変革の基盤として構想され、エクスポーターのアーキテクチャの基本を再構築します。PyTorchオペレータの純粋なONNX実装であるTorchlibの開発により、エクスポーターの役割が単純化され、FXグラフノードをオペレータレベルの問題なくONNXグラフノードに変換します。

さらに、ONNX ScriptはPyTorchモデルコードにカスタムONNX関数を特殊なオペレータとして追加することで、モデルの柔軟性と機能性を高めることができます。

ONNX Scriptは、Pythonエコシステム内にシームレスに統合することで、簡単なテストとデバッグを促進します。NumPyの組み込みサポートにより、標準のPythonツールやVisual Studio Codeなどの高度なIDEを介してデバッグが容易になります。

ONNX Scriptの将来は有望です。それはONNXモデルの作成を効率化し、ONNX標準自体の拡張にも道を開きます。ONNX ScriptでONNXをONNX Scriptに変換するサポートが追加され、既存のモデルのスムーズな編集と最適化パスが容易になります。目標は、ONNX ScriptのONNX GitHub組織への組み込みを提案し、機械学習の景観におけるその位置を確立することです。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more