Come utilizzare l’algoritmo Classificazione del testo - TensorFlow di SageMaker AI - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come utilizzare l’algoritmo Classificazione del testo - TensorFlow di SageMaker AI

Puoi utilizzare Classificazione del testo - TensorFlow come algoritmo integrato di Amazon SageMaker AI. Nella sezione seguente viene descritto come utilizzare Classificazione del testo - TensorFlow con SageMaker AI Python SDK. Per informazioni su come utilizzare Classificazione del testo - TensorFlow dall’interfaccia utente di Amazon SageMaker Studio Classic, consulta SageMaker JumpStart modelli preaddestrati.

L'algoritmo la classificazione del testo - TensorFlow supporta il trasferimento dell'apprendimento utilizzando uno qualsiasi dei modelli TensorFlow preaddestrati compatibili. Per un elenco di tutti i modelli preaddestrati disponibili, consulta Modelli TensorFlow Hub. Ogni modello preaddestrato ne ha model_id univoco. L'esempio seguente utilizza BERT Base Uncased (model_id:tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2) per ottimizzare un set di dati personalizzato. I modelli preaddestrati sono tutti pre-scaricati da TensorFlow Hub e archiviati in bucket Amazon S3 in modo che i processi di addestramento possano essere eseguiti in isolamento di rete. Utilizza questi artefatti di addestramento dei modelli pregenerati per costruire uno strumento SageMaker AI Estimator.

Innanzitutto, recupera l'URI dell'immagine Docker, l'URI dello script di addestramento e l'URI del modello preaddestrato. Quindi, modifica gli iperparametri per adattarli al tuo caso. Puoi vedere un dizionario Python di tutti gli iperparametri disponibili e i loro valori predefiniti con hyperparameters.retrieve_default. Per ulteriori informazioni, consulta Iperparametri di classificazione del testo - TensorFlow. Utilizza questi valori per costruire uno strumento SageMaker AI Estimator.

Nota

I valori predefiniti degli iperparametri sono diversi per i diversi modelli. Ad esempio, per i modelli più grandi, la dimensione del batch predefinita è inferiore.

Questo esempio utilizza il set di dati SST2, che contiene recensioni di film positive e negative. Abbiamo pre-scaricato il set di dati e lo abbiamo reso disponibile con Amazon S3. Per ottimizzare il tuo modello, chiama .fit utilizzando la posizione Amazon S3 del tuo set di dati di addestramento. Qualsiasi bucket S3 utilizzato in un notebook deve trovarsi nella stessa Regione AWS dell'istanza del notebook che vi accede.

from sagemaker import image_uris, model_uris, script_uris, hyperparameters from sagemaker.estimator import Estimator model_id, model_version = "tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2", "*" training_instance_type = "ml.p3.2xlarge" # Retrieve the Docker image train_image_uri = image_uris.retrieve(model_id=model_id,model_version=model_version,image_scope="training",instance_type=training_instance_type,region=None,framework=None) # Retrieve the training script train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training") # Retrieve the pretrained model tarball for transfer learning train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training") # Retrieve the default hyperparameters for fine-tuning the model hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) # [Optional] Override default hyperparameters with custom values hyperparameters["epochs"] = "5" # Sample training data is available in this bucket training_data_bucket = f"jumpstart-cache-prod-{aws_region}" training_data_prefix = "training-datasets/SST2/" training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}" output_bucket = sess.default_bucket() output_prefix = "jumpstart-example-tc-training" s3_output_location = f"s3://{output_bucket}/{output_prefix}/output" # Create an Estimator instance tf_tc_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location, ) # Launch a training job tf_tc_estimator.fit({"training": training_dataset_s3_path}, logs=True)

Per ulteriori informazioni su come utilizzare l'algoritmo di classificazione del testo SageMaker - TensorFlow per trasferire l'apprendimento su un set di dati personalizzato, consulta il notebook Introduzione a JumpStart - Classificazione del testo.