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

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

3天内不再提示

如何将Llama3.1模型部署在英特尔酷睿Ultra处理器

英特尔物联网 来源:英特尔物联网 作者:虞晓琼 2024-07-26 09:51 次阅读

作者:虞晓琼 博士

东莞职业技术学院

本文从搭建环境开始,一步一步帮助读者实现只用五行代码便可将Llama3.1模型部署在英特尔酷睿Ultra 处理器上。请把文中范例代码下载到本地:

 git clone https://gitee.com/Pauntech/llama3.1-model.git

1.1Meta Llama3.1简介

7月24日,Meta宣布推出迄今为止最强大的开源模型——Llama 3.1 405B,同时发布了全新升级的Llama 3.1 70B和8B模型。

Llama 3.1 405B支持上下文长度为128K Tokens,在基于15万亿个Tokens、超1.6万个H100 GPU上进行训练,研究人员基于超150个基准测试集的评测结果显示,Llama 3.1 405B可与GPT-4o、Claude 3.5 Sonnet和Gemini Ultra等业界头部模型媲美。

50662272-4a6a-11ef-b8af-92fbcf53809c.png

引用自:https://ai.meta.com/research/publications/the-llama-3-herd-of-models

魔搭社区已提供Llama3.1模型的预训练权重下载,实测下载速度平均35MB/s。

5096df34-4a6a-11ef-b8af-92fbcf53809c.png

请读者用下面的命令把Meta-Llama-3.1-8B-Instruct模型的预训练权重下载到本地待用。

 git clone --depth=1 https://www.modelscope.cn/LLM-Research/Meta-Llama-3.1-8B-Instruct.git

1.2英特尔酷睿Ultra处理器简介

英特尔酷睿Ultra处理器内置CPU+GPU+NPU 的三大 AI 引擎,赋能AI大模型在不联网的终端设备上进行推理计算。

1.3Llama3.1模型的INT4量化和本地部署

把Meta-Llama-3.1-8B-Instruct模型的预训练权重下载到本地后,接下来本文将依次介绍使用optimum-cli工具将Llama3.1模型进行INT4量化,并调用optimum-intel完成Llama3.1模型在英特尔酷睿 Ultra 处理器上的部署。

Optimum Intel作为Transformers和Diffusers库与Intel提供的各种优化工具之间的接口层,它给开发者提供了一种简便的使用方式,让这两个库能够利用Intel针对硬件优化的技术,例如:OpenVINO、IPEX等,加速基于Transformer或Diffusion构架的AI大模型在英特尔硬件上的推理计算性能。

Optimum Intel代码仓链接:https://github.com/huggingface/optimum-intel

1.3.1搭建开发环境

请下载并安装Anaconda,然后用下面的命令创建并激活名为llama31的虚拟环境,然后安装Optimum Intel和其依赖项openvino与nncf。

conda create -n llama31 python=3.11  #创建虚拟环境
conda activate llama31     #激活虚拟环境
python -m pip install --upgrade pip  #升级pip到最新版本
pip install optimum-intel[openvino,nncf] #安装Optimum Intel和其依赖项openvino与nncf
pip install -U transformers    #升级transformers库到最新版本

51234654-4a6a-11ef-b8af-92fbcf53809c.png

1.3.2用optimum-cli

对Llama3.1模型进行INT4量化

optimum-cli是Optimum Intel自带的跨平台命令行工具,可以不用编写量化代码,用命令实现对Llama3.1模型的量化并转化为OpenVINO格式模型:

optimum-cli export openvino --model D:Meta-Llama-3.1-8B-Instruct --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 --sym llama31_int4

optimum-cli命令的参数意义如下:

--model指定了被量化的模型路径;

--task指定了任务类型;

--weight-format指定了模型参数精度;

--group-size定义了量化过程中的组大小;

--ratio决定了量化过程中保留的权重比例;

--sym表示量化采用的对称性模式。

51430a5c-4a6a-11ef-b8af-92fbcf53809c.png

1.3.3编写推理程序llama31_ov_infer.py

基于Optimum Intel工具包的API函数编写Llama3的推理程序,非常简单,只需五行代码:

1. 调用OVModelForCausalLM.from_pretrained()载入使用optimum-cli优化过的模型

2. 调用AutoTokenizer.from_pretrained()载入模型的分词器

3. 创建一个用于文本生成的pipeline(流水线)

4. 使用pipeline进行推理计算

5. 输出生成的文本结果

Llama3.1模型的推理计算程序如下所示:

# 导入所需的库和模块
from transformers import AutoConfig, AutoTokenizer, pipeline
from optimum.intel.openvino import OVModelForCausalLM
# 设置OpenVINO编译模型的配置参数,这里优先考虑低延迟
config = {
  "PERFORMANCE_HINT": "LATENCY",       # 性能提示选择延迟优先
  "CACHE_DIR": ""               # 模型缓存目录为空,使用默认位置
}
# 指定llama3.1 INT4模型的本地路径
model_dir = r"D:llama31_int4"


