在過去的一年里,人工智能正以越來越快的速度發(fā)展,這得益于生成式 AI 模型的引入和從中受益的場景的演變。我們承認(rèn)這一點(diǎn),并決定比平時(shí)更快地發(fā)布新版本的 OpenVINO ,以幫助您獲得新功能!
與之前的版本一樣,在提高性能、增加對新 AI 模型的支持以及構(gòu)建基礎(chǔ)設(shè)施和模型緩存等不同組件方面,我們做了大量工作。對于我們最新的 2023.2 版本,我們做出了一些重大改進(jìn),我們將在下面概述。
邊緣文本生成模型的附加性能
在我們的上一個(gè)版本 2023.1 中,我們引入了一些更改,以在英特爾 CPU 和 GPU 上運(yùn)行大語言模型(LLM)。開發(fā)者們能夠量化權(quán)重為 int8 格式,并將其作為初始步驟在 CPU 上運(yùn)行。
在 2023.2 版本中,我們進(jìn)一步優(yōu)化此工作流程,并引入在 CPU 和集成顯卡上運(yùn)行權(quán)重量化為 int8 和 int4 精度的 LLM 的能力。權(quán)重量化直接影響內(nèi)存帶寬,并幫助模型更快、更高效地執(zhí)行推理,因?yàn)槟P拖牡膬?nèi)存更少了,所需的磁盤空間也更少,因此總體上需要的內(nèi)存帶寬也更少了!
此外,我們的模型轉(zhuǎn)換和優(yōu)化工具已經(jīng)更新,可以幫助您處理模型準(zhǔn)備流程。要壓縮模型權(quán)重為 int8 和 int4 格式,您可以使用我們的神經(jīng)網(wǎng)絡(luò)壓縮框架(NNCF)工具,該工具適用于 OpenVINO 格式或中間表示(IR)文件。此外,為了獲得具有int4壓縮權(quán)重的模型,您可以通過 GPTQ(生成預(yù)訓(xùn)練 transformers 量化)算法來優(yōu)化轉(zhuǎn)換模型。實(shí)現(xiàn)這一過程的一種方法是通過 Hugging Face AutoGPTQ 實(shí)現(xiàn)。
如果你將 Hugging Face 作為模型的來源,你可以使用我們的 optimum-Intel,它集成了 OpenVINO 的優(yōu)勢。此集成允許您自動壓縮和轉(zhuǎn)換模型,如我們在下面所示的這樣:
要將模型壓縮到 int8 精度:
#make use of optimum-intel from optimum.intel import OVModelForCausalLM #load pretrained model, convert to OpenVINO representation #and compress weights model = OVModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b", use_cache=True, export=True, load_in_8bit=True) #store OpenVINO IR in a folder model.save_pretrained("./Llama-2-7b")
左滑查看更多
請注意“l(fā)oad_in_8bit”選項(xiàng),該選項(xiàng)指定應(yīng)將原始模型壓縮到 int8 精度。對于大于 1B 的模型,默認(rèn)情況下會啟用此選項(xiàng)。
要將模型壓縮到 int4 精度:
#make use of optimum-intel from optimum.intel import OVModelForCausalLM #explicitly use NNCF for compression from nncf import compress_weights, CompressWeightsMode #load pretrained model, convert to OpenVINO representation model = OVModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b", use_cache=True, export=True, load_in_8bit=False) #perform weights compression using NNCF model.model = compress_weights(model.model, mode=CompressWeightsMode.INT4_SYM, group_size=128, ratio=0.8) #store OpenVINO IR in a folder model.save_pretrained("./Llama-2-7b")
左滑查看更多
請注意,這一次我們沒有使用 HF API 功能,而是直接調(diào)用 NNCF 將權(quán)重壓縮到 int4。根據(jù)模型的不同,您可以更改壓縮參數(shù)以獲得更準(zhǔn)確的結(jié)果。在這種情況下,我們使用對稱量化,組大小為 128 個(gè)元素,int4 與 int8 的權(quán)重之比為 0.8。您可以查看我們的權(quán)重壓縮文檔,以獲得更多詳細(xì)信息和壓縮提示。
要轉(zhuǎn)換使用 AutoGPTQ 優(yōu)化為 int4 精度的模型,請執(zhí)行以下操作:
#make use of optimum-intel from optimum.intel import OVModelForCausalLM #load pretrained model, convert to OpenVINO representation #with keeping weights in int4 model = OVModelForCausalLM.from_pretrained("TheBloke/Llama-2-7B-GPTQ", use_cache=True, export=True) #store OpenVINO IR in a folder model.save_pretrained("./Llama-2-7B-GPTQ")
新的生成式 AI
以及更多的 Notebooks 代碼示例!
我們知道,親身體驗(yàn)最新功能和最先進(jìn)模型是最好的學(xué)習(xí)方式。因此,我們的 OpenVINO 團(tuán)隊(duì)非常專注于為 OpenVINO Notebooks 代碼示例帶來新的及備受關(guān)注的模型。我們希望展示并鼓勵(lì)您立即在您的設(shè)備上進(jìn)行本地實(shí)驗(yàn),以獲得您所需的性能。以下是我們最近更新或新發(fā)布的一些 Notebooks 代碼示例,以幫助您更快地將想法付諸生產(chǎn)。
一些 Jupyter Notebooks 已經(jīng)更新,以演示 PyTorch 模型在沒有 ONNX 轉(zhuǎn)換的情況下的轉(zhuǎn)換和優(yōu)化,包括以下內(nèi)容:
PyTorch to OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/102-pytorch-to-openvino )
—— 轉(zhuǎn)換格式為 torch.nn.Module 以及 torch.jit.ScriptModule 的 PyTorch 模型為 OpenVINO IR 格式
Post-Training Quantization of PyTorch models with NNCF
(https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/112-pytorch-post-training-quantization-nncf/112-pytorch-post-training-quantization-nncf.ipynb )
—— 將 int8 量化應(yīng)用于 PyTorch 模型
Quantization of Image Classification Models
(https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/113-image-classification-quantization/113-image-classification-quantization.ipynb )
—— 將 int8 量化應(yīng)用于 MobileNet V2 PyTorch 模型
Visual Question Answering and Image Captioning using BLIP and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/233-blip-visual-language-processing )
—— 優(yōu)化 BLIP PyTorch 模型
Text-to-Image Generation and Infinite Zoom with Stable Diffusion v2 and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/236-stable-diffusion-v2 )
—— 在 Stable Diffusion 2.0 流水線中優(yōu)化模型
Object masks from prompts with SAM and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/237-segment-anything#object-masks-from-prompts-with-sam--and-openvino )
—— 優(yōu)化基于 PyTorch 的 Segment Anything Model (SAM) 模型
Optimizing PyTorch models with Neural Network Compression Framework of OpenVINO by 8-bit quantization
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/302-pytorch-quantization-aware-training )
—— PyTorch 模型量化感知訓(xùn)練(QAT)
我們還加入了一些 notebooks 代碼示例,展示如何轉(zhuǎn)換和優(yōu)化模型,包括來自 TensorFlow Hub, TorchVision, and Hugging Face Hub 的模型。
TorchaVision Zoo with OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/125-torchvision-zoo-to-openvino )
—— 下載和直接優(yōu)化基于 PyTorch 的預(yù)訓(xùn)練模型
Hugging Face Model Hub with OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/124-hugging-face-hub )
—— 學(xué)習(xí)如何下載和優(yōu)化 Hugging Face hub 的預(yù)訓(xùn)練模型
TensorFlow Hub models + OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/126-tensorflow-hub )
—— 學(xué)習(xí)如何下載和優(yōu)化 TensorFlow Hub 的預(yù)訓(xùn)練模型
Convert Detectron2 Models to OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/123-detectron2-to-openvino )
—— 優(yōu)化來自 Facebook Research 流行的目標(biāo)檢測和分割模型
Convert TensorFlow Object Detection and Instance Segmentation Models to OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/120-tensorflow-object-detection-to-openvino)
—— 優(yōu)化來自于 TensorFlow Hub 的使用 Resnet-50 V1 的 Faster R-CNN
Visual-language assistant with LLaVA and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/257-llava-multimodal-chatbot )
—— 使用 LLaVA (Large Language and Vision Assistant) 的端到端多模態(tài)演示
Subject-driven image generation and editing using BLIP Diffusion and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/258-blip-diffusion-subject-generation )
—— 優(yōu)化用于零樣本主題驅(qū)動的圖像生成的 BLIP 擴(kuò)散模型
SoftVC VITS Singing Voice Conversion and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/262-softvc-voice-conversion#softvc-vits-singing-voice-conversion-and-openvino )
—— 優(yōu)化以音頻作為輸入的聲音轉(zhuǎn)換模型 SoftVC 及 VITS
Object segmentations with FastSAM and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/261-fast-segment-anything )
—— 優(yōu)化用于目標(biāo)分割的 Fast Segment Anything Model (FastSAM) 模型
Image Generation with DeciDiffusion
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/259-decidiffusion-image-generation )
—— 優(yōu)化用于文生圖的 DeciDiffusion 1.0 模型
Document Visual Question Answering Using Pix2Struct and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/260-pix2struct-docvqa )
—— 利用 OCR 和語言模型進(jìn)行多模態(tài)問答的演示
圖1:文檔視覺問答
最后,我們還提供了幾個(gè)具有開箱即用、優(yōu)化性能的流行的生成式 AI 的 notebooks 代碼示例:
Create an LLM-powered Chatbot using OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/254-llm-chatbot#create-llm-powered-chatbot-using-openvino )
—— 在 CPU 和 GPU 上運(yùn)行具有 int8 權(quán)重壓縮的 Llama2 等聊天機(jī)器人,令人印象深刻的是,它將在只有 24GB RAM 的筆記本電腦上運(yùn)行。
Image generation with Latent Consistency Model and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/263-latent-consistency-models-image-generation )
—— 用低得多的計(jì)算機(jī)資源實(shí)現(xiàn)卓越的圖像生成
Generate creative QR codes with ControlNet QR Code Monster and OpenVINO
(https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/264-qrcode-monster )
—— 使用 ControlNet 和 Stable Diffusion 創(chuàng)建您自己的圖形二維碼。
圖2:使用OpenVINO 優(yōu)化基于大語言模型的聊天機(jī)器人
圖3: ControlNet二維碼 Monster 以及 OpenVINO
新的分發(fā)渠道
在這個(gè)版本中,我們繼續(xù)改進(jìn)您訪問和使用 OpenVINO 進(jìn)行 AI 應(yīng)用程序開發(fā)的方式,我們已經(jīng)開發(fā)了一個(gè)Conan(https://conan.io)軟件包管理器。Conan允許您為大型項(xiàng)目執(zhí)行包管理,我們很高興看到已經(jīng)有開發(fā)者對此做出的積極回應(yīng)。
有關(guān)如何使用 OpenVINO Conan 軟件包的更多詳細(xì)信息,請參閱此處:
https://docs.openvino.ai/2023.1/openvino_docs_install_guides_installing_openvino_conan.html
(復(fù)制鏈接到瀏覽器打開)
OpenVINO 是在開源中開發(fā)的,一旦在我們的初步測試中驗(yàn)證了這些功能,我們的最新功能就可以在我們的主分支上獲得。因此,如果您想嘗試新功能,您可以隨時(shí)從源代碼構(gòu)建我們的包。對于 pip 用戶,我們通過引入 openvino-nightly 包來簡化這一點(diǎn)。你可以使用這個(gè)每日構(gòu)建的包來嘗試最新的功能,并在我們的下一個(gè)官方版本中預(yù)覽一下!
開源貢獻(xiàn)對我們來說很重要!
OpenVINO 已經(jīng)是一個(gè)超過 5 年的開源項(xiàng)目了。最近,我們準(zhǔn)備了一系列貢獻(xiàn)任務(wù),通過向 OpenVINO 貢獻(xiàn),可以更好地幫助社區(qū)圍繞人工智能生態(tài)系統(tǒng)和開源項(xiàng)目構(gòu)建知識。這包括支持新的編譯選項(xiàng)和添加更多需要注意的操作等任務(wù)。
查看我們在 GitHub 上的鏈接,看看有沒有你感興趣的任務(wù)!
如上所述,我們非常感謝迄今為止我們看到的所有被合并進(jìn)來的開源貢獻(xiàn)。我們還要公開感謝我們最近的一些貢獻(xiàn)者!他們是Siddhant Chauhan、rsa-10、Santhosh Mamidisetti 和 Mahimai Raja J.。由于您的幫助,產(chǎn)品變得更好!
-
人工智能
+關(guān)注
關(guān)注
1791文章
46845瀏覽量
237535 -
生態(tài)系統(tǒng)
+關(guān)注
關(guān)注
0文章
700瀏覽量
20709 -
開源項(xiàng)目
+關(guān)注
關(guān)注
0文章
36瀏覽量
7173 -
生成式AI
+關(guān)注
關(guān)注
0文章
487瀏覽量
459
原文標(biāo)題:OpenVINO? 2023.2 發(fā)布:讓生成式 AI 在實(shí)際場景中更易用
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論