from transformers import AutoModelForSequenceClassification, AutoTokenizer, Trainer, TrainingArguments from datasets import load_dataset import os # Charger le jeu de données SST-2 dataset = load_dataset("glue", "sst2") # Charger le modèle BERT pré-entraîné et le tokenizer associé model_name = "bert-base-uncased" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=2) # 2 classes : positif et négatif # Prétraitement des données def preprocess_function(examples): return tokenizer(examples["sentence"], padding="max_length", truncation=True) encoded_dataset = dataset.map(preprocess_function, batched=True) # Configuration des arguments d'entraînement training_args = TrainingArguments( per_device_train_batch_size=8, evaluation_strategy="epoch", logging_dir="./logs", output_dir="./results", num_train_epochs=3, ) # Entraînement du modèle trainer = Trainer( model=model, args=training_args, train_dataset=encoded_dataset["train"], eval_dataset=encoded_dataset["validation"], ) # Entraîner le modèle trainer.train() # Sauvegarder le modèle fine-tuné et le tokenizer model.save_pretrained("./fine_tuned_model") tokenizer.save_pretrained("./fine_tuned_model")