📘
notes
  • Center
  • Language
    • Python
      • Python environment
      • Advanced Python
      • Python Standard Libary
      • Python Third Party
      • CPython
      • Python MISC
    • C++
      • C++ Draft
    • Java
      • JavaSE
    • SQL
      • SQL
    • Rust
      • Rust
  • Tool
    • Git
    • Docker
    • Database
    • Linux & Shell
      • shell-cheet-sheet
    • Vim
    • gcc & make & cmake
    • misc
  • Note
    • DL
      • DL-deploy
      • huggingface
      • pytorch-lightning
      • Pytorch
      • TensorFlow
    • NLP
    • CV
      • OpenCV
      • mmlab
    • Audio
    • GNN
    • CUDA
    • Triton
    • TODO LIST
    • Draft
  • Learn
    • C++ Primer
    • C++ Primer Plus
    • CSAPP
    • CPython Internals
Powered by GitBook
On this page
  • Papers
  • Python Tools
  • Deep Learning Papers and Corresponding Code
  • GitHub Projects
  • CS Tools
  • 学习计划
  • 杂项
  • Blog Update Plan
  • Link
  • 2023 全年计划
  • LLM 学习通盘计划
  • 细碎的小问题

Was this helpful?

Edit on GitHub
  1. Note

TODO LIST

PreviousTritonNextDraft

Last updated 7 months ago

Was this helpful?

Papers

  • : Pytorch DDP 实现

  • : 量化(结合微信收藏看)

  • : 细粒度分类

  • : 语音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

多进程库的使用

协程的概念与使用

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

CS Tools

docker 使用及 Dockfile 的编写,“轻量”且“标准”容器的构建

vscode 推荐配置摸索与整理

shell 脚本学习与笔记完善

vim 的基本使用与插件

浏览器开发者工具的使用

pdb 与 pudb

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

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 博客末尾)的论文/博客/新闻等, 具体关注名单与链接地址待更新

  • 大规模开源无标注数据集 (可参考 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 的语义和用途

CPython 中 exec 的具体执行过程

code = """
def foo():
    return bar()
"""

temp = {}
exec(code, temp)
func = temp['foo']  # 为什么 OK, exec 不检查缺失的 bar 这个符号

pathlib:2021/11/3 完成(记录笔记推迟),官方文档,发现对 os.path 模块基本可以替换掉,但某些非 os.path 的函数例如 os.walk 没有很好的替代品

:2021/10/31 完成(还未测试成功)

: C++ runtime : C++ and CUDA implement for KNN : 了解怎么将模型导出

git 换行符问题,参考做笔记整理

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

: 未消化

:

项目源码推荐用 src layout, 测试代码推荐独立于项目源码, pytest 的 import mode 推荐 importlib(存疑, 似乎导致各个test脚本之间不能import),

关于 setup.py, setup.cfg and pyproject.toml 以及 pytest 搭配用的实际例子可以参考 代码库学习

受到 介绍博客后, 计划对整个 LLM 的学习计划做个梳理, 以便全局把控

PyTorch Distributed: Experiences on Accelerating Data Parallel Training
Integer Quantization for Deep Learning Inference: Principles and Empirical Evaluation
Learning to Navigate for Fine-grained Classification
Conformer: Convolution-augmented Transformer for Speech Recognition
Pushing the Limit of Semi-Supervised Learning for Automatic Speech Recognition
链接
h5py
分布式训练的例子
GPU上进行数据预处理:DALI
pdfminer
pdfplumber
wenet
faiss
mmdeploy
链接
MkDocs
Spektral
官方tutorial
上海交通大学视频
LLVM对CMake的介绍
pybind对已经用CMake方式组织的项目怎么集成
GitHub星数超过10k的cmake-examples
python官方tutorial
pytest文档里推荐的python项目组织形式
python包的组织形式: src layout vs flatlayout
realpython文章
解释协程与生成器关系的一篇博客
import mode
关于项目源码与测试代码的组织形式
参考博客
setup.py, setup.cfg and pyproject.toml
transformers
C-Eval
huggingface text-generation-inference
https://chatgpt.com/share/66e93097-b5cc-800d-8ea3-3823725ce3f3
https://chatgpt.com/share/66e930d0-0578-800d-afee-fc51965583e3