LitGPT 微调简明教程

TOOL Nov 12, 2024

LitGPT 是一个简化高性能 LLM 预训练、微调和可扩展部署的平台。LitGPT 提供 20 多种高性能 LLM,并提供预训练、微调和大规模部署的方案。

1、LitGPT 的安装

要开始使用 LitGPT,请通过 pip 安装它:

pip install 'litgpt[all]'

2、 LitGPT 中的可用模型

LitGPT 支持各种大型语言模型 (LLM) 架构,并且可以轻松访问预训练权重。你可以通过以下命令查看和下载支持的模型:

litgpt download list

此命令显示托管在 HuggingFace Hub 上的可用模型检查点列表,并允许将这些检查点无缝转换为与 LitGPT 兼容的格式。

HuggingFace Hub 上的门控模型需要访问请求。获得批准后,你可以提供访问令牌来下载模型:

litgpt download meta-llama/Llama-3.1-8B --access_token $huggingface_token

此命令将模型检查点下载到 checkpoints/ 目录中。

我们将在此示例中使用 Lightning 框架对“LLamaGuard”进行微调。请注意,LLamaGuard 未直接列在可用下载列表中;它是经过微调的 LLama-3.2–8B 模型变体。

对于架构与受支持的模型相似但未明确列出的模型,你可以通过 --model_name 参数指定基本模型架构:

litgpt download meta-llama/Llama-Guard-3-1B --model_name=Llama-3.2-1B  \
--access_token $huggingface_token

现在可以使用模型检查点,可以使用 litgpt 训练实用程序继续进行预训练或微调模型。

特定的选举数据集

在这种情况下,我们将在 HuggingFace ( newsmediabias/fake_news_elections2024) 上托管的 fake_news_elections2024 数据集上微调模型。有关处理自定义数据集的更深入信息,请参阅这篇关于 Hugging Face 数据集的文章,其中描述了如何创建 DatasetWrapper 以将数据集转换为适当的格式。

3、使用 LitGPT 对 LLM 进行微调

fake_news_elections2024 数据集存储在 datasets/train.jsonl 中。要使用低秩自适应 (LoRA) 通过 LitGPT 对 LLM 进行微调,请执行以下命令:

litgpt finetune_lora checkpoints/meta-llama/Llama-Guard-3-1B \\
    --data JSON \\
    --data.json_path data/train.jsonl \\
    --data.prompt_style default \\
    --data.val_split_fraction 0.8 \\
    --train.epochs 2 \\
    --train.save_interval 100 \\
    --precision bf16-true \\
    --lora_r 8 \\
    --lora_alpha 16 \\
    --lora_dropout 0.05 \\
    --seed 137 \\
    --eval.final_validation false \\
    --logger_name tensorboard \\
    --out_dir `pwd`/out_dir/mydata-finetuned

此命令将:

  • 对指定的 LLM 检查点进行微调,并将数据拆分为验证(80% 训练,20% 验证)。
  • 利用低秩自适应 (LoRA) 进行高效微调,超参数控制矩阵秩 ( -lora_r)、缩放因子 ( -lora_alpha) 和 dropout ( -lora_dropout)。
  • 每 100 个训练步骤保存中间检查点 ( -train.save_interval),最终检查点存储在指定的输出目录 ( -out_dir) 中。

使用 LoRA,我们实现了更高效的 LLM 微调过程,与传统训练方法相比,减少了内存和计算开销。

4、结束语

由 Lightning 提供支持的 LitGPT 提供了一个全面而灵活的框架,用于预训练、微调和部署 LLM,并且摩擦最小。它集成了成熟的数据模块和 LoRA 等新技术,即使在资源受限的环境中也能实现可扩展的模型调整。

有关使用 PyTorch Lightning 和 LitGPT 对 LLM 进行微调的更多详细信息,请参阅此处的官方 Lightning AI 文档。


原文链接:Leveraging LitGPT for Advanced LLM Fine-Tuning

汇智网翻译整理,转载请标明出处

Tags