开发者实战 | 快速下载 OpenVINO™ Notebooks 中的 AI 大模型

点击蓝字

关注我们,让开发变得更有趣

以下文章来源于英特尔物联网

作者:杨雪锋 博士

英特尔边缘计算创新大使

29c7252b24dea512ab1a64712ac23313.png

01

OpenVINO™ Notebooks 简介

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

e8492d756f0f4bade1150a34c5524a21.png

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

01

运行 AI 大模型的挑战

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

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

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

607ac8a25ceab8d7d47773594eeba0b2.png

鉴于直接从 HuggingFace 官网无法下载 AI 大模型,可以考虑使用国内的两个下载速度非常好的网站:

一个是 HuggingFace 的国内镜像网站;另一个是魔搭社区。

HuggingFace的国内镜像网站:

https://hf-mirror.com

魔搭社区:

www.modelscope.cn

本文将演示分别从 HuggingFace 的国内镜像网站和魔搭社区来解决下载 AI 大模型问题。

03

从 HuggingFace 国内镜像网站

解决下载问题

3.1

命令行模式

第一步,安装下载工具:

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

左滑查看更多

74633c6949c1c9cc7bcccb35701ae257.png

3.2

用下载器下载

在模型页面,右键菜单启动:“多选下载模式”,如下图所示。

模型页面:

https://hf-mirror.com/databricks/dolly-v2-3b/tree/mainn

85d8144d427472a4ebaca60c9161ed8f.png

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

324598cbf77bc052c3f07dfca812f0f8.png

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

28f0a790e2b62c8cb173a2258e216c9d.png

3.3

从本地加载模型权重

将 dolly-v2-3b 下载到本地后,把 model_id 改为 model_local_path, 让程序从本地加载模型权重,例如:

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 从本地加载模型的运行效果,如下图所示:

5ef12317ef2120af4b5d7cdd61e72862.png

04

从魔搭社区解决下载问题

4.1

使用 modelscope API 下载模型

第一步,安装 modelscope:

pip install modelscope

左滑查看更多

第二步,运行 Python 脚本,下载模型到本地

from modelscope import snapshot_download 
model_dir = snapshot_download("ZhipuAI/chatglm2-6b", revision = "v1.0.12")
print(model_dir)

左滑查看更多

下载速度非常快,模型保存在“model_dir”所展示的路径里,如下图所示。

1d9005962214f62bb8cdacd4fff1265f.png

4.2

使用 git lfs 工具下载

git lfs install 
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

左滑查看更多

4.3

从本地加载模型权重

打开 OpenVINO™ Notebooks 的 254-llm-chatbot.ipynb,把本地模型所在路径传入 AutoModelForCausalLM.from_pretrained(),如下图所示:

6a2f72503a6e71e1e4c8fd8106e62be6.png

#从本地载入分词器
tok = AutoTokenizer.from_pretrained("D:/chatglm2-6b", trust_remote_code=True)

左滑查看更多

254-llm-chatbot.ipynb 从本地加载模型的运行结果,如下图所示:

7a79de7eadc7a411d954b4625ac76aa6.png

总 结

当遇到从 HuggingFace 官网无法下载 AI 大模型时,可以从国内镜像网站或魔搭社区下载,然后从本地加载模型权重,实现 OpenVINO™ Notebooks 的范例代码顺利运行。

OpenVINO™

--END--

你也许想了解(点击蓝字查看)⬇️➡️ OpenVINO™ 2023.2 发布:让生成式 AI 在实际场景中更易用➡️ 开发者实战 | 介绍OpenVINO™ 2023.1:在边缘端赋能生成式AI➡️ 基于 ChatGLM2 和 OpenVINO™ 打造中文聊天助手➡️ 基于 Llama2 和 OpenVINO™ 打造聊天机器人➡️ OpenVINO™ DevCon 2023重磅回归!英特尔以创新产品激发开发者无限潜能➡️ 5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易➡️ OpenVINO™5周年重头戏!2023.0版本持续升级AI部署和加速性能➡️ OpenVINO™2023.0实战 | 在 LabVIEW 中部署 YOLOv8 目标检测模型➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。
扫描下方二维码立即体验 
OpenVINO™ 工具套件 2023.2

点击 阅读原文 立即体验OpenVINO 2023.2

5340297000a24dc2209e72d08c610a11.png

文章这么精彩,你有没有“在看”?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值