环境配置
若本地设备受限,可使用魔搭社区提供的免费 GPU 环境。注册魔搭社区并绑定阿里云账号后,可获得 36 小时免费 GPU 环境。
配置参数:
- CPU:8 核
- 内存:32GB
- 显存:24G
- 操作系统:Ubuntu 22.04
- CUDA:12.8.1
- Python:3.11
- PyTorch:2.9.1
- ModelScope:1.35.0
安装 LLaMaFactory
克隆项目并安装依赖:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .
若遇到依赖冲突,建议使用虚拟环境(venv):
python -m venv llmVenv
source llmVenv/bin/activate
pip install --upgrade pip
pip install -e .
pip install -r requirements/metrics.txt
llamafactory-cli webui
启动后访问 http://127.0.0.1:7860 即可在浏览器中使用。
模型选择
模型分类和区别
- Base:基座模型,仅完成预训练,擅长续写文本,不擅长直接理解指令。
- Instruct:指令模型,经过指令微调,能正确理解并遵循人类指令。
部分新模型(如 Qwen3.5)虽标注为 Base,但可能已包含后训练能力。加载时需注意告警提示。
加载模型对话
点击【Chat】加载模型,可配置以下参数:
推理引擎
- Hugging Face:通用原生框架,适合调试、开发。
- vLLM:高性能服务框架,适合高吞吐生产环境。
- SGLang:专注结构化生成和复杂推理。
推理数据类型
- auto:自动选择最优精度。
- float32:最精确,显存占用最大。
- float16:显存减半,速度较快。
- bfloat16:动态范围更大,稳定性好。
额外参数
例如 {"vllm_enforce_eager": true},用于 vLLM 专用调试。若使用 HuggingFace 引擎,建议清空或保留 {} 以避免 JSON 格式错误。
模型加载成功后,可通过控制台下载或直接手动下载魔搭社区模型:
modelscope download --model Qwen/Qwen3.5-2B
数据集
魔搭社区提供大量数据集,路径:https://www.modelscope.cn/datasets。
获取源数据
以蚂蚁金融语义相似度数据集为例,下载 train.csv。字段通常包括 sentence1、sentence2 和 label。
编写转换脚本
将 CSV 转换为 LLaMaFactory 所需的 JSON 格式。示例脚本逻辑如下:
# csv2Json.py
import pandas as pd
import json
df = pd.read_csv('train.csv')
data = []
for _, row in df.iterrows():
data.append({"instruction": "", "input": row['sentence1'], "output": str(row['label'])})
with open('ant_finance_same.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False)
执行脚本生成目标文件,移动至 data 文件夹,并修改 dataset_info.json 注册数据集。
加载并预览数据集
在 WebUI 中选择配置的数据集,点击【预览数据集】查看示例。
训练
执行微调
点击【开始】微调模型。注意云端环境有时长限制,长时间运行需保持活动状态。
训练过程中可监控 Loss 曲线:
- Original:原始损失值,含噪声。
- Smoothed:平滑后的趋势曲线。
导出微调结果
训练完成后,在【检查点路径】找到模型文件。支持导出为 HuggingFace 格式。
转换 GGUF
为适配 ollama 或 llama.cpp,需将模型转换为 GGUF 格式。
创建环境
python -m venv cppVenv
source cppVenv/bin/activate
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
pip install -r requirements.txt
执行转换
python convert_hf_to_gguf.py /mnt/workspace/models/Qwen3.5-2B-output --outfile /mnt/workspace/gguf/Qwen3.5-2B-output.gguf --outtype q8_0
若遇到 Tokenizer 错误,检查 tokenizer_config.json 中的 tokenizer_class 字段,确保与模型匹配(如 Qwen2Tokenizer):
cat tokenizer_config.json | grep tokenizer_class
sed -i 's/"tokenizer_class": "TokenizersBackend"/"tokenizer_class": "Qwen2Tokenizer"/g' tokenizer_config.json
修复后重新执行转换命令即可得到 GGUF 文件。

