当前位置:AIGC资讯 > AIGC > 正文

【Llama3.1-8B-Instruct】Llama Factory 等部署实战

一、模型介绍

Meta Llama 3.1 系列是一个多语言大型语言模型 (LLM) 集合,包括 8B、70B 和 405B 三种尺寸(文本输入/文本输出)。Llama 3.1 的指令调优版本(8B、70B、405B)针对多语言对话用例进行了优化,并在常见的行业基准测试中超越了许多现有的开源和闭源聊天模型。
Llama 3.1 支持多种语言,包括英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。它在多语言任务中表现出色,并具有增强的推理、数学和代码执行能力。这使其适用于从文本生成到更具体任务(如数学问题解决和代码辅助)的广泛应用。

1.1模型架构

Llama 3.1 是一个自回归语言模型,采用了优化的 Transformer 架构。调优版本使用监督式微调(SFT)和基于人类反馈的强化学习(RLHF)来调整模型以更加符合人类对有效性和安全性的偏好。

1.2官方链接

官方链接:https://github.com/meta-llama/llama
更多技术信息github:https://github.com/meta-llama/llama-recipes
Huggingface链接:https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct

二、基础用法

2.1 启动项目

注册/登录趋动云网站趋动云,登录后自动跳转到项目页面。在右上角的费用除可以查看所拥有的金额,新用户注册后会自动赠送70块钱。
在界面左上角找到“社区”选项,单击后进入“社区”首页

进入后,选择“项目”,找到名为“【Meta-Llama-3.1-8B-Instruct】部署实战(包括transformers、原始 llama 库和 LlamaFactory 部署)”的项目,打开项目

运行一下

之后2个自动跳出的选项都默认点确定,注意空间内不能有重名的项目

等待环境克隆完成后,网页会跳出项目推荐使用的算力规格,建议使用项目推荐的算力,此处直接点确定,之后点击启动开发环境

双击点击左侧目录里的“项目简介”,后续操作可以根据“项目简介”里的指南来操作

2.2 Transformers使用(基础推理)

直接运行2.2的代码框,等待大约3分钟后会输出推理结果。若要反复运行建议把原有代码段中的message后代码剪切到下一段落(如下图所示),这样在第1遍运行之后,秩序运行message所在代码框,节省时间

2.3 原始的 llama 库使用

直接在Jupyter Notebook里运行下面代码:

!cd llama3 && \
pip install -e .

运行完毕,结果如下:

切换到终端

在终端里输入下面代码:

torchrun --nproc_per_node 1 --master_port='6006'  run.py --ckpt_dir /gemini/pretrain/original    --tokenizer_path /gemini/pretrain/original/tokenizer.model --max_seq_len 512 --max_batch_size 6

运行完毕后,即可开始对话

注意,如果出现下图报错,可以试一下停止并销毁项目,在重新启动环境,再运行“原始的 llama 库使用”的内容

2.4 LlamaFactory WebUI 部署

运行图中的2个代码框后,待运行出Running on local URL: 的网址后,点击右侧“端口”、再点击“添加端口”,在“内部端口”中输入 local URL连接的后4位数字(图中为“7860”),“端口用途”可以随便输点,之后点“确定”

将下方右侧生成的链接复制到浏览器中打开,

在新打开的网页中,页面最上方的“模型名称”和“模型路径”里保持默认不变,在下方的“Train”里的“数据路径”里输入“/gemini/code”,“数据集”里输入“train_example”,之后点击下方的“开始”来开始训练

界面下方显示“训练完毕”后,

选择“chat”,点击“加载模型”,等待约5分钟后,模型加载成功,下拉找到输入框,输入内容点击发送后即可开始对话

总结

### 文章总结
**Meta Llama 3.1 系列模型介绍及基础用法**
#### 一、模型介绍
- **Meta Llama 3.1**是一个多语言的大型语言模型(LLM),包含8B、70B和405B三种尺寸,针对多语言对话用例进行了优化。
- 支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语等多种语言。
- 具备增强的推理、数学和代码执行能力,适用于从文本生成到数学问题解决和代码辅助的广泛应用场景。
- 采用优化的Transformer架构,并通过监督式微调和基于人类反馈的强化学习进行调整,以提高模型的有效性和安全性。
**官方链接**:
- GitHub:[https://github.com/meta-llama/llama](https://github.com/meta-llama/llama)
- 更多技术信息:[https://github.com/meta-llama/llama-recipes](https://github.com/meta-llama/llama-recipes)
- Huggingface:[https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct)
#### 二、基础用法
**2.1 启动项目**
- 注册/登录趋动云,访问项目页面并找到特定项目(如`Meta-Llama-3.1-8B-Instruct`)。
- 按照项目简介中的步骤启动开发环境,并选择合适的算力规格。
**2.2 Transformers使用(基础推理)**
- 在项目管理器中直接运行提供的代码框,以进行模型的基础推理。
- 为了节省时间,可以将message后的代码剪切到新的段落,以便快速重复运行。
**2.3 原始的 llama 库使用**
- 通过Jupyter Notebook安装并运行原始的llama库。
- 在终端中运行特定的命令以启动对话界面。
**2.4 LlamaFactory WebUI 部署**
- 运行特定的代码框以部署LlamaFactory的WebUI。
- 访问生成的URL,并根据界面提示加载模型和输入数据进行训练。
- 训练完成后,可使用加载的模型进行对话交互。
通过这些步骤,用户可以轻松地启动、部署和使用Meta Llama 3.1系列模型,并对其进行推理、对话等应用。

更新时间 2024-09-30