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 ノートブック#
OpenVINO.GenAI#
パフォーマンス・カウンターが追加されました。
NPU のプレビューサポートが利用可能になりました。
Hugging Face#
OpenVINO の事前最適化モデルが Hugging Face で利用可能になりました。
既知の問題#
以前の 2024 リリース#
2024.2 - 2024 年 6 月 17 日
新機能
コード変更を最小限に抑えるための、より多くの生成 AI カバレッジとフレームワークを統合しました。
Llama 3 は CPU、内蔵 GPU、およびディスクリート GPU 向けに最適化されており、パフォーマンスが向上し、メモリーの使用効率が向上します。
小規模言語モデルの能力を活用して、より高速で正確かつコスト効率の良いテキスト処理を実現する AI モデルファミリーである Phi-3-mini をサポートします。
OpenVINO で Python のカスタム操作が有効になったため、Python 開発者は C++ カスタム操作 (これもサポートされています) を使用する代わりに、カスタム操作をコーディングすることが容易になりました。Python カスタム操作により、ユーザーは独自の特殊操作を任意のモデルに実装できるようになります。
ノートブックの拡張により、新しいモデルをより適切にカバーできるようになります。注目すべきノートブックが追加されました: DynamiCrafter、YOLOv10、Phi-3 を使用したチャットボット・ノートブック、および QWEN2。
より広範囲な大規模言語モデル (LLM) のサポートと、さらに多くのモデル圧縮技術。
NNCF に 4 ビット重み圧縮用の GPTQ メソッドが追加され、推論の効率が向上し、圧縮された LLM のパフォーマンスが向上しました。
内蔵 GPU とディスクリート GPU の両方で LLM パフォーマンスが大幅に向上し、レイテンシーが短縮されました。
AVX2 (第 13 世代インテル® Core™ プロセッサー) および AVX512 (第 3 世代インテル® Xeon® スケーラブル・プロセッサー) ベースの CPU プラットフォーム上の FP16 重み付け LLM の 2 番目のトークン・レイテンシーとメモリー・フットプリントが大幅に改善されました (特にバッチサイズが小さい場合)。
移植性とパフォーマンスが向上し、エッジ、クラウド、またはローカルで AI を実行できます。
モデルサービスの機能強化:
プレビュー: OpenVINO モデルサーバー (OVMS) は、OpenAI 互換 API に加えて、連続バッチ処理および PagedAttention をサポートするようになりました。これにより、特にインテル® Xeon® プロセッサー上で、多数の同時ユーザーに LLM を提供する場合に、並列推論のスループットが大幅に向上します。
Triton サーバーの OpenVINO バックエンドは、動的な入力形状をサポートするようになりました。
torch.compile OpenVINO バックエンドを介して TorchServe を統合することで、モデルの展開、複数のインスタンスへのプロビジョニング、モデルのバージョン管理、メンテナンスが容易になります。
プレビュー: 数行のコードで大規模な言語モデルを使用してテキストを生成するための簡素化された API である Generate API の追加。API は、新しくリリースされた OpenVINO GenAI パッケージを通じて利用できます。
Intel Atom® プロセッサー X シリーズのサポート。詳細については、システム要件を参照してください。
プレビュー: インテル® Xeon® 6 プロセッサーのサポート。
OpenVINO™ ランタイム
共通
より効率的な LLM 重み圧縮を可能にするために、UINT2、UINT3、UINT6 を使用した操作とデータタイプがサポートされるようになりました。
共通 OV ヘッダーが最適化され、バイナリーのコンパイル時間が短縮され、バイナリーサイズが軽減されました。
AUTO 推論モード
AUTO は、最初の推論の待ち時間を短縮するためデバイスを選択する際に、モデルキャッシュを考慮します。モデルキャッシュがすでに配置されている場合、AUTO は CPU を最初の推論デバイスとして一時的に利用する代わりに、選択したデバイスを直接使用します。
動的モデルは、デバイスの優先度を考慮せずに CPU にロードされるのではなく、選択したデバイスにロードされるようになりました。
動的入力または出力を持つステートフル・モデルで AUTO を使用する場合の例外を修正しました。
CPU デバイスプラグイン
インテル® Core™ Ultra (コード名 Meteor Lake) や第 13 世代インテル® Core™ プロセッサー (コード名 Raptor Lake) などのインテル・クライアント・プラットフォームで、FP32 精度のレイテンシー・モードを使用する場合のパフォーマンスが向上しました。
AVX2 および AVX512 ベースの CPU プラットフォームでは、バッチサイズが小さい場合に、FP16 LLM の 2 番目のトークンのレイテンシーとメモリー・フットプリントが大幅に改善されました。
PagedAttention は、インテル® CPU 上で LLM ワークロードを処理するパフォーマンスを向上させるため、INT8 KV キャッシュサポートとともに AVX2、AVX512、AMX プラットフォーム向けに最適化されました。
共有埋め込みを持つ LLM は、Gemma を含むいくつかのモデルのパフォーマンスとメモリー消費を改善するように最適化されました。
TBB 2021.2.5 にアップグレードすると、ARM ベースのサーバーのパフォーマンスが大幅に向上します。
ARM CPU 上の FP32 および FP16 のパフォーマンスが向上しました。
GPU デバイスプラグイン
LLM の最初のトークンと平均トークンのレイテンシーは、すべての GPU プラットフォームで改善されていますが、個別の GPU では顕著です。LLM のメモリー使用量も削減されました。
インテル® Core™ Ultra プラットフォームで Stable Diffusion FP16 パフォーマンスが向上し、動的形状の入力を持つモデルのパイプラインが大幅に改善されました。パイプラインのメモリー使用量も削減されました。
最適化された permute_f_y カーネルのパフォーマンスが向上しました。
NPU デバイスプラグイン
新しい構成オプションのセットが利用可能になりました。
新しい 2408 NPU ドライバーにより、パフォーマンスの向上が実現しました。
OpenVINO Python API
基本的なシナリオでカスタム Python 演算子の記述がサポートされるようになりました (OpenVINO C++ API との整合)。これにより、ユーザーは独自の特殊操作を任意のモデルに実装できるようになります。より高度な機能の完全なサポートは、今後のリリースで考慮されます。
OpenVINO C API
OpenVINO C++ API と連携して、より多くの要素タイプがサポートされるようになりました。
OpenVINO Node.js API
OpenVINO node.js パッケージは、electron.js フレームワークをサポートするようになりました。
より完全な使用ガイドラインのため、JS API ドキュメントが拡張および改善されました。
OpenVINO C++ API と JS API の整合性が向上し、より高度な機能が JS ユーザーに提供されます。
TensorFlow フレームワークのサポート
3 つの新しい操作がサポートされるようになりました。NEWとマークされている操作を参照してください。
LookupTableImport は、TF Hub の 2 つのモデルに必要な、より優れたサポートが追加されました。
mil-nce
openimages-v4-ssd-mobilenet-v2
TensorFlow Lite フレームワークのサポート
顧客モデルに必要な GELU 操作がサポートされるようになりました。
PyTorch フレームワークのサポート
9 つの新しい操作がサポートされるようになりました。
aten::set_item は負のインデックスをサポートするようになりました。
形状がリストの場合の適応プールの問題が修正されました (PR #24586)。
ONNX サポート
今後は、廃止された API やクラスシンボルの代わりに、InputModel インターフェイスを使用する必要があります。
顧客モデルの要求に対応するため、ReduceMin-18 および ReduceSumSquare-18 演算子の変換が追加されました。
デフォルト値として “none” が設定されている場合、Gelu-20 オペレーターの動作が修正されました。
OpenVINO™ モデルサーバー
OpenVINO モデルサーバーは、OpenAI 互換 API を使用したテキスト生成ユースケースに使用できるようになりました。
特にインテル® Xeon® プロセッサー上の高い同時負荷で、高速かつ効率的にテキストを生成する連続バッチ処理と PagedAttention アルゴリズムのサポートが追加されました。さらに詳しく。
ニューラル・ネットワーク圧縮フレームワーク
LLM のデータ認識 4 ビット重み圧縮に、nncf.compress_weights() で GPTQ メソッドがサポートされるようになりました。nncf.compress_weights() の gptq=True` によって有効になります。
より正確な 4 ビット圧縮 LLM のスケール推定アルゴリズム。nncf.compress_weights() の scale_estimation=True` によって有効になります。
nncf.compress_weights() に BF16 の重みを持つモデルのサポートが追加されました。
量子化を考慮したトレーニングでの PyTorch モデル量子化の初期化には、nncf.quantize() メソッドが推奨されるようになりました。詳細については例を参照してください。
量子化された PyTorch モデルを保存および復元する compressed_model.nncf.get_config() および nncf.torch.load_from_config() API が追加されました。詳細については例を参照してください。
カスタムモジュールを使用した PyTorch モデルの int8 量子化の自動サポートが追加されました。量子化の前にモジュールを登録する必要はありません。
その他の変更と既知の問題
Jupyter ノートブック
最新のノートブックと GitHub の検証ステータスは、OpenVINO ノートブック・セクションで確認できます。
次のノートブックが更新または新しく追加されました。
既知の問題
2024.1 - 2024 年 4 月 24 日
新機能
コード変更を最小限に抑えるための、より多くの生成 AI カバレッジとフレームワークを統合しました。
インテル® Xeon® プロセッサーのパフォーマンス向上のため最適化された Mixtral および URLNet モデル。
統合 GPU を搭載したインテル® Core™ Ultra プロセッサーでの推論速度の向上のため最適化された、Stable Diffusion 1.5、ChatGLM3-6B、および Qwen-7B モデル。
優れたパフォーマンス・メトリックを備えた、すぐに使用できる GenAI 大規模言語モデル (LLM) のチャット/指示モデルである Falcon-7B-Instruct のサポート。
新しい Jupyter ノートブックが追加されました: YOLO V9、YOLO V8 方向境界ボックス検出 (OOB)、Keras での Stable Diffusion、MobileCLIP、RMBG-v1.4 背景除去、Magika、TripoSR、AnimateAnyone、LLaVA-Next、OpenVINO と LangChain を使用した RAG システム。
より広範な LLM モデルのサポートとモデル圧縮テクニック。
圧縮埋め込みによる追加の最適化により、LLM コンパイル時間が短縮されました。インテル® アドバンスト・マトリクス・エクステンション (インテル® AMX) を搭載した第 4 世代および第 5 世代インテル® Xeon® プロセッサー上の LLM の最初のトークン・パフォーマンスが向上しました。
インテル® Arc™ GPU の oneDNN、INT4、INT8 のサポートにより、LLM 圧縮が向上し、パフォーマンスが向上しました。
統合 GPU を搭載したインテル® Core™ Ultra プロセッサー上の特定の小規模 GenAI モデルでメモリー使用が大幅に削減されます。
移植性とパフォーマンスが向上し、エッジ、クラウド、またはローカルで AI を実行できます。
インテル® Core™ Ultra プロセッサー用のプレビュー NPU プラグインが、PyPI のメイン OpenVINO パッケージに加えて、OpenVINO オープンソース GitHub リポジトリーでも利用できるようになりました。
JavaScript API は npm リポジトリーを通じてより簡単に利用できるようになりました。これにより、JavaScript 開発者は OpenVINO API にシームレスにアクセスできるようになります。
ARM プロセッサー上の FP16 推論が、畳み込みニューラル・ネットワーク (CNN) に対してデフォルトで有効になりました。
OpenVINO™ ランタイム
共通
キャッシュされたモデルの Unicode ファイルのパスが Windows* でサポートされるようになりました。
定数を含むエッジ上の入力テンソルを拡張するパッド前処理 API。
特定の画像生成モデルの推論エラーが修正されました (変換後の I/O ポート名が融合されました)。
コンパイラーの警告をエラーとして表示するオプションがオンになり、コーディング基準と品質が向上しました。新しい OpenVINO コードではビルド警告は許可されず、既存の警告は修正されました。
AUTO 推論モード
ov::CompiledModel が ov::enable_profiling 値を返すことができるようになりました。
CPU デバイスプラグイン
インテル® アドバンスト・マトリクス・エクステンション (インテル® AMX) を搭載した第 4 世代および第 5 世代インテル® Xeon® プロセッサー上の LLM の最初のトークン・パフォーマンスが向上しました。
圧縮された埋め込みによる最適化の追加により、LLM コンパイル時間とメモリー・フットプリントが改善されました。
MoE (Mixtral など)、Gemma、GPT-J のパフォーマンスがさらに向上しました。
ARM デバイスで幅広いモデルのパフォーマンスが大幅に向上しました。
FP16 の推論精度は、ARM デバイス上のすべてのタイプのモデルのデフォルトになりました。
各種 ARM デバイスで統一されたバイナリー配布を可能にするために、CPU アーキテクチャーに依存しないビルドが実装されました。
GPU デバイスプラグイン
統合型およびディスクリート GPU プラットフォームの両方で、LLM の最初のトークンのレイテンシーが改善されました。
ChatGLM3-6B モデルでは、統合 GPU プラットフォームでの平均トークン・レイテンシーが改善されました。
Stable Diffusion 1.5 の FP16 精度では、インテル® Core™ Ultra プロセッサーでのパフォーマンスが向上しました。
NPU デバイスプラグイン
NPU プラグインが OpenVINO GitHub リポジトリーの一部になりました。最新のプラグインの変更では、すべてリポジトリーですぐに利用できるようになります。NPU はインテル® Core™ ウルトラプロセッサーに内蔵されています。
OpenVINO での NPU の使用方法を紹介する新しい OpenVINO™ ノートブック “Hello, NPU!” が追加されました。
NPU で推論を実行するには、Microsoft Windows* 11 (64 ビット版) のバージョン 22H2 以降が必要です。
OpenVINO Python API
現在は、RemoteTensors の GIL フリーの作成が使用されています。GIL を保持すると、プロセスがマルチスレッドに適していないことを意味し、GIL ロックを削除すると、Remote Tensors の概念にとって重要なパフォーマンスが向上します。
Python API レベルでパックされたデータタイプ BF16 が追加され、numpy で処理されないデータタイプをサポートする新しい方法が開かれました。
ov::preprocess::PrePostProcessorItem の ‘pad’ 演算子のサポートが追加されました。
ov.PartialShape.dynamic(int) 定義が提供されています。
OpenVINO C API
スケールと平均の 2 つの新しい前処理 API が追加されました。
OpenVINO Node.js API
CompiledModel.exportModel()、core.import_model()、Core set/get property、Tensor.get_size()、Model.is_dynamic() など、JavaScript API を CPP API に適合させる新しいメソッドが追加されました。
開発者が JavaScript アプリケーションを OpenVINO™ と統合できるように、ドキュメントが拡張されました。
TensorFlow フレームワークのサポート
tf.keras.layers.TextVectorization tokenizer がサポートされました。
変数およびハッシュテーブル (辞書) リソースを含むモデルの変換が改善されました。
8 つの新しい操作が追加されました (NEW とマークされているリスト項目を参照してください)。
10 個の操作が複素テンソルでサポートされています。
TF1 モデルの入力テンソル名は、入力ごとに 1 つの名前を持つように調整されました。
Hugging Face モデルのサポート範囲は、以下の理由により大幅に拡大しました。
メモリー内のモデルの入力シグネチャーの抽出が修正され、メモリー内のモデルの変数値の読み取りが修正されました。
PyTorch フレームワークのサポート
PyTorch モデルの新しいタイプの拡張機能である ModuleExtension がサポートされるようになりました (PR #23536)。
22 の新しい操作が追加されました。
torch.export (FX グラフ) によって生成されたモデルの実験的なサポートが追加されました (PR #23815)。
ONNX フレームワークのサポート
8 の新しい操作が追加されました。
OpenVINO™ モデルサーバー
OpenVINO™ ランタイム・バックエンドが 2024.1 になりました
出力に文字列データタイプを持つ OpenVINO™ モデルがサポートされています。現在、OpenVINO™ モデルサーバーは、文字列タイプの入力と出力を持つモデルをサポートできるため、開発者はモデルにビルトインされたトークン化を最初のレイヤーとして活用できます。開発者は、テキストのみを返すモデルに埋め込まれた後処理を続行することもできます。ユニバーサル・センテンス・エンコーダー・モデルと文字列データ入力モデルのデモと、文字列出力データのデモを確認してください。
MediaPipe Python 計算機が更新され、関連するすべての構成と Python コードファイルの相対パスがサポートされるようになりました。これにより、コードを変更することなく、完全なグラフ構成フォルダーを任意のパスに展開できるようになりました。
KServe REST API サポートが拡張され、NVIDIA Triton* と互換性のあるバイナリー形式と同様に、JSON 本文の文字列形式を適切に処理できるようになりました。
モデルサーバーに完全に委任された RAG アルゴリズムを紹介するデモが追加されました。
ニューラル・ネットワーク圧縮フレームワーク
モデルサブグラフを、INT8 トレーニング後の量子化 nncf.quantize() の無視されるスコープで定義できるようになりました。これにより、精度に敏感なレイヤーを量子化から除外することが容易になります。
INT8 トレーニング後の量子化では、1 以上のバッチサイズが部分的にサポートされるようになり、プロセスが高速化されました。精度に影響する可能性があるため、トランスフォーマー・ベースのモデルには推奨されないことに注意してください。デモの例があります。
トレーニング後の量子化後に INT8 モデルを微調整して、モデルの精度を向上させ、トレーニング後の量子化からトレーニングを考慮した量子化への移行を容易にできるようになりました。デモの例があります。
OpenVINO トークナイザー
TensorFlow サポートが拡張されました - TextVectorization レイヤーの翻訳:
既存の操作を TF 操作と整合させ、それらの翻訳機能を追加しました。
新しく不規則なテンソル演算と文字列演算を追加しました。
新しいトークナイザー・タイプ RWKV がサポートされるようになりました。
不規則なテンソル用の Trie トークナイザーと融合操作を追加しました。
OV トークナイザーを取得する新しい方法: ファイルから語彙をビルドします。
トークナイザー・キャッシュは、OpenVINO™ モデル・キャッシュ・メカニズムで動作するように再設計されました。
その他の変更と既知の問題
Jupyter ノートブック
OpenVINO™ ノートブック・リポジトリーのデフォルトブランチが ‘main’ から ‘latest’ に変更されました。ノートブック・リポジトリーの ‘main’ ブランチは廃止されましたが、2024 年 9 月 30 日まで維持されます。
新しいブランチ ‘latest’ では、大幅なリファクタリングとディレクトリー命名構造の改善により、ユーザー・エクスペリエンスが向上し、メンテナンス性が簡素化されます。
コンテンツ内を移動するには、ローカルの README.md ファイルと GitHub ページ の 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 への準拠を改善するため、
Gather
、Reshape
、Concat
などのオペレーターによって拡張されています。-
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 で削除される予定です。-
以下が改善および最適化されました。
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 はすぐに推論されます。
Gather
、Concat
、およびReshape
操作でサポートされる文字列テンソル。openvino-tokenizers モジュールとの統合 - openvino-tokenizers をインポートすると、トークン化モデルに必要なトランスレーターを TensorFlow フロントエンドに自動的にパッチします。
-
従来のフロントエンドへの操作によるモデル・オプティマイザーのフォールバックは利用できなくなりました。.json 構成によるフォールバックは、モデル・オプティマイザーが廃止されるまで残されます (PR #21523)。
-
次のサポートが追加されました。
HashTable*、Variable、VariableV2 などの可変変数およびリソース (PR #22270)。
新しいテンソルタイプ: tf.u16、tf.u32、および tf.u64 (PR #21864)。
-
新しい 14 個の Ops*。ここのリストを確認してください (NEW で示されています)。
TensorFlow 2.15 (PR #22180)。
-
次の問題が修正されました。
ONNX フレームワークのサポート¶
ONNX フロントエンドが OpenVINO API 2.0 を使用するようになりました。
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。
その他の変更と既知の問題¶
Jupyter ノートブック¶
次のノートブックが更新または新しく追加されました。
LLM チャットボットと LLM RAG パイプラインは、新しいモデルと統合されました: minicpm-2b-dpo、gemma-7b-it、qwen1.5-7b-chat、baichuan2-7b-chat。
既知の問題¶
非推奨とサポート¶
非推奨の機能やコンポーネントを使用することはお勧めできません。これらは新しいソリューションへのスムーズな移行を可能にするために利用可能ですが、将来的には廃止される予定です。廃止された機能を引き続き使用するには、それらをサポートする最後の LTS OpenVINO バージョンに戻す必要があります。詳細については、OpenVINO の従来の機能とコンポーネントのページを参照してください。
2024 で廃止¶
-
ランタイム・コンポーネント:
インテル® ガウス & ニューラル・アクセラレーター (インテル® 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 の一部としてのプロパティー
-
ツール:
トレーニング後の最適化ツール (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 の使用許諾を受けて使用しています。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
Copyright © 2023, Intel Corporation.無断での引用、転載を禁じます。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
性能は、使用状況、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) をご覧ください。