取引のためのONNXの学習 - ページ 7

 

Azure Functions と ONNX ランタイムを使用して ML モデルをデプロイする



Azure Functions と ONNX ランタイムを使用して ML モデルをデプロイする

このビデオでは、VS Code で ONNX ランタイムと Azure 関数を使用して機械学習モデルをデプロイする方法を示します。このプロセスには、Azure 関数プロジェクトの作成、スコア スクリプトを使用したコードの更新、モデル パスからのモデルの読み込み、ONNX ランタイムでの推論セッションの作成、および出力の返しが含まれます。このビデオでは、関数を Azure にデプロイし、そこでテストする方法も示しています。この方法により、Azure Functions と ONNX ランタイムを介してモデルを効率的にデプロイできるため、結果に簡単にアクセスできます。

  • 00:00:00 このセクションのビデオでは、VS Code で ONNX ランタイムと Azure 関数を使用して機械学習モデルをデプロイする方法を示します。このプロセスには、Python と HTTP トリガーを使用した Azure 関数プロジェクトの作成、スコア スクリプトを使用したコードの更新、画像のサイズ変更と形状変更と前処理、モデル パスからのモデルの読み込み、ONNX ランタイムを使用した推論セッションの作成、および出力を返します。コードの機能を確認した後、このビデオでは、関数を Azure にデプロイしてそこでテストする方法を示します。

  • 00:05:00 このセクションでは、スピーカーは、関数の URL を取得してテストに貼り付けることで、デプロイされた関数をテストする方法を示します。スピーカーは、デプロイされた関数を使用して Azure Functions と ONNX ランタイムを介して簡単に結果を取得し、モデルの効率的なデプロイを可能にする方法を示します。
Deploy ML Models with Azure Functions and ONNX Runtime
Deploy ML Models with Azure Functions and ONNX Runtime
  • 2022.01.21
  • www.youtube.com
In this video we will go step-by-step do deploy the ImageNet model using VS Code, Azure Functions, and ONNX Runtime.Doc link: https://docs.microsoft.com/azur...
 

ONNX を使用したデスクトップへのデプロイ



ONNX を使用したデスクトップへのデプロイ

ビデオ「Deploying on Desktop with ONNX」では、Alexander Zhang が、デスクトップに展開する際の課題と、ONNX が提供するソリューションについて説明しています。デスクトップのサポートには課題があります。GPU やオペレーティング システムのシステム制限を制御することが難しく、デスクトップ GPU の多様性が非常に高いためです。これらの課題に対処するために、Alexander は、Topaz ラボがサポートするハードウェア ベンダーごとに異なる推論ライブラリに依存しています。 ONNX は、これらすべてのライブラリに同じモデルを指定するために使用され、各モデルの手動作業を節約しながら、異なるハードウェアで比較的一貫した結果を提供します。ただし、ONNX 変換は、あいまいさ、矛盾、品質の不一致などのさまざまな問題を引き起こす可能性があるため、開発者はテスト変換を実行し、最新の ONNX オフセットを明示的に使用する必要があります。バッチ処理によってスループットを最大化し、潜在的に複数のデバイスとライブラリで並行して実行するために、画像をブロックに分割し、VRAM に基づいて適切なサイズを選択してから、推論によってブロックを実行します。

  • 00:00:00 このセクションでは、Alexander Zhang が、デスクトップに展開する際の課題と、ONNX が提供するソリューションについて説明します。パフォーマンスの期待を満たし、進歩に遅れずについていく一方で、既存のワークフローに適合させるには、利用可能な最新かつ最高品質の画像モデルを提供する必要があります。デスクトップのサポートには課題があります。GPU やオペレーティング システムのシステム制限を制御することが難しく、デスクトップ GPU の多様性が非常に高いためです。これらの課題に対処するために、Alexander は、Topaz ラボがサポートするハードウェア ベンダーごとに異なる推論ライブラリに依存しています。 ONNX は、これらすべてのライブラリに同じモデルを指定するために使用され、各モデルの手動作業を節約しながら、異なるハードウェアで比較的一貫した結果を提供します。ただし、ONNX 変換は、あいまいさ、矛盾、品質の不一致などのさまざまな問題を引き起こす可能性があるため、開発者はテスト変換を実行し、最新の ONNX オフセットを明示的に使用する必要があります。

  • 00:05:00 このセクションでは、講演者は、既存のライブラリやラッパーを使用するのではなく、自分で多くの変換を行う理由の 1 つはパフォーマンスであると説明しています。また、モデルごとにモデル固有のコードを記述する義務を負うことなく、必要に応じて独自のモデルとパフォーマンスのニーズに合わせて最適化できる柔軟性の重要性も強調しています。バッチ処理によってスループットを最大化し、潜在的に複数のデバイスとライブラリで並行して実行するために、画像をブロックに分割し、VRAM に基づいて適切なサイズを選択してから、推論によってブロックを実行します。しかし、彼らは、新しいモデル アーキテクチャがすべてのライブラリで適切に動作することを保証することは引き続き困難であると結論付けていますが、彼らの戦略がこれらの課題を克服し、一貫した画像品質の改善を提供することを期待しています.
Deploying on Desktop with ONNX
Deploying on Desktop with ONNX
  • 2022.07.13
  • www.youtube.com
ORT provides the foundations for inference for Adobe's audio and video products (Premiere Topaz Labs develops deep learning based image quality software for ...
 

Flink に ONNX モデルをデプロイする - Isaac Mckillen-Godfried



Flink に ONNX モデルをデプロイする - Isaac Mckillen-Godfried

