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

2023/12/19 17:00
阅读数 21

点击蓝字

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

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

作者:杨雪锋 博士

英特尔边缘计算创新大使




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=1export HF_ENDPOINT=https://hf-mirror.com

左滑查看更多


在Windows中,执行:

SET HF_HUB_ENABLE_HF_TRANSFER=1SET 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 Pathfrom transformers import AutoTokenizerfrom 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.valueov_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
文章这么精彩,你有没有“在看”?

本文分享自微信公众号 - OpenVINO 中文社区(openvinodev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部