テキスト変換モデルのトレーニング (Train Text Transformation Model) (GeoAI)

サマリー

テキストの変換、翻訳、集約を行うようテキスト変換モデルをトレーニングします。

テキスト変換の仕組みの詳細

使用法

  • このツールを使用するには、ディープ ラーニング フレームワークがインストールされている必要があります。 AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。

  • このツールは、既存のトレーニング済みモデルの微調整にも使用できます。

  • GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。

  • このツールへの入力は、トレーニング データを含むテーブルまたはフィーチャクラスで、入力テキストを含むテキスト フィールドと変換済みテキストを含むラベル フィールドがあります。

  • このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくあるご質問 (FAQ)」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力テーブル

モデルの入力テキストを含むテキスト フィールドと、ターゲット変換済みテキストを含むラベル フィールドのある、フィーチャクラスまたはテーブル。

Feature Layer; Table View
テキスト フィールド

モデルによって変換される入力テキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。

Field
ラベル フィールド

モデルのトレーニングに使用されるターゲット変換済みテキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。

Field
出力モデル

トレーニング済みのモデルを格納する出力フォルダーの場所。

Folder
事前トレーニング済みモデル ファイル
(オプション)

新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ ファイル (*.dlpk) を指定できます。

類似したタスクを行う事前トレーニング済みモデルは、トレーニング データに合わせて微調整できます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。

File
最大エポック
(オプション)

モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって前後に 1 回渡されます。 デフォルト値は 5 です。

Long
モデル バックボーン
(オプション)

新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。

  • t5-small新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-small は T5 の small バリアントです。
  • t5-base新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-base は T5 の medium バリアントです。
  • t5-large新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-large は T5 の large バリアントです。
String
バッチ サイズ
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Double
モデル引数
(オプション)

トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。

使用可能な、サポートされるモデル引数のリストについては、SequenceToSequence ドキュメントのキーワード引数をご参照ください。

Value Table
学習率
(オプション)

トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。

Double
検証率
(オプション)

モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。

Double
モデルの改善が見込めなくなった時点で停止
(オプション)

モデルの改善がなくなった時点でモデルのトレーニングを停止するか、[最大エポック] パラメーター値に達するまでトレーニングを行うかを指定します。

  • オン - 指定した [最大エポック] パラメーター値にかかわらず、モデルの改善がなくなった時点でモデルのトレーニングを停止します。 これがデフォルトです。
  • オフ - [最大エポック] パラメーター値に到達するまで、モデルのトレーニングが続行されます。
Boolean
モデル バックボーンをトレーニング可能にする
(オプション)

事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。

  • オン - バックボーン レイヤーは固定されず、[モデル バックボーン] パラメーター値のウェイトとバイアスを、トレーニング サンプルに合わせて変更できます。 この処理には時間がかかりますが、通常は優れた結果が得られます。 これがデフォルトです。
  • オフ - バックボーン レイヤーは固定され、[モデル バックボーン] パラメーター値の事前定義済みウェイトとバイアスはトレーニング中に変更されません。

Boolean
HTML タグの削除
(オプション)

HTML タグを入力テキストから削除するかどうかを指定します。

  • オン - 入力テキストの HTML タグが削除されます。 これがデフォルトです。
  • オフ - 入力テキストの HTML タグは削除されません。

Boolean
URL の削除
(オプション)

URL を入力テキストから削除するかどうかを指定します。

  • オン - 入力テキストの URL が削除されます。 これがデフォルトです。
  • オフ - 入力テキストの URL は削除されません。

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})
名前説明データ タイプ
in_table

モデルの入力テキストを含むテキスト フィールドと、ターゲット変換済みテキストを含むラベル フィールドのある、フィーチャクラスまたはテーブル。

Feature Layer; Table View
text_field

モデルによって変換される入力テキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。

Field
label_field

モデルのトレーニングに使用されるターゲット変換済みテキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。

Field
out_model

トレーニング済みのモデルを格納する出力フォルダーの場所。

Folder
pretrained_model_file
(オプション)

新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ ファイル (*.dlpk) を指定できます。

類似したタスクを行う事前トレーニング済みモデルは、トレーニング データに合わせて微調整できます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。

File
max_epochs
(オプション)

モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって前後に 1 回渡されます。 デフォルト値は 5 です。

Long
model_backbone
(オプション)

新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。

  • t5-small新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-small は T5 の small バリアントです。
  • t5-base新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-base は T5 の medium バリアントです。
  • t5-large新しいモデルは T5 ニューラル ネットワークを使用してトレーニングされます。 T5 は、すべての言語の問題を text-to-text 形式に変換する統合フレームワークで、t5-large は T5 の large バリアントです。
String
batch_size
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Double
model_arguments
[model_arguments,...]
(オプション)

トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。

使用可能な、サポートされるモデル引数のリストについては、SequenceToSequence ドキュメントのキーワード引数をご参照ください。

Value Table
learning_rate
(オプション)

トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。

Double
validation_percentage
(オプション)

モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。

Double
stop_training
(オプション)

モデルの改善がなくなった時点でモデルのトレーニングを停止するか、max_epochs パラメーター値に達するまでトレーニングを行うかを指定します。

  • STOP_TRAINING指定した max_epochs パラメーター値にかかわらず、モデルの改善がなくなった時点でモデルのトレーニングを停止します。 これがデフォルトです。
  • CONTINUE_TRAININGmax_epochs パラメーター値に到達するまで、モデルのトレーニングは続行します。
Boolean
make_trainable
(オプション)

事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。

  • TRAIN_MODEL_BACKBONEバックボーン レイヤーは固定されず、model_backbone パラメーター値のウェイトとバイアスを、トレーニング サンプルに合わせて変更できます。 この処理には時間がかかりますが、通常は優れた結果が得られます。 これがデフォルトです。
  • FREEZE_MODEL_BACKBONEバックボーン レイヤーは固定され、model_backbone パラメーター値の事前定義済みウェイトとバイアスはトレーニング中に変更されません。
Boolean
remove_html_tags
(オプション)

HTML タグを入力テキストから削除するかどうかを指定します。

  • REMOVE_HTML_TAGS入力テキストの HTML タグが削除されます。 これがデフォルトです。
  • DO_NOT_REMOVE_HTML_TAGS入力テキストの HTML タグは削除されません。
Boolean
remove_urls
(オプション)

URL を入力テキストから削除するかどうかを指定します。

  • REMOVE_URLS入力テキストの URL が削除されます。 これがデフォルトです。
  • DO_NOT_REMOVE_URLS入力テキストの URL は削除されません。
Boolean

コードのサンプル

TrainTextTransformationModel (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、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)