Isaac McKillen-Godfried が、最先端の機械学習モデルを研究環境から本番環境に組み込み、効果的に利用する際の課題について説明します。この講演の目的は、モデルを研究環境から生産環境に移行しやすくし、最先端のモデルをさまざまなプラットフォームに組み込むことを可能にすることです。彼は、ONNX 形式の利点と、深層学習モデルを Java に統合するためのさまざまなオプションについて説明しています。さらに、Java で記述された Python インタープリターである Jep を使用して Flink に ONNX モデルをデプロイする方法について説明し、Flink Twitter コネクタからデータを消費して英語以外のツイートをフィルター処理できるオープンソース プロジェクトについて説明します。このトークでは、Flink に ONNX モデルを展開する現在の CPU のみの実装と、将来の GPU またはハイブリッド実装の可能性についても強調しています。

  • 00:00:00 ビデオのこのセクションでは、研究環境から生産に最先端の機械学習モデルを組み込んで効果的に利用することの課題について講演者が説明します。彼は、人気のあるフレームワークのほとんどが Java と Scala で書かれている一方で、コードと論文の大部分は Python で書かれていると述べています。この講演の目的は、モデルを研究環境から生産環境に移行しやすくし、最先端のモデルをさまざまなプラットフォームに組み込むことを可能にすることです。講演者は、Flink での不十分な Python サポートや、ONNX を Java に組み込むことの難しさなど、課題についても話します。彼はまた、研究コミュニティでの PyTorch の人気と、機械学習フレームワークでの PyTorch の実装の増加についても言及しています。

  • 00:05:00 このセクションでは、スピーカーが ONNX 形式とその利点について説明します。 ONNX は、さまざまなフレームワークからモデルを簡単にエクスポートおよびインポートできるオープン ニューラル ネットワーク交換フォーマットです。 ONNX の目標は、さまざまな言語やフレームワークでモデルを実行できるようにして、開発者にとって価値のあるツールにすることです。さらに、スピーカーは、モデルのエクスポートとインポートに使用できるさまざまな ONNX フレームワークとツールについて話します。また、ONNX での運用サポートを測定するスコアカードも導入しており、TensorFlow と Caffe2 がかなりのサポートを提供しています。次にスピーカーは、マイクロサービスの作成、Java 組み込み Python、ONNX バックエンド JVM ベースのフレームワークの実行など、ディープ ラーニング モデルを Java に統合するためのさまざまなオプションについて説明します。

  • 00:10:00 このセクションでは、Meno や Vespa などのフレームワークでのニューラル ネットワーク操作の限定的なサポートなど、ONNX モデルで Java を使用する際の制限について説明します。エクスポート プロセスも困難で時間がかかる可能性があり、モデルを完全に再トレーニングする必要がある場合もあります。 1 つの解決策は、非同期サービスとマイクロサービスを使用することですが、このアプローチでは、別のサービスをスケーリングして維持する必要があります。議論されているもう 1 つのアプローチは、Java 組み込み Python (JEP) を使用することです。これにより、任意の Python ライブラリを使用でき、Keras などのフレームワークで高速に実行されることがわかっています。ただし、対処が必要な共有ライブラリの問題がある場合があります。

  • 00:15:00 ビデオのこのセクションでは、講演者が Flink での ONNX モデルのデプロイと、発生する可能性のあるセットアップの問題について説明します。 Java プリミティブを Python に、またはその逆に転送することは可能ですが、依存関係の設定に問題が生じる可能性があります。講演者は、セットアップを容易にするために、Flink と Python の両方のパッケージを含むカスタム Docker イメージを作成することを推奨しています。スピーカーは、NLP タスク用の PyTorch フレームワークである Flair にも注目し、JEP を使用してそれを Flink に統合する方法を説明します。コード例では、リッチ マップ関数を使用して、Flair からの結果を文字列として返します。

  • 00:20:00 このセクションでは、スピーカーは Java で書かれた Python インタープリターである Jep を使用して Flink に ONNX モデルを展開することについて話します。講演者は、Flink Twitter コネクタを使用して Twitter データに対してセンチメント分析を実行する例を示し、モデルを関数のオープン部分にロードして、反復ごとに再ロードしないようにすることの重要性を説明します。また、Jep を使用して Python で変数を設定する方法と、結果を文字列として Java に返す方法も示します。講演者は、Jep で共有インタープリターを使用して Python モジュールを使用する際のエラーを回避することを強調し、Java での処理を容易にするために結果を JSON に変換することを提案します。

  • 00:25:00 このセクションでは、Isaac McKillen-Godfried が、Flink Twitter コネクタからデータを消費し、英語以外のツイートをフィルタリングできるようにするオープンソース プロジェクトについて話します。次に、データは、複数の言語を処理できるマルチタスク名前付きエンティティ認識モデルと特定の言語モデルを通じて処理されます。名前付きエンティティの認識と感情分析は、テーブルに変換され、クエリを使用してエンティティと感情によってグループ化される前に行われます。ディープ ラーニングやその他のモデルを Flink に組み込むことで、名前付きエンティティとそのセンチメントを Twitter テキストでリアルタイムに表示できます。 onnx バックエンドは成熟度に欠けますが、コードを変換して書き直す時間を節約でき、クラスターでのモデルの実行は高速です。 McKillen-Godfried は、近い将来、レイテンシの増加を測定するためにベンチマークを行う予定です。

  • 00:30:00 このセクションでは、Isaac Mckillen-Godfried が、Flink に ONNX モデルを展開する現在の CPU のみの実装と、プロセスをさらに高速化できる将来の GPU またはハイブリッド実装の可能性について説明します。彼は、CPU でモデルをテストしただけで、GPU を使用して効率を向上させる可能性をまだ調査していないと述べています。
Deploying ONNX models on Flink - Isaac Mckillen-Godfried
Deploying ONNX models on Flink - Isaac Mckillen-Godfried
  • 2019.07.08
  • www.youtube.com
Deploying ONNX models on FlinkThe Open Neural Network exchange format (ONNX) is a popular format to export models to from a variety of frameworks. It can han...
 

DeepStream を使用して Jetson Nano に Tiny YOLOv2 ONNX モデルをデプロイする



DeepStream を使用して Jetson Nano に Tiny YOLOv2 ONNX モデルをデプロイする

このビデオでは、ONNX 形式の事前トレーニング済みの Tiny YOLOv2 モデルを利用して 4 つのビデオ ストリームを同時に処理する効率を紹介しています。
ストリームは 4 つの異なるファイルから取得され、DeepStream SDK を使用して Jetson Nano で処理されます。システムは、4 つのビデオすべてを並行して処理しながら、約 6.7 の FPS を達成しました。

https://github.com/thatbrguy/Deep-Stream-ONNX

Deploying Tiny YOLOv2 ONNX model on Jetson Nano using DeepStream
Deploying Tiny YOLOv2 ONNX model on Jetson Nano using DeepStream
  • 2019.11.18
  • www.youtube.com
This video demonstrates the performance of using a pre-trained Tiny YOLOv2 model in the ONNX format on four video streams.Blog: https://towardsdatascience.co...
 

