Ncloud TensorFlow Cluster サーバの生成ガイド
    • PDF

    Ncloud TensorFlow Cluster サーバの生成ガイド

    • PDF

    Article Summary

    Classic環境で利用できます。

    使用前に

    Q. Ncloud TensorFlow Clusterは何ですか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Ncloud TensorFlow Clusterのご紹介

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

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

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

    Ncloud TensorFlow Cluster の構成図

    tensorflow-2-1_configuration_ja.png

    Ncloud TensorFlow Clusterの生成

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

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

    tensorflow-2-1-100_ja.png

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

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

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

    tensorflow-2-1-105_ja.png

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

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

    Step 3. サーバの設定

    ストレージ種類、サーバタイプ、料金制、Zoneを選択してサーバ名を入力します。
    tensorflow-2-1-110_ja.png

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

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

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

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

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

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

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

    Step 4. 認証キーの設定

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

    tensorflow-2-1-115_ja.png

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

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

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

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

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

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

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

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

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

    ② ncloud-default-acgを使用

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

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

    tensorflow-2-1-120_ja.png

    Step 6. 最終確認

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

    tensorflow-2-1-125_ja.png

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

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

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

    サーバリストから確認

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

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

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

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

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

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

    tensorflow-2-1-130_ja.png

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

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

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

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

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

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

    tensorflow-2-1-135_ja.png

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

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

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

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


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.