大模型 活跃维护

llm-action

liguodongiot/llm-action

本项目旨在分享大模型相关技术原理以及实战经验(大模型工程化、大模型应用落地)

25095
Stars 标星
2849
Forks 分支
205
Watchers 关注
20
Open Issues
HTML
主要语言
Apache-2.0
开源协议
24.8 MB
仓库大小
3 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:liguodongiot/llm-action
git clone https://github.com/liguodongiot/llm-action.git
git clone git@github.com:liguodongiot/llm-action.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

LLM training

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微调技术原理

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

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

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框架

  • PyTorch
    • PyTorch 单机多卡训练
    • PyTorch 多机多卡训练
  • Megatron-LM
  • DeepSpeed
    • DeepSpeed 单机多卡训练
    • DeepSpeed 多机多卡训练
  • Megatron-DeepSpeed
    • 基于 Megatron-DeepSpeed 从 0 到1 完成 LLaMA 预训练
    • 基于 Megatron-DeepSpeed 从 0 到1 完成 Bloom 预训练
  • Nanotron:一个用于预训练 Transformer 模型的库,其设计目标是易用、快速且可扩展。
  • Pai-Megatron-Patch:基于阿里云智算服务PAI-灵骏平台的大模型最佳实践解决方案配套工具。是各类开源大模型和Megatron训练加速引擎之间的“桥梁”,为用户提供用Megatron训练开源大模型的易用性以及LLM算法场景定制化的灵活性。 同时它可以帮助大模型开发者快速上手PAI灵骏产品,完成大模型的高效分布式训练,有监督指令微调,模型离线推理验证等完整大模型开发链路。

分布式训练网络通信

待更新...

LLM训练优化技术

  • FlashAttention V1、V2
  • 混合精度训练
  • 重计算
  • MQA / GQA
  • 梯度累积

LLM对齐技术

  • PPO(近端策略优化)
  • DPO
  • ORPO

⬆ 一键返回目录

LLM推理

推理引擎

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

  • Nano-vLLM源码注释:从头开始构建的轻量级 vLLM 实现。
  • Mini-SGLang:一个轻量但高性能的大型语言模型推理框架,SGLang 的紧凑实现。

生产级LLM推理引擎:

其他推理引擎:

  • LMDeploy
  • LightLLM:纯Python开发的大语言模型推理和服务框架
  • MNN-LLM:基于MNN引擎开发的大型语言模型运行时解决方案
  • 赤兔
  • mllm:端侧多模态LLM推理引擎

推理服务

LLM推理优化技术

LLM压缩

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

  • 模型剪枝(Pruning)
  • 知识蒸馏(Knowledge Distillation)
  • 模型量化(Quantization)
  • 低秩分解(Low-Rank Factorization)

LLM量化

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

LLM稀疏化

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

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

结构化剪枝:

  • LLM-裁剪器(LLM-裁剪器:大语言模型的结构化剪枝)
  • LLM-剪切(剪切的LLaMA:通过结构化剪枝加速语言模型预训练)
  • SliceGPT:通过删除行和列压缩大语言模型
  • LoSparse

非结构化剪枝:

  • SparseGPT(SparseGPT:大规模语言模型可以一次性精确裁剪)
  • LoRAPrune(LoRAPrune:裁剪与低秩参数高效微调的结合)
  • Wanda(用于大型语言模型的一种简单而有效的裁剪方法)
  • Flash-LLM(Flash-LLM:通过非结构化稀疏性实现成本效益高且高效的大型生成模型推理)

LLM知识蒸馏

标准知识蒸馏(KD):

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

  • MINILLM
  • GKD

基于EA的知识蒸馏(KD):

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

上下文学习:

  • 上下文学习蒸馏

思维链(Chain-of-Thought):

  • MT-COT
  • 微调-思维链(Fine-tune-CoT)
  • DISCO
  • SCOTT
  • 苏格拉底式思维链(SOCRATIC CoT)

遵循指令(Instruction Following):

  • Lion

低秩分解

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

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

  • ZeroQuant-FP(低秩分解+量化)
  • LoRAPrune(低秩分解+剪枝)

LLM Evaluation

LLM效果评测

