赞
踩
作者: 英特尔边缘计算创新大使 杨雪锋
OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便开发者快速学习并掌握OpenVINO推理程序,并通过Copy&Paste方式将范例中的关键程序应用到自己的AI软件中去。
GitHub: https://github.com/openvinotoolkit/openvino_notebooks
OpenVINO Notebooks提供了非常丰富的AI大模型范例程序,例如:Dolly2、Stable Diffusion、LLama2、ChatGLM2等等,方便广大开发者学习并应用AI大模型。
但运行AI大模型范例程序时,由于众所周知的原因,通常会遇到因无法从HuggingFace下载模型,导致范例程序无法运行的情况。
以240-dolly-2-instruction-following.ipynb为例,运行“Download and Convert Model”代码时会收到报错信息,如下图所示:
从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
在模型页面:https://hf-mirror.com/databricks/dolly-v2-3b/tree/main,右键菜单启动:“多选下载模式”,如下图所示。
然后选择所有要下载的文件,最后按“Enter”启动下载。
实际测试,迅雷下载的方式,速度最快,平均在6MB/s左右
将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)
dolly-2-instruction-following.ipynb从本地加载模型的运行效果,如下图所示:
在遇到AI大模型无法下载时,可以选择用命令行的方式,或者下载器的方式,手动从HuggingFace镜像网站下载,然后修改加载模型的参数,从本地加载模型,实现OpenVINO Notebooks的范例代码顺利运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。