OpenVINO リリースノート

2024.0 - 2024年3月6日

システム要件 | インストール・ガイド

新機能

  • コード変更を最小限に抑えるための、より多くの生成 AI カバレッジとフレームワークを統合しました。

    • OpenVINO™ ツールキット・トークナイザーをインストールすることで、TensorFlow 文のエンコードモデルのエクスペリエンスが向上しました。

    • OpenVINO™ ツールキットは、パイプラインを通じてより効率良い生成モデルの処理を支援する新しいアーキテクチャーである Mixture of Experts (MoE) をサポートするようになりました。

    • JavaScript 開発者は、OpenVINO API にシームレスにアクセスできるようになりました。この新しいバインディングにより、JavaScript API とのスムーズな統合が可能になります。

    • 新たに注目されるモデルが検証されました: Mistral、StableLM-tuned-alpha-3b、および StableLM-Epoch-3B。

  • より広範囲な大規模言語モデル (LLM) のサポートと、さらに多くのモデル圧縮技術。

    • 一般的な技術であるアクティベーション対応重み量子化をニューラル・ネットワーク圧縮フレームワーク (NNCF) に追加することで、LLM の INT4 重み圧縮の品質が向上しました。これにより、メモリー要求が軽減され、トークンの生成が高速化されます。

    • 内部メモリー状態の強化と KV キャッシュの INT8 精度により、インテル® CPU で強化された LLM パフォーマンスを体験してください。ChatGLM のようなマルチ照会 LLM 向けにチューニングされています。

    • OpenVINO™ 2024.0 リリースでは、さらに多くの OpenVINO™ 機能を Hugging Face エコシステムと統合することで、開発者の作業が軽減されました。人気のあるモデルの量子化構成を Hugging Face に直接保存し、精度とパフォーマンスを維持しながらモデルを INT4 形式に圧縮します。

  • 移植性とパフォーマンスが向上し、エッジ、クラウド、またはローカルで AI を実行できます。

    • インテル® Core™ Ultra プロセッサーに統合されたニューラル・プロセッサー・ユニット (NPU) 向けのプレビュー・プラグイン・アーキテクチャーが、PyPI のメイン OpenVINO™ パッケージに含まれました。

    • ARM スレッド・ライブラリーを有効にすることで、ARM でのパフォーマンスが向上しました。さらに、マルチコア ARM プラットフォームをサポートし、MacOS* 上でデフォルトで FP16 精度が有効になりました。

    • マルチバッチ入力および検索拡張生成 (RAG) 用に、OpenVINO モデルサーバーからサンプルを提供する LLM が改良されました。

OpenVINO™ ランタイム

共通

  • CPP および Python バインド用の従来の API は削除されました。

  • StringTensor のサポートは、トークナイザー・オペレーターのサポートと TensorFlow Hub への準拠を改善するため、GatherReshapeConcat などのオペレーターによって拡張されています。

  • oneDNN が v3.3 に更新されました。(oneDNN のリリースノートを参照)。

CPU デバイスプラグイン

  • KV キャッシュの INT8 精度などの動的量子化と内部メモリー状態の最適化により、インテルl® CPU プラットフォーム上の LLM パフォーマンスが AVX2 および AVX512 ベースのシステムで向上しました。第 13 世代および第 14 世代のインテル® Core™ プロセッサーおよびインテル® Core™ Ultra プロセッサーは、CPU の実行に AVX2 を使用しており、これらのプラットフォームでは高速化の恩恵を受けます。これらの機能を有効にするには、構成ファイルで "DYNAMIC_QUANTIZATION_GROUP_SIZE":"32""KV_CACHE_PRECISION":"u8" を設定します。

  • ov::affinity 構成は現在非推奨であり、リリース 2025.0 で削除される予定です。

  • 以下が改善および最適化されました。

    • 第 4 世代および第 5 世代インテル® Xeon® スケーラブル・プロセッサー上の BF16 用のマルチ照会構造 LLM (ChatGLM 2/3 など)。

    • Mixtral モデルのパフォーマンス。

    • 8 ビット圧縮 LLM のコンパイル時間とメモリー使用量。Qwen のような大規模な埋め込みを含むモデルで有用です。

    • ARM プラットフォーム上の FP16 精度の畳み込みネットワーク。