测评集

  • C-Eval:一个全面的中文基础模型评估套件,涵盖了52个不同学科的13,948个多项选择题,分为四个难度等级。
  • CMMLU:一个专门设计用于评估语言模型在中文环境下知识和推理能力的综合性中文评估基准。CMMLU 涵盖从基础学科到高级专业水平的 67 个学科。它包括:需要计算和推理的自然科学、需要知识的 humanities 与社会科学,以及需要日常常识的中国交通规则。此外,CMMLU 中的许多任务具有中国特定的答案,可能在其他地区或语言中不广泛适用。因此,它是一个完全本地化的中文测试基准。
  • LVEval:一个具备5个长度等级(16k、32k、64k、128k和256k)、最大文本测试长度达到256k的长文本评测基准。LV-Eval的平均文本长度达到102,380字,最小/最大文本长度为11,896/387,406字。LV-Eval主要有两类评测任务——单跳QA和多跳QA,共包含11个涵盖中英文的评测数据子集。LV-Eval设计时引入3个关键技术:干扰事实插入(Confusiong Facts Insertion,CFI)提高挑战性,关键词和短语替换(Keyword and Phrase Replacement,KPR)减少信息泄漏,以及基于关键词召回的评测指标(Answer Keywords,AK,指代结合答案关键词和字词黑名单的评价指标)提高评测数值客观性。
  • IFEval: Instruction Following Eval/Paper:专注评估大模型遵循指令的能力,包含关键词检测、标点控制、输出格式要求等25种任务。
  • SuperCLUE:一个综合性大模型评测基准,本次评测主要聚焦于大模型的四个能力象限,包括语言理解与生成、专业技能与知识、Agent智能体和安全性,进而细化为12项基础能力。
  • AGIEval:用于评估基础模型在与人类认知和解决问题相关的任务中的能力。该基准源自 20 项面向普通考生的官方、公开、高标准的入学和资格考试,例如:普通大学入学考试(例如:中国高考(Gaokao)和美国 SAT)、法学院入学考试、数学竞赛、律师资格考试、国家公务员考试。
  • LongBench:一个双语(中英文)多任务基准数据集,旨在评估大语言模型的长上下文理解能力。它包含21个任务,涵盖单文档问答、多文档问答、摘要、小样本学习、合成任务和代码补全等。数据集平均任务长度范围为5k到15k,共包含4750个测试数据。LongBench 采用全自动评估方法,旨在以最低的成本衡量和评估模型理解长上下文的能力。

编程:

  • Terminal-Bench v2:一套命令行基准测试套件,用于评估 AI 代理在 89 个真实世界的多步骤终端任务中的表现。这些任务涵盖编译、调试到系统管理等多个方面,并在隔离的容器环境中运行,配有严格的验证机制。
  • SWE-bench:一个用于评估大型语言模型在真实世界软件问题上表现的基准测试,这些问题收集自GitHub。 给定一个代码库和一个问题,语言模型的任务是生成一个补丁来解决描述的问题。

特工:

  • Claw-Eval:Claw-Eval 是一个用来评估大语言模型作为智能体的评估工具。所有任务均经过人工验证。

存储:

  • MLPerf Storage Benchmark:用于评估机器学习训练场景下存储系统性能的开源基准测试套件。核心目标是衡量存储系统能否以足够快的速度向计算GPU提供训练数据,从而避免昂贵的GPU算力闲置。

测评工具

  • OpenCompass:司南 2.0 大模型评测体系。
  • EvalScope:魔搭社区官方推出的模型评测与性能基准测试框架,专为多样化的模型评估需求而设计。它支持广泛的模型类型,包括但不限于大语言模型、多模态模型、Embedding 模型、Reranker 模型和 CLIP 模型。EvalScope还适用于多种评测场景,如端到端RAG评测、竞技场模式和模型推理性能压测等,其内置多个常用测试基准和评测指标,如MMLU、CMMLU、C-Eval、GSM8K等。

LLM推理性能压测

