TensorFlow(TF)コミュニティとGoogle Brainチームは、Tensor2Tensorを使用したTF APIの大幅な拡張を発表した。
Tensor2Tensor(T2T)は、TFで訓練され実行されているモデルのモジュール性と可搬性の課題に取り組んでいる。その取り組みでは、TFトレーニングに必要なコンポーネント用に標準化されたAPIを使用して、共通で使用されているディープ・ラーニング・モデルのパイプラインを拡張可能なオブジェクト・モデルに抽象化している。T2Tの目標の1つは、モデルトレーニングパイプラインとその環境を再現するコストを削減することである。もう1つは、TFの既存のAPIで行われる共通的な操作に必要なエンジニアリングの労力を回避することである。共通的な操作であっても、ユーザ同士で簡単に複製できない場合や、特定のアーキテクチャや問題でしか機能しない場合もある。
T2Tは、モデルアーキテクチャ、オプティマイザ、学習率減衰、スキーム、およびハイパーパラメータ向けに既存のTFライブラリで動作する。また、そのライブラリには、事前訓練モデルおよびサンプルデータセットが付属しており、TFによって使用されるモダリティを表している。コアTF Python API周辺のT2T抽象化は、データのシリアライゼーションや圧縮のようなTFパイプラインのコンポーネントについて保証するため、オブジェクトインターフェイスのレイヤを提供する。また、ハイパーパラメータやモダリティなどのためのモデル仕様のデフォルトと制御メソッドもある。これによって、ユーザは、TFパイプライン環境を調整することではなく、実験を繰り返したり、結果を比較したり交換したり、研究トピックに集中したりすることがより容易になると報告されている。
データセットはTFRecord protobufファイルで標準化されている。トレーニングデータセットは、Problemのユーザ定義のサブクラス、あるいはPythonデコレータと、クラスインスタンス化なしで直接関数呼び出しを使用するレジストリアプローチで生成できる。Problemは、訓練時間のハイパーパラメータ、それらの入力と出力のモダリティとデータセットで構成される。Problemメソッドは、エンコーダ、ファイルパス、入出力ターゲット、ハイパーパラメータ、デフォルトの属性値を処理する。モデル精度などのモデルメトリックもProblemにカプセル化されている。ハイパーパラメータセットは、レジストリデコレータを使用して登録されたHparamsオブジェクトである。
トレーニングの実行ファイルでは、設定可能な同期および非同期トレーニングが可能である。TF_CONFIG環境変数によって、gRPCとGPUのグループのサポートで、マスタおよびパラメータサーバホストを設定する。また、パラメータサーバごとにある複数のGPUなどによるグループ内にある、各サーバノード内の計算リソースで構成される論理クラスタリングを設定する。
Rate this Article
- Editor Review
- Chief Editor Action