GPU デバイスプラグイン

  • 以下が改善および最適化されました。

    • インテル® Core™ Ultra プロセッサー上で大きなコンテキスト・サイズの INT4 圧縮モデルを使用した際の、統合 GPU (iGPU) プラットフォームの LLM の平均トークン・レイテンシー。

    • iGPU での LLM ビーム探索パフォーマンス。コンテキスト・サイズが大きくなると、平均レイテンシーと最初のトークンのレイテンシーの両方が減少することが予想されます。

    • iGPU プラットフォームでの YOLOv5 のマルチバッチ・パフォーマンス。

  • LLM のメモリー使用量が最適化され、16Gb プラットフォーム上でより大きなコンテキストを備えた ‘7B’ モデルが利用可能になりました。

NPU デバイスプラグイン (プレビュー機能)

  • OpenVINO™ の NPU プラグインは、PyPI を通じて利用できるようになりました (“pip install openvino” を実行)。

OpenVINO Python API

  • .add_extension メソッドのシグネチャーが調整され、API の動作が改善されて、ユーザー・エクスペリエンスが向上しました。

OpenVINO C API

  • ov_property_key_cache_mode (C++ ov::cache_mode) により、optimize_size および optimize_speed モードでモデルキャッシュを設定/取得できるようになりました。

  • Windows の VA サーフェスの例外が修正されました。

OpenVINO Node.js API

  • OpenVINO - JS バインディングは OpenVINO C++ API と一貫性があります。

  • 新しい配布チャネルが利用可能になりました: Node Package Manager (npm) ソフトウェア・レジストリー (check the installation guide)。

  • Linux* 以外のプラットフォームに対する制限が緩和されたため、Windows* ユーザーも JavaScript API を利用できるようになりました。

