AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
  • Transformer

    • Transformer - 概述
    • Transformer - Encoding and Decoding Context with Attention
    • Transformer - Tokenizers
    • Transformer - 架构
    • Transformer - Block
    • Transformer - 自注意力
    • Transformer - MoE
    • Transformer - Transformer
  • Pytorch

    • Pytorch - Dataset
    • Pytorch - TensorBoard
    • Pytorch - transforms
    • Pytorch - DataLoader
    • Pytorch - nn
    • Pytorch - Model
    • Pytorch - train
    • Pytorch - Practice
    • Pytorch - pytorch
  • HuggingFace

    • HuggingFace - Transformers
    • HuggingFace - Pipeline
    • HuggingFace - Tokenizer
    • HuggingFace - Model
    • HuggingFace - Datasets
    • HuggingFace - Evaluate
    • HuggingFace - Trainer

HuggingFace - Transformers

常见的自然语言处理任务

  • 情感分析(sentiment-analysis):对给定的文本分析其情感极性
  • 文本生成(text-generation):根据给定的文本进行生成
  • 命名实体识别(ner):标记句子中的实体
  • 阅读理解(question-answering):给定上下文与问题,从上下文中抽取答案
  • 掩码填充(fill-mask):填充给定文本中的掩码词
  • 文本摘要(summarization):生成一段长文本的摘要
  • 机器翻译(translation):将文本翻译成另一种语言
  • 特征提取(feature-extraction):生成给定文本的张量表示
  • 对话机器人(conversional):根据用户输入文本,产生回应,与用户对话

自然语言处理的几个阶段

  • 第一阶段:统计模型 + 数据(特征工程)
    • 决策树、SVM、 HMM、CRF、TF-IDF、BOW
  • 第二阶段:神经网络 + 数据
    • Linear、CNN、RNN、GRU、LSTM、Transformer、Word2vec、Glove
  • 第三阶段:神经网络 + 预训练模型 + (少量)数据
    • GPT、BERT、RoBERTa、ALBERT、 BART、T5
  • 第四阶段:神经网络 + 更大的预训练模型 + Prompt
    • ChatGPT、Bloom、LLaMA、Alpaca、Vicuna、MOsS、文心一言、通义干问、星火

备注:

名称全称 (英文)类型主要用途核心思想
SVMSupport Vector Machine判别式模型 (分类器)文本分类、图像识别、生物信息学寻找一个最优超平面,最大化不同类别数据点之间的边界(间隔)。
HMMHidden Markov Model生成式概率模型语音识别、词性标注、基因序列分析描述一个含有隐含状态的马尔可夫过程。假设当前状态仅依赖于前一个状态,观测值仅依赖于当前状态。
CRFConditional Random Field判别式概率模型分词、命名实体识别、词性标注等序列标注任务直接对给定观测序列条件下,整个标签序列的联合概率进行建模,可利用丰富的上下文特征。
TF-IDFTerm Frequency-Inverse Document Frequency文本特征加权方法信息检索、文本挖掘、关键词提取衡量一个词对文档的重要性。权重随词在文档中的频率增高而增加,随其在语料库中的普遍性增高而下降。
BOWBag-of-Words文本特征表示模型文本分类、情感分析的基础表示将文本表示为单词的集合,完全忽略其语法、词序,只记录每个词的出现频次。
LinearLinear Layer / Fully Connected Layer神经网络基础层几乎所有神经网络模型的组成部分,用于分类或回归对输入数据进行线性变换(加权求和),并通过激活函数引入非线性。每个神经元与上一层的所有神经元相连。
CNNConvolutional Neural Network神经网络架构图像识别、文本分类、语音识别利用卷积核(滤波器)提取输入数据的局部特征(如空间、时序结构),通过权重共享和池化降低参数复杂度。
RNNRecurrent Neural Network神经网络架构处理序列数据(时间序列预测、机器翻译、文本生成)具有循环连接,使网络具有“记忆”功能,能够利用先前步骤的信息来处理序列中的当前元素。
GRUGated Recurrent Unit循环神经网络的变体(门控机制)同RNN,但效果更好,用于处理长序列通过引入更新门和重置门两个门控机制,选择性地记忆和遗忘信息,以解决RNN的梯度消失问题,结构比LSTM简单。
LSTMLong Short-Term Memory循环神经网络的变体(门控机制)处理长序列任务(文档摘要、语音识别)通过精心设计的输入门、遗忘门、输出门和细胞状态,有效地捕获长距离依赖关系,解决RNN的长期记忆问题。
TransformerTransformer神经网络架构(基于注意力)自然语言处理(如BERT, GPT)、计算机视觉完全基于自注意力机制(Self-Attention)并行处理序列中的所有元素,高效地捕获全局上下文依赖关系,摒弃了循环结构。
Word2VecWord to Vector词嵌入(词向量表示)模型将单词转换为稠密向量,作为NLP任务的输入特征通过浅层神经网络模型,基于“词的上下文相似则词义相似”的假设,从大量文本中学习词的分布式向量表示。
GloVeGlobal Vectors for Word Representation词嵌入(词向量表示)模型同Word2Vec,作为词的预训练表示结合了全局词-词共现统计信息与局部上下文窗口的优点,通过矩阵分解来学习词向量。

概述

官方网址:https://huggingface.co

  • HuggingFace出品,当下最热、最常使用的自然语言处理工具包之一。
  • 实现了大量的基于Transformer架构的主流预训练模型,不局限于自然语言处理模型,还包括图像、音频以及多模态的模型
  • 提供了海量的预训练模型与数据集,同时支持用户自行传,社区完善,文档全面,三两行代码便可快速实现模型训练推理,上手简单

库介绍

  • Transformers:核心库,模型加载、模型训练、流水线等
  • Tokenizer:分词器,对数据进行预处理,文本到token序列的互相转换
  • Datasets:数据集库,提供了数据集的加载、处理等方法
  • Evaluate:评估函数,提供各种评价指标的计算函数
  • PEFT:高效微调模型的库,提供了几种高效微调的方法,小参数量撬动大模型
  • Accelerate:分布式训练,提供了分布式训练解决方案,包括大模型的加载与推理解决方案
  • Optimum:优化加速库,支持多种后端,如Onnxruntime、OpenVino等
  • Gradio:可视化部署库,几行代码快速实现基于Web交互的算法演示系统

基础组件

  • Pipeline
    • 流水线,用于模型推理,封装了完整的推理逻辑,包括数据预处理、模型预测及后处理
  • Tokenizer
    • 分词器,用于数据预处理,将原始文本输入转换为模型的输入,包括input_ids、attention mask等
  • Model
    • 模型,用于加载、创建、保存模型,对Pytorch中的模型进行了封装,同时更好的支持训练模型
  • Datasets
    • 数据集,用于数据集加载与预处理,支持加载在线与本地的数据集,提供了数据集层面的处理方法
  • Evaluate
    • 评估函数,用于对模型的结果进行评估,支持多种任务的评估函数
  • Trainer
    • 训练器,用于模型训练、评估,支持丰富的配置选项,快速启动模型训练流程
最近更新: 2025/10/4 15:57
Contributors: klc407073648
Next
HuggingFace - Pipeline