OpenVINO Release Notes
2024.3 – 2024年7月
系統要求 | 發布政策 | 安裝指南
新功能
更多生成式AI覆蓋範圍和框架整合,以最小化代碼變更。
- OpenVINO™預優化模型現已在Hugging Face上提供,使開發人員更容易上手這些模型。
- 通過添加動態量化、多頭注意力(MHA)和OneDNN增強功能,Intel內置和獨立GPU上的LLM性能顯著提升。
- 通過在OpenVINO™模型服務器(OVMS)中包含vLLM和連續批處理,提高了服務LLM時的CPU性能。vLLM是一個易於使用的開源庫,支持高效的LLM推理和模型服務。
OpenVINO™ 運行時 (OpenVINO™ Runtime)
通用
- OpenVINO現在可以作為vLLM的後端使用,由於全連接層優化、多個全連接層(MLP)融合、U8 KV緩存和動態分割融合,提供更好的CPU性能。
- 以下方面得到了改進:
- 通過啟用Squeeze和Concat層,支持YoloV10或PixArt-XL-2等模型。
- fp16/bf16 → fp32精度轉換的性能。
自動推理模式
- 即使設置了cache_dir, CPU加速的模型緩存現在也被禁用,因為在第二次運行時,當緩存的模型準備好用於目標設備時,CPU加速會被跳過。
異構推理模式
- 現在提供PIPELINE_PARALLEL策略,可根據可用內存大小在多個設備上推理大型模型,特別適用於不適合單個獨立GPU的大型語言模型(預覽功能)。
CPU設備插件
- 全連接層已與JIT內核的RoPE優化一起優化,以提高Intel AMX平台上LLM服務工作負載的性能。
- 在Intel AVX2和AVX512平台上,全連接層的動態量化現在默認啟用,提高了8位/4位權重壓縮LLM的開箱即用性能。
- 性能得到改善:
- ARM服務器配置,由於遷移到Intel® oneAPI Threading Building Blocks 2021.13。
- ARM的FP32和FP16。
GPU設備插件
性能得到改善:- 獨立GPU上的LLM和Stable Diffusion,通過多頭注意力(MHA)和oneDNN改進等優化,降低了延遲。
- Core Ultra集成GPU上大輸入情況下LLM的首個令牌延遲。通過應用程序接口啟用動態量化可進一步改善。
- 獨立GPU上的Whisper模型。
NPU設備插件
- GenAI API現在支持NPU LLM(預覽功能)。為支持NPU上的LLM(需要最新版本的NPU驅動程序),NPU插件中現在也包含了其他相關功能。
- 內存優化:從NPU編譯器適配器中移除了權重的複製,改善了NPU上模型推理的內存和首次推理延遲。
- 在NPU驅動程序和NPU插件側(Linux和Windows)添加了對大於2GB模型的支持。
OpenVINO Python API
- 現在可以為Python中實現的自定義操作使用visit_attributes,實現操作屬性的序列化。
- Python API現在擴展了Model類的新方法,例如Model.get_sink_index,Model.get_result_index的新重載。
OpenVINO Node.js API
- 現在支持LLM推理的分詞器和StringTensor。
- 恢復了與electron.js的兼容性,適用於桌面應用程序開發人員。
- 現在提供Core.import_model的異步版本和Core.read_model方法的增強功能,用於更高效的模型讀取,特別是對LLM而言。
ONNX框架支持
現在支持更多模型:- 使用新版本ReduceMean操作的模型(在ONNX opset 18中引入)。
- 使用Multinomial操作的模型(在ONNX opset 7中引入)。
TensorFlow框架支持
- 改進了CPU上具有keras.LSTM操作的模型性能
- 支持具有未定義元素形狀值的張量列表初始化
- 添加了3個新操作的支持:HSVToRGB、AdjustHue、AdjustSaturation
TensorFlow Lite框架支持
- 現在支持包含稀疏張量的常量。
PyTorch框架支持
- 現在支持為嵌套結構(如字典和元組)設置類型/形狀。
- 更新了aten::layer_norm以支持動態形狀標準化。
- 改進了FX圖中的動態形狀支持,有利於基於torch.compile和torch.export的應用,提高了gemma和chatglm模型系列的性能。
OpenVINO模型服務器
OpenAI API文本生成得到以下改進:- 由於OpenVINO運行時和採樣算法,性能結果得到改善。
- 在日誌中報告生成引擎指標。
- 添加了額外的採樣參數。
- 影響內存消耗的請求參數現在有值限制,在可配置範圍內。
- 生成流式響應影響不完整的utf-8序列。
- 偶發的生成卡住。
completions
端點流的最後響應與vLLM基準測試腳本不兼容。
神經網絡壓縮框架
- 權重壓縮方法現在支持MXFP4數據格式,將權重壓縮為4位e2m1數據類型,無零點,使用8位e8m0尺度。通過在nncf.compress_weights()中設置'mode=CompressWeightsMode.E2M1'啟用此功能。
- 權重壓縮方法中的AWQ算法已擴展到Act->MatMul和Act->Multiply->MatMul模式,以覆蓋Phi系列模型。
- 對稱量化權重的表示已更新為無零點的有符號數據類型。這允許NPU支持具有對稱模式的壓縮LLM。
- 後訓練量化現在支持bf16模型;nncf.quantize()。
OpenVINO分詞器 (OpenVINO Tokenizers)
現在支持以下功能:- 使用PCRE2庫進行文本規範化的完整正則表達式語法。
- 所有分詞器類型的左側填充。
其他變更和已知問題
Jupyter筆記本
- Stable Diffusion V3
- Depth Anything V2
- 使用LLamaIndex的RAG系統
- 使用Pixart的圖像合成
- 使用Qwen-Agent的函數調用LLM代理
- Jina-CLIP
- MiniCPM –V2視覺語言助手
- OpenVINO XAI:第一步
- OpenVINO XAI:深入探討
- 使用LLamaIndex的LLM代理
- Stable Audio
- Phi-3-vision
OpenVINO.GenAI
- 添加了性能計數器。
- 現在提供NPU的預覽支持。
Hugging Face
OpenVINO預優化模型現已在Hugging Face上提供:- Phi-3-mini-128k-instruct (INT4, INT8, FP16)
- Mistral-7B-Instruct-v0.2 (INT4, INT8, FP16)
- Mixtral-8x7b-Instruct-v0.1 (INT4, INT8)
- LCM_Dreamshaper_v7 (INT8, FP16)
- starcoder2-7b (INT4, INT8, FP16)
棄用和支持
不建議使用已棄用的功能和組件。它們可用於實現向新解決方案的平滑過渡,並將在未來停用。要繼續使用已停用的功能,您必須回退到支持它們的最後一個LTS OpenVINO版本。有關更多詳細信息,請參閱OpenVINO遺留功能和組件頁面。>>> 其他更詳細資訊, 請參考https://www.intel.com/content/www/us/en/developer/articles/release-notes/openvino/2024-3.html
參考來源