SuperAPI AI 工具集

unsloth-finetuning

智能体与模型

查看项目

更新于 10-16 05:46

技能介绍

用途:在单张 GPU 上微调大语言模型,重点解决显存受限问题;也用于偏好或强化学习后训练(GRPO、DPO),以及把微调结果导出到 GGUF、vLLM 或合并的 16 位权重。覆盖 Unsloth Core 的 Python API,桌面版与 Studio 网页界面不在范围内;多节点、多卡大规模训练、Unsloth 不支持的架构、托管云训练应改用 TRL、Accelerate/DeepSpeed 或 Hugging Face Jobs。

主要能力:先用显存估算决定加载模式与超参(load_in_4bit、8bit、16bit、full_finetuning),再用 FastLanguageModel/FastVisionModel/FastModel 加载模型;通过 get_chat_template、standardize_data_formats、train_on_responses_only 修正聊天模板与损失掩码;用 get_peft_model 附加 LoRA 适配器;用 TRL 的 SFTTrainer/GRPOTrainer 训练;最后按目标运行时导出 GGUF、merged_16bit、单独 LoRA 或推送到 Hub。

关键用法:import unsloth 必须先于 transformers、trl、peft,否则优化补丁不生效。损失掩码的 instruction_part 与 response_part 要和模板实际分隔符一致,建议解码一批数据确认掩码只覆盖提示词。使用 nvidia-smi 在首轮训练确认显存估算。导出时 q4_k_m 是常见的质量与体积折中;merged_4bit 会固化量化,不宜再分发。GRPO 用 fast_inference=True 走 vLLM 采样,gpu_memory_utilization 在生成与训练间分配显存,max_lora_rank 不小于 get_peft_model 的 r。

限制与安全:显存数值为规划用经验值而非基准,需在目标硬件确认;架构支持随版本变化;速度与内存声明来自项目自身基准,未经独立验证。训练命令长时间独占 GPU,共享或远程机器上运行前需确认。推送 Hub 默认公开,应显式传 private=True。HF_TOKEN 从环境读取,不要写进脚本。模型与数据集应固定到经审阅的完整 40 位提交 SHA,并在产物中记录。GGUF 首次导出会从源码构建 llama.cpp,需编译器与网络,建议用固定提交的本地工具链。Unsloth 采用双许可:核心包为 Apache-2.0,Studio UI 等可选组件为 AGPL-3.0。GPU、模型、数据集格式或导出目标不明时应先停止并澄清。