自动模型与分词器

使用 Hugging Face

Jacob H. Marquez

Lead Data Engineer

Pipelines:快速简单

from transformers import pipeline  

my_pipeline = pipeline(
    "text-classification",
    model="distilbert-base-uncased-finetuned-sst-2-english"))

print(my_pipeline("Wi-Fi is slower than a snail today!"))
[{'label': 'NEGATIVE', 'score': 0.99}]
使用 Hugging Face

Auto 类:灵活而强大

$$

  • Auto 类:灵活访问模型与分词器
  • 更可控 的模型行为与输出
  • 适合高级任务

$$

  • Pipelines = 快速;Auto 类 = 灵活

三个带拨杆的滑块,手在调整其一,表示更强控制力。

使用 Hugging Face

AutoModels

  • 选择某个 AutoModel 类可直接下载模型

$$

from transformers import AutoModelForSequenceClassification

# 下载预训练文本分类模型 model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
使用 Hugging Face

AutoTokenizers

  • 准备文本输入数据
  • 建议使用与模型配套的分词器

$$

from transformers import AutoTokenizer


# 获取与模型配套的分词器 tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
使用 Hugging Face

使用 AutoTokenizer 对文本分词

  • 分词器会清洗输入并将文本切分为词元

$$

tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")

# 对输入文本分词 tokens = tokenizer.tokenize("AI: Helping robots think and humans overthink:)") print(tokens)
['ai', ':', 'helping', 'robots', 'think', 'and', 
 'humans', 'over', '##thi', '##nk', ':', ')']
使用 Hugging Face

不同模型,分词器也不同

  • 我们的模型(distilbert-base-uncased):

    ['ai', ':', 'helping', 'robots', 'think', 'and', 'humans', 'over', '##thi',
    '##nk', ':', ')']
    
  • BERT-Base-Cased 分词器:

    ['AI', ':', 'Help', '##ing', 'robots', 'think', 'and', 'humans', 'over',
    '##thin', '##k', ':', ')']
    
使用 Hugging Face

用 Auto 类构建 Pipeline

from transformers import AutoModelForSequenceClassification,
AutoTokenizer, pipeline

# 下载模型与分词器 my_model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english") my_tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english")
# 创建自定义 pipeline my_pipeline = pipeline( task="sentiment-analysis", model=my_model, tokenizer=my_tokenizer)
使用 Hugging Face

AutoModel 与 AutoTokenizer 的应用场景

$$

  • 🔧 适用于需要更多控制与自定义

  • 📝 文本预处理: 按场景清洗并分词

  • 🏆 阈值设定: 在分类中突出关键类别
  • 🚀 复杂流程: 控制多阶段处理与集成

$$ 更多控制与自定义

使用 Hugging Face

Passons à la pratique !

使用 Hugging Face

Preparing Video For Download...