ronpay

ronpay

Introduction to LLMs Fine-tuning

[May 29] Init doc

可用的 LLMs 微调框架#

  • LLaMA-Factory
  • xtuner
  • unsloth

简单介绍一下#

  • Llama_Factory 提供了最多的微调方法,有很多来自最新的学术论文,包括 LongLora 等等;最新的框架,包括 Unsloth。
  • Xtuner 则提供了较为丰富的文档,和很多优化技巧,但是微调技术比较单一,只有基础的 Lora 以及 QLora。
  • Unsloth 则提供不错的文档,但是同样只提供少量的微调方案。
  • 如果你的需求很简单,例如用 24G 显存在一个普遍的模型如 Llama3 上微调一个长度很短的对话指令数据集(例如 alpaca), 使用上面的任何一个库都可以。

一般步骤#

制作数据集#

数据集根据格式,基本上可以分为 alpaca 以及 sharegpt 两种类型。
而根据微调类型,可以分为 Supervised Fine-Tuning Dataset 和 Pretraining Dataset,前者用于指令微调对话用途,后者用于增量预训练。
关于制作数据集的方式,完全可以参考 LLaMA-Factory/data/README.md at main・hiyouga/LLaMA-Factory。

选择微调技术#

最基本的微调方法是 Lora,如果想使用更少的显存可以用 QLora,Q 意味着 Quantized。
如果有很长的序列要求但是只有显存捉急,可以考虑 Unsloth + Flash Attention 2。
Llama_factory 提供了非常多的微调技术,可供挑选。

遵循框架的文档#

微调的一些常用技术#

  • RoPE Scaling
    • 它支持了任意长度的微调,例如 Llama3 只在 8K 长度预训练,但是使用它可以任意长度微调。
  • FlashAttention
    • 减少训练时间以及显存占用。

遇到问题的解决方案:

  1. Google
  2. repo 里的 issue
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。