llm-action README

The project's README from github.com/liguodongiot/llm-action. As one markdown file: README.md.

目录

LLM训练

LLM训练实战

下面汇总了我在大模型实践中训练相关的所有教程。从6B到65B,从全量微调到高效微调(LoRA,QLoRA,P-Tuning v2),再到RLHF(基于人工反馈的强化学习)。

LLM 预训练/SFT/RLHF... 参数 教程 代码
Alpaca full fine-turning 7B 从0到1复现斯坦福羊驼(Stanford Alpaca 7B) 配套代码
Alpaca(LLaMA) LoRA 7B~65B 1.足够惊艳,使用Alpaca-Lora基于LLaMA(7B)二十分钟完成微调,效果比肩斯坦福羊驼
2. 使用 LoRA 技术对 LLaMA 65B 大模型进行微调及推理
配套代码
BELLE(LLaMA/Bloom) full fine-turning 7B 1.基于LLaMA-7B/Bloomz-7B1-mt复现开源中文对话大模型BELLE及GPTQ量化
2. BELLE(LLaMA-7B/Bloomz-7B1-mt)大模型使用GPTQ量化后推理性能测试
N/A
ChatGLM LoRA 6B 从0到1基于ChatGLM-6B使用LoRA进行参数高效微调 配套代码
ChatGLM full fine-turning/P-Tuning v2 6B 使用DeepSpeed/P-Tuning v2对ChatGLM-6B进行微调 配套代码
Vicuna(LLaMA) full fine-turning 7B 大模型也内卷,Vicuna训练及推理指南,效果碾压斯坦福羊驼 N/A
OPT RLHF 0.1B~66B 1.一键式 RLHF 训练 DeepSpeed Chat(一):理论篇 
2. 一键式 RLHF 训练 DeepSpeed Chat(二):实践篇
配套代码
MiniGPT-4(LLaMA) full fine-turning 7B 大杀器,多模态大模型MiniGPT-4入坑指南 N/A
Chinese-LLaMA-Alpaca(LLaMA) LoRA(预训练+微调) 7B 中文LLaMA&Alpaca大语言模型词表扩充+预训练+指令精调 配套代码
LLaMA QLoRA 7B/65B 高效微调技术QLoRA实战,基于LLaMA-65B微调仅需48G显存,真香 配套代码
LLaMA GaLore 60M/7B 突破内存瓶颈,使用 GaLore 一张4090消费级显卡也能预训练LLaMA-7B 配套代码

⬆ 一键返回目录

LLM微调技术原理

对于普通大众来说,进行大模型的预训练或者全量微调遥不可及。由此,催生了各种参数高效微调技术,让科研人员或者普通开发者有机会尝试微调大模型。

因此,该技术值得我们进行深入分析其背后的机理,本系列大体分七篇文章进行讲解。

peft方法

LLM微调实战

下面给大家分享大模型参数高效微调技术实战,该系列主要针对 HuggingFace PEFT 框架支持的一些高效微调技术进行讲解。

教程 代码 框架
大模型参数高效微调技术实战(一)-PEFT概述及环境搭建 N/A HuggingFace PEFT
大模型参数高效微调技术实战(二)-Prompt Tuning 配套代码 HuggingFace PEFT
大模型参数高效微调技术实战(三)-P-Tuning 配套代码 HuggingFace PEFT
大模型参数高效微调技术实战(四)-Prefix Tuning / P-Tuning v2 配套代码 HuggingFace PEFT
大模型参数高效微调技术实战(五)-LoRA 配套代码 HuggingFace PEFT
大模型参数高效微调技术实战(六)-IA3 配套代码 HuggingFace PEFT
大模型微调实战(七)-基于LoRA微调多模态大模型 配套代码 HuggingFace PEFT
大模型微调实战(八)-使用INT8/FP4/NF4微调大模型 配套代码 PEFT、bitsandbytes

⬆ 一键返回目录

LLM分布式训练并行技术

近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。

而利用AI集群,使深度学习算法更好地从大量数据中高效地训练出性能优良的大模型是分布式机器学习的首要目标。为了实现该目标,一般需要根据硬件资源与数据/模型规模的匹配情况,考虑对计算任务、训练数据和模型进行划分,从而进行分布式训练。因此,分布式训练相关技术值得我们进行深入分析其背后的机理。

下面主要对大模型进行分布式训练的并行技术进行讲解,本系列大体分九篇文章进行讲解。

⬆ 一键返回目录

分布式AI框架

分布式训练网络通信

待更新...

LLM训练优化技术

LLM对齐技术

⬆ 一键返回目录

LLM推理

推理引擎

迷你LLM推理引擎(非常适合源码学习):

生产级LLM推理引擎:

其他推理引擎:

推理服务

LLM推理优化技术

LLM压缩

近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,从而导致模型变得越来越大,因此,我们需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。 模型压缩主要分为如下几类:

LLM量化

本系列将针对一些常见大模型量化方案(GPTQ、LLM.int8()、SmoothQuant、AWQ等)进行讲述。

