本项目旨在分享大模型相关技术原理以及实战经验。
- 🔥 LLM训练
- 🐫 LLM训练实战
- 🐼 LLM参数高效微调技术原理综述
- 🐰 LLM参数高效微调技术实战
- 🐘 LLM分布式训练并行技术
- 🌋 分布式AI框架
- 📡 分布式训练网络通信
- 🐎 LLM推理
- ♻️ LLM压缩
- 📐 LLM量化
- LLM算法架构
- 🧩 LLM应用开发
- 🀄 LLM国产化适配
- 🍄 LLM生态相关技术
- 🔨 服务器基础环境安装及常用工具
- 💬 LLM学习交流群
- 👥 微信公众号
- ⭐ Star History
下面汇总了我在大模型实践中训练相关的所有教程。从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显存,真香 | 配套代码 |
对于普通大众来说,进行大模型的预训练或者全量微调遥不可及。由此,催生了各种参数高效微调技术,让科研人员或者普通开发者有机会尝试微调大模型。
因此,该技术值得我们进行深入分析其背后的机理,本系列大体分七篇文章进行讲解。
- 大模型参数高效微调技术原理综述(一)-背景、参数高效微调简介
- 大模型参数高效微调技术原理综述(二)-BitFit、Prefix Tuning、Prompt Tuning
- 大模型参数高效微调技术原理综述(三)-P-Tuning、P-Tuning v2
- 大模型参数高效微调技术原理综述(四)-Adapter Tuning及其变体
- 大模型参数高效微调技术原理综述(五)-LoRA、AdaLoRA、QLoRA
- 大模型参数高效微调技术原理综述(六)-MAM Adapter、UniPELT
- 大模型参数高效微调技术原理综述(七)-最佳实践、总结
下面给大家分享大模型参数高效微调技术实战,该系列主要针对 HuggingFace PEFT 框架支持的一些高效微调技术进行讲解,共6篇文章。
教程 | 代码 | 框架 |
---|---|---|
大模型参数高效微调技术实战(一)-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 |
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。
而利用AI集群,使深度学习算法更好地从大量数据中高效地训练出性能优良的大模型是分布式机器学习的首要目标。为了实现该目标,一般需要根据硬件资源与数据/模型规模的匹配情况,考虑对计算任务、训练数据和模型进行划分,从而进行分布式训练。因此,分布式训练相关技术值得我们进行深入分析其背后的机理。
下面主要对大模型进行分布式训练的并行技术进行讲解,本系列大体分八篇文章进行讲解。
- 大模型分布式训练并行技术(一)-概述
- 大模型分布式训练并行技术(二)-数据并行
- 大模型分布式训练并行技术(三)-流水线并行
- 大模型分布式训练并行技术(四)-张量并行
- 大模型分布式训练并行技术(五)-序列并行
- 大模型分布式训练并行技术(六)-多维混合并行
- 大模型分布式训练并行技术(七)-自动并行
- 大模型分布式训练并行技术(八)-MOE并行
- 大模型分布式训练并行技术(九)-总结
- PyTorch
- PyTorch 单机多卡训练
- PyTorch 多机多卡训练
- Megatron-LM
- Megatron-LM 单机多卡训练
- Megatron-LM 多机多卡训练
- 基于Megatron-LM从0到1完成GPT2模型预训练、模型评估及推理
- DeepSpeed
- DeepSpeed 单机多卡训练
- DeepSpeed 多机多卡训练
- Megatron-DeepSpeed
- 基于 Megatron-DeepSpeed 从 0 到1 完成 LLaMA 预训练
- 基于 Megatron-DeepSpeed 从 0 到1 完成 Bloom 预训练
- 分布式训练网络通讯原语
- AI 集群通信软硬件
训练后量化:
- SmoothQuant
- ZeroQuant
训练感知量化:
- 大模型算法演进
- ChatGLM / ChatGLM2 大模型解析
- Bloom 大模型解析
- LLaMA / LLaMA2 大模型解析
随着 ChatGPT 的现象级走红,引领了AI大模型时代的变革,从而导致 AI 算力日益紧缺。与此同时,中美贸易战以及美国对华进行AI芯片相关的制裁导致 AI 算力的国产化适配势在必行。本系列将对一些国产化 AI 加速卡进行讲解。
- 大模型国产化适配1-华为昇腾AI全栈软硬件平台总结
- 大模型国产化适配2-基于昇腾910使用ChatGLM-6B进行模型推理
- 大模型国产化适配3-基于昇腾910使用ChatGLM-6B进行模型训练
- 大模型国产化适配4-基于昇腾910使用LLaMA-13B进行多机多卡训练
大模型是基座,要想让其变成一款产品,我们还需要一些其他相关的技术,比如:向量数据库(Pinecone、Milvus、Vespa、Weaviate),LangChain等。
- 大模型词表扩充必备工具SentencePiece
- 大模型实践总结
- 百川智能开源大模型baichuan-7B技术剖析
- 百川智能开源大模型baichuan-13B技术剖析
- ChatGLM 和 ChatGPT 的技术区别在哪里?
- 现在为什么那么多人以清华大学的ChatGLM-6B为基座进行试验?
- 关于大模型驱动的AI智能体Agent的一些思考
- 为什么很多新发布的大模型默认使用BF16而不是FP16?
基础环境安装:
常用工具:
- Linux 常见命令大全
- Conda 常用命令大全
- Poetry 常用命令大全
- Docker 常用命令大全
- Docker Dockerfile 指令大全
- Kubernetes 常用命令大全
- 集群环境 GPU 管理和监控工具 DCGM 常用命令大全
我创建了大模型学习交流群,供大家一起学习交流大模型相关的最新技术,目前已有5个群,每个群都有上百人的规模,可加我微信进群(加微信请备注来意,如:进大模型学习交流群+GitHub)。一定要备注哟,否则不予通过。
PS:成都有个本地大模型交流群,想进可以另外单独备注下。
微信公众号:吃果冻不吐果冻皮,该公众号主要分享AI工程化(大模型、MLOps等)相关实践经验,免费电子书籍、论文等。