30分で独自のディープラーニングサーバーを作成する

30分で独自のディープラーニングサーバーを作成する

新しいプロジェクトを始めるたびに、私はディープラーニング マシンを何度も何度も作成していることに気づきます。

[[338887]]

まず Anaconda をインストールし、Pytorch と Tensorflow が互いに干渉しないように、それぞれに異なる環境を作成します。そして、途中で必ず失敗してしまい、最初からやり直さなければならなくなります。これは何度も起こることがよくあります。

これは時間の大きな無駄であるだけでなく、イライラさせられます。 Stack Overflow のすべてのスレッドを見ると、いったい何が間違っていたのかと疑問に思うことがよくあります。

では、これをより効率的に行う方法はあるのでしょうか?

このブログでは、より重要なことに集中できるように、最小限の労力で EC2 上にディープラーニング サーバーをセットアップしてみたいと思います。

このブログは、明確に 2 つの部分から構成されています。

  • ディープラーニングライブラリがプリインストールされた Amazon EC2 マシンをセットアップします。
  • TMUX と SSH トンネリングを使用して Jupyter ノートブックをセットアップします。

心配しないでください。思ったほど難しくはありません。手順に従って「次へ」をクリックしてください。

Amazon EC2 マシンのセットアップ

AWS アカウントをお持ちで、AWS コンソールにアクセスできることを前提としています。そうでない場合は、Amazon AWS アカウントにサインアップする必要があります。

  • AWS コンソール: https://aws.amazon.com/console/
  • まず、EC2 ダッシュボードにアクセスするには、[サービス] タブに移動する必要があります。

EC2 ダッシュボードでは、インスタンスの作成から始めることができます。

Amazon は、ディープラーニング ソフトウェアがプリインストールされたコミュニティ AMI (Amazon マシンイメージ) を提供しています。これらの AMI にアクセスするには、コミュニティ AMI を調べて、検索タブで「Ubuntu Deep Learning」を検索する必要があります。他の Linux フレーバーを選択することもできますが、私のディープラーニングのニーズには Ubuntu が最も役立つことがわかりました。現在のセットアップでは、Deep Learning AMI(Ubuntu 18.04)バージョン27.0を使用します。

AMI を選択したら、インスタンス タイプを選択できます。ここで、システムに必要な CPU、メモリ、GPU の数を指定できます。 Amazon では、お客様の個々のニーズに応じて選択できるオプションを多数提供しています。 「フィルター条件」フィルターを使用して GPU インスタンスをフィルターできます。 このチュートリアルでは、2,496 個の並列処理コアと 12 GiB の GPU メモリを備えた NVIDIA K80 GPU を提供する p2.xlarge インスタンスを使用しました。さまざまなインスタンス タイプについて詳しくは、以下のリンクにあるドキュメントを参照して価格を確認してください。 ドキュメントを見る: https://aws.amazon.com/ec2/instance-types/ 価格: https://aws.amazon.com/emr/pricing/

手順 4 でマシンに接続されているストレージを変更できます。事前にストレージを追加しなくても、後から追加できるので問題ありません。ほとんどのディープラーニングのニーズには十分なストレージ容量が必要なため、ストレージ容量を 90 GB から 500 GB に変更しました。

これで完了です。インスタンス設定の最終確認画面に到達したら、インスタンスを起動できます。 「起動」をクリックすると、この画面が表示されます。 「キーペア名」に任意のキー名を入力し、「キーペアのダウンロード」をクリックするだけです。指定した名前でキーがコンピューターにダウンロードされます。私の場合は「aws_key.pem」として保存されました。完了したら、「インスタンスの起動」をクリックしてインスタンスを起動できます。

このキー ペアはインスタンスにログインするときに必要になるため、安全に保管してください。

次のページで「インスタンスの表示」をクリックすると、インスタンスを表示できます。インスタンスは次のようになります。

インスタンスに接続するには、ローカル コンピューターでターミナル ウィンドウを開き、キー ペア ファイルを保存したフォルダーを参照して、いくつかの権限を変更します。

  1. chmod 400 aws_key.pem

これが完了すると、SSH 経由でインスタンスに接続できるようになります。 SSH コマンドの形式は次のとおりです。

  1. ssh -i "aws_key.pem" ubuntu@<yourPublicDNS(IPv4)>

