Files
happy-llm/README.md

131 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Happy LLM
## 大纲
### 第一章 NLP 基础概念 志学 Done
- 1.1 什么是 NLP
- 1.2 NLP 发展历程
- 1.3 NLP 任务
- 1.3.1 中文分词
- 1.3.2 子词切分
- 1.3.3 词性标注
- 1.3.4 文本分类
- 1.3.5 实体识别
- 1.3.6 关系抽取
- 1.3.7 文本摘要
- 1.3.8 机器翻译
- 1.3.9 自动问答
- 1.4 文本表示的发展历程
- 1.4.1 词向量
- 1.4.2 语言模型
- 1.4.3 Word2Vec
- 1.4.4 ELMo
### 第二章 基础架构-Transformer 雨衡 Done
- 2.1 注意力机制
- 2.1.1 注意力机制详解
- 2.1.2 自注意力与多头注意力
- 2.1.3 注意力掩码与因果注意力
- 2.2 Encoder-Decoder
- 2.2.1 Seq2Seq 模型
- 2.2.2 Encoder
- 2.2.3 Decoder
- 2.3 Transformer
- 2.3.1 Transformer 结构总览
- 2.3.2 Tokenizer 与 Embedding 层
- 2.3.3 位置编码
- 2.3.4 Transformer 中的其他结构
### 第三章 预训练语言模型 Partly Done
- 3.1 Encoder-Only PLM
- 3.1.1 BERT
- 1模型架构Encoder Only
- 2预训练任务
- 3针对下游任务微调
- 3.1.2 RoBERTa
- 3.1.3 ALBERT
- 3.2 Encoder-Decoder PLM
- 3.2.1 T5
- 1模型架构Encoder-Decoder
- 2预训练任务
- 3大一统思想
- 3.2.2 BART
- 3.2.3 XLNet
- 3.3 Decoder-Only PLM
- 3.3.1 GPT
- 1模型架构Decoder Only
- 2预训练任务
- 3GPT 的发展历程
- 3.3.2 LLaMA
- 1模型架构优化
- 2预训练数据
- 3LLaMA1 到 LLaMA2
- 3.3.3 ChatGLM
- 1模型架构Prefix-Decoder
- 2预训练数据
- 3ChatGLM 的发展历程
### 第四章 大语言模型 雨衡 Done
- 4.1 什么是 LLM
- 4.1.1 LLM 的定义
- 4.1.2 LLM 的能力
- 4.1.3 LLM 的特点
- 4.2 训练 LLM 的三个阶段
- 4.2.1 Pretrain
- 4.2.2 SFT
- 4.2.3 RLHF
### 第五章 动手搭建大模型
- 5.1 模型架构-LLaMA Done
- 5.1.1 LLaMA Attentœion
- 5.1.2 LLaMA Decoder Layer
- 5.1.3 LLaMA MLP
- 5.1.4 LLaMA RMSNorm
- 5.1.5 A Whole LLaMA
- 5.2 训练 Tokenizer
- 5.2.1 Word-based Tokenizer
- 5.2.2 Character-based Tokenzier
- 5.2.3 Subword Tokenizer
- 1BPE
- 2Word Piece
- 3Unigram
- 5.2.4 训练一个 Tokenizer
- 5.3 训练一个小型LLM
- 5.3.1 训练Tokenizer
- 5.3.2 数据预处理
- 5.3.3 训练模型
- 5.3.4 使用模型生成文本
### 第六章 训练 LLM
- 6.1 框架介绍
- 6.1.1 transformers
- 6.1.2 deepspeed
- 6.1.3 peft
- 6.1.4 trl
- 6.2 LLM Pretrain
- 6.2.1 初始化 LLM
- 6.2.2 预训练数据处理
- 6.2.3 使用 Trainer 进行预训练
- 6.3 LLM SFT
- 6.3.1 加载预训练模型
- 6.3.2 微调数据处理
- 6.3.3 使用 Trainer 进行微调
- 6.4 基于强化学习的偏好对齐
- 6.4.1 DPO 训练
- 6.4.2 KTO 训练
- 6.4.3 GRPO 训练
- 6.5 高效微调-LoRA
- 6.5.1 LoRA 原理
- 6.5.2 使用 peft 进行 LoRA 微调
### 第七章 大模型应用
- 7.1 LLM 的评测
- 7.1.1 LLM 的评测方法
- 7.1.2 主流的评测榜单
- 7.1.3 特定的评测榜单
- 7.2 RAG
- 7.2.1 RAG 的基本原理
- 7.2.2 搭建一个 RAG 框架
- 7.3 Agent
- 7.3.1 Agent 的基本原理
- 7.3.2 搭建一个 Multi-Agent 框架