使用前に

Q. TensorFlow Cluster商品は何ですか?

  • 大容量学習データまたは演算量の多いTensorFlowコードを Cluster環境でより速く実行するための商品です。
  • 予め提供されているtcm CLI命令語を通じてクラスタのノードを生成、追加、削除してストレージをClusterから簡単に共有して手軽に増設できます。また、ユーザーコードを簡単にClusterに実行(Job Submit)できます。
  • "Tensorflow Cluster"はグーグルブレインチームが開発したオープンソースマシンラーニングソフトウェアライブラリーであるTensorflowを利用しています。

Q. サポートされるOSは何ですか?

  • OSは 'ubuntu-16.04-64-server'を提供します。

Q. どのようなパッケージが提供され、また、提供されるパッケージのみ使用できますか?**

  • TensorFlow Cluster masterサーバにはAnacondaとClusterを運営できるtcm CLIパッケージが設置されます。(TensorFlow設置を除く)
  • TensorFlow Cluster masterサーバで生成するCluster NodeにはTensorFlowが設置されます。

Q. Python以外に Javaや他の言語を使用できますか?

  • TensorFlowから JavaやGo などのAPIも提供されますが安定性を保障しないので Pythonを使われることをお勧めします。

Q. TensorFlowクラスタはどのように生成しますか?

  • TensorFlow ClusterはStandard使用のサーバを必要に応じて生成し、ターミナルにアクセスしてtcm CLI命令語でClusterを構成します。
  • TensorFlow masterサーバは月額料金制と時間料金制から選択でき、サーバを生成してからアクセス環境を設定して利用できます。 (Worker, パラメータサーバノードは時間料金制で生成されます。)

Q. 提供されるサーバタイプにはどのようなものがありますか?

  • NAVERクラウドプラットフォームから提供するTensorFlow Cluster masterサーバタイプはStandardサーバタイプの中から仕様を選択できます。ターミナルでアクセス後 tcm CLI 命令語で生成するサーバノードを以下のようなスペック仕様を選択できます(但し、全てのサーバノードは同じスペックで選択可能です)。
  • TensorFlow Cluster Worker, パラメータサーバノードは下の5つのサーバスペックから選択できます(全てのサーバノードは同じスペックで構成され、GPUサーバタイプは今後サポート予定です)。
スペックコード スペックの詳細 説明
mini vCPU 4ea, Memory 16GB, HDD 50GB クラスタテスト用途や少ないワークロード処理に適したサーバタイプです。
basic vCPU 8ea, Memory 32GB, HDD 50GB 中間規模のワークロード処理に適したサーバタイプです。
high vCPU 16ea, Memory 32GB, HDD 50GB 大きな規模のワークロード処理に適したサーバタイプです。
gpu1 GPU 1ea, GPU Mem 24GB, vCPU 4ea, Memory 30GB, SSD 50GB 単一GPUをクラスタノード数だけ拡張して使用します。
gpu2 GPU 2ea, GPU Mem 48GB, vCPU 8ea, Memory 60GB, SSD 50GB デュアルGPUをクラスタノード数だけ拡張して非常に大きなワークロード処理が可能です。

(但し、ノードは同じスペックタイプで構成され、全てのノードがワーカーサーバノードに認識され、パラメータサーバノードの個数は指定できます。)

Q. TensorFlow Cluster master サーバを生成しましたが、ワーカーサーバやパラメータサーバはどうやって生成しますか?

  • masterサーバターミナルにアクセスしてtcm create [サーバ台数]を実行してください。
  • 詳しいtcm CLI命令語の使用法は ('TensorFlow Cluster tcm命令語使用ガイド')をご参照ください。

Q. TensorFlow codeはどのようにClusterから実行しますか?

  • master サーバターミナルにアクセスしてtcm submit [プログラムPath]を実行してください。
  • 詳しい tcm CLI命令語の使用法は ('TensorFlow Cluster tcm命令語使用ガイド')をご参照ください。

TensorFlow Cluster 商品のご紹介

TensorFlowでClusterとはTensorFlow グラフ上での分散された演算の一部で、作業(Task)の集合を意味します。 それぞれの作業はTensorFlowのサーバノードで実行され、各サーバはセッションを生成するマスターサーバ、グラフ演算を実行するワーカーサーバ、演算された傾き(Gradient)を共有するパラメータサーバで構成されます。 このようなサーバがそれぞれ各自実行する役割のためにそれぞれのサーバにClusterの構成情報を説明するClusterSpecを因子として渡す必要があり、このTensorFlow Cluster 商品はそのような作業を比較的簡単に処理することができます。

ユーザーは各ノードに転送するCluster Specを気にすることなく学習コードの作成だけに集中できます。但し、Cluster Specをセッションに転送するためには若干のユーザーコードの修正が必要です。修正される部分に関する説明は('TensorFlow Cluster MNIST 例題')をご参照ください。

当該商品はTensorFlow分散並列処理のための商品ですが、サーバにAnacondaが設置されているので基本的にデータの前処理、視覚化などを処理できます。

TensorFlow Cluster の構成図

TensorFlow Clusterの生成

Step 1. コンソールへアクセス

コンソールへアクセスして Server > Serverメニューを選択します。

