Авто-модели и токенизаторы

Работа с Hugging Face

Jacob H. Marquez

Lead Data Engineer

Пайплайны: быстро и просто

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

Авто-классы: гибкость и мощность

$$

  • Авто-классы: гибкий доступ к моделям и токенизаторам
  • Больше контроля над поведением модели и результатами
  • Идеальны для сложных задач

$$

  • Пайплайны = быстро; авто-классы = гибко

Три ползунка с переключателями и рука, регулирующая один из них. Символизирует расширенный контроль.

Работа с Hugging Face

AutoModels

  • Выберите класс AutoModel для прямой загрузки модели

$$

from transformers import AutoModelForSequenceClassification

# Download a pre-trained text classification model model = AutoModelForSequenceClassification.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Работа с Hugging Face

AutoTokenizers

  • Подготовка текстовых входных данных
  • Рекомендуется использовать токенизатор, соответствующий модели

$$

from transformers import AutoTokenizer


# Retrieve the tokenizer paired with the model tokenizer = AutoTokenizer.from_pretrained( "distilbert-base-uncased-finetuned-sst-2-english" )
Работа с Hugging Face

Токенизация текста с AutoTokenizer

  • Токенизаторы очищают входные данные и разбивают текст на токены

$$

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

# Tokenize input text 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

Создание пайплайна с авто-классами

from transformers import AutoModelForSequenceClassification,
AutoTokenizer, pipeline

# Download the model and 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")
# Create the custom pipeline my_pipeline = pipeline( task="sentiment-analysis", model=my_model, tokenizer=my_tokenizer)
Работа с Hugging Face

Применение AutoModels и AutoTokenizers

$$

  • 🔧 Используйте для большего контроля и настройки

  • 📝 Предобработка текста: очистка и токенизация под конкретные задачи

  • 🏆 Пороговая фильтрация: выделение ключевых категорий в задачах классификации
  • 🚀 Сложные рабочие процессы: управление многоэтапной обработкой и интеграцией

$$ Расширенный контроль и настройка

Работа с Hugging Face

Давайте потренируемся!

Работа с Hugging Face

Preparing Video For Download...