Entrenar modelo de transformación de texto (GeoAI)

Resumen

Entrena un modelo de transformación de texto para transformar, traducir o resumir texto.

Más información sobre cómo funciona Transformación de texto

Uso

  • Esta herramienta requiere la instalación de marcos de aprendizaje profundo. Para configurar su equipo para usar marcos de aprendizaje profundo en AllSource, consulte Instalar marcos de aprendizaje profundo para ArcGIS.

  • Esta herramienta también se puede utilizar para ajustar un modelo entrenado existente.

  • Para ejecutar esta herramienta con la GPU, configure el entorno Tipo de procesador en GPU. Si tiene más de una GPU, especifique el entorno de Id. de GPU en su lugar.

  • La entrada a la herramienta es una tabla o clase de entidad que contiene datos de entrenamiento con un campo de texto que contiene el texto de entrada y un campo de etiqueta que contiene el texto transformado.

  • Para obtener información sobre los requisitos para ejecutar esta herramienta y los problemas que pueden presentarse, consulte Preguntas frecuentes sobre el aprendizaje profundo.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Una tabla o clase de entidad que contiene un campo de texto con el texto de entrada para el modelo y un campo de etiqueta que contiene el texto transformado objetivo.

Feature Layer; Table View
Campo de texto

Un campo de texto de la tabla o clase de entidad de entrada que contiene el texto de entrada que el modelo transformará.

Field
Campo de etiqueta

Un campo de texto de la tabla o clase de entidad de entrada que contiene el texto transformado objetivo para entrenar el modelo.

Field
Modelo de salida

Ubicación de la carpeta de salida en la que se almacenará el modelo entrenado.

Folder
Archivo de modelo preentrenado
(Opcional)

Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada puede ser un archivo de definición de modelo de Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk).

Es posible ajustar un modelo previamente entrenado que realice una tarea similar para que se adapte a los datos de entrenamiento. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo.

File
Máximo de épocas
(Opcional)

Número máximo de épocas para las que se entrenará el modelo. Un valor de época máxima de 1 significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 5.

Long
Base del modelo
(Opcional)

Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo.

  • t5-smallEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-small es la variante pequeña de T5.
  • t5-baseEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-base es la variante mediana de T5.
  • t5-largeEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-large es la variante grande de T5.
String
Tamaño de lote
(Opcional)

El número de muestras de entrenamiento que se procesarán a la vez. El valor predeterminado es 2.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Double
Argumentos de modelo
(Opcional)

Argumentos adicionales para inicializar el modelo, como seq_len para la longitud máxima de secuencia de los datos de entrenamiento, que se tendrán en cuenta para entrenar el modelo.

Consulte argumentos de palabra clave en la documentación de SequenceToSequence para obtener la lista de argumentos de modelos compatibles que se pueden utilizar.

Value Table
Tasa de aprendizaje
(Opcional)

El tamaño del paso que indica cuánto se ajustarán las ponderaciones del modelo durante el proceso de entrenamiento. Si no se especifica ningún valor, se deducirá automáticamente una tasa de aprendizaje óptima.

Double
Porcentaje de validación
(Opcional)

Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10.

Double
Detener cuando el modelo deja de mejorar
(Opcional)

Especifica si el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar o hasta alcanzar el valor del parámetro Máximo de épocas.

  • Activado: el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar, independientemente del valor del parámetro Máximo de épocas especificado. Esta es la opción predeterminada.
  • Desactivado: el entrenamiento del modelo continuará hasta alcanzar el valor del parámetro Máximo de épocas.
Boolean
Hacer que la base del modelo se pueda entrenar
(Opcional)

Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.

  • Activado: las capas de base no se inmovilizarán y los pesos y sesgos del valor del parámetro Base del modelo se pueden modificar para adaptarse a las muestras de entrenamiento. Esto tarda más tiempo en procesarse, pero generalmente produce mejores resultados. Esta es la opción predeterminada.
  • Desactivado: las capas de base se inmovilizarán y los pesos y sesgos predefinidos del valor del parámetro Base del modelo no se modificarán durante el entrenamiento.

Boolean
Eliminar etiquetas HTML
(Opcional)

Especifica si las etiquetas HTML se eliminarán del texto de entrada.

  • Activado: se eliminarán las etiquetas HTML del texto de entrada. Esta es la opción predeterminada.
  • Desactivado: no se eliminarán las etiquetas HTML del texto de entrada.

Boolean
Eliminar direcciones URL
(Opcional)

Especifica si las URL se eliminarán del texto de entrada.

  • Activado: se eliminarán las URL del texto de entrada. Esta es la opción predeterminada.
  • Desactivado: no se eliminarán las URL del texto de entrada.

