0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三步完成在英特尔独立显卡上量化和部署ChatGLM3-6B模型

英特尔物联网 来源:英特尔物联网 2024-01-11 18:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01

ChatGLM3-6B 简介

ChatGLM3 是智谱 AI 和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在填写问卷进行登记后亦允许免费商业使用

问卷:

55f41322-b067-11ee-8b88-92fbcf53809c.gif

引用自:https://github.com/THUDM/ChatGLM3

请使用命令,将 ChatGLM3-6B 模型下载到本地 (例如,保存到 D 盘) :

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

左滑查看更多

02

BigDL-LLM 简介

BigDL-LLM 是开源,遵循 Apache 2.0许可证,专门用于在英特尔的硬件平台上加速大语言模型(Large Language Model, LLM)推理计算的软件工具包。它是在原有的 BigDL 框架基础上,为了应对大语言模型在推理过程中对性能和资源的高要求而设计的。BigDL-LLM 旨在通过优化和硬件加速技术来提高大语言模型的运行效率,减少推理延迟,并降低资源消耗。

本文将详细介绍基于 BigDL-LLM 在英特尔独立显卡上量化和部署 ChatGLM3-6B 模型。

03

部署平台简介:

算力魔方是一款可以 DIY 的迷你主机,采用了抽屉式设计,后续组装、升级、维护只需要拔插模块。

通过选择计算模块的版本,再搭配不同额 IO 模块可以组成丰富的配置,适应不同场景。性能不够时,可以升级计算模块提升算力, IO 接口不匹配时,可以更换 IO 模块调整功能,而无需重构整个系统。本文在带有 A380独立显卡的算力模方上完成验证。

04

在英特尔独立显卡上部署 ChatGLM3-6B

4.1

搭建开发环境

第一步:请下载并安装 Visual Studio 2022 Community Edition。安装时务必选择“使用 C++的桌面开发”。注意:不要修改默认安装路径!

下载链接:

562d0c9a-b067-11ee-8b88-92fbcf53809c.png

第二步:请下载并安装英特尔独立显卡驱动程序。

下载链接:

https://www.intel.cn/content/www/cn/zh/download/785597/intel-arc-iris-xe-graphics-windows.html

第三步:请下载并安装 Intel oneAPI Base Toolkit。

下载链接:

https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html

第四步:请下载并安装 Anaconda,然后用下面的命令创建名为“bigdl”的虚拟环境。

conda create -n bigdl python=3.9 libuv
conda activate bigdl

4.2

安装 BigDL-LLM[xpu]

第一步:用下载器 (例如:迅雷) 下载*.whl 安装包到本地。

下载链接:

https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/torch-2.1.0a0%2Bcxx11.abi-cp39-cp39-win_amd64.whl

https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/torchvision-0.16.0a0%2Bcxx11.abi-cp39-cp39-win_amd64.whl

https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/intel_extension_for_pytorch-2.1.10%2Bxpu-cp39-cp39-win_amd64.whl

第二步:执行命令:

# 从本地安装已下载的.whl安装包
pip install torch-2.1.0a0+cxx11.abi-cp39-cp39-win_amd64.whl
pip install torchvision-0.16.0a0+cxx11.abi-cp39-cp39-win_amd64.whl
pip install intel_extension_for_pytorch-2.1.10+xpu-cp39-cp39-win_amd64.whl


# 安装支持英特尔显卡的bigdl-llm
pip install --pre --upgrade bigdl-llm[xpu] -i https://mirrors.aliyun.com/pypi/simple/

左滑查看更多

详情参考:

https://bigdl.readthedocs.io/en/latest/doc/LLM/Overview/install_gpu.html

4.3

第三步:运行范例程序

首先:执行命令,配置环境变量:

conda activate bigdl
call "C:Program Files (x86)InteloneAPIsetvars.bat"
set SYCL_CACHE_PERSISTENT=1
set BIGDL_LLM_XMX_DISABLED=1

左滑查看更多

若系统中有集成显卡,请执行下面的命令,保证英特尔独立显卡是“xpu”指代的计算设备,

详情参考:

https://github.com/intel-analytics/BigDL/issues/9768

set ONEAPI_DEVICE_SELECTOR=level_zero:1

左滑查看更多

然后,请下载范例程序并运行:

https://gitee.com/Pauntech/chat-glm3/blob/master/chatglm3_infer_gpu.py

