Lora微调模型

内容纲要

一、配置信息

ubuntu 22.04

二、安装GPU驱动、cuDNN 英伟达CUDA深度学习网络加速引擎、pytorch框架

1、教程链接

安装GPU驱动

验证是否安装成功

安装完成后,用这条命令一次性验证所有环境

python3 -c "
import torch
print('====================')
print('PyTorch 版本:', torch.__version__)
print('GPU 可用:', torch.cuda.is_available())
print('GPU 型号:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '无')
print('cuDNN 版本:', torch.backends.cudnn.version())
print('====================')
"

正确输出格式模版:

PyTorch 版本: 2.5.1+cu121
GPU 可用: True
GPU 型号: Tesla T4
cuDNN 版本: 90100

出现上述返回信息,就说明你的 PyTorch + GPU 环境已经完全就绪了。

三、开始微调

3.1、安装微调所学的核心且常用的工具

pip install transformers datasets peft accelerate bitsandbytes trl sentencepiece modelscope huggingface
  1. PEFT (Parameter-Efficient Fine-Tuning):参数高效微调库
    PEFT 的核心目标是“省钱省力”。在大模型时代,全量微调(Fine-Tuning)所有参数需要巨大的显存和算力。PEFT 提供了一系列技术(如最知名的 LoRA),允许你冻结模型绝大部分参数,只微调极少量的新增参数(通常仅占原模型参数的 0.1%-5%)。

  2. Accelerate:硬件适配与分布式训练库
    Accelerate 的核心目标是“一套代码,到处运行”。它是由 Hugging Face 推出的轻量级库,用于抽象底层硬件的差异。
    有什么用:无论你是在单张 CPU、单张 GPU、多张 GPU(单机多卡/多机多卡)还是 TPU 上运行模型,使用 Accelerate 后,你几乎不需要修改原本的 PyTorch 训练代码。它自动化了混合精度训练(FP16/BF16)、分布式环境初始化等繁琐配置,极大降低了多卡训练和显存优化的门槛。

  3. bitsandbytes:模型量化与显存压缩库
    bitsandbytes 的核心目标是“把模型变小”。它专注于提供高效的低精度(8-bit、4-bit)CUDA 算子,主要用于模型量化(Quantization)。这能让模型的显存占用降低。著名的 QLoRA 微调技术,就是结合了 bitsandbytes 的 4位量化和 PEFT 的 LoRA 技术,实现了在极低显存下的高效微调。

  4. TRL (Transformer Reinforcement Learning):大模型强化学习与对齐库
    TRL 的核心目标是“让模型更听话(对齐人类偏好)”。它是 Hugging Face 推出的专门用于大语言模型对齐和微调的框架。
    有什么用:它封装了复杂的强化学习流程,支持 SFT(监督微调)、PPO(近端策略优化) 和 DPO(直接偏好优化) 等主流算法。当你想让大模型不仅会说话,还能按照人类的价值观、安全规范或特定偏好来回答问题时(即 RLHF 过程),TRL 是最主流的工具。它与 Transformers 和 PEFT 完美兼容。

  5. SentencePiece:无监督文本分词工具
    SentencePiece 的核心目标是“把文字切成模型能懂的碎片”。它是一个由 Google 推出的、语言无关的文本分词(Tokenizer)和去分词(Detokenizer)框架。
    有什么用:它不依赖特定语言的预处理(比如中文不需要提前用 Jieba 分词),而是直接在原始文本(包括空格)上进行无监督学习,将句子切分成子词(Subword)单元(常用算法如 BPE 或 Unigram)。目前绝大多数主流大模型(如 LLaMA、T5、ChatGLM 等)的底层分词器都是基于 SentencePiece 构建的。

总结它们在实际工作流中的关系:
如果你要微调一个大模型,通常的流程是:用 SentencePiece 处理文本数据,用 bitsandbytes 把模型量化以节省显存,用 PEFT (LoRA) 进行参数高效微调,用 Accelerate 来加速训练并适配你的多卡环境,最后如果你想让模型更符合人类偏好,还可以用 TRL 进行进一步的强化学习对齐。

3.2、再次安装torch包的命令(可跳过)

如果上述的包,强制把torch包升级了,导致cuda版本不适配,需要重新执行一遍安装torch包的命令

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部