Skip to content

zwong91/transformers

Repository files navigation

实战Transformers

环境pre-install

# https://www.runpod.io/  Cloud GPUs environment runpod/pytorch:2.1.1-py3.10-cuda12.1.1-devel-ubuntu22.04

## pre-instsall.sh
# 安装 miniconda, PyTorch/CUDA 的 conda 环境
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash && source ~/miniconda3/bin/activate
conda config --set auto_activate_base false
conda create -n transformers python=3.10 -y
conda activate transformers
# conda environments:
conda env list
nvidia-smi
pip install transformers datasets evaluate peft accelerate gradio optimum sentencepiece bitsandbytes trl
pip install jupyterlab scikit-learn pandas matplotlib tensorboard nitk rouge optuna wandb
pip install torch torchvision 
pip install jupyter ipykernel huggingface_hub
python -m ipykernel install --user --name transformers --display-name "conda & pytorch(transformers)"

### clone code

apt update
apt install git-lfs
cd /workspace
git lfs install
git clone https://github.com/zwong91/transformers.git

课程规划

  • 基础入门篇:Transformers入门,从环境安装到各个基础组件的介绍,包括Pipeline、Tokenizer、Model、Datasets、Evaluate、Trainer,并通过一个最基本的文本分类实例将各个模块进行串讲

  • 实战演练篇:Transformers实战,通过丰富的实战案例对Transformers在NLP任务中的解决方案进行介绍,包括命名实体识别、机器阅读理解、多项选择、文本相似度、检索式对话机器人、掩码语言模型、因果语言模型、摘要生成、生成式对话机器人

  • 高效微调篇:Transformers模型高效微调,以PEFT库为核心,介绍各种常用的参数高效微调方法的原理与实战,包括BitFit、Prompt-tuning、P-tuning、Prefix-Tuning、Lora和IA3

  • 低精度训练篇:Transformers模型低精度训练,基于bitsandbytes库,进行模型的低精度训练,包括LlaMA2-7B和ChatGLM2-6B两个模型的多个不同精度训练的实战演练,包括半精度训练、8bit训练、4bit训练(QLoRA)

  • 分布式训练篇:Transformers模型分布式训练,基于accelerate库讲解transformers模型的分布式训练解决方案,介绍分布式训练的基本原理以及accelerate库的基本使用方式,包括与Deepspeed框架的集成

  • 对齐训练篇: ...

  • 性能优化篇: ...

  • 系统演示篇: ...

课程地址

课程视频发布在B站与YouTube,代码与视频会逐步进行更新,目前课程主要更新在B站,YouTube后续会持续更新

Transformers 基础入门篇 (已更新完成)

Transformers 实战演练篇 (已更新完成)

  • 08 基于 Transformers的 NLP解决方案

  • 09 实战演练之 命名实体识别

  • 10 实战演练之 机器阅读理解(上,过长截断策略)

  • 10 实战演练之 机器阅读理解(下,滑动窗口策略)

  • 11 实战演练之 多项选择

  • 12 实战演练之 文本相似度(上,基于交互策略)

  • 12 实战演练之 文本相似度(下,基于匹配策略)

  • 13 实战演练之 检索式对话机器人

  • 14 实战演练之 预训练模型

  • 15 实战演练篇之 文本摘要(上,基于T5模型)

  • 15 实战演练篇之 文本摘要(下,基于GLM模型)

  • 16 实战演练篇之 生成式对话机器人(基于Bloom)

Transformers 参数高效微调篇 (已更新完成)

Transformers 低精度训练篇(已更新完成)

  • 24 低精度训练与模型下载

  • 25 半精度模型训练(上,基于LLaMA2的半精度模型训练)

  • 25 半精度模型训练(下,基于ChatGLM3的半精度模型训练)

  • 26 量化与8bit模型训练

  • 27 4bit量化与QLoRA模型训练

Transformers 分布式训练篇

Transformers 番外技能篇

  • 基于Optuna的Transformers模型自动调参

About

Learn Hugging face transformers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published