点击蓝字
关注我们,让开发变得更有趣
以下文章来源于英特尔物联网
作者:杨雪锋 博士
英特尔边缘计算创新大使
01
OpenVINO™ Notebooks 简介
OpenVINO™ Notebooks 是 Jupyter Notebook 形式的 OpenVINO™ 范例程序大集合,方便开发者快速学习并掌握 OpenVINO™ 推理程序,并通过 Copy&Paste 方式将范例中的关键程序应用到自己的 AI 软件中去。
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”代码时会收到报错信息,如下图所示:
鉴于直接从 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
左滑查看更多
3.2
用下载器下载
在模型页面,右键菜单启动:“多选下载模式”,如下图所示。
模型页面:
https://hf-mirror.com/databricks/dolly-v2-3b/tree/mainn
然后选择所有要下载的文件,最后按“Enter”启动下载。
实际测试,迅雷下载的方式,速度最快,平均在 6MB/s 左右。
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 从本地加载模型的运行效果,如下图所示:
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”所展示的路径里,如下图所示。
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(),如下图所示:
#从本地载入分词器
tok = AutoTokenizer.from_pretrained("D:/chatglm2-6b", trust_remote_code=True)
左滑查看更多
254-llm-chatbot.ipynb 从本地加载模型的运行结果,如下图所示:
总 结
当遇到从 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
文章这么精彩,你有没有“在看”?