ONNX ランタイム推論エンジンは、さまざまな環境で機械学習モデルを実行できます



ONNX ランタイム

ONNX ランタイムは、パフォーマンス、スケーラビリティ、および拡張性が最適化されたオープン ソースの推論エンジンであり、標準化される前に新しいオペレーターを実行できます。 ONNX 形式を使用すると、好みのツールで一般的な方法で開発されたモデルを簡単に表現および展開できます。マイクロソフトはザイリンクスと提携して、Vitis AI ソフトウェア ライブラリの実行プロバイダーを構築しました。これにより、ザイリンクス ハードウェア プラットフォーム上で AI の推論とアクセラレーションが可能になります。 Vitis AI ツールキットは、FPGA 開発者向けの IP ツール、ライブラリ、モデル、サンプル デザインで構成されており、ベンチマークの数値は、地理空間イメージング ソリューションのピーク アクセラレーションを示しています。 Vitis AI 実行プロバイダーは、ソースからビルドすることも、ビルド済みのソフトウェア ライブラリを介してデプロイすることもでき、近日中に Azure マーケットプレイスでリリースされます。

  • 00:00:00 このセクションでは、マイクロソフトの AI フレームワーク担当プリンシパル プログラム マネージャーである Manash Goswami が、ONNX モデルの実行に使用されるオープン ソースの推論エンジンである ONNX ランタイムを紹介します。 ONNX 形式を使用すると、データ サイエンス チームはモデル開発に好みのツールを使用できると同時に、モデルを一般的で簡単に実行できる方法で表現およびデプロイできるようになります。 ONNX ランタイムは、パフォーマンス、拡張性、およびスケーラビリティのために最適化されており、カスタム オペレーターをサポートしているため、標準化される前に新しいオペレーターを実行できます。ランタイムは後方互換性と前方互換性があり、その実行プロバイダー インターフェイスにより、さまざまなハードウェア プラットフォームでの ML モデルの実行が可能になります。マイクロソフトはザイリンクスと提携して、ザイリンクス U250 FPGA プラットフォームで ONNX モデルを実行する Vitis AI ソフトウェア ライブラリの実行プロバイダーを構築しました。

  • 00:05:00 このセクションでは、ザイリンクス ハードウェア プラットフォームでの AI 推論に特化したザイリンクス開発プラットフォームである Vitis AI ソフトウェア ライブラリについて説明します。 U250 FPGA は、ユーザーの NP VM キューとして、Azure のプライベート プレビューで Vitis AI ソフトウェア スタックで使用できます。 Vitis AI ツールキットは、開発者が FPGA で使用できる最適化された IP ツール、ライブラリ、モデル、サンプル デザインで構成されており、AI の推論とアクセラレーションを組み合わせることができます。地理空間分析ソリューションを提供するスタートアップである Peakspeed は、ONNX ランタイムと Vitis AI スタックを Esri の ArcGIS Pro アプリケーションと統合して、世界最速の地理空間イメージング ソリューションを構築しています。 Peakspeed は、CPU での地理空間補正またはオルソ補正プロセスの高速化に成功し、ザイリンクス U250 FPGA をホストする Azure NP で実行されている TrueView を Xeon プラチナ CPU で実行されている同じアルゴリズムと比較してベンチマークの数値を記録しました。

  • 00:10:00 このセクションでは、開発者と顧客が ONNX ランタイムと Vitis AI スタックを使用して深層学習をアプリケーションに注入し、Azure の FPGA エンドポイントやザイリンクス U250 ハードウェアを使用したオンプレミスで高速化する方法を Manash が説明します。彼はまた、開発者が ONNX ランタイムを使用して Vitis AI 実行プロバイダーをソースから構築できることを強調しています。ザイリンクスは、Azure NP VM に簡単にデプロイできるように、構築済みのすべてのソフトウェア ライブラリが 1 か所に統合された VM イメージを Azure Marketplace でまもなくリリースする予定です。
ONNX Runtime
ONNX Runtime
  • 2020.07.07
  • www.youtube.com
ONNX Runtime inference engine is capable of executing ML models in different HW environments, taking advantage of the neural network acceleration capabilitie...
 

#ONNXRuntime を使用してブラウザーに Transformer モデルをデプロイする



#ONNXRuntime を使用してブラウザーに Transformer モデルをデプロイする

このビデオでは、ONNXRuntime を使用してブラウザー上で最適化された BERT モデルを微調整してデプロイする方法を示します。プレゼンターは、Transformers API を使用して PyTorch モデルを ONNX 形式に変換し、ONNXRuntime を使用してモデルを量子化してサイズを縮小し、推論セッションを作成する方法を示します。このビデオでは、WebAssembly を使用して JavaScript にパッケージをインポートするために必要な手順と、感情分類のために変換されたモデルを介してテキスト入力を実行する方法についても説明します。予測精度は低下しますが、モデル サイズが小さいほど、ブラウザーへの展開に適しています。モデル、データ セット、ソース コード、およびブログ投稿へのリンクが提供されています。

  • 00:00:00 このセクションでは、ビデオ プレゼンターがトランスフォーマー モデルを運用する方法を示し、最適化されてブラウザーにデプロイされたトランスフォーマー モデルを含む最終プロジェクトを示します。プロジェクトで使用されるモデルは、サイズを縮小し、テストに依存しないようにするために Microsoft によって蒸留された最適化された bert モデルです。モデルの微調整に使用される感情データ セットは、ハグ フェイス ハブで利用できます。プレゼンターは、トランスフォーマー API を使用して微調整プロセスを順を追って説明し、トランスフォーマーの組み込み変換ツールを使用して PyTorch モデルを ONNX 形式に変換する方法を示します。最後に、ONNX ランタイム Web パッケージは JavaScript での推論に使用され、必要な演算子に応じてさまざまな操作セットを選択できます。

  • 00:05:00 このセクションのビデオでは、ONNXRuntime を使用してブラウザでトランスフォーマー モデルをデプロイする方法について説明します。最初に、このビデオでは、ONNXRuntime を使用してモデルを量子化してサイズを縮小する方法を説明します。その後、量子化されていないモデルと量子化されたモデルの両方に対して推論セッションが作成されます。ビデオでは、WebAssembly を使用して必要なパッケージを JavaScript にインポートする方法と、ONNXRuntime モデルで実行する前にテキスト入力をエンコードする方法を示します。このデモは、変換されたモデルを使用して、入力テキストからさまざまな感情を予測する方法を示しています。予測精度の低下にもかかわらず、ビデオは、縮小されたモデル サイズが Web での展開に最適であると結論付けています。

  • 00:10:00 このセクションでは、発表者が大規模な変換モデルを取得し、それを抽出して量子化し、ONNX ランタイムを使用してエッジで推論を実行する方法について説明します。また、使用されているモデルとデータ セットへのリンク、ソース コード、デモに関するブログ投稿も提供されています。
