LLaMA-Factory全流程训练模型

LLaMA-Factory全流程训练模型

 

f7b2c270ae3844559da67828c8d2f9f2.jpeg

🤗本文主要讲述在docker下使用LLaMA-Factory训练推理模型。

🫡拉取镜像

首先需要启动docker,然后在终端中输入:

docker run -tid --gpus all -p 8000:8000 --name LLM -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --privileged=true ubuntu:20.04
  • 这个命令启动了一个 Ubuntu 20.04 容器,使用所有可用的 GPU
  • 主机的 8000 端口映射到容器的 8000 端口
  • 容器命名为 LLM,以特权模式运行容器

进入容器 

docker exec -it LLM /bin/bash

 

1ef5885b4e0748c8a10b8d7e3e31efdd.png

🥰但现在还不行,我们只将GPU映射到了docker里,还没有安装驱动。

wget https://developer.download.nvidia.com/compute/cuda/12.6.2/local_installers/cuda_12.6.2_560.35.03_linux.run

然后运行程序

sh cuda_12.6.2_560.35.03_linux.run

随后会生成一些指引,默认安装就行。

root@82c2f2b69781:/home# ls /usr/local/ | grep cuda cuda cuda-12.6 root@82c2f2b69781:/home# nvcc -V bash: nvcc: command not found
  • 这说明系统的 PATH 环境变量没有包含 /usr/local/cuda-12.6/bin
编辑环境变量 vim ~/.bashrc 加入下面两行: export PATH=/usr/local/cuda-12.6/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH 然后重新运行一下就生效了: source ~/.bashrc

 验证成功 ~

root@82c2f2b69781:/home# echo $PATH /usr/local/cuda-12.6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

🤗docker内安装python

docker拉取的Ubuntu20.04没有任何配置,比如wget等命令需要自己通过apt-get install 安装

Index of /ftp/python/3.10.6/ 这是python源码包的地址(3.10.6为例)

wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
tar -zxvf Python-3.10.6.tgz cd Python-3.10.6 sudo ./configure # configure 脚本会检查系统环境,并生成 Makefile 文件,以便后续的 make 命令可以正确编译源代码

🤗最后一步:

sudo make sudo make test sudo make install

💥LLaMA-Factory

💫安装

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e ".[torch,metrics]"

如果使用昇腾NPU的话,先设置一下环境变量:

export ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest

 💫下载模型

git lfs install git clone https://www.modelscope.cn/Qwen/Qwen2.5-1.5B-Instruct.git

 💫我们在 LLaMA-Factory/examples下创建 train.yaml 文件,这是微调训练模型的配置文件

### model model_name_or_path: /home/Qwen/Qwen2___5-1___5B-Instruct ### method stage: sft do_train: true finetuning_type: freeze # lora_target: all dataset: alpaca_zh_demo template: qwen cutoff_len: 10240 max_samples: 1000 overwrite_cache: true preprocessing_num_workers: 16 ### output output_dir: output logging_steps: 10 save_steps: 500 plot_loss: true overwrite_output_dir: true ### train per_device_train_batch_size: 1 gradient_accumulation_steps: 2 learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true ddp_timeout: 180000000 ### eval val_size: 0.1 per_device_eval_batch_size: 1 eval_strategy: steps eval_steps: 500 

💫使用vim写好后,我们使用 LLaMA-Factory/data/ alpaca_zh_demo.json这个数据集

ea3d2121e2e148bda8903f27d847e0f4.png
  •  instruction 部分描述了任务的具体指令。
  • input 部分通常包含任务所需的输入数据或信息。
  • output 部分是模型的输出。

 💫开始微调训练

llamafactory-cli train examples/train.yaml
68c34fc7986b430380b1cef3876d99d6.png

🕛️🕧️🕐️🕜️🕑️🕝️🕒️🕞️🕓️ 

ba73456fa00d459e8cfc25459fee0751.png
  • loss :模型在当前批次上的预测结果与实际标签之间的差异。
  • grad_norm:模型参数梯度的范数,反映梯度的大小,用于监控梯度爆炸或梯度消失的问题。
  • learning_rate:学习率是优化器在更新模型参数时使用的步长。
  • epoch:整个训练数据集被模型完整遍历的次数,一个 epoch 包含多个批次(batch)。
90378eaa5a0e4b4593cfc5840d124845.png

训练指标总结

***** train metrics ***** epoch = 3.0 total_flos = 2906404GF train_loss = 1.0846 train_runtime = 0:04:15.80 train_samples_per_second = 10.555 train_steps_per_second = 5.277
  • epoch: 训练的总轮次(3.0 个 epoch)。
  • total_flos: 训练过程中总共计算的浮点运算次数(2906404 亿次浮点运算)。
  • train_loss: 训练过程中的平均损失值(1.0846)。
  • train_runtime: 训练总共花费的时间(4 分 15.80 秒)。
  • train_samples_per_second: 每秒处理的样本数(10.555 个样本/秒)。
  • train_steps_per_second: 每秒处理的批次数(5.277 个批次/秒)。

💫 训练结束 ~

95c644db986e4062b30fb1edab2a40fb.png
  • 这是模型微调后产生的输出文件,包含了训练过程中生成的各种配置、权重、日志和结果 

💯这时我们可以加载这个训练后的模型权重来对话:

from transformers import AutoModelForCausalLM, AutoTokenizer import torch # 我们的模型输出路径 model_name_or_path = "/home/LLaMA-Factory/output" model = AutoModelForCausalLM.from_pretrained(model_name_or_path) tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) prompt = "列出一个应该在野营应急包中的7件物品。" inputs = tokenizer(prompt, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate(inputs.input_ids, max_length=50) response = tokenizer.decode(outputs[0], skip_special_tokens=True) print(response)