import time
from bigdl.llm.transformers import AutoModel
from transformers import AutoTokenizer
import intel_extension_for_pytorch as ipex
import torch
CHATGLM_V3_PROMPT_FORMAT = "<|user|>
{prompt}
<|assistant|>"
# 请指定chatglm3-6b的本地路径
model_path = "d:/chatglm3-6b"
# 载入ChatGLM3-6B模型并实现INT4量化
model = AutoModel.from_pretrained(model_path,
                 load_in_4bit=True,
                 trust_remote_code=True)
# run the optimized model on Intel GPU
model = model.to('xpu')
# 载入tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path,
                     trust_remote_code=True)
# 制作ChatGLM3格式提示词  
prompt = CHATGLM_V3_PROMPT_FORMAT.format(prompt="What is Intel?")
# 对提示词编码
input_ids = tokenizer.encode(prompt, return_tensors="pt")
input_ids = input_ids.to('xpu')
st = time.time()
# 执行推理计算,生成Tokens
output = model.generate(input_ids,max_new_tokens=32)
end = time.time()
# 对生成Tokens解码并显示
output_str = tokenizer.decode(output[0], skip_special_tokens=True)
print(f'Inference time: {end-st} s')
print('-'*20, 'Prompt', '-'*20)
print(prompt)
print('-'*20, 'Output', '-'*20)
print(output_str)

运行结果,如下所示:

563ba57a-b067-11ee-8b88-92fbcf53809c.png

4.4

运行 ChatGLM3-6B WebUI demo

首先,请先安装依赖软件包:

pip install gradio mdtex2html streamlit -i https://mirrors.aliyun.com/pypi/simple/

然后,运行命令,配置环境变量:

conda activate bigdl
call "C:Program Files (x86)InteloneAPIsetvars.bat"
set SYCL_CACHE_PERSISTENT=1
set BIGDL_LLM_XMX_DISABLED=1

若系统中有集成显卡,请执行下面的命令,保证英特尔独立显卡是“xpu”指代的计算设备。

详情参考:

https://github.com/intel-analytics/BigDL/issues/9768

set ONEAPI_DEVICE_SELECTOR=level_zero:1

最后,请下载范例程序:

https://gitee.com/Pauntech/chat-glm3/blob/master/chatglm3_web_demo_gpu.py

并运行:

streamlit run chatglm3_web_demo_gpu.py

左滑查看更多

运行结果如下:

56549706-b067-11ee-8b88-92fbcf53809c.jpg

05

总结

BigDL-LLM 工具包简单易用,仅需三步即可完成开发环境搭建、bigdl-llm[xpu]安装以及 ChatGLM3-6B 模型的 INT4量化以及在英特尔独立显卡上的部署。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10340

    浏览量

    181324
  • 语言模型
    +关注

    关注

    0

    文章

    575

    浏览量

    11370
  • LLM
    LLM
    +关注

    关注

    1

    文章

    351

    浏览量

    1408

