零基础在windows环境下的WSL使用llamafactory(二)

基座模型的选择

模型的分类

|---------|---------------------------|------------------------------------------|
| 维度 | 预训练模型 (Pre-trained Model) | 微调模型 (Fine-tuned Model / Instruct Model) |
| 定义与状态 | 完成基础预训练,未进行下游任务适配 | 在预训练基础上进一步适配下游任务(如医疗问答、代码生成等) |
| 类比形象 | 高中生:完成基础知识学习,知识广而不专精 | 大学生:进一步学习具体专业,某一领域表现更强 |
| 可塑性与上限 | 可塑性更强,模型上限更高 | 可塑性相对较弱 |
| 调教难度与要求 | 难度大,需要更多的数据和更强的微调技术 | 难度较低,因已具备指令遵循和对话能力,调教容易许多 |
| 适用场景 | 适合复杂的场景和经验丰富的人士 | 适合快速落地或小幅优化的场景(如客服机器人) |
| 上手建议 | 门槛较高,适合进阶探索 | 适合新手(知名微调框架 Unsloth 官方也建议从微调模型入手学习) |

注意:推理模型一般用在数学代码公式推理等还有复杂的任务,一般不选择思考模型

模型类别的辨别

|---------------------------------|---------------------------------------|------------------------------------------------------------------------------------------|
| 辨别维度 | 模型类型与特征 | 典型命名举例 / 说明 |
| 1. 预训练模型 (Pre-trained / Base) | • 无后缀• 后缀包含 base | Qwen2.5-7BQwen2.5-7B-Base(代表纯底座,未做指令对齐) |
| 2. 微调模型 (Fine-tuned / Instruct) | • 带有特定后缀• 需结合后缀含义判断(可能代表任务微调、量化或其他属性) | Qwen2.5-7B-Instruct (指令/对话微调)Qwen2.5-7B-Coder (代码微调)Qwen2.5-7B-Instruct-GPTQ-Int4 (量化版本) |
| 3. 兜底识别法 (保险起见) | • 寻找 instruct 关键字 | 如果模型名称中包含 instruct(或 Chat),通常可以安全地将其判定为已经过指令遵循和对话微调的模型。 |

模型选择然后下载

尝试从魔搭下载模型,地址:千问3-0.6B

框起来的部分就是模型的名称,执行如下命令

复制代码
uv pip install modelscope -i https://mirrors.aliyun.com/pypi/simple
mkdir models
modelscope download --model Qwen/Qwen3-0.6B --local_dir ~/study/finetune/models

模型已经下载完成了,尝试一下启动模型。接下来去**\finetune\LLaMA-Factory\examples\train_lora** 老地方下修改配置文件,这次使用绝对路径来指定模型,再接着执行llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml

同样的执行成功了

高质量数据集的构建

数据决定模型的上限,调参只是让你逼近这个上限

为了让模型在上线后表现更好,我们的训练数据必须尽可能"还原"真实用户的提问习惯,包括问题类型、说话风格和难易程度。简单来说,就是让训练数据和实际预测数据的分布越接近,模型的泛化效果才会越出色。

  1. 蒸馏数据:作为启动点,通过数据蒸馏技术提炼高质量、高密度的核心数据,为模型打下坚实基础。
  2. 训练模型:利用蒸馏后的高质量数据进行模型训练,确保模型学习到最核心的特征与规律。
  3. 上线模型:将训练好的模型部署到生产环境,开始对外提供服务。
  4. 用户应用:真实用户在业务场景中使用模型服务,产生实际的交互行为。
  5. 收集数据:从用户应用中回流真实的反馈数据(包括Bad Case和新颖的提问),这些数据经过处理后再次进入"训练模型"环节,形成闭环。

数据的准备

意图识别数据量可以不用太多、知识库取决于知识库的大小,知识库大则需要的数据多,反之则小。

原则要求

  1. 质量优于数量:数据的纯净度和准确性是基石。无论数据来源如何,必须经过严格的质量评估,低质数据不仅无用,反而会干扰模型学习(即"垃圾进,垃圾出")。
  2. 规模适度原则:数据量并非越大越好,也非越少越精。过少会导致模型学不到东西(欠拟合),过多则可能导致计算资源浪费甚至模型"遗忘"旧知识。最佳策略是保持适量,并在训练过程中动态调整(边调边测)。
  3. 覆盖多样性:数据集必须具备足够的广度。要尽可能覆盖用户可能提出的各种问题和提问方式,防止模型在面对未见过的场景时失效,这是提升模型泛化能力的关键。

准备方法

我们继续进入魔搭社区去下载数据集,我这边使用一个脑筋急转弯的数据集地址如下:脑筋急转弯

并记住数据集的名称 helloworld0/Brain_teasers

这样子就可以下载数据集了

复制代码
modelscope download --dataset helloworld0/Brain_teasers --local_dir /home/xing/study/finetune/dataSet

在llamaFactory使用数据

总结:第一步是在微调前提前注册这个数据,第二步是在微调时选择这个数据。

建议:在「finetune\LLaMA-Factory」自己新建一个dataSet存储数据,myYaml存储配置文件

第一步:数据的注册

finetune\LLaMA-Factory\data 下的「dataset_info.json」进行数据集的注册有名称,有路径地址,数据这样子就注册完了。

注意:formatting是指定数据集的格式。有alpaca和shareGPT格式,后面会涉及

第二步:数据的选择去finetune\LLaMA-Factory\examples\train_lora 路径下,把之前的「qwen3_lora_sft.yaml 」复制到我自己存储配置的文件夹myYaml

选择好模型,使用之前注册好的数据集

do_train意为是否需要训练,不做训练的话仅仅就是数据的处理

执行「llamafactory-cli train myYaml/brainTeaser.yaml

数据集格式

自定义数据集

假设数据集信息如下:

复制代码
"A":"对暗号!",
"B":"一支穿云箭"
"C":"万里来相见",
"D":"我是多余的"

然后自定义配置文件就该这么写,D字段没有应用

相关推荐
西瓜拿铁好喝2 小时前
2026 语义缓存实战:把命中契约写进SPEC,MonkeyCode 云端跑通
人工智能·机器学习·缓存
老余说AI3 小时前
AI 漫剧赛道转向:游戏 IP 改编如何走出同质化,AI 多语种工具如何补上海外分发缺口
人工智能·短剧
hhzz3 小时前
【OpenCV 入门到精通 03】图像入门:读取、显示、保存完全指南
人工智能·python·opencv·计算机视觉
hfywmsj7 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
沧沧凉凉9 小时前
同一个 Blender 建模,Claude 两个模型都翻车,GPT-6 一次过
人工智能·游戏·ai编程
passerby606110 小时前
如何自己造一个时间处理库
前端·javascript·github
X54先生(人文科技)10 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
今年下半年10 小时前
从零开始搭建一套大语言模型 + LangGraph 多智能体编排 + RAG 知识库检索** 的智能问答平台
人工智能·语言模型·自然语言处理
Lifangyun_WD10 小时前
RTX 5090 与 RTX PRO 6000 怎么选?32GB 和 96GB 显存分别适合哪些 AI 任务
人工智能·aigc·gpu算力·芯片·gpu租赁