如何快速下载OpenVINO Notebooks中的AI大模型

描述

01

OpenVINO Notebooks简介

OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便开发者快速学习并掌握OpenVINO推理程序,并通过Copy&Paste方式将范例中的关键程序应用到自己的AI软件中去。

OpenVINO

02

运行AI大模型的挑战

OpenVINO Notebooks提供了非常丰富的AI大模型范例程序,例如:Dolly2、Stable Diffusion、LLama2、ChatGLM2等等,方便广大开发者学习并应用AI大模型。

但运行AI大模型范例程序时,由于众所周知的原因,通常会遇到因无法从HuggingFace下载模型,导致范例程序无法运行的情况。

以240-dolly-2-instruction-following.ipynb为例,运行“Download and Convert Model”代码时会收到报错信息,如下图所示:

OpenVINO

03

解决AI大模型下载问题

>解决方案一:命令行模式

从https://hf-mirror.com/用命令行手动下载。

第一步,安装下载工具:

pip install -U huggingface_hub hf_transfer

第二步,设置环境变量

在Linux中,执行:

export HF_HUB_ENABLE_HF_TRANSFER=1

export HF_ENDPOINT=https://hf-mirror.com

在Windows中,执行:

SET HF_HUB_ENABLE_HF_TRANSFER=1

SET HF_ENDPOINT=https://hf-mirror.com

第三步:运行下载命令,下载模型到本地

huggingface-cli download --resume-download databricks/dolly-v2-3b --local-dir dolly-v2-3b

OpenVINO

>解决方案二:命令行模式

在模型页面:https://hf-mirror.com/databricks/dolly-v2-3b/tree/main,右键菜单启动:“多选下载模式”,如下图所示。

OpenVINO

然后选择所有要下载的文件,最后按“Enter”启动下载。

OpenVINO

实际测试,迅雷下载的方式,速度最快,平均在6MB/s左右

OpenVINO

04

从本地加载AI大模型模型

将AI大模型下载到本地后,在,把model_id改为model_local_path, 让程序从本地加载AI大模型,例如:

model_id = "databricks/dolly-v2-3b"

model_local_path = "D:/dolly-v2-3b"

tokenizer = AutoTokenizer.from_pretrained(model_local_path,local_file_only=True)

ov_model = OVModelForCausalLM.from_pretrained(model_local_path, device=current_device, export=True, ov_config=ov_config, load_in_8bit=False,local_file_only=True)

在240-dolly-2-instruction-following.ipynb中“Download and Convert Model”代码块更改如下所示:

from pathlib import Path

from transformers import AutoTokenizer

from optimum.intel.openvino import OVModelForCausalLM

model_id = "databricks/dolly-v2-3b"

model_local_path = "D:/dolly-v2-3b"

model_path = Path("dolly-v2-3b")

tokenizer = AutoTokenizer.from_pretrained(model_local_path,local_file_only=True)

current_device = device.value

ov_config = {'PERFORMANCE_HINT': 'LATENCY', 'NUM_STREAMS': '1', "CACHE_DIR": ""}

if model_path.exists():

    ov_model = OVModelForCausalLM.from_pretrained(model_path, device=current_device, ov_config=ov_config)

else:

    ov_model = OVModelForCausalLM.from_pretrained(model_local_path, device=current_device, export=True, ov_config=ov_config, load_in_8bit=False,local_file_only=True)

    ov_model.half()

    ov_model.save_pretrained(model_path)

240-dolly-2-instruction-following.ipynb从本地加载模型的运行效果,如下图所示:

OpenVINO  

总结:在遇到AI大模型无法下载时,可以选择用命令行的方式,或者下载器的方式,手动从HuggingFace镜像网站下载,然后修改加载模型的参数,从本地加载模型,实现OpenVINO Notebooks的范例代码顺利运行。    







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分