Firefly

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 583 🐛 待处理 211 👀 关注 59
GitHub ↗
GitHub 星标 ★ 6641
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,免费使用,需自行部署。

项目预览

Firefly 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队yangjianxin1
定价模式🏷️完全免费
价格说明开源项目,免费使用,需自行部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
主要语言Python
技术栈/模型alpaca,aquila,baichuan,chatglm,gemma,gpt,internlm,llama,llama2,llama3,llm,lora,minicpm,mistral,mixtral,peft,qlora,qwen,qwen2,zephyr
GitHub 星标★ 6641
上线时间2023-04-02 00:00:00
代码更新2024-10-24
仓库体积6.4 MB
本站数据更新2026-11-08
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 6641

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 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_node是torchrun 启动的进程数,一般等于使用的 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

上一篇:mergekit

下一篇:whichllm

同类项目推荐

LLMtuner 开源

几行代码微调大模型,文本语音全覆盖

FineTune LLMs in few lines of code (Text2Text, Text2Speech, Speech2Text)

★ 252 2026-08-09
gorilla 开源

让大模型学会精准调用API,连接真实世界工具

Gorilla: Training and Evaluating LLMs for Function Calls (Tool Calls)

★ 13064 2026-08-09
burn-onnx 开源

把 ONNX 模型转成纯 Rust Burn 代码,推理微调不再依赖 Python

Convert ONNX models into native, backend-agnostic Burn code for inference and fine-t···

★ 141 2026-09-16
DS2 开源

用 LLM 评分自动筛数据,少数据也能训出好模型

[ICLR 2025] Official implementation of paper "Improving Data Efficiency via Curating···

★ 102 2026-08-09
MedicalGPT 开源

一键训练你的医疗GPT,从预训练到对齐全流程搞定

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练···

★ 5887 2026-08-09
LlamaFactory 开源

上百种模型随意挑,教出你专属的 AI

Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)

★ 75931 2026-08-09
AngelSlim 开源

一键压缩大模型,部署更快更省资源

Model compression toolkit engineered for enhanced usability, comprehensiveness, and ···

★ 1786 2026-08-09
Time-R1 开源

让大模型像专家一样一步步推理预测时间序列

Time-R1 is a two-stage reinforcement fine-tuning framework that trains large languag···

★ 102 2026-08-09
Medusa 开源

给大模型加几个解码头,生成速度翻倍,不用改架构

Medusa: Simple Framework for Accelerating LLM Generation with Multiple Decoding Head···

★ 2774 2026-08-09