llamafactory微调+量化+ollama部署速记

235 阅读2分钟

大模型微调与部署全流程指南

一、微调阶段

1. 数据质量的重要性

数据质量是模型微调成功的关键因素。建议:

• 确保数据集的多样性和代表性

• 仔细清洗数据,去除噪声和错误样本

• 保持数据标注的一致性和准确性

2. 数据量的优化策略

并非数据越多越好,建议:

• 从适量高质量数据开始,百个数据为单位进行增加

• 通过小规模实验评估数据效果

• 逐步增加数据量,观察性能提升

二、模型导出阶段

在模型导出时,建议:

• 优先导出完整精度模型(不进行量化)

• 将量化步骤留到后续由llama.cpp处理

• 这样可以保留最大模型精度,便于后续灵活调整

三、格式转换阶段

为了在Ollama上部署模型,需要将模型转换为GGUF格式,下载llama.cpp后执行:

python convert_hf_to_gguf.py [微调后模型目录] --outfile [输出文件名].gguf

注意事项: • 确保转换工具版本与模型兼容 • 检查转换后的文件完整性 • 保留原始模型备份

四、模型量化阶段

1. 编译llama.cpp

cmake --build build --config Release -j8

2. 执行量化

./llama-quantize [输入模型].gguf [输出模型].gguf Q4_K_M

量化建议:

• Q4_K_M是平衡精度和效率的推荐选项

• 可根据硬件条件选择其他量化级别

• 量化后测试模型性能

五、Ollama部署阶段

1. 创建Modelfile

在与量化模型相同目录下创建Modelfile:

# ollama modelfile auto-generated by llamafactory

FROM ./[量化模型名].gguf

TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ range .Messages }}{{ if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
<|im_start|>assistant
{{ else if eq .Role "assistant" }}{{ .Content }}<|im_end|>
{{ end }}{{ end }}"""

SYSTEM """You are a helpful assistant."""

PARAMETER stop "<|im_end|>"
PARAMETER num_ctx 4096

2. 导入模型

ollama create [模型名称]:[参数大小] -f Modelfile

3. 运行模型

ollama list  # 查看可用模型
ollama run [模型名称]:[参数大小]  # 启动模型