私の場合のコマンドは次の通りです:

  1. ssh -i "aws_key.pem" [email protected]

また、インスタンスをシャットダウンするとパブリック DNS が変更される可能性があることに注意してください。

マシンの準備が完了し、準備完了です。このユニットには、必要となる可能性のあるさまざまなライブラリを備えたさまざまな環境が含まれています。このマシンには、MXNet、Tensorflow、Pytorch と、さまざまなバージョンの Python が搭載されています。最も優れている点は、これらすべての機能がプリインストールされているため、箱から出してすぐに使用できることです。

Jupyter Notebookの設定

ただし、コンピューターを完全に使用するために、使用する必要があるものがいくつかあります。その1つがJupyter Notebookです。コンピューターに Jupyter Notebook をセットアップするには、TMUX とトンネリングを使用することをお勧めします。 Jupyter Notebook をセットアップする手順を見ていきましょう。

TMUX で Jupyter Notebook を実行する まず、TMUX を使用してインスタンス上で Jupyter Notebook を実行します。これを主に使用するのは、端末接続が失われた場合でもラップトップが機能し続けるようにするためです。

これを行うには、次のコマンドを使用して新しい TMUX セッションを作成する必要があります。

  1. tmux 新規 -s ストリームセッション

完了すると、下部に緑色の枠線が付いた新しい画面が表示されます。 jupyter notebook コマンドを使用して、このコンピューターで Jupyter Notebook を起動できます。次のような画面が表示されます。

ログイン URL をコピーしておくと、後で Jupyter Notebook にログインするときにトークンを取得できるようになります。私の場合は次のとおりでした:

  1. http://localhost:8888/?token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

次のステップは、ssh シェルを終了してもバックグラウンドで実行を継続できるように、TMUX セッションをデタッチすることです。これを行うには、Ctrl + B を押してから D を押します (D を押すときに Ctrl キーを押したままにしないでください)。すると、tmux セッションから切断されたことを示すメッセージが表示された初期画面に戻ります。

必要に応じて、次の方法でセッションに再接続できます。

  1. tmux アタッチ -t ストリームセッション

ローカルブラウザでノートブックにアクセスするためのSSHトンネル

2 番目のステップは、Amazon インスタンスに SSH 接続して、ローカル ブラウザーで Jupyter ノートブックを取得することです。ご覧のとおり、Jupyter ノートブックは実際にはクラウド インスタンスのローカル ホスト上で実行されています。どうやってアクセスするのでしょうか? SSH トンネリングを使用します。心配しないでください、簡単です。ローカルマシンのターミナルウィンドウで次のコマンドを使用します。

  1. ssh -i "aws_key.pem" -L <ローカルマシンのポート>:localhost:8888 ubuntu@<パブリックDNS (IPv4)>

この場合、私は以下を使用しました:

  1. ssh -i "aws_key.pem" -L 8001:localhost:8888 [email protected]

つまり、ローカルマシンのブラウザで localhost:8001 を開くと、Jupyter Notebook を使用できるということです。もちろんできますよ。これで、前の手順のいずれかで保存したトークンを入力するだけで、ノートブックにアクセスできるようになります。私の場合、トークンは5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872です

  • トークン: http://localhost:8888/?token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872&token=5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

トークンを使用してログインするだけです。

これで、必要なさまざまな環境を選択して、新しいプロジェクトを選択できるようになりました。 Tensorflow または PyTorch、あるいはその両方から始めることができます。このノートブックはあなたを失望させません。

トラブルシューティング

コンピュータを再起動した後、NVIDIA グラフィック カードに問題が発生する場合があります。具体的には、私の場合、nvidia-smi コマンドが機能しなくなりました。この問題が発生した場合の解決策は、NVIDIA Web サイトからグラフィック ドライバーをダウンロードすることです。

  • NVIDIA ウェブサイト: https://www.nvidia.in/Download/index.aspx?lang=en-in

上記は私が選択した特定の AMI の設定です。 「検索」をクリックすると、次のページが表示されます。