Deploy Transformer Models in the Browser with #ONNXRuntime
Deploy Transformer Models in the Browser with #ONNXRuntime
  • 2022.04.01
  • www.youtube.com
In this video we will demo how to use #ONNXRuntime web with a distilled BERT model to inference on device in the browser with #JavaScript. This demo is base...
 

#ONNXRuntime を使用してブラウザーに Transformer モデルをデプロイする



#ONNXRuntime を使用してブラウザーに Transformer モデルをデプロイする

このビデオでは、ONNXRuntime を使用してブラウザー上で最適化された BERT モデルを微調整してデプロイする方法を示します。プレゼンターは、Transformers API を使用して PyTorch モデルを ONNX 形式に変換し、ONNXRuntime を使用してモデルを量子化してサイズを縮小し、推論セッションを作成する方法を示します。このビデオでは、WebAssembly を使用して JavaScript にパッケージをインポートするために必要な手順と、感情分類のために変換されたモデルを介してテキスト入力を実行する方法についても説明します。予測精度は低下しますが、モデル サイズが小さいほど、ブラウザーへの展開に適しています。モデル、データ セット、ソース コード、およびブログ投稿へのリンクが提供されています。

  • 00:00:00 このセクションでは、ビデオ プレゼンターがトランスフォーマー モデルを運用する方法を示し、最適化されてブラウザーにデプロイされたトランスフォーマー モデルを含む最終プロジェクトを示します。プロジェクトで使用されるモデルは、サイズを縮小し、テストに依存しないようにするために Microsoft によって蒸留された最適化された bert モデルです。モデルの微調整に使用される感情データ セットは、ハグ フェイス ハブで利用できます。プレゼンターは、トランスフォーマー API を使用して微調整プロセスを順を追って説明し、トランスフォーマーの組み込み変換ツールを使用して PyTorch モデルを ONNX 形式に変換する方法を示します。最後に、ONNX ランタイム Web パッケージは JavaScript での推論に使用され、必要な演算子に応じてさまざまな操作セットを選択できます。

  • 00:05:00 このセクションのビデオでは、ONNXRuntime を使用してブラウザでトランスフォーマー モデルをデプロイする方法について説明します。最初に、このビデオでは、ONNXRuntime を使用してモデルを量子化してサイズを縮小する方法を説明します。その後、量子化されていないモデルと量子化されたモデルの両方に対して推論セッションが作成されます。ビデオでは、WebAssembly を使用して必要なパッケージを JavaScript にインポートする方法と、ONNXRuntime モデルで実行する前にテキスト入力をエンコードする方法を示します。このデモは、変換されたモデルを使用して、入力テキストからさまざまな感情を予測する方法を示しています。予測精度の低下にもかかわらず、ビデオは、縮小されたモデル サイズが Web での展開に最適であると結論付けています。

  • 00:10:00 このセクションでは、発表者が大規模な変換モデルを取得し、それを抽出して量子化し、ONNX ランタイムを使用してエッジで推論を実行する方法について説明します。また、使用されているモデルとデータ セットへのリンク、ソース コード、デモに関するブログ投稿も提供されています。
Deploy Transformer Models in the Browser with #ONNXRuntime
Deploy Transformer Models in the Browser with #ONNXRuntime
  • 2022.04.01
  • www.youtube.com
In this video we will demo how to use #ONNXRuntime web with a distilled BERT model to inference on device in the browser with #JavaScript. This demo is base...
 

企業でのオープン ニューラル ネットワーク エクスチェンジ (ONNX): Microsoft が機械学習を拡張する方法



企業内のオープン ニューラル ネットワーク エクスチェンジ (ONNX): Microsoft が ML を拡張する方法 - BRK3012