💦输出:

cd674bee5c1948d3a8a9e47f402cd635.png

💯评估 

Llamafactory 支持mmlu、cmmlu、ceval三种数据集验证。

llamafactory-cli eval --task mmlu --model_name_or_path /home/Qwen/Qwen2___5-1___5B-Instruct --template qwen --batch_size 1 –n_shot 5
b12a371ddd3045d98f46049545052611.png

💯推理 

我们在LLaMA-Factory/examples 目录下新建一个 infer.yaml 文件进行推理,内容:

model_name_or_path: /home/Qwen/Qwen2___5-1___5B-Instruct template: qwen do_sample: false 

运行:

 llamafactory-cli chat infer.yaml
43bf526f46b44dc2a8b979e15b913637.png

Read more

BMAD 开发实战:从零开始掌握 AI 辅助开发的完整流程

这不是一篇关于 AI 工具的介绍文章,而是一份可以立即上手实践的完整指南 为什么需要 BMAD? AI 编程工具已经非常普及了。你可能使用过 GitHub Copilot,也可能体验过 ChatGPT 写代码的能力。但当你真正想用 AI 完成一个完整的功能时,可能会发现: * 不知道如何向 AI 描述需求 * AI 写的代码质量参差不齐 * 缺少自动化测试,不敢放心使用 * 代码审查不知道从何入手 BMAD 是一套经过实践验证的 AI 辅助开发工作流。它不是简单的"让 AI 写代码",而是把 AI 当作团队中的不同角色,按照专业软件开发流程来协作。 什么是 BMAD Starter Kit? 学习 BMAD 开发的最大障碍是起步成本。你需要: 1. 搭建项目脚手架

微信终于官宣!OpenClaw(龙虾)正式接入,你的微信里多了一个AI管家

微信终于官宣!OpenClaw(龙虾)正式接入,你的微信里多了一个AI管家 就在昨天,微信放出了一个让科技圈沸腾的消息:微信正式推出「ClawBot」插件,支持接入开源AI智能体OpenClaw(俗称“龙虾”) 。 这意味着,你再也不需要冒着封号的风险使用非官方插件,现在可以直接在微信聊天界面里召唤你的“龙虾”替你干活了。 什么是“龙虾”? 首先科普一下,为什么大家管OpenClaw叫“龙虾”?因为它的图标是红色的,形似龙虾,所以被网友们亲切地称为“龙虾”。OpenClaw是一款实现“认知、执行、记忆”闭环的开源AI框架,简单来说,它能让AI真正“长出手脚”,自主执行文件管理、邮件收发、数据处理等复杂任务。 而微信这次推出的ClawBot插件,就是帮你用微信连接个人龙虾的聊天入口——相当于你现在能跟你的“虾”成为微信好友了。 如何接入? 想要在微信里玩转龙虾,操作非常简单,只需两步: 第一步:启用微信ClawBot插件 * 将微信更新到

2026爆款AI Agent|OpenClaw从入门到中级实操指南(含飞书对接+多Agent配置+避坑指南)

摘要 本文详细讲解2026年热门开源AI Agent项目OpenClaw(GitHub 6.8万+星标)的从新手到中级的完整实操流程,包含环境准备、安装部署、核心概念、技能配置、飞书对接(企业级实操)、多Agent管理、Docker沙盒安全配置等核心内容,附实践任务清单和常见问题解答,适配开发者快速上手,助力提升办公/开发效率,同时提供学习资源和进阶方向,新手可直接跟着实操,老手可参考高级配置优化方案。 前言 2026年,AI Agent领域迎来爆发式增长,而OpenClaw无疑是其中的标杆性项目——不同于传统聊天式AI(如ChatGPT),OpenClaw以“可执行、可落地”为核心,实现了从“对话建议”到“实际操作”的跨越,其开源特性、多平台适配能力及高扩展性,使其快速成为GitHub热门项目,累计星标突破6.8万。 OpenClaw(曾用名ClawdBot/Moltbot)的出现,开启了个人AI助理的新时代,堪比当年OpenAI的面世对AI领域的影响。

2026年3月18日人工智能早间新闻

各位读者,早上好。今天是2026年3月18日,星期三。欢迎收看人工智能早间新闻。昨日,从英伟达GTC大会到国内产业一线,人工智能领域释放出密集信号——算力竞赛正从地面延伸至太空,智能体加速从概念走向实干,而AI与实体经济的深度融合正在催生“超级团队”与“一人公司”的新范式。 一、国内产业纵深:“人工智能+”催生“超级团队”,智能体从概念走向实干 今年的政府工作报告首次提出打造智能经济新形态,并提出“促进新一代智能终端和智能体加快推广”“支持人工智能开源社区建设”等具体路径。在3月6日举行的经济主题记者会上,国家发改委主任郑栅洁表示,将深化“人工智能+”行动,“十五五”末人工智能相关产业规模将增长到10万亿元以上。 1. AI正从根本上释放个体能力:科大讯飞董事长刘庆峰代表指出,AI正从根本上释放个体能力,带来生产力的跃升。科大讯飞内部已涌现出一批“超级团队”,团队仅凭1名产品经理加2名前端开发人员,就完成了专家评估需15人开发3个月的任务,日产10万行高质量代码。“AI能够让一个人完成过去一个团队才能做到的事。” 刘庆峰认为,未来3至5年,AI将在数字内容、科研创新等领域持续催