Vue d'ensemble

Hugging Face Transformers 4.25, publié le 15 décembre 2022, intègre FlashAttention pour accélérer l'entraînement et l'inférence des Transformers.

Fonctionnalités principales

FlashAttention

FlashAttention optimise le calcul de l'attention en réduisant les accès mémoire, offrant des gains de vitesse significatifs sur les longues séquences.

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    'gpt2',
    attn_implementation='flash_attention_2',  # si disponible
)
tokenizer = AutoTokenizer.from_pretrained('gpt2')

inputs = tokenizer('Bonjour', return_tensors='pt')
outputs = model.generate(**inputs, max_length=30)
print(tokenizer.decode(outputs[0]))

Nouveaux modèles

De nouvelles architectures sont supportées, incluant des modèles de vision et de langage multimodaux.

python
from transformers import pipeline

# Classification d'images
classifieur = pipeline('image-classification')
# result = classifieur('photo.jpg')

# Question-réponse
qa = pipeline('question-answering')
result = qa(
    question='Quel est le framework?',
    context='Transformers est un framework de Hugging Face.',
)
print(result['answer'])

Sources