Open Neural Network Exchange (ONNX) は、機械学習モデルを本番環境に展開する際の課題に対するソリューションとして導入されました。これには、複数のトレーニング フレームワークと展開ターゲットの管理が含まれます。Microsoft は、Bing、Bing 広告、Office 365 などの製品に ONNX をすでに広く採用しています。 . ONNX は、機械学習モデルのスケーラビリティとメンテナンスを可能にするだけでなく、GPU などのハードウェア アクセラレータの使用に起因する大幅なパフォーマンスの向上とコスト削減を可能にします。さらに、ONNX エコシステムには、ランタイム最適化のための Intel などのパートナーが含まれており、FP32 モデルをより精度の低いデータ型に変換するためのすぐに利用できる開発キットと量子化技術を利用できるため、効率が向上します。スピーカーは、ランタイムが柔軟で、モデルをさまざまなハードウェア プラットフォームに展開できるため、エッジ コンピューティングに ONNX を利用する利点も強調しています。

  • 00:00:00 このセクションでは、Office 365 の 1 億 8,000 万人を超える月間アクティブ ユーザーと、数億台の Windows デバイスに展開されている機械学習テクノロジを含む、Microsoft の機械学習イニシアチブの規模について発表者が説明します。また、Microsoft は 6 つ以上の機械学習フレームワークを使用しており、機械学習モデルを運用環境に展開するには課題があることにも言及しています。これらの課題に対するソリューションとして、Intel や NVIDIA などのハードウェア アクセラレータや Azure 機械学習で使用できる ONNX と ONNX ランタイムを紹介しています。

  • 00:05:00 ビデオのこのセクションでは、講演者は、機械学習モデルをトレーニングして本番環境にデプロイするときに発生する課題について説明します。非常に多くの異なるトレーニング フレームワークと展開ターゲットがあるため、効率的なアプリケーション パフォーマンスを管理および維持することが難しくなっています。この問題に対処するために、Microsoft は、トレーニングに使用されるフレームワークに関係なく、機械学習モデルを ONNX 形式に変換できる業界標準である ONNX (Open Neural Network Exchange) を導入しました。これにより、サポートされているフレームワークへの ONNX モデルの展開が可能になり、より柔軟でスケーラブルなソリューションが実現します。さらに、Microsoft はパートナーの強力なエコシステムを構築して、ONNX をサポートし、業界標準としての成功を保証しています。

  • 00:10:00 このセクションでは、スピーカーが Open Neural Network Exchange (ONNX) と ONNX ランタイムの実際の運用ユース ケースについて説明し、Microsoft の製品と顧客にビジネス価値をもたらす方法を示します。 Bing、Bing 広告、Office 365 などの Microsoft 製品の一部では、ONNX と ONNX ランタイムがすでに広く採用されており、モデルのパフォーマンスが大幅に向上し、待ち時間が短縮されています。たとえば、ONNX と ONNX ランタイムを使用すると、Office 365 の文法チェック機能のパフォーマンスが 14.6 倍向上し、コストと待ち時間が削減されました。別のユース ケースである OCR も、ONNX と ONNX ランタイムから大きな恩恵を受けています。

  • 00:15:00 このセクションでは、Microsoft が Open Neural Network Exchange (ONNX) を使用してさまざまなシナリオで機械学習をスケーリングする方法について説明します。これには、Azure Cognitive Services OCR コミュニティ サービスの品質とパフォーマンスの向上、および改善が含まれます。検索品質を向上させ、パーソナル アシスタントによる質問や回答などの新しいシナリオを可能にします。講演者は、ONNX と ONNX ランタイムが機械学習モデルの速度をそれぞれ 3.5 倍と 2.8 倍向上させ、製品チームに大きな価値をもたらしたことにも言及しています。また、マルチメディア検索を改善するために、画像の意味を理解するために機械学習モデルをトレーニングすることの重要性も強調しています。

  • 00:20:00 このセクションでは、スピーカーは Microsoft 製品での Open Neural Network Exchange (ONNX) モデルの使用、特に Bing ビジュアル検索機能について説明します。 ONNX では、GPU などのハードウェア アクセラレータを使用することで、機械学習モデルのスケーリングとメンテナンス、および大幅なパフォーマンスの向上とコスト削減が可能になります。スピーカーは、x64 や ARM ベースのアーキテクチャなど、さまざまなプラットフォームで実行できる ONNX の汎用性についても強調し、Windows、Mac、Linux で利用できる ONNX モデル用のオープンソースの推論エンジンです。 ONNX を使用すると、モデルのインターフェイスを変更せずに特定のターゲット ハードウェアでの実行を最適化できるため、本番環境の展開をスケーリングおよび維持するための貴重なツールになります。

  • 00:25:00 このセクションでは、スピーカーは、CPU、GPU、FPGA などのさまざまなハードウェア プラットフォームで ONNX モデルを実行するために使用される実行プロバイダー インターフェイスについて説明します。パートナーのエコシステムには Intel が含まれており、Microsoft はオープンな VINO ベースの実行プロバイダーを使用したランタイムの最適化で協力しています。また、製造、小売、輸送などのさまざまな業種の AI ワークロードを高速化するために、ニューラル コンピューティング スティックを含む、すぐに利用できる開発キットも提供しています。 Microsoft と Intel は、FP32 モデルをより精度の低いデータ型に変換するための量子化についても協力してきました。これにより、メモリ帯域幅が低下し、モデルのメモリ フットプリントが減少し、精度の損失を最小限に抑えながらワットあたりの 4 トップの数が増加しました。

  • 00:30:00 このセクションでは、スピーカーは、ベクトル処理命令とグラフ融合を使用して、畳み込みニューラル ネットワークの整数 gem カーネルのパフォーマンスとメモリ要件を改善する方法について説明します。彼らは、4 倍のコンピューティング能力と 4 分の 1 のメモリ要件を達成することができました。彼らは、さまざまなバッチサイズのパフォーマンスのスケーリングを示すことにより、n-graph をハードウェア処理機能と共に実行プロバイダーとして使用する利点を紹介しました。精度の低下は非常に小さく、量子化の動機付けの利点を満たしました。また、ONNX Model Zoo、Azure Machine Learning Experimentation、Microsoft のカスタム ビジョン サービスなど、ONNX モデルを生成するさまざまな方法についても説明しました。

  • 00:35:00 このセクションでは、スピーカーはアプリケーション内で ONNX ランタイムを使用して推論セッションを実行する方法を説明します。モデルを変換した後、ユーザーはそれを ONNX ランタイムにロードし、グラフの解析を開始します。ランタイムは、利用可能な最適化を識別し、基盤となるハードウェアを照会して、ハードウェア ライブラリでサポートされている演算の種類を識別します。 ONNX ランタイムは一貫性を保つように設計されているため、Python と C シャープのコード スニペットは非常に似ています。講演者は AutoML についても言及しています。これにより、ユーザーはデータを入力して、Python と C-sharp のコードを自動的に変換するアプリケーションの提案を受け取ることができます。さらに、スピーカーは、さまざまなフレームワークのコンバーターを含む docker イメージについて説明し、ユーザーが ONNX ランタイムをすばやく開始できるようにします。ワークフローは、Azure Notebooks を使用して示されます。

  • 00:40:00 このセクションでは、講演者は Open Neural Network Exchange (ONNX) と Microsoft の機械学習ツールを利用して企業内のモデルをスケーリングする方法について説明します。このプロセスでは、ML ワークスペースを使用して、前処理と推論の両方のステップを含むスコアリング ファイルを作成します。次にスピーカーは、ONNX ランタイム ベース イメージなどのベース イメージを含む、ターゲット コンピューターと環境のコンテナー イメージを作成する方法を示します。最後に、イメージはクラウド IKS サービスにデプロイされ、CPU および GPU エンドポイントでの推論のためにテスト イメージを送信できます。

  • 00:45:00 このセクションでは、講演者は Open Neural Network Exchange (ONNX) ランタイムの柔軟性を実演し、同じコードを使用してアプリケーションを異なるハードウェア プラットフォーム (CPU と GPU、x86 など) に向けるデモを行います。対アーム。また、講演者は、ONNX ランタイムとモデルをエッジ デバイス、特に Intel アップスクエアに展開し、事前に記録されたビデオ フィードとバウンディング ボックスの後処理を使用して、工場労働者のシナリオで安全シナリオを検出するデモも紹介します。デモで使用されるコードは同じですが、アプリケーションを最適化するために異なるハードウェア アクセラレータが使用されます。講演者は、ONNX がニューラル ネットワーク モデルを表す一般的な形式になり、ONNX ランタイムがクラウドとエッジ デバイスの両方での展開を可能にすることを要約します。

  • 00:50:00 このセクションでは、プレゼンターは、Azure で機械学習アプリケーションを構築およびデプロイするために Open Neural Network Exchange (ONNX) を使用する利点について説明します。また、さまざまなプロセッサでの機械学習、既存のパイプラインでの ONNX の使用、および ONNX から以前のフレームワークに戻る可能性について、聴衆の質問にも対応しています。さらに、対象となるシナリオとデータを使用して ONNX Model Zoo を拡張する計画についても言及しています。

  • 00:55:00 このセクションでは、ONNX モデルはサービング用のさまざまなフレームワークで使用できるため、フレームワークの柔軟性の観点から ONNX の利点について講演者が説明します。また、ONNX と Azure 機械学習の統合についても言及しています。これにより、ユーザーは再トレーニングや実験のために推論テレメトリをアップロードできます。このセッションでは、ONNX を Excel とネイティブに統合する可能性についても説明しますが、これはまだ開発中です。また、Python を使用して ONNX ファイル形式を操作するオプションを使用して、カスタム アルゴリズムを作成し、それらを ONNX に変換するという問題にも対処します。最後に、セッションでは、配布用に ONNX モデルに署名するアプローチの必要性について言及しています。これは、将来の改善のためのフィードバックとして受け取られます。
