《大模型应用开发 鲍亮,李倩 清华大学出版社》【摘要 书评 试读】- 京东图书

目录

5.3.1  Hugging Face Transformers

5.3.2  LLaMA-Factory

5.3.3  Unsloth

5.3.4  MS-SWIFT

大模型微调的主流平台和框架(二)-CSDN博客

5.3.1  Hugging Face Transformers

1. 框架概况

Transformers[35]由Hugging Face开发的最广泛使用的开源的NLP库之一,提供了预训练模型的访问和微调功能,并且保证在PyTorch、TensorFlow和JAX上的互操作性。模型微调的每个阶段可以使用不同的框架:在一个框架中使用几行代码训练一个模型,然后在另一个框架中加载它并进行推理。该框架的核心竞争力在于构建了“模型-数据-工具”的闭环生态:Model Hub提供4万+预训练模型的一键加载,Datasets库支持1500+公开数据集的标准化处理,Trainer API封装了从训练到评估的全流程逻辑。此外,其库中还集成了多种数据预处理工具和模型评估指标,进一步提升了开发效率和实验reproducibility。在实际应用中,通过Accelerate库的自动混合精度训练,可使7B模型的训练速度提升2.3倍,而内存占用减少35%(Wolf et al., 2020)。其最新推出的PEFT模块整合了LoRA、QLoRA等参数高效技术,并支持适配器的可视化管理,通过TensorBoard可直观查看各适配器的参数更新热力图,极大地方便了大模型在多任务场景下的个性化定制与快速部署。Hugging Face Transformers的微调预训练模型在其官方文档中有对应教程[36],如图5.2所示。

图5.3  Hugging Face Transformers的微调预训练模型教程

2. 框架特点

(1)开发者友好的交互生态:提供Python原生API与命令行工具(如huggingface-cli),支持Jupyter Notebook交互式开发与流水线脚本部署。模型训练与推理流程可通过简洁的函数调用实现(如pipeline("text-generation", model="gpt2")),同时集成AutoTrain低代码平台,通过拖拽式界面完成数据预处理、模型选择与超参数调优。社区驱动的Model Hub提供上万预训练模型的一键加载,配套Hugging Face Spaces实现零代码模型可视化部署。

(2)覆盖全任务的算法与模型矩阵:内置超4万款预训练模型,覆盖NLP(BERT/LLaMA)、CV(CLIP/Stable Diffusion)、语音(Whisper)等多模态任务。核心算法包含参数高效微调(PEFT)技术(如LoRA/QLoRA)、跨模态对齐框架(如BLIP-2),以及任务专属工具链(如NLP的序列标注、CV的目标检测)。针对大模型优化推出Accelerate库,支持自动混合精度训练与模型并行加速。

(3)模块化存储与生态集成能力:模型与数据集统一存储于Hugging Face Hub,支持与AWS S3、Google Cloud Storage等云存储对接。Datasets库提供标准化数据处理流程,可无缝衔接Pandas/Spark数据源;与MLflow、Weights & Biases集成实现实验追踪,通过Docker镜像支持Kubernetes集群部署。

(4)跨框架兼容性与底层优化:原生支持PyTorch、TensorFlow、JAX三大框架,模型可通过from_pretrained接口跨框架加载(如PyTorch训练的BERT可转换为TensorFlow)。底层集成Accelerate分布式训练库,支持自动梯度分片(FSDP)、流水线并行(PP)等技术,在8xA100集群可高效训练70B参数模型。

(5)全生命周期工具链覆盖:除训练功能外,该框架还提供推理优化套件(Transformers-Serving)、模型量化工具(Optimum)、ONNX/TF-Lite转换插件,支持边缘设备部署。Gradio/Streamlit组件可快速构建交互式预测界面,配合Inference API实现毫秒级在线服务调用。

(6)社区驱动的可扩展架构:Model Hub支持用户自定义模型上传与版本管理,社区日均贡献超 200 个新模型。该框架提供的生态工具链覆盖数据标注(Prodigy)、模型评估(Evaluate)、伦理审查(Ludwig),通过Contrib模块可接入第三方优化方案(如DeepSpeed集成)。

(7)可视化调试与结果分析:训练过程可对接TensorBoard监控损失曲线与梯度分布,模型结构可通过Netron可视化。评估结果支持多种图表输出(如分类任务的混淆矩阵、生成任务的BLEU分数趋势图),配合WandB实现多实验对比分析。

