theme | _class | paginate | backgroundColor | marp |
---|---|---|---|---|
gaia |
lead |
true |
true |
第1讲: 课程简介
讲师: 徐经纬
办公室: 计算机学院1022
课程主页: TBD
- 课程大纲
- 参考资料
- QQ群: 208283743
- 分数组成
- 平时编程作业 60%
- 期末编程大作业 40%
- 注: 对GPU资源有一定要求
- Swift程序设计语言
- iOS App开发技术
- iOS 人工智能(机器学习)技术应用
- 图像类应用
- 文本类应用
- 何为深度(机器)学习模型
- 如何开发一个模型
- 数据、模型、训练算法
- PyTorch基础*
- 相关概念光速入门
- 机器学习概念、反向传播
- 一切源自于如何建模自然语言: 统计模型
- Bigram/N-gram Language Model
- 模型如何认识单词: 问就是编码
- one-hot编码, word2vec, tokenization
- 模型如何理解语言: Attention is All You Need
- attention, softmax, positional embedding, ...
- 了解基础组件
- Transformer, 残差(residual), layernorm
- 一起搭LLM积木
- Encoder-decoder, decoder only
- 代码案例: 典型LLM架构代码解析
- LlaMA家族
“虚的讲完了,让我们实际一点”
- LLM如何在计算机中被创建
- 运行设备:CPU,GPU,TPU...
- 精度: fp32, fp16, bf16, 混合精度...
- 分布式运行: 分布式数据并行DDP, ZeRO, FSDP, Deepspeed...
- LLM预训练和微调训练
- 训练概念介绍
- 数据集和数据加载过程构建
- 微调流程构建(含对齐(Alignment))
- SFT: SFT, PEFT, LoRA
- RL*: RLHF, PPO, DPO
- 如何推理模型
- KV-cache, 量化(Quantization)
应用技术
- 检索增强生成(RAG)
- LLMs as Agents
应用场景
- 聊天, 多模态, 数学, 代码生成
- 实践体现在无处不在的手撸代码过程
- 你会了解和学习:
- PyTorch
- Transformers and PEFT (from Huggingface)
- 以及其他流行开源框架
例如: 以下代码是如何执行的?
model.from_pretrained("meta-llama/Meta-Llama-3.1-8B-Instruct")
人工智能=人工+智能
训练过程 人工:大力出奇迹 智能:构建分布
推理过程
条件概率
- 自然语言
- 人类使用的语言,如汉语、英语、西班牙语、代码等 -> 文本符号
- 自然语言处理的定义
- “自然语言处理(NLP)是语言学、计算机科学和人工智能的跨学科子领域,关注计算机和人类语言之间的交互,特别是如何编程使计算机能够处理和分析大量的自然语言数据。其目标是使计算机能够“理解”文档的内容,包括其中的语言背景细微差别。然后,这项技术可以准确提取文档中包含的信息和见解,以及对文档本身进行分类和组织。” From WikiPedia, ChatGPT翻译
- 自然语言理解,自然语言生成
- 请填空: 今天我来到了___
- 今天的天气____
- 自然语言处理的任务本质上是一个“填词游戏”
- 目标:如何填的准、说得好
- 手段:条件概率$\mathrm{p}(y|x)$
- 填的准≠人类知道机器按照人类理解世界的方式理解世界
基本法: 链式法则
句子由任意长度的字符串组成
- 句子a = 今天我来到了仙II-212。
- 句子b = 今天仙II-212我来到了。
- 用概率衡量句子的“好”:
$\mathrm{p}(a) > \mathrm{p}(b)$ *自然语言处理(NLP)模型:估计出的(相对准确的)概率分布
基本法: 链式法则
- 理想: 直接估计出的(相对准确的)句子概率分布
- 现实: 参考人类小孩学说话,一个字一个字的说
- 怎么学? 链式法则
这就是经典的N-gram model
- 2017年6月之前
- RNN系列
- 2017年-2022年
- Attention
- Transformer界的剑宗气宗之争
- Encoder-decoder派: BERT
- Decoder-only派: GPT系列
文字接龙(GPT) v.s. 完形填空(BERT)
<style> img[alt~="top-right"] { display: block; margin: 0 auto; } </style> <style> img[alt~="bottom-right"] { position: absolute; top: 400px; right: 0px; } </style>- OpenAI发布ChatGPT
- GPT系列: GPT-3.5, GPT-4, GPT-4 Turbo, GPT4o...
- 其他公司
- 国外: LlaMA家族, Gemini, Mistral, Mixtral, Claude, ...
- 国内: Deepseek, 文心一言, GLM(智谱清言), Moonshot(月之暗面), 通义千问, abab(MiniMax), ...
-
深度学习框架: PyTorch
-
模型社区: Huggingface
-
其他: LlaMA-factory, deepspeed, magatron, triton, llama.cpp, llama2.c, llm.c, ...
-
开发语言: Python, CUDA, C++, ...
准备:
- Python 3.8+
- 设备: 最好有N卡,实在没有也没关系,内存大一点
- 虚拟环境: conda
- 环境配置: PyTorch, Transformers, PEFT, triton, ...
- 绝大部分可通过pip或conda安装