当前位置:   article > 正文

趋动云平台部署LLaMA2模型过程展示_llama torchrun --nproc_per_node

llama torchrun --nproc_per_node

1、部署平台

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

2、项目准备

2.1、准备代码、模型

2.1.1、代码获取

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

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

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
  • 2
  • 3

安装过可能需要等待一小段时间,等待约 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
  • 1

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
  • 1

上述命令参数含义:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/549905
推荐阅读
相关标签
  

闽ICP备14008679号