Boolean

arcpy.geoai.TrainTextTransformationModel(in_table, text_field, label_field, out_model, {pretrained_model_file}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, {remove_html_tags}, {remove_urls})
NombreExplicaciónTipo de datos
in_table

Una tabla o clase de entidad que contiene un campo de texto con el texto de entrada para el modelo y un campo de etiqueta que contiene el texto transformado objetivo.

Feature Layer; Table View
text_field

Un campo de texto de la tabla o clase de entidad de entrada que contiene el texto de entrada que el modelo transformará.

Field
label_field

Un campo de texto de la tabla o clase de entidad de entrada que contiene el texto transformado objetivo para entrenar el modelo.

Field
out_model

Ubicación de la carpeta de salida en la que se almacenará el modelo entrenado.

Folder
pretrained_model_file
(Opcional)

Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada puede ser un archivo de definición de modelo de Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk).

Es posible ajustar un modelo previamente entrenado que realice una tarea similar para que se adapte a los datos de entrenamiento. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo.

File
max_epochs
(Opcional)

Número máximo de épocas para las que se entrenará el modelo. Un valor de época máxima de 1 significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 5.

Long
model_backbone
(Opcional)

Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo.

  • t5-smallEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-small es la variante pequeña de T5.
  • t5-baseEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-base es la variante mediana de T5.
  • t5-largeEl nuevo modelo se entrenará con la red neuronal T5. T5 es un marco unificado que convierte cada problema de lenguaje en formato de texto a texto. t5-large es la variante grande de T5.
String
batch_size
(Opcional)

El número de muestras de entrenamiento que se procesarán a la vez. El valor predeterminado es 2.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Double
model_arguments
[model_arguments,...]
(Opcional)

Argumentos adicionales para inicializar el modelo, como seq_len para la longitud máxima de secuencia de los datos de entrenamiento, que se tendrán en cuenta para entrenar el modelo.

Consulte argumentos de palabra clave en la documentación de SequenceToSequence para obtener la lista de argumentos de modelos compatibles que se pueden utilizar.

Value Table
learning_rate
(Opcional)

El tamaño del paso que indica cuánto se ajustarán las ponderaciones del modelo durante el proceso de entrenamiento. Si no se especifica ningún valor, se deducirá automáticamente una tasa de aprendizaje óptima.

Double
validation_percentage
(Opcional)

Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10.

Double
stop_training
(Opcional)

Especifica si el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar o hasta alcanzar el valor del parámetro max_epochs.

  • STOP_TRAININGEl entrenamiento del modelo se detendrá cuando el modelo deje de mejorar, independientemente del valor del parámetro max_epochs especificado. Esta es la opción predeterminada.
  • CONTINUE_TRAININGEl entrenamiento del modelo continuará hasta alcanzar el valor del parámetro max_epochs.
Boolean
make_trainable
(Opcional)

Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.

  • TRAIN_MODEL_BACKBONELas capas de base no se inmovilizarán y los pesos y sesgos del valor del parámetro model_backbone se pueden modificar para adaptarse a las muestras de entrenamiento. Esto tarda más tiempo en procesarse, pero generalmente produce mejores resultados. Esta es la opción predeterminada.
  • FREEZE_MODEL_BACKBONELas capas de base se inmovilizarán y los pesos y sesgos predefinidos del valor del parámetro model_backbone no se modificarán durante el entrenamiento.
Boolean
remove_html_tags
(Opcional)

Especifica si las etiquetas HTML se eliminarán del texto de entrada.

  • REMOVE_HTML_TAGSSe eliminarán las etiquetas HTML del texto de entrada. Esta es la opción predeterminada.
  • DO_NOT_REMOVE_HTML_TAGSNo se eliminarán las etiquetas HTML del texto de entrada.
Boolean
remove_urls
(Opcional)

Especifica si las URL se eliminarán del texto de entrada.

  • REMOVE_URLSSe eliminarán las URL del texto de entrada. Esta es la opción predeterminada.
  • DO_NOT_REMOVE_URLSNo se eliminarán las URL del texto de entrada.
Boolean

Muestra de código

TrainTextTransformationModel (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función TrainTextTransformationModel.

# Name: TrainTextTransformation.py
# Description: Train a sequence-to-sequence model to translate text from English to German.  
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy
import os

# Set local variables
in_table = "training_data.csv"
out_folder = "c\\texttransformer"

# Run Train Text Transformation Model
arcpy.geoai.TrainTextTransformationModel(in_table, out_folder, max_epochs=2,
         text_field="input", label_field="target", batch_size=16)