【LLM】大模型微调,压缩,量化,部署(还在缓慢更新

前段时间很忙一直没时间follow最近的大模型工作,最近几天闲一点了…这个可能会出现整理不全或者是结果没跑完的情况,我尽量快一点(如果最近没啥事的话),有啥想法可以在评论区d一下我。
LLM排行榜 : https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
可能有一些解读有些的不清楚的地方,这一篇也可以当做是评论帖(轻点骂

一. 微调

1.1 Adapter Tuning

Parameter-Efficient Transfer Learning for NLP
【代码参考】https://github.com/Adapter-Hub/adapter-transformers
【论文】Adapter Tuning
【论文解读】https://zhuanlan.zhihu.com/p/626819173

1.2 Prefix Tuning

【官方代码】https://github.com/XiangLi1999/PrefixTuning
【论文】https://aclanthology.org/2021.acl-long.353.pdf
【代码解读】https://blog.csdn.net/weixin_50862344/article/details/133947019

1.3Prompt Tuning

【官方代码】https://github.com/kipgparker/soft-prompt-tuning
【论文】https://aclanthology.org/2021.emnlp-main.243.pdf
【代码解读】https://blog.csdn.net/weixin_50862344/article/details/133953048

1.4 P-Tuning

P-Tuning一共是两篇工作

1.4.1 GPT Understands, Too

【官方代码】https://github.com/THUDM/P-tuning
【论文】https://arxiv.org/pdf/2103.10385v1.pdf
【代码解读】

1.4.2 P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks

【官方代码】https://github.com/thudm/p-tuning-v2
【论文】https://arxiv.org/pdf/2110.07602v3.pdf
【代码解读】来自知乎 : https://zhuanlan.zhihu.com/p/423902902

1.5 LoRA

【论文解析】https://blog.csdn.net/weixin_50862344/article/details/130450277

1.6 AdaLoRA

1.7 BitFit

1.8 MAM Adapter

1.9 UniPELT

【知乎解析】https://zhuanlan.zhihu.com/p/618894319

二. 量化

2.1 量化基础知识
2.1.1 常见数值表示方式

  • Float32 (FP32) :标准的 IEEE 32 位浮点表示,指数 8 位,尾数 23 位,符号 1
    位,可以表示大范围的浮点数。大部分硬件都支持 FP32 运算指令。
  • Float16 (FP16) :指数 5 位,尾数 10 位,符号 1 位。 FP16 数字的数值范围远低于 FP32,存在上溢 (当用于表示非常大的数时) 和下溢 (当用于表示非常小的数时) 的风险,通过缩放损失 (loss scaling) 来缓解这个问题。
  • Bfloat16 (BF16):指数 8 位 (与 FP32相同),尾数 7 位,符号 1 位。这意味着 BF16 可以保留与 FP32 相同的动态范围。但是相对于 FP16,损失了 3位精度。因此,在使用 BF16 精度时,大数值绝对没有问题,但是精度会比 FP16 差。
  • TensorFloat-32(TF32) :使用19 位表示,结合了 BF16 的范围和 FP16的精度,是计算数据类型而不是存储数据类型。目前使用范围较小。
    【参考】https://zhuanlan.zhihu.com/p/627436535
    【LLM】大模型微调,压缩,量化,部署(还在缓慢更新_第1张图片
  1. Quant

  2. INT8
    【代码仓库】https://github.com/TimDettmers/bitsandbytes
    【代码测试】使用int8训练bert

  3. QLoRA
    【论文解读】https://blog.csdn.net/weixin_50862344/article/details/133917723
    【测试】

  4. GPTQ
    【代码仓库】官方代码 和 Llama上使用GPTQ

https://paperswithcode.com/paper/bitnet-scaling-1-bit-transformers-for-large
6.

你可能感兴趣的:(nlp,深度学习,人工智能,nlp,自然语言处理)