Files
happy-llm/README.md

3.4 KiB
Raw Blame History

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