Giter Site home page Giter Site logo

transformers-code's Introduction

手把手带你实战Transformers

简介

手把手带你实战Transformers课程的代码仓库

代码适配

  • transformers==4.36.2

课程规划

  • 基础入门篇: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模型自动调参

Star History

Star History Chart

请作者喝杯奶茶

transformers-code's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transformers-code's Issues

ChatGLM-6B的模型输入构建

作者您好,您在GLM微调中使用了GLM-large-Chinese模型,通过以下语句构建了模型的输入

inputs = tokenizer(contents, max_length=384, truncation=True, padding="max_length", return_tensors="pt")
inputs = tokenizer.build_inputs_for_generation(inputs, targets=exmaples['title'], padding=True, max_gen_length=64)

想和您请教一下,如果模型换成ChatGLM-6B,第二行代码应该做什么样的改变,我没有找到相关的自定义方法

是否会添加Trainer再深入一些的案例,比如自定义Trainer等

感谢up主的教程,我想问的是未来是否有计划添加一些更深入的Trainer教程,目前的案例都只是简单的使用了Trainer,有时候我想继承它自定义一个自己的Trainer,比如自定义loss(compute_loss) ,自定义training_step来实现GAN等等,不仅仅只用在训练常规的通过from_pretrained的NLP模型。

合并权重的问题

作者您好,感谢相关视频录制分享教学,想和您请教一下Bitfit或者Lora这种LLM微调方法,可以将保存的权重和原模型合并吗(我理解为替换原模型相关权重)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.