锦州做网站公司哪家好,泉州seo网站推广,百度收录方法,门源网站建设公司1. Transformers
是NLP, CV, audio#xff0c;speech processing 任务的库。 它包含了超过10000个预训练的模型#xff0c;涵盖了各种NLP任务#xff0c;如文本分类#xff0c;问答#xff0c;文本生成#xff0c;情感分析等。Transformers库支持多种深度学习框架#…1. Transformers
是NLP, CV, audiospeech processing 任务的库。 它包含了超过10000个预训练的模型涵盖了各种NLP任务如文本分类问答文本生成情感分析等。Transformers库支持多种深度学习框架如PyTorchTensorFlowJAX和Flax并且可以轻松地在不同的设备上运行如CPUGPU和TPU。
官网GitHub - huggingface/transformers: Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
主要包含三部分Config、Tokenizer、Model。
Config
用于配置模型的名称、最终输出的样式、隐藏层宽度和深度、激活函数的类别等。
Model
AI模型(指代基于各种算法模型比如预训练模型、深度学习算法、强化学习算法等的实现)的抽象概念。 除了初始的Bert、GPT等基本模型针对下游任务还定义了诸如BertForQuestionAnswering等下游任务模型。
Tokenizer
将纯文本转换为编码的过程(注意该过程并不会生成词向量)。由于模型(Model)并不能识别(或很好的识别)文本数据因此对于输入的文本需要做一层编码。在这个过程中首先会将输入文本分词而后添加某些特殊标记([MASK]标记、[SEP]、[CLS]标记)比如断句等最后就是转换为数字类型的ID(也可以理解为是字典索引)。
transformers使用-pipelines函数
在Transformers库中最基本的对象就是pipeline()函数。该流水线操作将模型处理的三个步骤组合在一起预处理、通过模型传递输入以及后处理。
调用pipeline函数指定预训练模型有三个主要步骤:
输入的文本被预处理成模型(Model)可以理解的格式的数据(就是上述中Tokenizer组件的处理过程)。预处理后的数据作为输入参数传递给模型(Model)。模型的预测结果(输出内容)是经过后处理的可供理解。
现有可用的pipeline()函数功能如下
feature-extraction特征抽取将文本转化为一个向量这就是embedding呀fill-mask完形填空BERT, BART等模型的预训练策略。ner (named entity recognition)命名实体识别question-answering问答一般是抽取式问答sentiment-analysis情感分析也是文本分类summarization摘要一般是抽取式摘要text-generation文本生成一般指GPT类模型translation翻译seq2seq。
2. Datasets
高效的数据集加载、预处理库
官网https://github.com/huggingface/datasets
3. Tokenizers
官网https://github.com/huggingface/tokenizers
4. optimum
官网https://github.com/huggingface/optimum
5. peft
模型参数高效微调目前支持Prefix Tuning、Prompt Tuning、PTuningV1、PTuningV2、Adapter、LoRA、AdaLoRALoRA使用重参数化的思想目前支持Linear线性层、Conv1D实际上也是一个线性层正在开发的版本即将支持3x3和1x1的Conv2d卷积
官网GitHub - huggingface/peft: PEFT: State-of-the-art Parameter-Efficient Fine-Tuning.
LoraConfig: lora配置get_peft_model: 在模型中添加lora层prepare_model_for_kbit_training: 用来在微调中提高训练的稳定性
6. accelerate
大规模分部署训练支持DP、DDP、Deep Speed、Zero、Fully Sharded Data Parallel、Gradient Checkpoint、梯度累积等
官网https://github.com/huggingface/