原文标题:三步完成在英特尔独立显卡上量化和部署 ChatGLM3-6B 模型 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超越台积电?英特尔首个18A工艺芯片迈向大规模量产

    Lake作为英特尔首款基于Intel 18A制程工艺打造的产品,意义非凡。这一制程是英特尔研发并制造的最先进半导体工艺,标志着英特尔技术领域迈出了关键一
    的头像 发表于 10-11 08:14 9531次阅读
    超越台积电?<b class='flag-5'>英特尔</b>首个18A工艺芯片迈向大规模量产

    AI工作站本地养龙虾!英特尔双芯混合算力,告别云端Token焦虑

    4月23日,英特尔公司北京举办新一代AI工作站平台发布会,英特尔中国区技术部总经理高宇宣布,面向AI工作站,英特尔推出两大重磅产品:英特尔
    的头像 发表于 04-26 16:27 1.1w次阅读
    AI工作站本地养龙虾!<b class='flag-5'>英特尔</b>双芯混合算力,告别云端Token焦虑

    轻薄、AI、数日续航、性能强劲,第英特尔酷睿Ultra新品重磅上市

    今日,英特尔在上海举办了第英特尔酷睿Ultra处理器新品分享会。作为全球首款基于Intel 18A工艺打造的计算平台,第英特尔酷睿
    的头像 发表于 03-19 13:12 381次阅读

    【瑞萨AI挑战赛】手写数字识别模型RA8P1 Titan Board部署

    手写数字识别模型RA8P1 Titan Board部署 手写数字识别是计算机视觉领域的经典入门任务,而瑞萨RA8P1 Titan Board开发板凭借其搭载的双内核架构与专用NP
    发表于 03-15 20:42

    CANDTU设备云实战:两完成接入,三步玩转数据

    CANDTU云平台既能本地看数,又能远程云分析,但设备怎么接入?本期手把手教你两完成配置,三步掌握数据查看技巧。CANDTU系列设备:满足多样化传输需求ZLG致远电子CANDTU系
    的头像 发表于 02-14 11:39 318次阅读
    CANDTU设备<b class='flag-5'>上</b>云实战:两<b class='flag-5'>步</b><b class='flag-5'>完成</b>接入,<b class='flag-5'>三步</b>玩转数据

    探索DeepSeek多样化技术路径,英特尔架构师用至强CPU尝鲜

    独立运行整个Engram模块,并使用其内置的英特尔® AMX(高级矩阵扩展)技术对其进行加速的初步成果或收获。 我们希望这次分享,或能作为参考,或是作为开端,能为未来Engram以及集成它的大模型
    的头像 发表于 02-05 11:13 594次阅读
    探索DeepSeek多样化技术路径,<b class='flag-5'>英特尔</b>架构师用至强CPU尝鲜

    【CIE全国RISC-V创新应用大赛】基于 K1 AI CPU 的大模型部署落地

    ” 策略。我们必须使用 Q2_K (2-bit) 量化格式,将模型体积压缩到 5.5GB 左右,从而在 8GB 内存给 KV Cache(上下文)留出空间。 以下是按照官方工具链针对 14B
    发表于 11-27 14:43

    英特尔举办行业解决方案大会,共同打造机器人“芯”动脉

    11月19日,2025英特尔行业解决方案大会上,英特尔展示了基于英特尔® 酷睿™ Ultra平台的最新边缘AI产品及解决方案,并预览了针对边缘侧的
    的头像 发表于 11-19 21:51 7247次阅读
    <b class='flag-5'>英特尔</b>举办行业解决方案大会,共同打造机器人“芯”动脉

    发力图形工作站和AI推理市场,英特尔大显存GPU亮相湾芯展

    英特尔发布了面向专业的锐炫Pro B50和B60。这两款显卡比较RTX2000和5660Ti,有哪些性能上的优势?支持AI推理工作站和大
    的头像 发表于 10-22 13:40 1.2w次阅读
    发力图形工作站和AI推理市场,<b class='flag-5'>英特尔</b>大显存GPU亮相湾芯展

    英特尔Gaudi 2E AI加速器为DeepSeek-V3.1提供加速支持

    英特尔® Gaudi 2EAI加速器现已为DeepSeek-V3.1提供深度优化支持。凭借出色的性能和成本效益,英特尔Gaudi 2E以更低的投入、更高的效率,实现从模型训练的深度突破到推理
    的头像 发表于 08-26 19:18 3462次阅读
    <b class='flag-5'>英特尔</b>Gaudi 2E AI加速器为DeepSeek-V3.1提供加速支持

    英特尔可变显存技术让32GB内存笔记本流畅运行Qwen 30B模型

    近日,阿里通义千问发布了两款新版本30B(300亿参数)MoE大模型——Qwen3-30B-A3B-Instruct-2507 和 Qwen3-Coder-30B-A3B-Instru
    的头像 发表于 08-14 15:39 2159次阅读

    硬件与应用同频共振,英特尔Day 0适配腾讯开源混元大模型

    今日,腾讯正式发布新一代混元开源大语言模型英特尔凭借人工智能领域的全栈技术布局,现已在英特尔® 酷睿™ Ultra 平台上完成针对该
    的头像 发表于 08-07 14:42 1624次阅读
    硬件与应用同频共振,<b class='flag-5'>英特尔</b>Day 0适配腾讯开源混元大<b class='flag-5'>模型</b>

    如何本地部署NVIDIA Cosmos Reason-1-7B模型

    行动。本文将一步步带你本地服务器完成模型部署,并搭建一个直观的 Web 交互界面,亲身体
    的头像 发表于 07-09 10:17 1096次阅读

    主控CPU全能选手,英特尔至强6助力AI系统高效运转

    2025年3月,英伟达发布了DGX B300 AI加速计算平台。2025年5月,英特尔发布了款全新英特尔至强
    的头像 发表于 06-27 11:44 1117次阅读
    主控CPU全能选手,<b class='flag-5'>英特尔</b>至强<b class='flag-5'>6</b>助力AI系统高效运转

    英特尔锐炫Pro B系列,边缘AI的“智能引擎”

    2025年6月19日,上海—— MWC 25上海期间,英特尔展示了一幅由英特尔锐炫™ Pro B系列GPU所驱动的“实时响应、安全高效、成
    的头像 发表于 06-20 17:32 1130次阅读
    <b class='flag-5'>英特尔</b>锐炫Pro <b class='flag-5'>B</b>系列,边缘AI的“智能引擎”