TensorFlow フレームワークのサポート

  • 文字列テンソルがネイティブにサポートされ、入力レイヤー、出力レイヤー、中間レイヤーで処理されるようになりました (PR #22024)。

    • TensorFlow Hub universal-sentence-encoder-multilingual はすぐに推論されます。

    • GatherConcat、および Reshape 操作でサポートされる文字列テンソル。

    • openvino-tokenizers モジュールとの統合 - openvino-tokenizers をインポートすると、トークン化モデルに必要なトランスレーターを TensorFlow フロントエンドに自動的にパッチします。

  • 従来のフロントエンドへの操作によるモデル・オプティマイザーのフォールバックは利用できなくなりました。.json 構成によるフォールバックは、モデル・オプティマイザーが廃止されるまで残されます (PR #21523)。

  • 次のサポートが追加されました。

  • 次の問題が修正されました。

    • 入力タイプが int16 の場合、UpSampling2D 変換がクラッシュした問題 (PR #20838)。

    • Squeeze の IndexError リスト・インデックス (PR #22326)。

    • 符号付き整数に対する FloorDiv の正しい計算 (PR #22684)。

    • tf.TensorShape から ov.PartialShape への不正なキャストエラーを修正しました (PR #22813)。

    • メモリー内のモデルの tf.string 属性の読み取りの問題を修正しました (PR #22752)。

ONNX フレームワークのサポート

  • ONNX フロントエンドが OpenVINO API 2.0 を使用するようになりました。

PyTorch フレームワークのサポート

  • dict または tuple から解凍された出力の名前がより明確になりました (PR #22821)。

  • FX Graph (torch.compile) は kwarg 入力をサポートするようになり、データタイプのカバレッジが向上しました (PR #22397)。

OpenVINO™ モデルサーバー

  • OpenVINO™ ランタイム・バックエンドが 2024.0 になりました。

  • テキスト生成デモでは、ストリーミング・クライアントと単項クライアントを使用したマルチバッチ・サイズがサポートされるようになりました。

  • REST クライアントは、Python パイプライン・ノードを含むメディアパイプ・グラフに基づくサーバブルをサポートするようになりました。

  • 関連する依存関係はセキュリティーが更新されました。

  • 受信リクエスト (自動形状と自動バッチサイズ) に基づいて実行時にモデルを再形状する機能は非推奨であり、将来削除される予定です。代わりに、OpenVINO の動的形状モデルを使用することを推奨します。

ニューラル・ネットワーク圧縮フレームワーク (NNCF)

  • データを考慮した 4 ビットの重み圧縮のためアクティベーションを認識した重み量子化 (AWQ) アルゴリズムが利用できるようになりました。これにより、4 ビット重みの比率が高い圧縮 LLM の精度が向上します。これを有効にするには、nncf.compress_weights() API の専用の awq オプション・パラメーターを使用します。

  • ONNX モデルは、nncf.quantize_with_accuracy_control() メソッドを通じて、精度制御によるトレーニング後の量子化でサポートされるようになりました。OpenVINO IR および ONNX 形式のモデルに使用できます。

  • 重み圧縮のサンプル・チュートリアルが利用可能になりました。このチュートリアルでは、Hugging Face Transformers やその他の LLM から TinyLLama モデルに適切なハイパーパラメーターを見つける方法を示しています。

OpenVINO トークナイザー

  • 正規表現のサポートが改善されました。

  • モデルカバレッジが改善されました。

  • トークナイザーのメタデータが rt_info に追加されました。

  • Tensorflow Text モデルの限定サポートが追加されました: 文字列入力を使用して TF Hub の MUSE を変換します。

  • OpenVINO トークナイザーには独自のリポジトリーがあります: /openvino_tokenizers

その他の変更と既知の問題

既知の問題

コンポーネント - CPU プラグイン
ID - N/A
説明:
リリース 2024.0 以降、PyTorch フレームワークの動作に合わせて明示的に設定されていない限り、モデルの入力と出力にはテンソル名がなくなりました。
コンポーネント - GPU ランタイム
ID - 132376
説明:
インテル® Core™ Ultra プロセッサー上の LLM では、最初の推論のレイテンシーが長くなります。リングシーケンスを処理する徹底的なメモリー最適化により、最大 10 ~ 20% の低下が発生する可能性があります (メモリー使用量が約 1.5 ~ 2 GB 削減)。
コンポーネント - CPU ランタイム
ID - N/A
説明:
2 ソケット以上を備えたインテル® Xeon® プラットフォーム上で長いプロンプトを持つ LLM の “レイテンシー” ヒント推論では、パフォーマンス結果 (最初のトークンのレイテンシー) が、以前の OpenVINO バージョンとは異なる場合があります。その理由は、アプリケーションを実行する単一ソケットのすべての CPU コアが使用され、NUMA 制御が使用されていない場合 LLM のメモリー・オーバーヘッドが低減されるためです。
回避方法:
この動作は予期されたものですが、ストリームとスレッドの設定を使用してすべてのソケットのコアを含めることができます。

非推奨とサポート

非推奨の機能やコンポーネントを使用することはお勧めできません。これらは新しいソリューションへのスムーズな移行を可能にするために利用可能ですが、将来的には廃止される予定です。廃止された機能を引き続き使用するには、それらをサポートする最後の LTS OpenVINO バージョンに戻す必要があります。詳細については、OpenVINO の従来の機能とコンポーネントのページを参照してください。

2024.0 で廃止

  • ランタイム・コンポーネント:

    • インテル® ガウス & ニューラル・アクセラレーター (インテル® GNA)。インテル® Core™ Ultra や第 14 世代以降の低電力システムでは、ニューラル・プロセシング・ユニット (NPU) の使用を検討してください。

    • OpenVINO C++/C/Python 1.0 API (2023.3 API 移行ガイドを参照)

    • All ONNX フロントエンドの従来の API (ONNX_IMPORTER_API)

    • PerfomanceMode.UNDEFINED OpenVINO Python API の一部としてのプロパティー

  • ツール:

非推奨となり将来削除される予定

  • OpenVINO™ 開発ツールパッケージ (pip install openvino-dev) は、OpenVINO 2025.0 以降、インストール・オプションおよび配布チャネルから削除されます。

  • モデル・オプティマイザーは OpenVINO 2025.0 で廃止されます。代わりに新しい変換方法を使用することを検討してください。詳細については、モデル変換移行ガイドを参照してください。

  • OpenVINO プロパティーのアフィニティー API は OpenVINO 2025.0 で廃止されます。これは、CPU バインド設定 (ov::hint::enable_cpu_pinning) に置き換えられます。

  • OpenVINO モデルサーバーのコンポーネント:

    • 受信リクエスト (自動形状と自動バッチサイズ) に基づいて実行時にモデルを再形状する機能は非推奨であり、将来削除される予定です。代わりに、OpenVINO の動的形状モデルを使用することを推奨します。