赞
踩
本项目部署平台为趋动云,趋动云平台是一款一站式全流程人工智能平台。
平台打通模型开发与训练,原生支持多机多卡训练环境,优化 AI 场景下 IO 吞吐、持久化、结构化维护模型生产信息,优化数据资源共享路径,最终提高平台整体资源利用率,消除信息孤岛,大幅提高 AI 算法工程师工作效率,使其聚焦于算法与模型开发的核心工作,利用有限的资源更快挖掘商业价值与远见洞察。
从GitHub中Facebook官方项目中下载或命令行拉取:
git clone -b llama_v2 https://github.com/facebookresearch/llama.git
clone 的代码目录名为llama,为方便后续命令可直接复制执行,建议修改为llama2后再打包上传到平台。
平台中已经预置了 llama-2-7B、llama-2-7B-chat 模型文件,创建项目时可选择直接挂载。
项目名称:可自定义,如 “LLaMA2-7b_demo”。
代码:选择本地代码(见2.1.1)。
镜像:选择官方镜像 PyTorch 2.0.1(PyTorch1.10以上的镜像均可)。
模型:选择公开下的 llama-2-7b 和 llama-2-7b-chat(作者均为“趋动云小助手”)。
最后,点击“创建”。
创建项目后,会立刻出现上传代码弹窗:
将之前下载到本地的代码上传,单击“确定”,则代码上传成功!
然后,单击左侧导航栏的“数据”选项:
可以查看挂载的具体模型及其挂载的路径:
此过程需要填写开发环境相关配置,然后点击“确定”。
官方镜像PyTorch2.0.1中虽已预置 AI 常用工具及依赖包,但要加载LLaMA2,还需补充安装相关包。首先进入开发环境:
切换至网页终端:
并执行如下命令:
cd llama2 && \
pip install -r requirements.txt -i https://pypi.virtaicloud.com/repository/pypi/simple && \
pip install .
安装过可能需要等待一小段时间,等待约 1 分钟执行完,执行过程中无 error 报错,则安装成功。
LLaMA2 提供了两个推理体验的 demo,可以分别进行体验。
推理:代码中已提供了默认输入,直接在网页终端执行下述命令,会按默认输入加载模型并推理。当然,也可以修改输入。
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir /gemini/pretrain/llama-2-7b/ --tokenizer_path /gemini/pretrain/tokenizer.model
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 |
---|---|
7B | 1 |
13B | 2 |
30B | 8 |
–ckpt_dir:指定所使用的模型。
–tokenizer_path:指定 tokenizer 的路径。
句子补全:
对话生成:
对话生成需要预先加载llama-2-7b-chat模型,部署过程与llama2-7b完全一致,本次不做展示。
因代码文件(example_text_completion.py 和 example_chat_completion.py)中已明确了 “文本补全” 和 “对话” 的输入,因此模型按照既有输入推理并返回结果,如上述执行结果所示。
如果想按照用户自己指定的输入给出推理,可以修改代码文件中相应的输入。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。