当前位置:   article > 正文

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

openvino notebook

作者: 英特尔边缘计算创新大使  杨雪锋

1.  OpenVINO Notebooks简介

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

GitHub: https://github.com/openvinotoolkit/openvino_notebooks

2.  运行AI大模型的挑战

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

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

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

3.  解决AI大模型下载问题

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

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

第一步,安装下载工具:

pip install -U huggingface_hub hf_transfer

第二步,设置环境变量

在Linux中,执行:

  1. export
  2. HF_HUB_ENABLE_HF_TRANSFER=1
  3. export HF_ENDPOINT=https://hf-mirror.com

在Windows中,执行:

  1. SET HF_HUB_ENABLE_HF_TRANSFER=1
  2. SET HF_ENDPOINT=https://hf-mirror.com

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

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

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

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

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

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

4.  从本地加载AI大模型模型

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

  1. model_id = "databricks/dolly-v2-3b"
  2. model_local_path = "D:/dolly-v2-3b"
  3. tokenizer = AutoTokenizer.from_pretrained(model_local_path,local_file_only=True)
  4. 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”代码块更改如下所示:

  1. from pathlib import Path
  2. from transformers import AutoTokenizer
  3. from optimum.intel.openvino import OVModelForCausalLM
  4. model_id = "databricks/dolly-v2-3b"
  5. model_local_path = "D:/dolly-v2-3b"
  6. model_path = Path("dolly-v2-3b")
  7. tokenizer = AutoTokenizer.from_pretrained(model_local_path,local_file_only=True)
  8. current_device = device.value
  9. ov_config = {'PERFORMANCE_HINT': 'LATENCY', 'NUM_STREAMS': '1', "CACHE_DIR": ""}
  10. if model_path.exists():
  11.     ov_model = OVModelForCausalLM.from_pretrained(model_path, device=current_device, ov_config=ov_config)
  12. else:
  13.     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)
  14.     ov_model.half()
  15.     ov_model.save_pretrained(model_path)

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

5. 总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/865022
推荐阅读
  

闽ICP备14008679号