
手把手带你实战Transformers(学习笔记)
transformers
huggingface/transformers: 是一个基于 Python 的自然语言处理库,它使用了 PostgreSQL 数据库存储数据。适合用于自然语言处理任务的开发和实现,特别是对于需要使用 Python 和 PostgreSQL 数据库的场景。特点是自然语言处理库、Python、PostgreSQL 数据库。
项目地址:https://gitcode.com/gh_mirrors/tra/transformers
·
B站链接:
Up主讲的灰常好,强烈推荐大家看一看。
章节
| 篇章 | 小节 | 主要内容 |
|---|---|---|
| 一:基础入门篇 | 1.1 基础知识与环境安装 | 主要介绍自然语言处理的常见任务、发展阶段、Transformers的几个主要库、环境安装以及两个极简示例 |
| 1.2 基础组件之Pipeline | 主要介绍Pipeline支持的任务类型、如何创建、如何确定参数以及其背后的封装内部的原理 | |
| 1.3 基础组件之Tokenizer | 主要介绍Tokenizer的使用方法、Fast\Slow Tokenizer的对比以及特殊分词器的加载 | |
| 1.4 基础组件之Model(上)基本使用 | 主要介绍Model的类别、Model Head、模型的三种下载方法、模型的参数设置、以及带|不带model head的调用方式 | |
| 1.5 基础组件之Model(下)BERT文本分类 | 主要进行一个文本分类模型(基于酒店差评|好评)的实战,包括导入数据、数据清洗、划分数据集、创建Dataloader、创建模型及优化器、训练与验证等 | |
| 1.6 基础组件之Datasets | 主要介绍Datasets的一些API操作(加载在线数据集、数据集划分、数据集选取与过滤、数据映射等)以及加载本地数据集,同时结合datacollator进行之前代码的优化 | |
| 1.7 基础组件之Evalaute | 主要介绍Evaluate的一些基本使用(查看、加载评估函数,全局、迭代计算方式、评估结果可视化)以及对之前代码evaluate部分的一些改进 | |
| 1.8 基础组件之Trainer | 主要介绍Trainer和TrainingArguments的配合使用以及对之前代码train部分的一些改进 | |
| 二:实战演练篇 | 2.1 基于Transformers的NLP解决方案 | 主要对基础组件进行简单回顾、介绍基于transformers的NLP解决方案的流程以及显存优化策略(4G显存也能跑较大模型:BERT-Large) |
| 2.2 实战演练之命名实体识别 | 主要介绍NER的任务介绍、实战演练过程以及NER任务编写代码时需要格外注意的7点 | |
| 2.3 实战演练之机器阅读理解(上) | 主要介绍MRC的任务、基于截断策略的实战演练过程 | |
| 2.4 实战演练之机器阅读理解(下) | 主要介绍基于滑动窗口策略的实战演练完整过程 | |
| 2.5 实战演练之多项选择 | 主要对多项选择任务展开介绍及单选任务的实战演练过程 | |
| 2.6 实战演练之文本相似度(上) | 主要介绍文本相似度任务及基于交互策略的实战流程 | |
| 2.7 实战演练之文本相似度(下) | 主要介绍针对交互策略效率低的改进策略——基于向量匹配策略的实战流程 | |
| 2.8 实战演练之检索机器人 | 主要介绍检索机器人的代码实战演练(召回模型+交互模型) | |
| 2.9 实战演练之预训练模型 | 主要介绍掩码、因果、序列到序列三种模型架构及掩码、因果语言模型的实战演练 | |
| 2.10 实战演练之文本摘要(T5) | 主要介绍文本摘要生成任务以及基于序列到序列(以T5为例)模型的实战演练 | |
| 2.11 实战演练之文本摘要(GLM) | 主要介绍基于前缀语言模型(以GLM为例)的实战演练 | |
| 2.12 实战演练之生成式对话机器人(Bloom) | 主要介绍生成式对话机器人以及基于Bloom模型的实战演练 | |
| 三:高效微调篇 | 3.1 参数高效微调与BitFit实战 | 主要介绍5种参数高效微调方法以及使用BitFit对1.4B模型进行微调的实战演练 |
| 3.2 Prompt-Tuning原理与实战 | 主要介绍Prompt-Tuning的原理(Soft and Hard)和代码实战演练 | |
| 3.3 P-Tuning 原理与实战 | 主要介绍P-Tuning的原理(针对Prompt-Tuning中Soft的优化)和代码实战演练 | |
| 3.4 Prefix-Tuning 原理与实战 | 主要介绍Prefix-Tuning的原理和代码实战演练 | |
| 3.5 Lora 原理与实战 | 主要介绍Lora的原理和代码实战演练 | |
| 3.6 IA3 原理与实战 | 主要介绍IA3的原理和代码实战演练 | |
| 3.7 PEFT 进阶操作 | 主要介绍PEFT的3种进阶操作:自定义模型适配、多适配器加载与切换、禁用适配器 | |
| 四:低精度训练篇 | 4.1 低精度训练与大模型下载 | 主要介绍降低模型本身所占显存的策略以及使用ModelScope下载模型 |
| 4.2 半精度训练与LLaMA2训练实战 | 主要介绍LP16以及基于半精度对LLaMA2进行Lora微调(细节很多) | |
| 4.3 LLaMA2训练细节补充 | ||
| 4.4 半精度训练与ChatGLM3训练实战 | 主要介绍于半精度对ChatGLM3进行Lora微调(集中于数据预处理,细节很多) | |
| 4.5 量化与8bit模型训练 | 主要介绍量化、反量化、混合精度分解量化的定义以及基于8bit对LLaMA2进行Lora微调 | |
| 4.6 4bit量化与QLoRA模型训练 | 主要介绍4bit量化与QLoRA策略及实战(NF4量化、双重量化、分页优化器) | |
| 五:分布式训练篇 | 5.1 分布式训练与环境配置 | 主要介绍分布式训练的原理(数据、流水、张量、3D并行)以及在趋动云上的环境配置 |
| 5.2 DataParallel原理与应用 | ||
| 5.3 Distributed DataParallel分布式数据并行原理与应用 | ||
| 5.4 Accelerate分布式训练入门 | ||
| 5.5 Accelerate 使用进阶(上) | ||
| 5.6 Accelerate 使用进阶(下) | ||
| 5.7 Accelerate + Deepspeed | ||
| 六:番外技能篇 | 6.1 基于Optuna的自动调参 |
huggingface/transformers: 是一个基于 Python 的自然语言处理库,它使用了 PostgreSQL 数据库存储数据。适合用于自然语言处理任务的开发和实现,特别是对于需要使用 Python 和 PostgreSQL 数据库的场景。特点是自然语言处理库、Python、PostgreSQL 数据库。
最近提交(Master分支:3 个月前 )
54aae121
* handle single timestamp ending
* include last timestamp token
* handle single timestamp ending
* avoid floating points arithm limitations
* ensure float64 operations
* new test
* make fixup
* make copies
* handle edge case double tokens ending with different tokens
* handle single timestamp ending
* make fixup
* handle conditioning on prev segments
* fix
* Update src/transformers/models/whisper/generation_whisper.py
Co-authored-by: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com>
* [run-slow] whisper
* don't call item() to avoid unnecessary sync
* fix
---------
Co-authored-by: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com>
Co-authored-by: Eustache Le Bihan <eustlb@users.noreply.huggingface.co> 13 小时前
beb2c66e
* fix
* fix
* fix
* fix
---------
Co-authored-by: ydshieh <ydshieh@users.noreply.github.com> 17 小时前
更多推荐


所有评论(0)