TODO LIST
Papers
Conformer: Convolution-augmented Transformer for Speech Recognition: 语音conformer(视觉也有一篇重名了)
Python Tools
wandb:类似于 Tensorboard 的东西,待探索这类可视化工具对做实验是否有实际价值
argparse:
metavar
mmcv/utils/config.py:DictAction
继承自argparse.Action
,但似乎不能解析多重字典
配置解析:easydict.EasyDict,addict,yacs
numpy:
np.ndarray.flags, contiguaous
Pytorch
提高显卡利用率
多卡训练官方教程
Apex(timm中可以选择的并行方式)
基础分类的 Demo Code:Dataset,DataLoader,transformers(图像增强),Optimizers,Scheduler,梯度剪裁,Loss,DistributeDataParallel(已完成)Pytorch 笔记完善
scatter/gather
mmcv/parallel/scatter_gather.py
srgocr/core/parallel/scatter_gather.py
torch/nn/parallel/scatter_gather.py
torch/distributed/distributed_c10d.py
多进程库的使用
协程的概念与使用
pathlib:2021/11/3 完成(记录笔记推迟),官方文档链接,发现对 os.path 模块基本可以替换掉,但某些非 os.path 的函数例如 os.walk 没有很好的替代品
Deep Learning Papers and Corresponding Code
Transformer,ViT,Swin Transformer,DETR
目标检测:Cascade RCNN,HTC,YOLO
文字检测:PSE
OCR 文字识别:SAR
图网络与图像聚类结合的论文
剪枝蒸馏量化
GitHub Projects
mmcv,mmdetection(目标:不使用开发模式安装mmdet来开发项目),mmOCR
YOLOv5 vs YOLOv6
wenet: C++ runtime faiss: C++ and CUDA implement for KNN mmdeploy: 了解怎么将模型导出
CS Tools
docker 使用及 Dockfile 的编写,“轻量”且“标准”容器的构建
vscode 推荐配置摸索与整理
shell 脚本学习与笔记完善
vim 的基本使用与插件
浏览器开发者工具的使用
pdb 与 pudb
git 换行符问题,参考链接做笔记整理
missing semester 第5课(记录在shell and linux中即可)
job control
tmux
dotfile 配置
remote
学习计划
Jekyll 模板的摸索与 GitHub Pages 的探索
《linux shell scripting cookbook (2ed)》
missing semester 全部课程及作业
CPython Internals (随缘)
CUDA C 基础学习,oneflow、pytorch 选学
杂项
数据转换:COCO-YOLOv5互转,mxnet RECORD格式,lmdb格式
Python自带的数据库:sqlite3
JPG 与 PNG 格式详解(可以看看冈萨雷斯的书上是否有记录)
pytorch 自动求导实现:https://colab.research.google.com/drive/1VpeE6UvEPRz9HmsHh1KS0XxXjYu533EC
Blog Update Plan
Jekyll、html/css/javascript 简介
Swin Transformer
HMM 语音识别模型(含 EM 算法)
MFCC 具体解释
Link
cmake:
python 打包相关:
包含了一些关于上传至 PyPI 和 Test PyPI 的知识, 示例使用的是
src
结构与pyproject.toml
的方式组织代码结构
打包配置文件:
pytest.ini
,pyproject.toml
,tox.ini
,setup.cfg
(不推荐)
python包的组织形式: src layout vs flatlayout
结论: 如果希望作为python包来写, 推荐使用 src layout
python 协程相关:
realpython文章: 未消化
pytest:
项目源码推荐用 src layout, 测试代码推荐独立于项目源码, pytest 的 import mode 推荐 importlib(存疑, 似乎导致各个test脚本之间不能import), 参考博客
关于 setup.py, setup.cfg and pyproject.toml 以及 pytest 搭配用的实际例子可以参考 transformers 代码库学习
2023 全年计划
已确定的
几种流行的大模型结构, 包括但不限于: OPT、BLOOM、LLAMA、GLM、GPTJ、GPTNEO、GPTNEOX、MOSS、RWKV 等
大模型训练所需的数据结构研究
GPT-2 详解: 新增博客
triton: 新增笔记
CUDA: 新增笔记, 长期维护 (各种和 Nvidia 显卡相关的内容汇聚一下)
torch benchmark, profiler 等性能测试: 新增博客
bitandbytes: 新增博客
huggingface optimum: 待定
自动微分: 结合陈天奇课程深入理解实现, 完善博客
huggingface peft: 新增博客
AutoGPTQ: 博客完善, 基本上需要结合前面所有的内容
streamlet、gradio: 学习, 但不确定记录形式, 以及是否记录, 可能会写一些demo保存起来即可
暂时未定的
分布式训练: 结合李沐几篇论文精读以及torch自身的分布式内容整合为博客, 放至最后
tvm/fastertransformer: 暂时不定
torch.fx, torch.trace, torch.script, torch.compile: 暂时不定
LLM 学习通盘计划
受到 C-Eval 介绍博客后, 计划对整个 LLM 的学习计划做个梳理, 以便全局把控
前沿动态: 需关注国际先进公司(参考 C-Eval 博客末尾)的论文/博客/新闻等, 具体关注名单与链接地址待更新
大规模开源无标注数据集 (可参考 Llama/Bloom/Opt 等论文里的描述)
指令微调数据集
利用现有大模型能力的玩法
Alpaca 有一种套提示词的做法
CoT
大模型评估数据集 (可参考 GPT-4 发布博客)
MMLU
MATH
C-Eval
模型结构 (也包含 Tokenizer/位置编码等细节)
GPTJ
GPT-Neox
Llama
模型训练方法及高效/省资源方法
自动微分
训练显存需求估算
多卡训练
Pytorch DDP
Pytorch FSDP
Deepspeed
PEFT
Lora
P-Tuning
QAT (Quantization Aware Training)
模型推理加速
fastertransformer
tvm
TensorRT
triton 算子
CUDA 算子
量化
GPTQ
LLM.int8 (bitandbytes)
模型推理服务(工程优化)
triton inference server
细碎的小问题
C++ 中的移动构造函数, std::move 的语义和用途
https://chatgpt.com/share/66e93097-b5cc-800d-8ea3-3823725ce3f3
CPython 中 exec 的具体执行过程
https://chatgpt.com/share/66e930d0-0578-800d-afee-fc51965583e3
Last updated