TODO LIST

Papers

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 没有很好的替代品

h5py

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

pdfminer

pdfplumber

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

代码文档自动生成:MkDocs,使用例子:Spektral

JPG 与 PNG 格式详解(可以看看冈萨雷斯的书上是否有记录)

  • pytorch 自动求导实现:https://colab.research.google.com/drive/1VpeE6UvEPRz9HmsHh1KS0XxXjYu533EC

Blog Update Plan

  • Jekyll、html/css/javascript 简介

  • Swin Transformer

  • HMM 语音识别模型(含 EM 算法)

  • MFCC 具体解释

cmake:

python 打包相关:

python 协程相关:

pytest:

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)

  • 模型推理服务(工程优化)

Last updated