大语言模型课程

mlabonne/llm-course 访问 GitHub ↗
★ 84042 ⑂ 0 daily #11 (+81) 抓取 2026-10-19

一句话简介

一套系统化的大语言模型学习课程,覆盖从基础概念、Transformer 架构到微调、对齐与部署的完整路径,适合不同阶段的学习者。

标签

  • 大语言模型
  • 深度学习
  • 课程教程
  • Transformer
  • 模型微调

适用应用场景

  • 系统学习 LLM 原理与实战
  • 完成模型微调与对齐项目
  • 准备大模型相关面试与竞赛
  • 搭建本地 LLM 应用与部署方案

README 中文摘要

LLM 课程:从入门到实践

课程概览

本课程系统性地介绍了大语言模型(LLM)的核心知识与工程实践,分为三个递进的部分:

  • LLM 基础知识(可选):涵盖机器学习所需的数学、Python 与神经网络基础。
  • LLM 科学家:聚焦于使用最新技术构建高质量大模型。
  • LLM 工程师:侧重于基于 LLM 的应用开发与部署。

每个章节都配有 Colab 笔记本和博客文章链接,便于读者边学边练。

学习路线图

数学基础

机器学习算法依赖三类数学知识:

  • 线性代数:向量、矩阵、特征值、线性变换等概念,是理解深度学习的关键。
  • 微积分:包括导数、积分、极限、级数以及多变量微积分中的梯度概念。
  • 概率与统计:概率理论、随机变量、分布、期望、方差、最大似然估计与贝叶斯推断。

Python 与机器学习

Python 因可读性与丰富的数据科学生态而成为首选语言。核心要点包括:

  • 基础语法与数据结构:数据类型、错误处理、面向对象编程。
  • 数据科学库:NumPy(数值运算)、Pandas(数据处理)、Matplotlib 与 Seaborn(可视化)。
  • 数据预处理:特征缩放、缺失值处理、异常检测、类别编码、数据集划分。
  • 机器学习库:Scikit-learn 提供了线性回归、决策树、KNN、K-means、PCA、t-SNE 等算法实现。

神经网络与 NLP

神经网络的核心是层、权重、偏置和激活函数。训练过程涉及反向传播、MSE/交叉熵损失函数以及 Adam 等优化器;过拟合问题借助 Dropout、L1/L2 正则化与早停法缓解。

自然语言处理部分则覆盖文本预处理(分词、词干化、停用词移除)、特征提取(BoW、TF-IDF)、词嵌入(Word2Vec、GloVe、FastText)以及 RNN/LSTM/GRU 等序列模型。

LLM 科学家:构建最佳模型

Transformer 架构

现代大模型基于解码器架构(如 GPT),处理流程分为三个阶段:

  • 分词:将文本转换为数值表示。
  • 注意力机制:通过自注意力捕获长距离依赖。
  • 采样策略:贪心搜索、束搜索、温度采样与核采样的权衡选择。

预训练

预训练需要海量数据集(如 Llama 3.1 使用 15 万亿 token)。关键技术包括:

  • 数据准备:清洗、去重、过滤低质量内容。
  • 分布式训练:数据并行、流水线并行与张量并行的组合使用。
  • 训练优化:采用 AdamW、Lion 等优化器,混合精度训练以节省显存。
  • 监控指标:损失曲线、梯度范数与 GPU 资源使用情况。

后训练数据集

后训练数据采用指令-回答或指令-偏好对的结构。常用存储格式包括 ShareGPT 与 OpenAI/HF 格式,并通过 ChatML 或 Alpaca 等对话模板进行映射。数据生成可采用 GPT-4o 等前沿模型进行合成,并通过拒绝采样、Auto-Evol、思维链等技术增强多样性。

监督微调(SFT)

SFT 将基础模型转化为可遵循指令的助手。核心方法对比:

  • 全参数微调:更新全部参数,计算开销大。
  • LoRA / QLoRA:仅训练少量适配器参数,QLoRA 进一步结合 4-bit 量化以降低显存占用。

主流框架包括 TRL、Unsloth 与 Axolotl。关键参数包括学习率调度、批量大小、LoRA rank(16-128)、alpha(通常为 rank 的 1-2 倍)等。

偏好对齐

偏好对齐用于调整模型语气、降低毒性并提升回答质量。重要算法包括:

  • 拒绝采样:基于模型自身生成多个回答并打分,构建 on-policy 数据。
  • DPO(直接偏好优化):直接优化策略以最大化偏好回答的概率。
  • 奖励模型:利用人类反馈训练评分模型。
  • 强化学习:使用 GRPO 或 PPO 等算法进一步优化。

LLM 工程师:从模型到应用

工程师路线图涵盖:

  • 模型部署:通过 RunPod 自动评估模型,利用 LazyMergekit 进行一键合并。
  • 量化压缩:支持 GGUF、GPTQ、EXL2、AWQ、HQQ 等多种格式。
  • 应用构建:使用 ZeroSpace 自动创建 Gradio 聊天界面,借助 AutoAbliteration 移除模型限制。
  • 数据处理:通过 AutoDedup 利用 Rensa 库自动去重数据集。

实践笔记本

课程提供丰富的 Colab 实战资源:

微调方向

  • 使用 Unsloth 高效微调 Llama 3.1
  • 使用 ORPO 单阶段微调 Llama 3
  • 使用 DPO 提升 Mistral-7b 性能
  • 使用 QLoRA 在免费 Colab 中微调 Mistral-7b
  • 使用 Axolotl 微调 CodeLlama

量化方向

  • 8-bit 量化入门
  • 使用 GPTQ 进行 4-bit 量化
  • 使用 llama.cpp 生成 GGUF 格式
  • 使用 ExLlamaV2 量化与部署

其他主题

  • 使用 MergeKit 合并模型
  • 构建混合专家模型(MoE)
  • 通过 abliteration 解除模型限制
  • 利用知识图谱增强 ChatGPT
  • 解码策略详解(从束搜索到核采样)

推荐学习资源

课程推荐了 3Blue1Brown 的线性代数与神经网络系列、StatQuest 的统计学讲解、Khan Academy 的交互式课程,以及 Fast.ai 的实践深度学习课程。这些资源覆盖了从基础理论到前沿技术的完整学习路径,适合不同水平的学习者系统性地掌握 LLM 技术。

摘要更新于 2026-10-19 01:19:55 · 原文 56488 字符 · md5 635a29af673d…