Auto Models và Tokenizers

Làm việc với Hugging Face

Jacob H. Marquez

Lead Data Engineer

Pipelines: nhanh và đơn giản

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}]
Làm việc với Hugging Face

Auto Classes: linh hoạt và mạnh mẽ

$$

  • Auto classes: Truy cập linh hoạt vào mô hình và tokenizer
  • Kiểm soát nhiều hơn hành vi và đầu ra mô hình
  • Phù hợp cho tác vụ nâng cao

$$

  • Pipelines = nhanh; Auto classes = linh hoạt

Ba thanh trượt có công tắc và một bàn tay đang điều chỉnh một thanh. Biểu thị khả năng kiểm soát cao hơn.

Làm việc với Hugging Face

AutoModels

  • Chọn lớp AutoModel để tải trực tiếp một mô hình

$$

from transformers import AutoModelForSequenceClassification

# Tải mô hình phân loại văn bản đã huấn luyện sẵn model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Làm việc với Hugging Face

AutoTokenizers

  • Chuẩn bị dữ liệu văn bản đầu vào
  • Nên dùng tokenizer đi kèm mô hình

$$

from transformers import AutoTokenizer


# Lấy tokenizer đi kèm mô hình tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Làm việc với Hugging Face

Tokenize văn bản với AutoTokenizer

  • Tokenizer làm sạch đầu vào và tách văn bản thành token

$$

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

# Tokenize văn bản đầu vào tokens = tokenizer.tokenize("AI: Helping robots think and humans overthink:)") print(tokens)
['ai', ':', 'helping', 'robots', 'think', 'and', 
 'humans', 'over', '##thi', '##nk', ':', ')']
Làm việc với Hugging Face

Khác mô hình, khác tokenizer

  • Mô hình của chúng ta (distilbert-base-uncased):

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

    ['AI', ':', 'Help', '##ing', 'robots', 'think', 'and', 'humans', 'over',
    '##thin', '##k', ':', ')']
    
Làm việc với Hugging Face

Xây dựng Pipeline với Auto Classes

from transformers import AutoModelForSequenceClassification,
AutoTokenizer, pipeline

# Tải mô hình và tokenizer my_model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english") my_tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english")
# Tạo pipeline tùy chỉnh my_pipeline = pipeline( task="sentiment-analysis", model=my_model, tokenizer=my_tokenizer)
Làm việc với Hugging Face

Tình huống dùng AutoModels và AutoTokenizers

$$

  • 🔧 Dùng khi cần kiểm soát và tùy chỉnh nhiều hơn

  • 📝 Tiền xử lý văn bản: Làm sạch và tokenize cho bài toán cụ thể

  • 🏆 Ngưỡng phân loại: Ưu tiên các nhãn chính trong phân loại
  • 🚀 Quy trình phức tạp: Kiểm soát xử lý nhiều bước và tích hợp

$$ Kiểm soát và tùy chỉnh nhiều hơn

Làm việc với Hugging Face

Ayo berlatih!

Làm việc với Hugging Face

Preparing Video For Download...