Llama 微调库

使用 Llama 3 进行微调

Francesca Donadoni

Curriculum Manager, DataCamp

何时使用微调

  • 预训练模型
  • 使用专用数据

一位 AI 工程师查看模型参数的可视化。

  • 提高准确率
  • 减少偏差
  • 增强知识库
使用 Llama 3 进行微调

如何使用微调

  • 数据质量
  • 模型容量
  • 任务定义

 

  • 微调流程

训练循环。训练得到微调模型。用微调模型和评估数据集进行评估。

使用 Llama 3 进行微调

如何使用微调

  • 数据质量
  • 模型容量
  • 任务定义

 

  • 微调流程

训练循环。使用训练数据集开始训练,得到微调模型。用微调模型和评估数据集进行评估。

使用 Llama 3 进行微调

如何使用微调

  • 数据质量
  • 模型容量
  • 任务定义

 

  • 微调流程

训练循环。使用训练数据集、模型和分词器开始训练,得到微调模型。用微调模型和评估数据集进行评估。

使用 Llama 3 进行微调

如何使用微调

  • 数据质量
  • 模型容量
  • 任务定义

 

  • 微调流程

训练循环。使用训练数据集、参数、模型和分词器开始训练,得到微调模型。用微调模型和评估数据集进行评估。

使用 Llama 3 进行微调

如何使用微调

  • 数据质量
  • 模型容量
  • 任务定义

 

  • 微调流程
  • 新模型
  • 评估

训练循环。使用训练数据集、参数、模型、分词器和微调类开始训练,得到微调模型。用微调模型和评估数据集进行评估。

使用 Llama 3 进行微调

Llama 微调库

 

  • 📚 多种微调库

 

  • 🦙 用 TorchTune 微调 Llama

 

  • 🚀 用 TorchTune 启动微调任务
使用 Llama 3 进行微调

Llama 微调选项

  • TorchTune
    • 基于可配置模板
    • 适合:快速扩展

一个时钟图标,表示快速试验。

  • Hugging Face 的 SFTTrainer
    • 可访问其他 LLM
    • 适合:微调多个模型

一个表示多模型的图标。

  • Unsloth
    • 高效内存使用
    • 适合:硬件受限

一个表示 CPU 硬件的图标。

  • Axolotl
    • 模块化方法
    • 适合:无需大量重配

一个齿轮与手的图标,表示配置。

使用 Llama 3 进行微调

TorchTune 与微调配方

 

 

  • TorchTune 配方:

    • 模块化模板
    • 可配置,适配不同项目
    • 保持代码有序
    • 确保可复现性

一幅烹饪汤的插图,表示"配方"的概念。

使用 Llama 3 进行微调

TorchTune 列表

 

  • 从终端运行
  • 具备 Python 的环境
  • 安装 TorchTune
    pip3 install torchtune
    
  • 列出可用配方

    tune ls
    
  • !在 IPython 中使用

    !tune ls
    
使用 Llama 3 进行微调

TorchTune 列表

!tune ls
  • 输出:
RECIPE                                   CONFIG                                  
full_finetune_single_device              llama3/8B_full_single_device            
                                         llama3_1/8B_full_single_device          
                                         llama3_2/1B_full_single_device          
                                         llama3_2/3B_full_single_device       
full_finetune_distributed                llama3/8B_full                          
                                         llama3_1/8B_full                        
                                         llama3_2/1B_full                          
                                         ...
使用 Llama 3 进行微调

TorchTune 运行

 

  • 使用配方 + --config + 配置
  • 运行微调

    tune run full_finetune_single_device --config \
    llama3_1/8B_lora_single_device
    
  • 参数 device=cpudevice=cuda

  • epochs=<int><int> 为 0 或正整数)
使用 Llama 3 进行微调

Passons à la pratique !

使用 Llama 3 进行微调

Preparing Video For Download...