LLM稀疏化

目前,大多数针对大模型模型的压缩技术都专注于模型量化领域,即降低单个权重的数值表示的精度。另一种模型压缩方法模型剪枝的研究相对较少,即删除网络元素,包括从单个权重(非结构化剪枝)到更高粒度的组件,如权重矩阵的整行/列(结构化剪枝)。

本系列将针对一些常见大模型稀疏化方案(LLM-Pruner、SliceGPT、SparseGPT、Wanda等)进行讲述。

结构化剪枝:

非结构化剪枝:

LLM知识蒸馏

Standard KD:

使学生模型学习教师模型(LLM)所拥有的常见知识,如输出分布和特征信息,这种方法类似于传统的KD。

EA-based KD:

不仅仅是将LLM的常见知识转移到学生模型中,还涵盖了蒸馏它们独特的涌现能力。具体来说,EA-based KD又分为了上下文学习(ICL)、思维链(CoT)和指令跟随(IF)。

In-Context Learning:

Chain-of-Thought:

Instruction Following:

低秩分解

低秩分解旨在通过将给定的权重矩阵分解成两个或多个较小维度的矩阵,从而对其进行近似。低秩分解背后的核心思想是找到一个大的权重矩阵W的分解,得到两个矩阵U和V,使得W≈U V,其中U是一个m×k矩阵,V是一个k×n矩阵,其中k远小于m和n。U和V的乘积近似于原始的权重矩阵,从而大幅减少了参数数量和计算开销。

在LLM研究的模型压缩领域,研究人员通常将多种技术与低秩分解相结合,包括修剪、量化等。

LLM测评

LLM效果评测

测评集

Coding:

Agent:

Storage:

测评工具

LLM推理性能压测

llm-action (liguodongiot/llm-action)

Searching Database…

这是什么?这是一个中文的大语言模型工程深度教程合集:涵盖训练、微调、分布式训练、推理、压缩、评估、数据工程、LLMOps 和 AI 基础设施,以一份大索引的形式组织,链接到作者的系列文章,其中很多都附有配套代码。
这是可以安装的库或工具,还是别的东西?都不是——它是一份精心整理的阅读索引,不是软件。内容是中文 markdown 文章,加上每个实验对应的配套代码仓库链接;这个仓库本身没有任何需要安装或运行的东西。
刚接触大模型工程的新手应该从这里哪里入手?先看 README 顶部的目录。一个自然的路线是:先看 7 篇的参数高效微调系列(BitFit、P-Tuning、LoRA、QLoRA 等),再看 9 篇的分布式训练并行系列,然后是推理和部署。
这些教程基于哪些框架和工具?动手微调系列基于 HuggingFace PEFT(配合 bitsandbytes 支持 INT8/FP4/NF4);训练教程使用 PyTorch、Megatron-LM 和 DeepSpeed;推理方面涵盖 vLLM、SGLang、TensorRT-LLM 和 Triton 服务框架。
这个合集是完整的,还在陆续补充中?它是一个持续更新的文档,还在不断扩充:分布式训练的网络通信部分明确标注了'待更新',所以目录里承诺的内容并不是每一项都已经写好。
它是面向研究人员的,还是普通开发者也能受益?两者都适合。作者提到,参数高效微调的存在正是为了让普通研究者和开发者也能微调大模型,所以新手可以从 PEFT 入手,而分布式训练和部署部分的内容则适合进阶读者。
跟着学需要很强的 GPU 配置吗?只有动手实践的部分需要,而且不一定非要集群:LLaMA-65B 的 QLoRA 微调 48GB 显存就够,GaLore 甚至能在单张 RTX 4090 上预训练 LLaMA-7B;分布式训练系列则面向多卡和多机的环境。
在生产环境部署方面,它介绍了哪些推理引擎?它把 vLLM 和 SGLang 视为生产级推理引擎,还介绍了 LMDeploy、LightLLM、MNN-LLM 以及端侧多模态引擎 mllm,另有手把手的 TensorRT-LLM 教程和 Triton 服务框架的三篇系列指南。
有没有讲解推理引擎内部原理的学习材料?有——它链接了 Nano-vLLM(一个带注释的轻量级 vLLM 复现)和 Mini-SGLang(一个精简的 SGLang 实现),两者都被认为非常适合阅读源码学习。
它对准备大模型岗位的面试有帮助吗?有——专门设有一个大模型面试题板块,此外还有服务器环境配置指南和一个用于交流大模型工程的微信学习群。
它涵盖在国产 AI 硬件上运行大模型的内容吗?涵盖——索引中包含大模型适配国产硬件、AI 加速卡、AI 编译器、AI 基础设施和 AI 集群网络等板块。
What are similar projects?peft, halo, ms-swift, decider, InfraTech, Soup, Model-Optimizer, jeeves
Size
24.9 MB
Stars
25.2K
Updated
CommitOct 14
Age
3y
Commits · 90 Days