① サーバを生成する際は サーバを生成ボタンをクリックします。

Step 2. サーバイメージの選択

TensorFlow サーバイメージを選択してサーバを生成します。

① Tensorflowイメージを選択します。

② 下の方へ移動して イメージから 'tensorflow-cluster-ubuntu-16.04-64-master'を選択します。そして[次へ] ボタンをクリックします。

Step 3. サーバの設定

ストレージ種類、サーバタイプ、料金制、Zoneを選択してサーバ名を入力します。

① Zoneを選択します。 'KR-1'と 'KR-2'の中から選択できます。

② サーバストレージの種類を選択します。

  • 高性能I/Oが必要なサービスにはSSDを、一般的なサービスにはHDDを選択してください。但し、ブーティングストレージがSSDの場合のみ追加ストレージにSSDを利用できます。

③ 必要なサーバタイプを選択します。MasterサーバはStandard サーバタイプの中からのみ選択できます。

④ 料金制は月額料金制または時間料金制の中から選択できます。

⑤ サーバ台数を入力します。(Master サーバは一台が一つのクラスタになるため、一台を選択し、複数のクラスタが必要な場合だけ一台以上を選択してください。)

⑥ サーバ名を入力してから [次へ] ボタンをクリックします。

Step 4. 認証キーの設定

保有している認証キーがある場合’保有している認証キーを利用’を選択し、ない場合は以下の手続きで新たな認証キーを生成します。

新たな認証キーを生成を選択します。

② 認証キー名を入力します。

認証キーを生成及び保存 ボタンをクリックしてローカルパソコンに認証キーファイルを保存します。

  • 新たな認証キーを発行します。
  • 保存した認証キーはお客様パソコンの安全な位置に保管してください。
  • 認証キーは最初の管理者パスワードを呼び出す際に使います。

[次へ] ボタンをクリックします。

Step 5.ネットワークアクセスの設定

Tensorflow Cluster 商品は基本的にWorkerノード間の通信を通じてJobを実行します。 当該商品にはこのような通信のために特定ポートを開いて使用することになりますが、これはNAVERクラウドプラットフォーム コンソールからACG登録をすることによって可能です。 Tensorflow Cluster 商品使用のためのACG登録は大きく2つの方法があります。

① ユーザー ACG生成による登録

  • '新規 ACGを生成' オプションを選択すると '+ACGを生成' ボタンが生成されます。
  • '+ACG を生成' ボタンをクリックします。
  • 'ACGを生成' のポップアップが表示されたらACG名を入力します。
  • 下のACG設定を一つずつ入力して '+追加' ボタンを押して追加します。
プロトコル アクセスソース 許可ポート
TCP 0.0.0.0 22
TCP 0.0.0.0 2222
TCP 0.0.0.0 3333
  • '生成' ボタンをクリック

② ncloud-default-acgを使用

  • ncpアカウントには基本でncloud-default-acgというACGが登録されています。これは保有しているノード範囲から全てのポートにアクセス可能な設定です。
  • 当該ACGを使用するとTensorflow Clusterから各 Workerノード間の通信が可能です。

次の画像は②番の方法を選択した例題です。

Step 6. 最終確認

設定した内容を最終確認します。

① サーバイメージ、サーバ、認証キー、ACGが正常に設定されたか確認します。

② 最終確認が終わったら サーバを生成 ボタンをクリックします。

  • サーバが生成されるまでは数分から数十分かかります。

サーバリストから確認

生成したサーバをリストから確認します。

① 生成したサーバがリストに表示されます。

② サーバが生成されてパッケージが設置完了し、サーバの状態が 運営中になるまでお待ちください。

ポートフォワーディングの設定及びアクセス

ポートフォワーディングの設定

ターミナルプログラム(Puttyなど)でサーバにアクセスするためにはポートフォワーディングを設定する必要があります。

① サーバリストに設定するサーバを選択して上段のポートフォワーディングを設定をクリックします。

③ ポートフォワーディングの設定画面から外部ポート番号を設定します。外部ポート番号の入力範囲は1024~65,534で、サーバアクセスのための機能以外にサービス用途では使用できません。
(内部ポート番号は22に定まっています。)

追加 ボタンをクリックすると設定内訳が下段に追加され、[修正], [削除] ボタンをクリックして設定内訳を修正、削除できます。

適用 ボタンをクリックすると設定した外部ポートにターミナルプログラムを利用してSSHアクセスできます。

アクセス及びtcm CLI命令語の使用

ターミナルプログラムで ssh root@[アクセス用パブリックIP] -p [ポートフォワーディングのポート番号]で下の画像のようにアクセスすると tcm CLI命令語を使用できます。

① TensorFlow Cluster master サーバへアクセスします。

② tcm 命令語を実行すると使用可能なCLI commandリストが出力されます。

③ tcm info 命令語で以前生成した Clusterノード情報を確認できます。 (以前生成したClusterノードがない場合、Create命令語で新たに構成できます。)

詳しい tcm CLI命令語の使用法は ('TensorFlow Cluster tcm 命令語使用ガイド')をご参照ください。

関連情報へショートカット

以下のガイドを通じてより多様で豊かな関連情報を確認できます。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...