Kiln AI
大模型分布式训练是要在多个节点的服务器上的,(100+), 这考验节点间通讯能力,分布式内存管理能力,等框架的能力。 DeepSpeed 和 FSDP, Megatron-LM等更加符合预期。

Kiln AI 低代码微调LLM的平台,支持常见的大模型。支持团队协作标注数据,
GitHub 仓库地址为:
核心功能亮点
• 直观桌面应用: 一键安装,支持 Windows、MacOS 和 Linux,简单易用。
• ️ 零代码微调: 支持 Llama、GPT4o 和 Mistral,轻松完成模型微调并自动部署到无服务器环境。
• 合成数据生成: 交互式可视化工具快速生成训练数据,支持多种数据场景。
• 数据集协作: 基于 Git 的版本控制,团队成员可共同管理数据集,包括示例、提示词、反馈等。
• 自动化提示生成: 根据数据自动生成链式思考、少样本和多样本提示,快速提升模型表现。
• 模型与平台广泛兼容: 支持 OpenAI、AWS、Ollama 等多种平台及任何 OpenAI 兼容的 API。
• 隐私优先: 数据完全本地化,用户 API 密钥也存储于本地。
• ️ 结构化数据: 以 JSON 为核心格式,优化任务配置与数据管理。
• 免费工具: 桌面应用完全免费,Python 库开源,助力更多开发者加入。
主要场景与优势
1. 快速构建与优化 AI 产品
• 动态数据生成: 每次使用 Kiln,都会捕获输入、输出及人类反馈,形成高质量数据集。
• 自动化迭代: 数据集规模随使用增长,持续提升模型质量,同时轻松应对新需求和问题修复。
2. 跨团队协作无缝对接
• 非技术人员: 使用桌面应用生成数据集,无需编码基础。
• 技术团队: 利用 Python 库深度挖掘数据,结合模型开发或微调。
• QA 和 PM: 提前识别问题并完善数据,确保模型效果达标。
3. 简化模型测试与对比
• 无需代码: 通过 Kiln 快速测试多种模型、提示技巧和优化方法。
• 多模型支持: 包括 GPT、Llama、Claude、Gemini 等,灵活应用链式思考、微调等技术。
• 持续更新: 即将支持更强大的无代码选项,如 RAG 和自动评估工具。
为何选择 Kiln
• 简单上手: 免费下载,快速配置,适合技术与非技术用户。
• 隐私保护: 数据完全存储于本地,确保安全性与控制力。
• 开源灵活: Python 库和 REST API 开源,便于扩展与集成。
• 快速迭代: 轻松试验与比较,适应不断变化的需求与技术趋势
Unsloth
效率优势
Unsloth是一个开源的大模型训练加速项目,使用OpenAI的Triton对模型的计算过程进行重写,大幅提升模型的训练速度,降低训练中的显存占用。Unsloth能够保证重写后的模型计算的一致性,实现中不存在近似计算,模型训练的精度损失为零。Unsloth支持绝大多数主流的GPU设备,包括V100, T4, Titan V, RTX 20, 30, 40x, A100, H100, L40等,支持对LoRA和QLoRA的训练加速和高效显存管理,支持Flash Attention。
Unsloth对大模型的训练提升如下图所示。在一张A100上,使用QLoRA对不同的模型进行训练,Llama2-7B的训练速度是原来的1.87倍,显存占用减少39.3%,Mistral-7B的训练速度是原来的1.88倍,显存占用减少65.9%。在无精度损失的前提下,Unsloth对大模型训练具有显著的「降本增速」作用,可谓是「免费的午餐」。