# 设定推理设备为GPU,可根据实际情况改为"CPU"或"AUTO"
DEVICE = "GPU"
# 输入的问题示例,可以更改
question = "In a tree, there are 7 birds. If 1 bird is shot, how many birds are left?"
# 载入使用optimum-cli优化过的模型,配置包括设备、性能提示及模型配置
ov_model = OVModelForCausalLM.from_pretrained(
  model_dir,
  device=DEVICE,
  ov_config=config,
  config=AutoConfig.from_pretrained(model_dir, trust_remote_code=True), # 加载模型配置,并信任远程代码
  trust_remote_code=True,
)
# 根据模型目录加载tokenizer,并信任远程代码
tok = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
# 创建一个用于文本生成的pipeline,指定模型、分词器以及最多生成的新token数
pipe = pipeline("text-generation", model=ov_model, tokenizer=tok, max_new_tokens=100)
# 使用pipeline对问题进行推理
results = pipe(question)
# 打印生成的文本结果
print(results[0]['generated_text'])

运行llama31_ov_infer.py,结果如下所示:

516d1c02-4a6a-11ef-b8af-92fbcf53809c.png

1.4构建基于Llama3.1模型的聊天机器人

请先安装依赖软件包:

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

然后运行:python llama31_chatbot.py,结果如下所示:

5192cbbe-4a6a-11ef-b8af-92fbcf53809c.png

1.5总结

基于OpenVINO的Optimum Intel工具包简单易用,仅需一个命令即可实现LLama3.1模型INT4量化,五行代码即可完成推理程序开发并本地化运行在英特尔酷睿 Ultra 处理器上。

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

    关注

    68

    文章

    19259

    浏览量

    229649
  • 英特尔
    +关注

    关注

    61

    文章

    9949

    浏览量

    171692
  • 模型
    +关注

    关注

    1

    文章

    3226

    浏览量

    48806
  • Meta
    +关注

    关注

    0

    文章

    270

    浏览量

    11378

原文标题:五行代码实现Llama3.1在英特尔® 酷睿™ Ultra处理器上的部署

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

收藏 人收藏

    评论

    相关推荐

    英特尔的十款嵌入式智能处理器

    英特尔公司今日宣布,英特尔面向嵌入式市场为全新2010英特尔®
    发表于 07-29 06:13

    浅析英特尔处理器后面的数字和字母含义

    英特尔cpu的系列后面都带着四个数字,用来表示区别不同处理器的型号、代数第一位:表示区别不同处理器的型号、代数,2开头就是第二代
    发表于 07-23 10:02

    凌华科技发布两款基于最新的英特尔® 处理器的模块化电脑

    多任务以及卓越的每瓦性能摘要:●基于第13代英特尔® 处理器,具有先进的混合架构,提供性能核心和能效核心,并优化了功耗oExpress-RLP: COM.0 R
    发表于 02-15 10:30

    英特尔发布9代处理器,树立游戏标杆

    英特尔针对游戏和内容创作推出台式机全线产品,包括全新第九代英特尔®™和英特尔®
    的头像 发表于 10-17 17:00 5315次阅读
    <b class='flag-5'>英特尔</b>发布9代<b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>处理器</b>,树立游戏标杆

    英特尔12代处理器规格曝光

    按照计划,英特尔最早将在今年年底推出12代英特尔处理器,这代处理器采用全新Alder Lak
    的头像 发表于 01-20 10:59 7649次阅读
    <b class='flag-5'>英特尔</b>12代<b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>处理器</b>规格曝光

    英特尔发布新一代移动端处理器——Ultra系列

     12月7日的联想集团“AI PC 产业创新论坛”上,英特尔中国区技术总经理高宇透露,新一代 Ultra
    的头像 发表于 12-14 17:14 1800次阅读

    英特尔Arrow Lake处理器更名Ultra

    @金猪升级包强调Arrow Lake处理器不太可能被称为15代,更有可能会被冠名为“Ultra
    的头像 发表于 03-04 16:45 1422次阅读

    英特尔推出面向边缘市场的 / Ultra 处理器PS系列

    其中,Ultra处理器PS系列即为Meteor Lake PS,提供45瓦 and 15瓦两个功率选项。主打款为英特尔
    的头像 发表于 04-09 16:45 1010次阅读

    英特尔二季度对Ultra处理器供应受限

    英特尔首席执行官帕特·基辛格最新的财报电话会议上透露,受晶圆级封装产能限制,二季度Ultra处理器
    的头像 发表于 05-06 11:04 662次阅读

    英特尔Ultra处理器突破500个AI模型优化

    英特尔最新推出的英特尔® Ultra处理器
    的头像 发表于 05-09 11:18 761次阅读

    已有超过500款AI模型英特尔Ultra处理器上得以优化运行

    近日,英特尔宣布全新英特尔 Ultra处理器
    的头像 发表于 05-11 09:31 710次阅读

    英特尔Ultra处理器上优化和部署YOLOv8模型

    英特尔 Ultra处理器英特尔公司推出的一个高端处理
    的头像 发表于 05-30 17:16 1800次阅读
    <b class='flag-5'>在</b><b class='flag-5'>英特尔</b><b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>Ultra</b><b class='flag-5'>处理器</b>上优化和<b class='flag-5'>部署</b>YOLOv8<b class='flag-5'>模型</b>

    英特尔Ultra处理器出货量预计飙升

    英特尔中国区董事长王锐近日透露,英特尔Ultra处理器自问世以来,已经
    的头像 发表于 06-20 09:23 754次阅读

    英特尔Ultra 200V系列处理器发布

    英特尔近日隆重推出了其革命性的Ultra 200V系列处理器,这一全新x86处理器家族以超高
    的头像 发表于 09-10 16:44 537次阅读

    英特尔发布Ultra 200S系列台式机处理器

    近日,英特尔正式推出了Ultra 200S系列处理器家族,为台式机平台带来了全新的AI PC功能。此次发布的
    的头像 发表于 10-11 17:36 491次阅读