Firefly

一键微调 20+ 主流大模型,快速定制专属 AI

Firefly 是一个开源的大模型训练工具,专注于高效微调和训练各类主流大语言模型。它解决了开发者在使用不同模型架构时训练流程不统一、配置复杂的问题,提供了一套简洁易用的训练脚本和配置体系。核心能力包括支持 Qwen2.5、Llama3、Yi、Deepseek、MiniCPM、Phi-3 等 20 多种主流模型的 LoRA、QLoRA 和全参数微调,内置了多种训练策略和优化器,并提供了数据预处理、模型评估等配套功能。项目基于 Python 和 PyTorch 构建,通过统一的接口封装了不同模型的差异,让开发者可以快速切换和实验。其设计理念是降低大模型微调的门槛,使个人开发者和中小团队也能轻松上手,在有限算力下完成模型定制。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 6651
维护状态 低维护
是否开源
定价模式 free

项目数据

分类开源模型
开发团队yangjianxin1
所属国家
官网地址
定价模式free
价格说明开源项目,免费使用,需自行部署。
访问状态
是否开源
开源协议
主要语言Python
技术栈/模型alpaca,aquila,baichuan,chatglm,gemma,gpt,internlm,llama,llama2,llama3,llm,lora,minicpm,mistral,mixtral,peft,qlora,qwen,qwen2,zephyr
GitHub 星标★ 6651
30天Star增速
HF 下载量
上线时间2023-04-02 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 6 步

环境要求

  • Python 环境与 pip
  • PyTorch,默认调试环境为 torch==1.13、transformers==4.36
  • requirements.txt 中固定的若干主要 Python 包版本
  • 使用 QLoRA 训练时需相应的 GPU 显存与 CUDA 环境

安装与启动步骤

  1. 1获取项目代码

    从 GitHub 克隆 Firefly 仓库到本地,README 未给出 clone 命令,此处按仓库地址补全。

    git clone https://github.com/yangjianxin1/Firefly.git
    cd Firefly
  2. 2安装基础依赖

    requirements.txt 已固定主要 Python 包版本,直接执行即可满足绝大部分模型训练需求。

    pip install -r requirements.txt
  3. 3按模型调整版本

    Qwen1.5 需 transformers 升级到 4.37;Gemma 需 transformers 4.38.1 且 torch==2.0.0。此处以 Qwen1.5 为例。

    pip install transformers==4.37
  4. 4可选安装Unsloth

    需要 Unsloth 加速并节省显存时,安装或更新以下包,注意 torch 与 xformers 版本固定。

    pip install git+https://github.com/unslothai/unsloth.git
    pip install bitsandbytes==0.43.1
    pip install peft==0.10.0
    pip install torch==2.2.2
    pip install xformers==0.0.25.post1
  5. 5Qwen1.5用Unsloth

    若要用 Unsloth 训练 Qwen1.5,需改装作者提供的 fork 版本,不要用官方包。

    pip install git+https://github.com/yangjianxin1/unsloth.git
  6. 6指定GPU启动训练

    通过 CUDA_VISIBLE_DEVICES 指定显卡,torchrun 启动 QLoRA 训练脚本并读取 json 配置。示例用 0、1 号卡共 2 进程。

    CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 train_qlora.py --train_args_file train_args/qlora/baichuan-7b-sft-qlora.json

关键配置

配置项必填说明示例
CUDA_VISIBLE_DEVICES指定用于训练的 GPU 编号,默认使用全部可见卡0,1
--train_args_file训练参数 json 配置文件路径,不同模型/训练方式对应不同文件train_args/qlora/baichuan-7b-sft-qlora.json
--nproc_per_nodetorchrun 启动的进程数,一般等于使用的 GPU 数量2

如何确认成功

README 未提供专门自检命令;训练脚本正常输出日志并进入训练迭代,即视为启动成功。

常见问题

Q:执行安装时报包错误怎么办?

A:README 指明 requirements.txt 中已固定各 Python 包版本,直接执行 pip install -r requirements.txt 安装即可。

Q:如何指定使用某些卡训练?

A:通过环境变量指定,例如 CUDA_VISIBLE_DEVICES=0,1 配合 torchrun --nproc_per_node={num_gpus} 启动训练脚本。

Q:Qwen1.5 或 Gemma 训练报错?

A:这两类较新模型需要更新 transformers:Qwen1.5 升到 4.37,Gemma 升到 4.38.1 并搭配 torch==2.0.0。

Q:QLoRA 训练 Baichuan2 报错?

A:需要安装 torch==2.0,并且卸载 xformers 和 apex。

Q:QLoRA 训练 Qwen 报错?

A:需将 flash-attn 卸载,否则会报错。

注意事项

  • 绝大部分模型在 torch==1.13、transformers==4.36 环境下调试和训练,新模型需按说明单独升级版本。
  • 项目支持预训练、指令微调(SFT)、DPO,以及全量、LoRA、QLoRA 三种训练方式。
  • 训练流程通过配置文件切换模型,训练时已与各官方 chat 模型的 template 对齐。
  • 本项目代码、数据、模型不得用于危害社会的用途,并须遵循基座模型的商业许可。

核心亮点

  • 支持模型数量多,覆盖 Qwen2.5、Llama3、Deepseek 等主流系列,切换方便
  • 内置 LoRA/QLoRA 等高效微调策略,降低显存门槛,适合单卡训练
  • 训练脚本配置简洁,文档清晰,新手也能快速跑通流程

不足之处

  • 文档/社区待观察
  • 部分新模型(如 Qwen2.5)的适配可能滞后于官方发布

适用场景

  • 在消费级显卡上微调 7B 以下模型用于垂直领域问答
  • 企业快速定制私有化大模型,如客服、法律、医疗等场景
  • 学术研究中进行模型对比实验,快速验证不同基座的效果

替代项目

LLaMA-Factory、Unsloth、Axolotl

项目介绍

Firefly 是模型训练领域的开源项目,由 yangjianxin1 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(6,651)位列前 7%,在模型训练分类的 518 个项目里位列前 8%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。免费使用,需自行部署。

它主要面向的使用场景是:在消费级显卡上微调7B以下模型用于垂直领域问答。同类可对比的替代方案包括 LLaMA-Factory、Unsloth、Axolotl。

上一篇:mergekit

下一篇:whichllm

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13