更重要的是,Unsloth与HuggingFace生态兼容,可以很容易将其与transformers、peft、trl等代码库进行结合,以实现模型的SFT与DPO,仅需修改模型的加载方式即可,无需对此前的训练代码进行过多的修改。Demo如下所示。
功能限制
尽管 Unsloth 提供了强大的功能来加载和微调大语言模型,但它可能对某些特定的模型或任务存在一定的限制。例如,对于某些非主流或自定义的模型,可能需要额外的适配工作。
总结来说,Unsloth 提供了强大的功能来加载和微调多种大语言模型,并且具有一定的灵活性来支持其他模型。如果你需要加载特定的模型,建议先查看 Unsloth 的官方文档或支持的模型列表,以确保兼容性。
LLaMA-Factory
是一个开源的低代码大模型训练框架,专为大型语言模型(LLMs)的微调而设计。它由北京航空航天大学和北京大学的研究团队开发,旨在提供一个高效、低成本的微调解决方案。
主要功能特点
- 高效且低成本:能够高效且低成本地支持对100多个模型进行微调,简化了模型微调的过程。
- 易于访问和使用:提供了友好的用户界面,用户无需编写代码即可轻松定制和微调LLMs。
- 丰富的数据集选项:支持多个数据集选项,用户可以选择自带的数据集或自己生成数据集进行微调。
- 多样化的算法支持:集成了业界最广泛使用的微调方法和优化技术,如LoRA、GaLore、DoRA等。
- 实时监控和评估:支持集成TensorBoard、VanDB和MLflow等监控工具,便于实时监控训练过程和评估模型性能。
- 极速推理:提供了基于vLLM的OpenAI风格API、浏览器界面和命令行接口,实现快速推理。
支持的模型和算法
- 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
- 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
- 多种精度:16比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
- 先进算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。
- 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
安装和使用
- 创建Python环境:使用conda创建一个新的Python环境,并安装必要的依赖库,如PyTorch等。
- 克隆LLaMA-Factory项目:通过Git克隆LLaMA-Factory的源代码到本地。
- 安装依赖:进入项目目录,安装必要的Python依赖库。
- 启动服务:在项目目录中运行
python src/train_web.py
启动服务,然后在浏览器中访问相应的端口(默认可能是7860)以访问训练界面。
性能指标
- 与 ChatGLM 官方的 P-Tuning微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任务上取得了更高的 Rouge 分数。
- 结合 4 比特量化技术,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。
微调例子
以下是一个使用LLaMA-Factory对Yuan2.0模型进行LoRA微调的例子:
- 准备数据集:准备自定义的数据集,可以是JSON格式,包含指令、输入和输出等信息。
- 注册数据集:在LLaMA-Factory的数据集管理文件中注册自定义的数据集。
- 启动Web UI服务:运行
python src/train_web.py
启动WebUI服务,并在浏览器中打开相应的地址。 - 配置微调参数:在Web界面上配置模型路径、微调方法(选择LoRA)、数据集等参数。
- 开始微调:点击“开始”按钮开始微调过程,可以在界面中查看训练进度和损失函数等信息。
- 评估模型:微调完成后,使用LLaMA-Factory提供的评估工具对模型进行评估,检查模型性能是否有所提升。
通过以上步骤,用户可以利用LLaMA-Factory轻松实现LLMs的微调,提升模型在特定任务上的性能。
Transformers + PEFT
两个被广泛使用的库,huggingface 的 transformers 有着最大模型中心,你可以找到各种各样的模型。
huggingface 中国网站,里面有众多大模型训练,测试,展示,构建高质量数据集的工具大全。
开源models 和 datasets hub中心,等等。

huggingface 的标准研发流程

PEFT(Parameter-Efficient Fine-Tuning) 是 Hugging Face 开源的一个参数高效微调库,旨在通过微调少量参数来适应各种下游任务,从而显著降低计算和存储成本。PEFT 库提供了多种高效的微调技术,能够与 Hugging Face 的 Transformers 和 Accelerate 库无缝集成。
主要功能和特点
- 多种微调方法支持:
- LoRA(Low-Rank Adaptation):通过添加低秩矩阵来微调模型,显著减少需要训练的参数数量。
- QLoRA(Quantized LoRA):结合量化技术进一步减少内存占用。
- Prefix Tuning:通过添加前缀来微调模型。
- Prompt Tuning:通过调整提示来微调模型。
- P-Tuning 和 P-tuning-v2:针对特定任务的微调方法。
- 高效微调:
- PEFT 方法仅微调少量参数,显著降低了计算和存储成本。
- 在 GPU 资源有限的情况下,PEFT 使得微调大型语言模型(LLMs)变得更加可行。
- 与 Hugging Face 生态系统集成:
- PEFT 与 Transformers、Diffusers 和 Accelerate 库无缝集成,提供了快速、简单的方法来加载、训练和使用大型模型进行推理。
- 支持多种模型和任务:
- PEFT 支持多种模型,包括但不限于 LLaMA、Mistral、Phi、Gemma 等。
- 适用于多种任务,如语言建模、序列分类、条件生成、文本到图像生成等。
- 推理优化:
- PEFT 提供了高效的推理方法,支持 4 比特量化技术,显著减少了推理时的内存占用
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/aigc/315916.html