2024年9月25日,Meta又发布了Llama3.2:一个多语言大型语言模型(LLMs)的集合,其中包括:
- 大语言模型: 1B和3B参数版本,仅接收多种语言文本输入。
- 多模态模型: 11B和90B参数版本,既能接收文本输入又能接收图像输入。
本文将介绍使用OpenVINO™ 2024.4在算力魔方上部署Llama-3.2-1B-Instruct模型。
1.1
Llama 3.2简介
Llama 3.2的1B和3B参数版本是一个支持多种语言大型语言模型,其指令调优纯文本模型Llama-3.2-1B-Instruct和Llama-3.2-3B-Instruct,针对多语言对话用例进行了优化,包括代理检索和摘要任务,性能参数如下图所示。
Llama3.2官方正式支持的语言包括英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。
请读者用下面的命令把Llama-3.2-1B-Instruct模型的预训练权重下载到本地待用。
git clone https://www.modelscope.cn/LLM-Research/Llama-3.2-1B-Instruct.git
1.2
算力魔方简介
算力魔方是一款可以DIY的迷你主机,采用了抽屉式设计,后续组装、升级、维护只需要拔插模块。通过选择不同算力的计算模块,再搭配不同的 IO 模块可以组成丰富的配置,适应不同场景。
性能不够时,可以升级计算模块提升算力;IO 接口不匹配时,可以更换 IO 模块调整功能,而无需重构整个系统。
本文以下所有步骤将在带有英特尔i7-1265U处理器的算力魔方上完成验证。
1.3
三步完成Llama-3.2-1B-Instruct的****INT4量化和本地部署
把Llama-3.2-1B-Instruct模型的预训练权重下载到本地后,接下来本文将依次介绍基于Optimum Intel工具将Llama-3.2-1B-Instruct进行INT4量化,并完成本地部署。
Optimum Intel作为Transformers和Diffusers库与Intel提供的各种优化工具之间的接口层,它给开发者提供了一种简便的使用方式,让这两个库能够利用Intel针对硬件优化的技术,例如:OpenVINO™、IPEX等,加速基于Transformer或Diffusion构架的AI大模型在英特尔硬件上的推理计算性能。
Optimum Intel代码仓连接:https://github.com/huggingface/optimum-intel
1.3.1 第一步,搭建开发环境
请下载并安装Anaconda,然后用下面的命令创建并激活名为llama32的虚拟环境:
然后安装Optimum Intel和其依赖项OpenVINO:
pip install optimum-intel[openvino]
1.3.2 第二步,用optimum-cli对Llama-3.2-1B-Instruct模型进行INT4量化
optimum-cli是Optimum Intel自带的跨平台命令行工具,可以不用编写量化代码,实现对Llama-3.2-1B-Instruct模型的量化。
执行命令将Llama-3.2-1B-Instruct模型量化为INT4 OpenVINO格式模型:
optimum-cli export openvino --model D:\llama3\Meta-Llama-3-8B --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 --sym llama3_int4_ov_model
1.3.3第三步:编写推理程序llama3_2_int4_ov_infer.py
基于Optimum Intel工具包的API函数编写Llama3的推理程序,非常简单,只需要调用五个API函数:
- 编译并载入Llama-3.2模型到指定DEVICE:OVModelForCausalLM.from_pretrained()
- 实例化Llama-3.2模型的Tokenizer:tok=AutoTokenizer.from_pretrained()
- 将自然语言转换为Token序列:tok(question, return_tensors=“pt”, **{})
- 生成答案的Token序列:ov_model.generate()
- 将答案Token序列解码为自然语言:tok.batch_decode()
完整范例程序如下所示**,**下载链接:git clone
https://gitee.com/Pauntech/llama3.git
import openvino as ov
from transformers import AutoConfig, AutoTokenizer
from optimum.intel.openvino import OVModelForCausalLMov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""}
model_dir = "d:\\llama3_2_1B_int4" #llama3.2 1B int4模型路径
DEVICE = "CPU" #可更换为"GPU", "AUTO"...# 编译并载入Llama3.2模型到指定DEVICE
ov_model = OVModelForCausalLM.from_pretrained(model_dir, device=DEVICE, ov_config=ov_config, config=AutoConfig.from_pretrained(model_dir, trust_remote_code=True), trust_remote_code=True,
)# 实例化Llama3.2模型的
Tokenizertok = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
# 设置问题
question = "What's the OpenVINO?"
# 将自然语言转换为Token序列
input_tokens = tok(question, return_tensors="pt", **{})
# 生成答案的Token序列
answer = ov_model.generate(**input_tokens, max_new_tokens=128)
# 将答案Token序列解码为自然语言
print(tok.batch_decode(answer, skip_special_tokens=True)[0])
运行llama3_2_int4_ov_infer.py:
python llama3_2_int4_ov_infer.py
运行结果,如下所示:
1.4
总结
Optimum Intel工具包简单易用,仅需三步即可完成开发环境搭建、Llama-3.2-1B-Instruct模型INT4量化和推理程序开发。基于Optimum Intel工具包开发Llama3推理程序仅需调用五个API函数,方便快捷的实现将Llama-3.2-1B-Instruct本地化部署在基于英特尔处理器的算力魔方上。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
五、大模型面试题大全
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。