Hyperlane大模型
2025年9月7日大约 2 分钟hyperlane-ai
本项目提供了一个完整的流水线,用于微调语言模型并将其转换为 GGUF 格式以实现高效推理。
项目概述
该流水线包括以下步骤:
- 使用 Python 虚拟环境进行环境设置
- 安装依赖项
- 数据集生成
- 使用 LoRA 适配器进行模型微调
- 将 LoRA 适配器与基础模型合并
- 将合并后的模型转换为 GGUF 格式
- 分析训练参数
先决条件
- Python 3.8 或更高版本
- pip (Python 包安装器)
- Git
设置和使用
1. 克隆仓库
git clone <repository-url>
cd hyperlane-ai-training
2. 运行训练流水线
执行主脚本来运行完整的流水线:
./run.sh
这将:
- 创建并激活 Python 虚拟环境
- 安装所有必需的依赖项
- 生成数据集
- 微调模型
- 将 LoRA 适配器与基础模型合并
- 将合并后的模型转换为 GGUF 格式
- 分析训练参数
3. 开发模式
为了在开发过程中更快地迭代,您可以运行开发模式的流水线,该模式限制训练步数:
./run.sh dev
配置
项目可以使用根目录中的 .env
文件进行配置。以下环境变量可用:
MERGED_MODEL_DIR
: 合并模型的目录 (默认: "merged_model")OUTPUT_DIR
: 输出文件的目录 (默认: "output")
示例 .env
文件:
MERGED_MODEL_DIR=my_merged_model
OUTPUT_DIR=my_output
项目结构
run.sh
: 主执行脚本generate_markdown.py
: 生成训练数据集的脚本finetune.py
: 模型微调脚本merge_model.py
: 将 LoRA 适配器与基础模型合并的脚本convert_hf_to_gguf.py
: 将模型转换为 GGUF 格式的脚本analyze_training_args.py
: 分析和记录训练参数的脚本dataset/
: 包含训练数据集的目录
依赖项
项目需要以下 Python 包:
- torch (>=2.3.0)
- transformers
- datasets
- trl
- peft
- accelerate
- hf_xet
- gguf
- mistral_common
- dotenv
输出
成功执行后,最终的 GGUF 模型将位于: $OUTPUT_DIR/$OUTPUT_DIR.gguf
许可证
本项目采用 MIT 许可证进行授权。详情请参阅 LICENSE 文件。
贡献指南
欢迎贡献!如有问题请提交 Issue 或发起 Pull Request。
联系方式
如有任何疑问,请通过邮箱 [email protected] 联系作者。