指标 描述 Aggregations
首个令牌时间 从发送请求到接收到其第一个响应之间的时间,每个基准请求一个值 平均值、最小值、最大值、第99百分位、第90百分位、第75百分位
到第二个令牌的时间 从接收到第一个流式响应到接收到第二个流式响应的时间,每个基准请求一个值 平均值,最小值,最大值,第99百分位,第90百分位,第75百分位
令牌间延迟 单次请求中中间响应之间的时间除以后一个响应生成的令牌数量,每个基准请求的每个响应对应一个值 平均值、最小值、最大值、第99百分位、第90百分位、第75百分位
请求延迟 从发送请求到收到最终响应之间的时间,每个基准测试请求一个值 平均值,最小值,最大值,第99百分位,第90百分位,第75百分位
输出序列长度 请求的输出令牌总数,每个基准请求一个值 平均值,最小值,最大值,p99,p90,p75
输入序列长度 请求的输入令牌总数,每个基准测试请求一个值 平均值,最小值,最大值,p99,p90,p75
输出令牌吞吐量 基准测试的总输出令牌数除以基准测试的持续时间 无–每个基准测试一个值
请求吞吐量 基准测试的最终响应数除以基准测试持续时间 无–每个基准测试一个值

LLM数据工程

大型语言模型数据工程

预训练语料处理技术

  • 数据收集
  • 数据处理
    • 去重
    • 过滤
    • 选择
    • 组合

LLM微调高效数据筛选技术

提示工程

  • 零样本提示
  • 少量示例提示
  • 思路链 (CoT) 提示
  • 自动思维链(Auto-CoT)提示
  • 树状思维(ToT)提示

LLM算法架构

LLM应用开发

大模型是基座,要想让其变成一款产品,我们还需要一些其他相关的技术,比如:向量数据库(Pinecone、Milvus、Vespa、Weaviate),LangChain等。

Agent应用

Harness:

AI Assistant:

Code Agent:

LLM国产化适配

随着 ChatGPT 的现象级走红,引领了AI大模型时代的变革,从而导致 AI 算力日益紧缺。与此同时,中美贸易战以及美国对华进行AI芯片相关的制裁导致 AI 算力的国产化适配势在必行。本系列将对一些国产化 AI 加速卡进行讲解。

⬆ 一键返回目录

AI编译器

AI编译器是指将机器学习算法从开发阶段,通过变换和优化算法,使其变成部署状态。

框架:

  • MLIR
  • XLA
  • TVM

AI基础设施

AI加速卡

AI集群

待更新...

AI集群网络通信

待更新...

  • 分布式训练网络通讯原语
  • AI 集群通信软硬件

LLMOps

LLM生态相关技术

LLM性能分析

  • PyTorch Profiler
  • NVIDIA Nsight Systems
  • NVIDIA Nsight Compute

LLM面试题

正在收集中...

⬆ 一键返回目录

服务器基础环境安装及常用工具

基础环境安装:

常用工具:

LLM学习交流群

我创建了大模型相关的学习交流群,供大家一起学习交流大模型相关的最新技术,目前已有5个群,每个群都有上百人的规模,可加我微信进群(加微信请备注来意,如:进大模型学习交流群+GitHub,进大模型推理加速交流群+GitHub、进大模型应用开发交流群+GitHub、进大模型校招交流群+GitHub等)。一定要备注哟,否则不予通过。

PS:成都有个本地大模型交流群,想进可以另外单独备注下。

微信公众号

微信公众号:吃果冻不吐果冻皮,该公众号主要分享AI工程化(大模型、MLOps等)相关实践经验,免费电子书籍、论文等。

⬆ 一键返回目录

Star History

AI工程化课程推荐

如今人工智能的发展可谓是如火如荼,ChatGPT、Sora、文心一言等AI大模型如雨后春笋般纷纷涌现。AI大模型优势在于它能处理复杂性问题;因此,越来越多的企业需要具备AI算法设计、AI应用开发、模型推理加速及模型压缩等AI工程化落地的能力。这就导致行业内的工程师,需要快速提升自身的技术栈,以便于在行业内站稳脚跟。我在llm-resource 和 ai-system梳理了一些大模型和AI工程化相关资料。

本站来源与版权声明
  • 本文标题:llm-action - This project aims to share
  • 本文链接:https://www.cn121.com/llm/liguodongiot-llm-action.html
  • 原项目:liguodongiot/llm-action 版权归原作者 liguodongiot 及贡献者所有
  • 收录信息:本站于 2026-09-23 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 liguodongiot/llm-action。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。