右クリックしてリンク アドレスをコピーするだけで、ダウンロード リンクをコピーできます。そして、コンピューター上で次のコマンドを実行します。リンクアドレスとファイル名を変更する必要がある場合があります。

  1. # nvidia-smi が動作しない場合:
  2.  
  3. wget https://www.nvidia. in /content/DriverDownload-March2009/confirmation.php?url=/tesla/410.129/NVIDIA-Linux-x86_64-410.129-diagnostic.run&lang= in &type=Tesla
  4.  
  5. sudo sh NVIDIA-Linux-x86_64-410.129-diagnostic.run --no-drm --disable-nouveau --dkms --silent --install-libglvnd  
  6.  
  7. modinfo nvidia | ヘッド -7
  8.  
  9. sudo modprobe nvidia

インスタンスを停止する

それでおしまい。ディープラーニングマシンが稼働しており、自由に使用できます。作業を停止するときは必ずインスタンスを停止し、インスタンスで作業していないときに Amazon に料金を支払わないように注意してください。これは、インスタンスを右クリックしてインスタンス ページで実行できます。このマシンに再度ログインする必要がある場合、パブリック DNS (IPv4) アドレスが変更されている可能性があるため、インスタンス ページからパブリック DNS (IPv4) アドレスを再度取得する必要がある場合があります。

結論は

ディープラーニング環境の構築は非常に面倒だといつも思っていました。

このブログでは、Deep Learning Community AMI、TMUX、Jupyter Notebook のトンネリングを使用して、EC2 上に新しいディープラーニング サーバーを最短時間でセットアップしました。サーバーには、作業に必要なすべてのディープラーニング ライブラリがプリインストールされており、すぐに使用できます。

では、何を待っていますか? 独自のサーバーでディープラーニングを使い始めましょう。

<<:  Microsoft Flight SimulatorはAIを使って15億の建物を復元、宮殿がオフィスビルに変わる際にバグが発生

>>:  烏鎮百度脳オープンデーが開催、EasyDL業界インテリジェンスイノベーションコンペティションを開始

ブログ    

推薦する

...

中国の自動運転分類の国家基準が正式に発表され、来年3月に施行される予定

自動車の電動化や知能化が進む中、自動運転は人々の日常生活にますます近づきつつあります。現在、市場に出...

...

プラットフォームのイノベーションを加速し、「クラウド、ビッグデータ、IoT、インテリジェンス」の新たな章を切り開く

世界を席巻するデジタル変革は、あらゆる分野に大きな発展のチャンスをもたらしました。技術革新を推進する...

WindowsとOfficeは使いやすく、大型モデルのインテリジェントエージェントはコンピュータを操作するのにとてもクールです

AI アシスタントの将来について語るとき、アイアンマン シリーズに登場する魅力的な AI アシスタン...

医療業界における人工知能の5つの主要な応用シナリオと典型的な事例

近年、スマートヘルスケアの開発は国内外で人気を集めています。 「セキュリティやスマート投資アドバイザ...

企業環境でのAIテクノロジーの活用

企業の世界における人工知能の利点は何でしょうか?企業分野における AI の主な利点の 1 つは、プロ...

GPT-4を粉砕せよ! Google DeepMind CEOが明かす:次世代の大規模モデルはAlphaGoと統合される

Googleは本当に全力を尽くしています。 AlphaGoとGPT-4に似た大規模モデルを組み合わせ...

AIを使ってアニメーションを作成する方法と、さまざまなツールがあなたを待っています

生成 AI は、インターネット上の重要なコンテンツ ソースとなっています。AI によって生成されたテ...

認知知能は魔法のようなもの:2021 年の主要なブレークスルーを振り返る

著者: ユン・チャオ[51CTO.com からのオリジナル記事]人工知能ソリューションの応用が進むに...

人工知能とビッグデータの隠れた危険性とは何でしょうか?

データの不足から現在では大量のデータが存在するまで、近年では利用可能なデータの量が飛躍的に増加し、ビ...

デジタルヒューマンブラック技術が公開、わずか数分で話す動画を再現可能に

デジタルヒューマンと共存できるサイバーパンクの世界への準備はできていますか?将来の仮想世界で多くのア...

人工知能の時代:どの業界が大きな変化を遂げているのでしょうか?

近年、人工知能技術はコンピューティング能力、ビッグデータ、アルゴリズムの飛躍的進歩により急速に発展し...

自律的で制御可能なAIフレームワークは信頼性が高いが、すべてのAIコンピューティングセンターが同等というわけではない

現在、人工知能の発展レベルは、都市の競争力と将来の発展の可能性を測る新たな指標となっている。その結果...