Open Neural Network Exchange (ONNX) in the enterprise: how Microsoft scales ML - BRK3012
Open Neural Network Exchange (ONNX) in the enterprise: how Microsoft scales ML - BRK3012
  • 2019.05.08
  • www.youtube.com
AI, machine learning, deep learning, and advanced analytics are being infused into every team and service at Microsoft—understanding customers and the busine...
 

#ONNX ランタイムの #OpenVINO 実行プロバイダー - #OpenCV Weekly #Webinar Ep. 68



#ONNX ランタイムの #OpenVINO 実行プロバイダー - #OpenCV Weekly #Webinar Ep. 68

ONNX ランタイム用の OpenVINO 実行プロバイダーは、この OpenCV ウィークリー ウェビナーの主なトピックでした。この製品は、Intel ハードウェア上での ONNX モデルのパフォーマンスを加速すると同時に、ユーザー側の労力を最小限に抑えることを目的としています。ウェビナーでは、実世界にディープ ラーニング モデルを展開する際の課題について説明し、これらの課題に対するソリューションとして OpenVINO を紹介しました。 OpenVINO は、AI モデルを最適化して、さまざまなデバイスやハードウェアで効率的なパフォーマンスを実現できます。機械学習の推論を高速化するために設計されたオープンソース プロジェクトである ONNX ランタイムについては、詳細に議論されました。このウェビナーでは、ONNX ランタイム用の OpenVINO Execution Provider で達成されたパフォーマンスの向上のほか、マルチスレッド推論、さまざまなプラグインの完全サポート、モデル キャッシングなどの機能も紹介しました。 OpenVINO Execution Provider を介した OpenVINO と PyTorch の統合についても説明されました。プレゼンターは、ARM デバイスとの互換性や、ONNX 交換フォーマットを使用した場合のパフォーマンスや精度の潜在的な損失などのトピックについて、聴衆からの質問に答えました。

  • 00:00:00 このセクションでは、ホストがゲストとして、OpenVINO のテクニカル プロダクト マネージャーと AI フレームワーク エンジニアである Devon Agarwal と Prita Veeramalai を紹介します。彼らは番組を簡単に紹介し、視聴者向けの今後のプレゼントについて話し合います。議論の主なトピックは、ONNX ランタイムの OpenVINO 実行プロバイダーを中心に展開しています。これは、ユーザー側で必要な労力を最小限に抑えて、Intel ハードウェア上の ONNX モデルのパフォーマンスを加速することを目的としています。主催者はまた、セッションの議題の概要を説明します。これには、ディープ ラーニングとその課題の概要が含まれ、続いて OpenVINO とその機能が紹介されます。

  • 00:05:00 ビデオのこのセクションでは、スピーカーが ONNX ランタイム用の OpenVINO 実行プロバイダーを紹介し、その目的を説明します。また、OpenVINO、ONNX、および ONNX ランタイムの概要を説明した後、ONNX ランタイム用の OpenVINO 実行プロバイダーの使用を開始し、それを ONNX アプリケーションに統合する方法についてのガイドが続きます。講演者は、開発者向けのベータ プレビュー製品のプレビューなど、製品の機能セットと将来の計画についても説明します。次に会話は、今日の世界におけるディープ ラーニングの重要性、エッジ デバイスでの AI の必要性、および AI に対するコンピューティングの需要に移ります。このビデオでは、独自の推論ニーズ、統合の課題、万能のソリューションがないことなど、ディープ ラーニング モデルの開発と展開に関連する課題についても取り上げています。

  • 00:10:00 このセクションでは、深層学習モデルを現実の世界に展開する際の課題について説明します。ディープ ラーニング ネットワークのトレーニングと組み込みプラットフォームで行われる推論との間の断絶に起因する技術的な課題があります。プログラミング言語とハードウェアのバリエーションもあり、ソフトウェアとハードウェアの通信に専用の API が必要です。これらの課題に対するソリューションとして、Intel の OpenVINO ツールキットが導入されました。このツールキットは開発ワークフローを合理化し、開発者が一度アプリケーションを作成してインテル アーキテクチャ全体に展開できるようにし、一度作成すればどこにでも展開できるアプローチを提供します。このツールキットは、CPU、iGPU、Movidius VPU、および GNA をターゲットとするアプリケーションをデプロイできます。産業、健康、ライフ サイエンス、小売、安全、セキュリティなど、さまざまな業界で価値があり、実際の展開に向けてより速く、より正確で効率的な結果を提供します。
     
  • 00:15:00 このセクションでは、スピーカーが OpenVino の概念と、エッジ デバイス向けに AI モデルを最適化する方法について説明します。彼らは、PyTorch や TensorFlow などのフレームワークに組み込まれた後、CPU、GPU、VPU などの特定のデバイスで効率的なパフォーマンスを得るために AI モデルを最適化する必要があることを説明しています。 OpenVino は、さまざまなデバイスやハードウェアに対してこの変換プロセスを自動化し、モデルが展開されているデバイスで効率的なパフォーマンスが得られるようにモデルが最適化されるようにします。次にスピーカーは、ONNX とは何かを説明します。これは、機械学習モデルを表現するためのオープン フォーマットであり、機械学習モデルとディープ ラーニング モデルのビルディング ブロックとして共通の演算子セットを定義します。全体として、ONNX により、AI 開発者は、ダウンストリームの推論への影響を心配することなく、さまざまなフレームワーク、ツール、ランタイム、およびコンパイラを使用できます。

  • 00:20:00 このセクションでは、スピーカーは ONNX 形式について説明します。これは、さまざまなツールによって生成されたモデルの変換を標準化された形式を使用して読み取ることができるオープンな中間モデルです。 ONNX ランタイムは、さまざまなオペレーティング システムやハードウェア プラットフォームで機械学習の推論を高速化するために設計されたオープン ソース プロジェクトです。最適化の機会を自動的に特定し、利用可能な最高のハードウェア アクセラレーションへのアクセスを提供します。 ONNX 用の OpenVINO Execution Provider を使用すると、OpenVINO ツールキットの機能を利用して、Intel CPU、GPU、および VPU での ONNX モデルの推論を高速化できます。 OpenVINO ツールキットをバックエンドとして簡単に統合しながら、ONNX ランタイム API を使用して推論を実行できます。

  • 00:25:00 このセクションでは、ONNX ランタイムと OpenVINO 実行プロバイダーの統合について説明します。この統合により、Intel デバイスでのディープラーニング モデルの効率的な実行が可能になります。 OpenVINO ツールキットは、Intel デバイスでモデルを実行するために最適化されたライブラリを提供します。 OpenVINO 実行プロバイダーを有効にすると、モデル内のどのオペレーターを OpenVINO バックエンドで実行して効率を最大化するかがインテリジェントに選択されます。残りの演算子は、ネイティブの ONNX ランタイム フレームワークを使用して実行されます。ユーザーは、ソースからのビルド、Docker イメージのプル、または pip install を使用して、OpenVINO 実行プロバイダーをインストールできます。 ONNX ランタイム OpenVINO パッケージは PyPI にあります。

  • 00:30:00 ウェビナーのこのセクションでは、プレゼンターが ONNX ランタイム用の OpenVINO 実行プロバイダーの使用方法とその機能のデモンストレーションについて説明します。 pip を使用して製品をインストールする方法を説明し、ONNX ランタイム ライブラリをインポートして推論セッションを開始する方法を示すコード スニペットを提供します。また、既存のコード行を簡単に変更するだけで OpenVINO Execution Provider を簡単に使用できることも示しています。次にプレゼンターは、視聴者に QR コードをスキャンしてデモやサンプルにアクセスし、自分で試してみるように勧めます。

  • 00:35:00 このセクションのビデオは、ONNX ランタイム用の OpenVINO Execution Provider (EP) で達成されたパフォーマンスの向上のデモを示しています。このビデオは、CPU 実行プロバイダーで達成された 5 fps と OpenVINO EP で達成された 8 fps の比較を示しています。さらに、このビデオでは、OpenVINO EP for ONNX Runtime を使用した量子化のデモを紹介しています。これにより、パフォーマンスが 2 倍向上し、精度はほとんど低下しません。デモ ノートブックは Intel DevCloud で利用でき、ベンチマークと分析のために実際の Intel ハードウェアへのリモート アクセスを提供します。

  • 00:40:00 デモンストレーションは終わりましたか?このセクションでは、プレゼンターが ONNX ランタイム用の OpenVINO Execution Provider を起動し、i3、i5、xenon、または Core i9 などのハードウェアとグラフィック部門を選択する方法を示します。また、Jupyter ノートブックと、入力ビデオと ONNX モデルを使用してデバイスで干渉を実行するオブジェクト検出サンプルも紹介しています。プレゼンターは、CPU、GPU、および FP16 VADM メディアがサポートされていることを説明し、ネイティブの ONNX ランタイム バックエンドである CPU 実行プロバイダーについても言及しています。最後に、プレゼンターは、各デバイスを購入またはレンタルすることなく、さまざまなハードウェアをテストするための OpenVINO Execution Provider の有用性について説明します。

  • 00:45:00 このセクションでは、OpenVINO Execution Provider の機能について説明します。マルチスレッドの推論、さまざまなプラグインの完全なサポート、およびモデルのキャッシュを提供します。モデルの量子化とグラフのパーティショニング、および複数言語用の API も利用できます。 IO バッファの最適化によりパフォーマンスが向上し、ONNX モデルでは外部ファイルの保存が可能です。聴衆が賞品を獲得するための質問が行われ、PyTorch モデルの OpenVINO 統合のスニーク ピークが共有されます。

  • 00:50:00 このセクションでは、OpenVINO 実行プロバイダーを介した OpenVINO と PyTorch の統合について説明します。この製品は、わずか 2 行のコードを追加するだけで、Intel ハードウェア上で PyTorch モデルのパフォーマンスを加速できます。ユーザーは、OpenVINO 実行プロバイダーを使用してモジュールを推論用に準備し、onnx.export を介してメモリ内グラフにモジュールをエクスポートする torch orp/ort 推論モジュールで nn.module をラップできます。次に、ONNXruntime セッションは、サブグラフ パーティショニング用のサポートされている演算子とサポートされていない演算子を使用して、グラフをサブグラフに分割します。OpenVINO 互換ノードはプロバイダーによって実行され、Intel CPU、GPU、または VPU で実行できますが、他のすべてのノードはデフォルトの CPU ML 実行プロバイダー。インストール プロセスはシンプルで、ソースからビルドするオプション、簡単な pip インストールを実行するオプション、および Python API の全範囲へのアクセスを取得するオプションが用意されています。

  • 00:55:00 このセクションでは、OpenCV Weekly Webinar の主催者が、ARM デバイスとの OpenVINO の互換性や、ONNX 交換フォーマットを使用した場合のパフォーマンスや精度の潜在的な損失などのトピックについて、聴衆からの質問を読み上げました。ホストとプレゼンターは、OpenVINO は実際に実行でき、ARM CPU デバイスでブーストを与えることができ、ONNX はほとんどのモデルのパフォーマンスを向上させることさえできると説明しています。ただし、ある形式から別の形式に変換する場合は、常にテスト セットで精度をテストすることをお勧めします。主催者は、聴衆からの質問に反して、ONNX が動的形状モデルをサポートしていることも明らかにしました。最後に、ホストとプレゼンターは聴衆とオーガナイザーである Phil に素晴らしいプレゼンテーションと有益なセッションを提供してくれたことに感謝します。
