【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分钟后,模型加载成功,下拉找到输入框,输入内容点击发送后即可开始对话

### 使用 LLaMA-FactoryLLaMA3.1 模型进行微调 为了使用 LLaMA-FactoryLLaMA3.1 进行微调,需遵循一系列配置和命令来设置环境并启动训练过程。 #### 设置 GPU 环境 确保已安装适合的 CUDA 版本以及 PyTorch 的 GPU 支持版本。这可以通过访问 PyTorch 官网获取相应指令完成安装[^3]: ```bash conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia ``` #### 验证安装 在确认所有依赖项正确无误之后,在 LLaMA-Factory 路径下调用以下命令以检验安装情况: ```bash llamafactory-cli version llamafactory-cli train -h ``` #### 准备数据集与模板文件 对于特定应用领域或任务的数据准备至关重要。假设已经准备好用于微调的数据集,并将其放置于 `data` 文件夹内。另外,还需编辑身份信息以便更好地适配自定义需求[^5]: ```python import json %cd /content/LLaMA-Factory/ NAME = "Gavin大咖打造的Llama3人工智能助手" AUTHOR = "LLaMA Factory" with open("data/identity.json", "r", encoding="utf-8") as f: dataset = json.load(f) for sample in dataset: sample["output"] = sample["output"].replace("NAME", NAME).replace("AUTHOR", AUTHOR) with open("data/identity.json", "w", encoding="utf-8") as f: json.dump(dataset, f, indent=2, ensure_ascii=False) ``` #### 启动 Web UI 或者直接运行微调脚本 有两种方式来进行实际的微调操作:通过图形界面 (WebUI) 或者命令行工具执行。这里提供两种方法的选择依据个人偏好而定。 ##### 方法一:利用 WebUI 方便调试 开启 WebUI 前先设定好使用的模型仓库为 ModelScope[^2]: ```bash export USE_MODELSCOPE_HUB=1 && llamafactory-cli webui ``` ##### 方法二:直接调用 CLI 工具快速上手 此法适用于熟悉命令行操作的用户群体,只需指定必要的参数即可开始训练进程[^1]: ```bash CUDA_VISIBLE_DEVICES=1 \ llamafactory-cli webchat \ --model_name_or_path [your path]/llm/Meta-Llama-3.1-8B-Instruct/ \ --adapter_name_or_path [your path]/llm/LLaMA-Factory/saves/Llama-3.1-8B/lora/sft-3/ \ --template llama3 \ --finetuning_type lora ``` 请注意替换 `[your path]` 为具体的本地存储位置。 #### 参数调整建议 由于不同应用场景下的最优超参可能有所差异,因此推荐根据具体情况进行适当调节。虽然不存在绝对标准的最佳实践指南,但可以根据以往经验总结出一些较为合理的区间范围作为参考起点[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值