OpenVINO リリースノート#
2024.3 - 2024年7月31日#
システム要件 | リリースポリシー | インストール・ガイド
新機能#
コード変更を最小限に抑えるための、より多くの生成 AI カバレッジとフレームワークを統合しました。
OpenVINO の事前最適化モデルが Hugging Face で利用できるようになりました。これにより、開発者はこれらのモデルを簡単に使用できます。
より広範囲な大規模言語モデル (LLM) のサポートと、さらに多くのモデル圧縮技術。
Multi-Head Attention (MHA) と oneDNN の機能強化が追加されたことで、インテルのディスクリート GPU 上の LLM パフォーマンスが大幅に向上しました。
移植性とパフォーマンスが向上し、エッジ、クラウド、またはローカルで AI を実行できます。
OpenVINO モデルサーバー (OVMS) に vLLM と連続バッチ処理が組み込まれたことで、LLM を提供する CPU パフォーマンスが向上しました。vLLM は、効率的な LLM 推論とモデル提供をサポートする使いやすいオープンソース・ライブラリーです。
Ubuntu* 24.04 が正式にサポートされました。
OpenVINO™ ランタイム#
共通#
OpenVINO が vLLM のバックエンドとして使用できるようになりました。全結合レイヤーの最適化、複数の全結合レイヤー (MLP) の融合、U8 KV キャッシュ、動的分割融合により、CPU パフォーマンスが向上します。
Ubuntu* 24.04 が正式にサポートされるようになりました。つまり、OpenVINO がこのシステムで検証されました (プレビューサポート)。
以下が改善化されました:
Squeeze レイヤーと Concat レイヤーを有効にすることで、YoloV10 や PixArt-XL-2 などのモデルのサポートが強化されました。
精度変換 FP16/BF16 -> FP32 のパフォーマンス。
AUTO 推論モード#
2 回目の実行でキャッシュされたモデルがターゲットデバイス用に準備されると CPU アクセラレーションがスキップされるため、cache_dir が設定されている場合でも、CPU アクセラレーションのモデルキャッシュは無効になります。
ヘテロジニアス推論モード#
PIPELINE_PARALLEL ポリシーが利用できるようになりました。これにより、使用可能なメモリーサイズごとに複数のデバイスで大規模なモデルを推論できるようになります。これは、1 つの個別の GPU に収まらない大規模な言語モデルに特に役立ちます (プレビュー機能)。
CPU デバイスプラグイン#
全結合レイヤーは、JIT カーネルによる RoPE 最適化とともに改善され、インテル® AMX プラットフォーム上の LLM サービス・ワークロードのパフォーマンスが向上しました。
インテル® AVX2 およびインテル® AVX-512 プラットフォームでは、全結合レイヤーの動的量子化がデフォルトで有効になり、8 ビット/4 ビットの重み圧縮 LLM のすぐに使用できるパフォーマンスが向上しました。
以下のパフォーマンスが向上しました:
インテル® oneAPI スレッディング・ビルディング・ブロック 2021.13 への移行に伴う ARM サーバー構成。
FP32 および FP16 用の ARM。
GPU デバイスプラグイン#
以下のパフォーマンスが向上しました:
マルチヘッド・アテンション (MHA) や oneDNN の最適化により、レイテンシーが短縮され、ディスクリート GPU 上で LLM と Stable Diffusion が改善されました。
ディスクリート GPU 上の Whisper モデル。
NPU デバイスプラグイン#
LLM の NPU 推論が GenAI API (プレビュー機能) でサポートされるようになりました。NPU 上の LLM をサポートするために (NPU ドライバーの最新バージョンが必要)、追加の関連機能も NPU プラグインの一部になりました。
2GB を超えるモデルが、NPU ドライバー (インテル® NPU ドライバー - Windows* 32.0.100.2540) と NPU プラグイン側 (Linux* と Windows* の両方) の両方でサポートされるようになりました。
メモリーの最適化が実装されました:
重みは NPU コンパイラー・アダプターからコピーされなくなりました。
NPU での推論におけるメモリーと最初の推論レイテンシーの改善。
OpenVINO Python API#
visit_attributes が Python で実装されたカスタム操作で使用できるようになりました。これにより、操作属性のシリアル化が可能になります。
Python API が拡張され、モデルクラスの新しいメソッド (Model.get_sink_index など)、Model.get_result_index の新しいオーバーロードが追加されました。
OpenVINO Node.js API#
トークナイザーと StringTensor が LLM 推論でサポートされるようになりました。
デスクトップ・アプリケーション開発者向けに、electron.js との互換性が復元されました。
Core.import_model の非同期バージョンと Core.read_model メソッドの機能強化が利用可能になり、特に LLM のモデル読み取りがより効率的になりました。
TensorFlow フレームワークのサポート#
keras.LSTM 操作を使用したモデルでは、CPU 推論のパフォーマンスが向上しました。
未定義要素の形状値で初期化されたテンソルリストがサポートされるようになりました。
TensorFlow Lite フレームワークのサポート#
予備テンソルを含む定数がサポートされるようになりました。
PyTorch フレームワークのサポート#
ネストされた構造 (辞書やタプルなど) のタイプ/形状の設定がサポートされるようになりました。
aten::layer_norm が更新され、動的な形状の正規化がサポートされるようになりました。
FX グラフの動的シェイプのサポートが改善され、torch.compile および torch.export ベースのアプリケーションにメリットをもたらし、gemma および chatglm モデルファミリーのパフォーマンスが向上しました。
ONNX フレームワークのサポート#
さらに多くのモデルがサポートされるようになりました:
ReduceMean 操作の新しいバージョン (ONNX opset 18 で導入) を使用するモデル。
Multinomial 操作 (ONNX opset 7 で導入) を使用するモデル。
OpenVINO™ モデルサーバー#
OpenAI API テキスト生成では次の点が改善されました:
OpenVINO ランタイムとサンプリング・アルゴリズムによるパフォーマンス結果。
ログに生成エンジンのメトリックを生成。
追加のサンプリング・パラメーターの追加。
メモリー消費に影響するリクエスト・パラメーターには、構成可能な範囲内で値の制限を設けられるようになりました。
OpenAI API テキスト生成で次の点が修正されました:
不完全な UTF-8 シーケンスに影響するストリーマー応答を生成します。
散発的な生成のハングアップ。
完了エンドポイント・ストリームからの完了の応答と vLLM ベンチマーク・スクリプトとの非互換性。
ニューラル・ネットワーク圧縮フレームワーク#
MXFP4 データ形式が重み圧縮メソッドでサポートされるようになり、ゼロポイントなしの e2m1 データタイプと 8 ビットの e8m0 スケールを使用して重みを 4 ビットに圧縮できるようになりました。この機能は、nncf.compress_weights() で
mode=CompressWeightsMode.E2M1
を設定することで有効になります。重み圧縮法の AWQ アルゴリズムがパターン用に拡張されました: Phi ファミリーモデルをカバーするには、Act->MatMul と Act->MUltiply->MatMul を使用します。
対称的に量子化された重みの表現が、ゼロポイントなしの符号付きデータタイプに更新されました。これにより、NPU は対称モードで圧縮された LLM をサポートできるようになります。
トレーニング後の量子化における BF16 モデルがサポートされるようになりました (nncf.quantize())。
重み圧縮法のアクティブ化スパース性 (コンテキスト・スパース性) アルゴリズムがサポートされるようになり (プレビュー)、LLM 推論が高速化されました。このアルゴリズムは、nncf.compress_weights() の
target_sparsity_by_scope
オプションを設定することで有効になりますが、Torch モデルのみをサポートします。
OpenVINO トークナイザー#
現在、以下がサポートされています:
テキストの正規化と分割のため PCRE2 ライブラリーを使用した完全な正規表現構文。
すべてのトークナイザー・タイプの左パディング。
GLM-4 トークナイザーのサポート、および Phi-3 と Gemma のデトークン化のサポートが改善されました。
その他の変更と既知の問題#
Jupyter* Notebook#
OpenVINO.GenAI#
パフォーマンス・カウンターが追加されました。
NPU のプレビューサポートが利用可能になりました。
Hugging Face#
OpenVINO の事前最適化モデルが Hugging Face で利用可能になりました:
既知の問題#
以前の 2024 リリース#
非推奨とサポート#
非推奨の機能やコンポーネントを使用することはお勧めできません。これらは新しいソリューションへのスムーズな移行を可能にするために利用可能ですが、将来的には廃止される予定です。廃止された機能を引き続き使用するには、それらをサポートする最後の LTS OpenVINO バージョンに戻す必要があります。詳細については、OpenVINO の従来の機能とコンポーネントのページを参照してください。
2024 で廃止#
ランタイム・コンポーネント:
インテル® ガウス & ニューラル・アクセラレーター (インテル® GNA)。インテル® Core™ Ultra や第 14 世代以降の低電力システムでは、ニューラル・プロセシング・ユニット (NPU) の使用を検討してください。
OpenVINO C++/C/Python 1.0 API (2023.3 API 移行ガイドを参照)
すべての ONNX フロントエンドのレガシー API (ONNX_IMPORTER_API)。
OpenVINO Python API の一部である
PerfomanceMode.UNDEFINED
プロパティー。
ツール:
トレーニング後の最適化ツール (POT)。代わりにニューラル・ネットワーク圧縮フレームワーク (NNCF) を使用する必要があります。
huggingface/transformers と NNCF を統合する Git パッチ。推奨されるアプローチは、huggingface/optimum-intel を使用して、Hugging Face のモデルに NNCF 最適化を適用することです。
Apache MXNet、Caffe、Kaldi モデル形式のサポート。ONNX への変換が解決策として使用される可能性があります。
非推奨となり将来削除される予定#
OpenVINO™ 開発ツールパッケージ (pip install openvino-dev) は、OpenVINO 2025.0 以降、インストール・オプションおよび配布チャネルから削除されます。
モデル・オプティマイザーは OpenVINO 2025.0 で廃止されます。代わりに新しい変換方法を使用することを検討してください。詳細については、モデル変換移行ガイドを参照してください。
OpenVINO プロパティーのアフィニティー API は OpenVINO 2025.0 で廃止されます。これは、CPU バインド設定 (
ov::hint::enable_cpu_pinning
) に置き換えられます。OpenVINO モデルサーバーのコンポーネント:
「自動形状」と「自動バッチサイズ」 (実行時にモデルを再形成する) は将来削除される予定です。代わりに、OpenVINO の動的形状モデルを使用することを推奨します。
いくつかのノートブックは廃止されました。利用可能なノートブックの最新リストについては、OpenVINO™ ノートブック・インデックス (openvinotoolkit.github.io) を参照してください。
法務上の注意書き#
本資料に記載されているインテル製品に関する侵害行為または法的調査に関連して、本資料を使用または使用を促すことはできません。
本資料を使用することにより、お客様は、インテルに対し、本資料で開示された内容を含む特許クレームで、その後に作成したものについて、非独占的かつロイヤルティー無料の実施権を許諾することに同意することになります。
本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。
ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の製品仕様およびロードマップをご希望の方は、インテルの担当者までお問い合わせください。
本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。そのようなエラッタは、インテルの保証範囲外です。現在確認済みのエラッタについては、インテルまでお問い合わせください。
インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。詳細については、OEM または販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。
絶対的なセキュリティーを提供できるコンピューター・システムはありません。
Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の使用許諾を受けて使用しています。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
© 2024 Intel Corporation. 無断での引用、転載を禁じます。
コンパイラーの最適化について、さらに詳しい情報をお知りになりたい場合は、最適化に関する注意事項を参照してください。
性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。