5.3.2  LLaMA-Factory

1. 框架概况

LLaMA-Factory[37]是一个专注于LLaMA系列大语言模型生态建设的开源项目,旨在通过模块化设计降低大模型训练与应用门槛。它整合了从数据预处理、模型微调(支持LoRA、QLoRA等参数高效技术)到推理部署的全流程工具,提供可视化界面与命令行接口双模式操作,支持医疗、金融等垂直领域的模型定制。项目依托社区协作持续优化模型性能,同时兼容Hugging Face生态,助力开发者快速落地大模型应用。该平台的可视化界面如图5.3所示。

图5.3  LLaMA-Factory平台可视化界面

2. 框架特点

(1)全栈LLaMA生态整合能力:深度聚焦LLaMA系列模型(LLaMA 1/2、LLaMA-Adapter等),兼容Mistral、Mixtral-MoE等异构大模型,提供从预训练权重加载到定制化微调的全流程支持。内置模型家族包括医疗专用LLaMA-Med、金融领域LLaMA-Fin等垂直化版本,支持通过Web UI或CLI一键切换模型架构。

(2)多模态与参数高效微调技术矩阵:集成监督微调(SFT)、奖励建模(RM)、PPO/DPO强化学习全流程,支持文本-图像-视频多模态训练(如LLaVA视觉指令微调)。核心优化包括:

  1. 量化方案:原生支持AQLM、4-bit QLoRA、8-bit GPTQ等量化技术,单GPU可部署70B模型。
  2. PEFT策略:内置LoRA+、DoRA、LongLoRA等参数高效微调算法,调优参数占比低至0.01%。

(3)高级算法与性能优化套件:整合GaLore动态路由、BAdam自适应优化器、PiSSA稀疏注意力等前沿技术,训练效率提升300%。实用优化包括:FlashAttention-2加速长序列处理(支持4K+上下文);RoPE scaling技术适配超长文本生成;Liger Kernel优化GPU内存带宽利用率。

(4)全生命周期工具链覆盖:集成LlamaBoard、WandB实时追踪损失曲线、梯度分布,支持多实验对比分析;对接vLLM/PagedAttention实现毫秒级响应,兼容OpenAI风格API与Gradio可视化界面;通过AWQ/LLM.int8实现生产环境轻量化部署,推理成本降低80%。

(5)跨模态任务泛化能力:原生支持多轮对话、工具调用(代码解释器)、图像理解(Qwen2-VL联动)、音频处理(Whisper集成)等场景。通过Mixture-of-Depths架构动态适配任务复杂度,在代码生成、科学推理等硬任务上提升性能25%。

(6)社区驱动的可扩展架构:开源生态整合NEFTune、rsLoRA等社区优化方案,支持自定义插件开发(如医疗实体识别模块)。模型仓库每日更新垂直领域checkpoint,配套SwanLab工具实现伦理审查与偏见检测。

5.3.3  Unsloth

1. 平台概况

Unsloth[38]是一款用于大语言模型微调的开源工具,旨在解决模型微调过程中训练速度慢、显存占用高等问题。它通过手动优化计算步骤、手写GPU内核和动态量化技术,在不改变硬件的前提下提升训练和推理的速度及性能。其优势显著,在单GPU上训练速度最高可提升10倍,多GPU系统上最高提升32倍,内存占用最多可减少70%以上。支持Llama-3、Mistral、Phi-4等多种主流大语言模型,还能支持长上下文训练。此外,它具有良好的兼容性,支持Linux和Windows(通过WSL)操作系统,与Hugging Face的TRL、Trainer等工具无缝集成。用户可在Google Colab或Kaggle Notebooks上免费快速体验,其开源特性也为开发者提供了广阔的探索空间。该平台的教程笔记本界面如图5.4所示。

图5.4  Unsloth平台的教程笔记本界面

2. 平台特点

(1)轻量集成式服务:与Hugging Face生态紧密结合,一站式完成大语言模型从加载、微调(如LoRA/QLoRA等技术)到推理部署的流程,无缝对接Hugging Face的数据集、模型仓库及各类工具库,无需复杂的外部集成操作。

(2)全生命周期管理:涵盖数据预处理(支持常见格式数据导入与格式化)、模型训练(多种优化训练算法)、评估(多维度指标评估模型性能)、部署(支持导出GGUF、ONNX等格式适配不同场景)等功能,提供完整的模型开发与管理流程。同时支持模型的继续训练,方便根据新数据和需求不断优化模型。

