Hugging Face é uma plataforma líder para modelos de linguagem natural (LLMs) e fornece uma vasta coleção de modelos pré-treinados e ferramentas para NLP.
Exemplo: Usar BERT para Classificação de Texto com Hugging Face
from transformers import BertTokenizer, TFBertForSequenceClassification
from transformers import glue_convert_examples_to_features, glue_processors
import tensorflow as tf
# Carregar o modelo e o tokenizador BERT pré-treinados
model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased')
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# Exemplo de dados
sentences = ["I love this!", "I hate this!"]
labels = [1, 0]
# Tokenizar as entradas
input_ids = []
attention_masks = []
for sent in sentences:
encoded_dict = tokenizer.encode_plus(
sent,
add_special_tokens = True,
max_length = 64,
pad_to_max_length = True,
return_attention_mask = True,
return_tensors = 'tf'
)
input_ids.append(encoded_dict['input_ids'])
attention_masks.append(encoded_dict['attention_mask'])
input_ids = tf.concat(input_ids, axis=0)
attention_masks = tf.concat(attention_masks, axis=0)
labels = tf.convert_to_tensor(labels)
# Treinar o modelo
optimizer = tf.keras.optimizers.Adam(learning_rate=2e-5, epsilon=1e-8)
loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
model.compile(optimizer=optimizer, loss=loss, metrics=['accuracy'])
model.fit(
[input_ids, attention_masks],
labels,
epochs=4,
batch_size=8
)
# Avaliar o modelo
loss, accuracy = model.evaluate([input_ids, attention_masks], labels)
print(f'Accuracy: {accuracy}')