趋动云平台部署LLaMA2模型过程展示

1、部署平台

本项目部署平台为趋动云,趋动云平台是一款一站式全流程人工智能平台。
平台打通模型开发与训练,原生支持多机多卡训练环境,优化 AI 场景下 IO 吞吐、持久化、结构化维护模型生产信息,优化数据资源共享路径,最终提高平台整体资源利用率,消除信息孤岛,大幅提高 AI 算法工程师工作效率,使其聚焦于算法与模型开发的核心工作,利用有限的资源更快挖掘商业价值与远见洞察。

2、项目准备

2.1、准备代码、模型

2.1.1、代码获取

从GitHub中Facebook官方项目中下载或命令行拉取:

git clone -b llama_v2 https://github.com/facebookresearch/llama.git

clone 的代码目录名为llama,为方便后续命令可直接复制执行,建议修改为llama2后再打包上传到平台。

2.1.2、模型文件获取

平台中已经预置了 llama-2-7B、llama-2-7B-chat 模型文件,创建项目时可选择直接挂载。

3、创建项目

3.1、在右上角“项目”中,单击“创建项目”

创建项目

3.2、填写必要信息

项目名称:可自定义,如 “LLaMA2-7b_demo”。
代码:选择本地代码(见2.1.1)。
镜像:选择官方镜像 PyTorch 2.0.1(PyTorch1.10以上的镜像均可)。
模型:选择公开下的 llama-2-7b 和 llama-2-7b-chat(作者均为“趋动云小助手”)。
最后,点击“创建”。
模型选择
创建项目后,会立刻出现上传代码弹窗:
上传代码
将之前下载到本地的代码上传,单击“确定”,则代码上传成功!
然后,单击左侧导航栏的“数据”选项:
选择数据
可以查看挂载的具体模型及其挂载的路径:
模型及路径

4、环境准备

4.1、左侧导航栏选择“开发”,随后单击“初始化开发环境实例”

初始化环境配置
此过程需要填写开发环境相关配置,然后点击“确定”。

4.2、安装第三方包/工具

官方镜像PyTorch2.0.1中虽已预置 AI 常用工具及依赖包,但要加载LLaMA2,还需补充安装相关包。首先进入开发环境:
进入开发环境
切换至网页终端:
在这里插入图片描述
并执行如下命令:

cd llama2 && \
pip install -r requirements.txt -i https://pypi.virtaicloud.com/repository/pypi/simple && \
pip install .

安装过可能需要等待一小段时间,等待约 1 分钟执行完,执行过程中无 error 报错,则安装成功。
在这里插入图片描述

5、运行LLaMA2

LLaMA2 提供了两个推理体验的 demo,可以分别进行体验。

  1. 句子补全:基于基础模型(llama-2-7b),使用 example_text_completion.py 代码加载模型进行推理。
  2. 对话生成:基于微调后的对话模型(llama-2-7b-chat),使用 example_chat_completion.py 代码加载模型进行推理。

推理:代码中已提供了默认输入,直接在网页终端执行下述命令,会按默认输入加载模型并推理。当然,也可以修改输入。

5.1、句子补全

torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir /gemini/pretrain/llama-2-7b/ --tokenizer_path /gemini/pretrain/tokenizer.model

5.2、对话生成

torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir /gemini/pretrain2/llama-2-7b-chat/ --tokenizer_path /gemini/pretrain2/tokenizer.model

上述命令参数含义:

torchrun:是 PyTorch 提供的用于分布式训练的命令行工具。
–nproc_per_node:指定在每个节点上使用 GPU 的个数。该参数与模型大小存在严格对应关系:

模型MP
7B1
13B2
30B8

–ckpt_dir:指定所使用的模型。
–tokenizer_path:指定 tokenizer 的路径。

5.3、执行结果

句子补全:
在这里插入图片描述

对话生成:
对话生成需要预先加载llama-2-7b-chat模型,部署过程与llama2-7b完全一致,本次不做展示。

因代码文件(example_text_completion.py 和 example_chat_completion.py)中已明确了 “文本补全” 和 “对话” 的输入,因此模型按照既有输入推理并返回结果,如上述执行结果所示。
如果想按照用户自己指定的输入给出推理,可以修改代码文件中相应的输入。

### 部署Llama模型于AMD硬件 对于在AMD硬件上部署Llama模型,选择合适的优化技术和工具链至关重要。通过应用高效的异步卸载技术可以显著减少显存占用,从而使得使用成本较低的硬件成为可能[^1]。 #### 环境准备 为了确保最佳性能,在开始之前需确认安装了支持AMD GPU加速计算环境所需的驱程序以及库文件。这通常涉及ROCm平台及其配套软件栈的设置。此外,还需配置PyTorch或其他深度学习框架以便能够识别并利用AMD图形处理单元的能力。 #### 模型转换与适配 考虑到原始预训练权重可能是基于特定架构设计的,因此有必要对这些参数进行适当调整以适应目标设备特性。此过程不仅限于简单的格式变换还包括针对新硬件特点实施必要的量化或剪枝操作来提高运行效率的同时保持预测准确性不变。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "your_model_path" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # 假设已经完成了必要的转换工作 ``` #### 推理阶段优化建议 当涉及到实际推理过程中时,采取措施如混合精度运算、图编译等手段可有效提升吞吐量并缩短响应时间。特别是对于资源受限场景下尤为重要的是探索不同形式的记忆节省策略,比如上述提到过的参数高效微调方法能大幅削减所需内存空间而不影响最终效果[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值