(3)深度学习优化支持:深度兼容主流深度学习框架(如PyTorch),并基于OpenAI Triton重写计算内核,针对大语言模型训练进行底层优化。支持单卡及多卡(如从消费级GPU到专业计算卡)的训练模式,提升训练效率与灵活性。

(4)性能卓越:通过手动编写Triton内核和动态量化技术(如4bit量化),在保持模型数学精确性的前提下,实现训练速度提升2-5倍,显存占用减少70%-80%。在特定场景下,如在Tesla T4 GPU上微调Llama-3-8B模型仅需8GB显存,训练时间大幅缩短。同时支持4倍以上的长文本训练,增强了模型处理长序列数据的能力。

(5)丰富算法集成:不仅支持自定义训练算法,还集成了众多适用于大语言模型的优化算法,如支持DPO、ORPO等优化算法进行模型偏好对齐训练,以及多种参数高效微调技术(如LoRA、QLoRA等),满足不同的训练需求和场景。

(6)操作便捷:提供简单易用的Python API接口,方便开发者进行代码级的精细控制,符合专业开发者的使用习惯;同时还提供了详细的Colab教程笔记本,用户通过简单的点击操作即可完成复杂的模型微调任务,对于新手和非专业人员也十分友好,降低了大模型微调的技术门槛。

5.3.4  MS-SWIFT

1. 平台概况

MS-SWIFT(Scalable lightWeight Infrastructure for Fine-Tuning)[39]是ModelScope社区提供的一个用于大语言模型和多模态大模型微调和部署的官方框架。目前支持500+个大型模型和200+个多模态大型模型的训练(预训练、微调、人机对齐)、推理、评估、量化和部署。此外,ms-swift集成了最新的训练技术,包括LoRA、QLoRA、Llama-Pro和Liger等轻量级技术,以及DPO、GRPO、RM、PPO和ORPO等人体对齐训练方法。ms-swift支持使用vLLM和LMDeploy加速推理、评估和部署模块,并使用GPTQ、AWQ和BNB等技术支持模型量化。此外,ms-swift还提供基于Gradio的Web UI和丰富的最佳实践。MS-SWIFT相关信息可以参考其官网[40]。

2. 平台特点

(1)多模型与多模态支持:能支持450 +大模型和200 +多模态大模型,涵盖文本、图像、音频等多种模态,还包括Qwen、InternLM、GLM、Llama、Mistral等众多知名模型,满足多样化的应用需求。

(2)全流程一站式服务:覆盖从模型训练(预训练、微调、人类对齐)、推理、评估、量化到部署的全流程,提供完整的解决方案,无需借助多个不同工具,减少开发成本和复杂性。

(3)前沿训练技术集成:汇集 LoRA、QLoRA、Llama - Pro、LongLoRA等最新训练技术,支持轻量化微调,降低训练成本和资源消耗,同时支持DPO、GRPO等人类对齐训练方法,使模型输出更符合人类预期。

(4)推理、评估与量化加速:借助vLLM、LMDeploy等引擎加速推理、评估和部署模块,支持GPTQ、AWQ、BNB等量化技术,优化模型在不同硬件上的推理性能,提升响应速度。

(5)丰富数据集支持:内置150+各类数据集,包括预训练、微调、人类对齐、多模态等类型,同时支持自定义数据集,方便开发者根据特定任务和领域进行数据准备。

(6)强大的硬件兼容性:跨架构广泛兼容 CPU、RTX系列、T4/V100、A10/A100/H100、Ascend NPU、MPS等多种硬件,适配不同的计算资源环境,提高框架的适用性。

(7)分布式训练支持:支持分布式数据并行(DDP)、device_map简易模型并行、DeepSpeed ZeRO2/ZeRO3、FSDP等分布式训练技术,充分利用集群计算资源,加速大规模模型的训练过程。

(8)灵活的插件化拓展:支持自定义模型和数据集拓展,允许对loss、metric、trainer、loss-scale、callback、optimizer等组件进行自定义,方便开发者根据具体需求定制个性化的训练和评估逻辑。

(9)多种操作界面支持:提供基于Gradio的Web - UI界面,方便零门槛上手操作;同时支持Python API和命令行操作模式,满足开发者不同的使用习惯和开发场景需求,兼具易用性和灵活性。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