#OpenVINO Execution Provider For #ONNX Runtime - #OpenCV Weekly #Webinar Ep. 68
#OpenVINO Execution Provider For #ONNX Runtime - #OpenCV Weekly #Webinar Ep. 68
  • 2022.08.09
  • www.youtube.com
Devang Aggarwal and Preetha Veeramalai join the show to give us a rundown of how OpenVINO can work with ONNX Runtime to squeeze even more performance out of ...
 

ONNX を使用したニューラル ネットワークのインポート



ONNX を使用したニューラル ネットワークのインポート

このビデオでは、機械学習における Open Neural Network Exchange (ONNX) プロジェクトの重要性と、さまざまなツールでのモデル変換におけるその利点について説明します。講演者は、モデルを手動でロードすることや自動化されたツールを使用することの課題と、ONNX がグラフベースの計算モデルを通じてこの問題をどのように解消するかについて説明します。講演者は、複雑なモデルの手動変換における ONNX の利点と、さまざまなフレームワークとの互換性についても強調します。このビデオでは、パラメーター化されたネット モデル、ONNX の構造、およびプロジェクトを使用する際に発生する可能性のある課題について触れています。これらの課題にもかかわらず、講演者は、さまざまな企業からの実質的な支援により、ONNX が繁栄すると信じています。

  • 00:00:00 このセクションでは、講演者は、機械学習における ONNX の重要性と、モデルを手動または自動ツールでロードする際に直面する問題について説明します。講演者は、PyTorch と TensorFlow の導入により、ほとんどのモデルがこれらのフレームワークで開発され、外部モデルを他のフレームワークに取り込むことが困難になっていると説明しています。モデルを手動で変換するプロセスは、時間と手間がかかります。このプロセスには重みをアーキテクチャにリンクする作業が含まれるため、楽しい作業ではありません。次にスピーカーは、ニューラル ネット リポジトリの成長と、バージョン 12 以降に複数のモデルをリポジトリに追加した方法について説明します。また、2018 年に導入された画像分類ネットワークである MobileNet についても紹介します。これにより、画像分類ネットワークのサイズが縮小され、実行されます。もっと早く。

  • 00:05:00 セクションでは、パラメータ化されたネット モデルの重要性と、それらがニューラル ネット リポジトリで必要な理由に焦点を当てています。パラメータ化がないと、リポジトリが長くなりすぎてナビゲートが困難になります。また、デフォルト以外のモデルを選択する方法についても説明し、言語に応じてセグメントを単語またはサブワードにトークン化する BPE モデルの例を示します。このセクションでは、2019 年 2 月 14 日にリリースされた有名なモデルのような複雑なモデルを手動で変換するのは困難な場合があるため、ONNX を手作業で変換する必要性についても強調しています。

  • 00:10:00 このセクションでは、スピーカーは、GPD2 モデルで使用されるネット エンコーダー機能の詳細について説明します。この関数には、モデルが必要とする前処理がすべて含まれており、文字列をトークンのリストに変換します。さらに、使用されているモデルのサイズに応じて、位置インデックスを提供し、サイズ 768 のベクトルを持ちます。講演者は、800 ~ 1000 層のネットワークのアーキテクチャを手作業で作成することは現実的ではなく、そのために ONNX が必要だったと説明しています。 ONNX を使用する利点は、種類ごとに 1 つのコンバーターを維持する必要がなくなることと、ユーザーがさまざまなモデルを効果的にインポートするために活用できるモデル ズーがあることです。

  • 00:15:00 このセクションでは、YouTuber が Open Neural Network Exchange (ONNX) プロジェクトの利点と仕様について説明します。このプロジェクトでは、最先端のツールからモデルを変換できるため、モデル作成に最適なツールを簡単に選択できます。 ONNX には、大企業を含むコミュニティ パートナーの膨大なリストがあり、さまざまなツール間でモデルを簡単に移動できます。このプロジェクトは、他の多くのフレームワークにはないハードウェア最適化ツールと視覚化ツールを提供します。 YouTuber は、このプロジェクトはさまざまな企業からかなりの支持を得ているため、今後も繁栄すると考えています。

  • 00:20:00 このセクションでは、スピーカーは、グラフの外部に演算子が実装されたグラフベースの計算モデルである ONNX の構造について説明します。グラフ内の各ノードは演算子として参照され、フレームワーク間で移植可能でなければならない 1 つ以上の入力と出力があります。スピーカーは、ONNX がどのように機能するかの例を示し、モデルをプロトコル形式で取得し、それを数学的な関連付けに変換する内部関数を使用して実演します。グラフには、モデルに関連するメタデータが含まれています。次にスピーカーは、グラフにさまざまなノードがあることを説明し、グラフのノードの 1 つである畳み込み層のプロパティについて時間をかけて説明します。最後に、レイヤーの寸法に関する情報を取得する方法を示します。

  • 00:25:00 このセクションでは、講演者は ONNX を使用する際に発生する可能性があるいくつかの問題について説明します。 reshape オペレータにバッジ ディメンションがない場合に発生する可能性がある特定のエラーがあるため、このようなタイプのケースをサポートするには、オペレータ カバレッジを改善する必要があります。講演者は、RNN と静的ハイパー ネットワークのサポートを追加すること、およびバージョンと形状の推論やモデル チェッカーなどの他のツールを接続することに関して、今後行うべき作業があると述べています。さらに、オペレーターのカバレッジを改善することは、進行中の作業です。ただし、講演者は、ONNX が積極的に開発されており、大手企業から支持されていることを指摘しています。
Importing Neural Networks with ONNX
Importing Neural Networks with ONNX
  • 2020.04.08
  • www.youtube.com
Tuseeta Banerjee
理由: