5分で強力で使いやすいディープラーニング環境を構築

5分で強力で使いやすいディープラーニング環境を構築

ディープラーニング プロジェクトに適した環境を構築するのは簡単な作業ではありません。処理すべきことはたくさんあります。ライブラリは特定のバージョンと一致する必要があり、環境全体を他のマシンに複製でき、すべてがマシン内のすべてのドライバーと通信できる必要があります。つまり、NVIDIA GPU 用の特定のドライバーをインストールする必要があり、CUDA ライブラリはドライバーおよび使用するフレームワークと互換性がある必要があります。

[[385488]]

コンテナはソフトウェア開発の世界に革命をもたらしましたが、今ではデータ サイエンティストがより堅牢な環境を構築するのにも役立ちます。

一つ確かなことは、データ サイエンスはソフトウェア開発の世界から学ぶべきことがあるということです。

NVIDIA NGC は、AI を本番環境でトレーニングおよび展開するための GPU に最適化されたフレームワーク、事前トレーニング済みモデル、ツールキットを提供するソフトウェア ハブです。これは、モデルのトレーニングに必要なすべてのツールを備えたコンテナ レジストリです。caffee2、Pytorch、Tensorflow、Keras、Julia など、どのツールを使用するかは関係ありません。

NGC カタログには、生産に使用できるコンテナが多数用意されています。使用するコンテナを選択するだけです。

Nvidia NGC はコンテナ レジストリであるだけでなく、組織がモデルを本番環境に導入するのに役立つ多くの組み込み機能を備えています。

ゼロから始める

まず、GPU を搭載した Linux マシンから始めましょう (GPU は必須ではありませんが、モデルをトレーニングする場合は強くお勧めします)。この機能を Ubuntu 20.04 LTS と 18.04 LTS でテストしましたが、他の Linux ディストリビューションにも簡単に適応できます。

私たちは何をする必要がありますか?

手順は簡単で、NVIDIA ドライバーと Docker をインストールするだけです。次に、必要な Docker イメージをダウンロードして作業を開始します。

ステップ1: Ubuntu 20.04にNVIDIAドライバーをインストールする

注意: 別の Ubuntu バージョンを使用している場合は、それに応じてスクリプトを変更してください。また、セキュア ブートが有効になっている場合、この方法は機能しません。

  1. sudo apt install linux-headers-$(uname -r)
  2. curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
  3. sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
  4. sudo apt- key adv- fetch -keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub を実行します。
  5. sudo add -apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"  
  6. sudo aptアップデート 
  7. sudo apt -y cudaをインストールします

nvidia-smi コマンドを使用してインストールを確認します。次のような画面が表示されます。

ステップ2: Ubuntu 20.04にDockerをインストールする

  1. #!/bin/sh
  2. #リポジトリを設定する
  3. sudo apt-getアップデート 
  4. sudo apt-get install -y \
  5. apt-transport-https \
  6. ca証明書\
  7. カール\
  8. gnupgエージェント\
  9. ソフトウェアプロパティ共通
  10. # Dockerの公式GPGキーを追加します:
  11. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-キー 追加-
  12. #安定リポジトリをセットアップする
  13. sudo -apt-リポジトリを追加します\
  14. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  15. $(lsb_release -cs) \
  16. 安定した"
  17. sudo apt-getアップデート 
  18. sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  19. # ubuntuをユーザー名置き換えてください
  20. sudo usermod -aG docker ubuntu

注意: sudo 権限なしで docker コマンドを使用するには、ログアウトして再度ログインする必要があります。

ステップ3: DockerがNVIDIAドライバーと通信できるようにする

  1. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  2. sudo apt-キー 追加-
  3. curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
  4. sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  5. sudo aptアップデート 
  6. sudo apt-get install -y docker nvidia-container-toolkit

ここで、Docker が NVIDIA ドライバーと通信できるかどうかをテストします。これを行うには、次のコマンドを実行するだけで、手順 1 と同様の結果が表示されます。

  1. sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi  

注: さまざまなクラウド ホスティング プロバイダーを試しましたが、OS、VM タイプ、GPU によっては、この時点で再起動が必要になる場合があります。したがって、エラーが発生した場合は、sudo reboot を試して、上記のコマンドを再度実行してください。すべてが正常であれば、nvidia-smi の結果が表示されます。

ステップ 4: イメージを取得して実行してみましょう。

  1. #NGC Tensorflow 2 イメージをダウンロード
  2. docker pull nvcr.io/nvidia/tensorflow:20.12-tf2-py3
  3. #コンテナ内の/container_dirマウントされる local_dir フォルダを作成します
  4. mkdir /home/ubuntu/local_dir
  5. docker run --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -it --rm -v /home/ubuntu/local_dir:/container_dir nvcr.io/nvidia/tensorflow:20.10-tf2-py3  

注: オペレーティング システムが Docker コンテナーに割り当てられたリソースを制限するのを回避するには、フラグ - shm-size=1g - ulimit memlock=-1 - ulimit stack=67108864 が必要です。

コンテナ内に入りましたので、すべてが動作しているかどうか確認してみましょう。

画像からわかるように、GPU は利用可能であり、TensorFlow はそれを使用できます。

最後に: docker環境にアクセスする

マシンから切断すると、コンテナ内にいないことに気付くでしょう。

再度接続するには、docker ps を使用して実行中のコンテナの container_ id を見つけて、次の操作を行う必要があります。

  1. docker exec -it <コンテナID> /bin/bash

最終まとめ

このチュートリアルでは、NVIDIA NGC のイメージを使用して、すべてのライブラリとツールを備えた本番環境対応環境を簡単に作成できることを学びました。

NVIDIA ドライバーおよび必要なフレームワークと通信するように Docker を構成するのがいかに簡単かを確認しました。

これをすべて 5 分で完了しました。

<<:  手紙を開かずに読むことはできますか? MITのX線技術がネイチャー誌に掲載される

>>:  女性が30時間以上浴室に閉じ込められた。この危機的状況でAIは彼女を危険から救うことができるのか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

7年間の変革:WOT2018がテクノロジーの背後にある真実を明らかにする

2018 年のインターネット業界が新たな変化の時期を迎えていることは否定できません。新たなアップグレ...

...

130 億個のパラメータを持つモデルをトレーニングするには GPU がいくつ必要ですか?マイクロソフト: 1つで十分

今日のモデルには数千億、あるいは数兆ものパラメータがあります。一般の人がモデルをトレーニングできない...

システムの観点から見た中国の人工知能開発の現状

第四次産業革命が急速に起こりつつあります。人工知能はこの産業革命の中核となる内容の一つです。産業革命...

Google翻訳では対応できない?ドイツ語ハードコア翻訳DeepL体験

[[321121]]インターネットを頻繁に利用する人のほとんどは、お気に入りの翻訳ツールを持っていま...

...

10年以内にAGI?次世代のジェミニは環境を感知できるのか?ディープマインドCEOハサビス氏がAIについて語る

「今後10年でAGIのようなシステムが登場しても驚かないだろう」と、グーグル・ディープマインドの共同...

AIをめぐる世界的な競争でリードしているのは中国、米国、それともヨーロッパか

現在、世界中でAI関連企業に多額の投資が流入しており、トップ研究機関の科学者が毎週、さまざまなAIア...

AI人材の世界的な需要が急増、一部の職種では年間40万ドル近くを稼ぐ

6月19日のニュース:AI産業の急速な発展に伴い、テクノロジー業界のAI人材に対する需要も高まってい...

Google が Mirasol をリリース: 30 億のパラメータで、マルチモーダル理解を長時間動画にまで拡張

11月16日、Googleは、動画に関する質問に答えたり、新たな記録を樹立したりできる小型人工知能モ...

...

...

詳細 | ビッグデータアルゴリズムアプリケーションのテストの開発

[[324462]]アリ姉の紹介:近年、データコンピューティング能力と機械知能アルゴリズムの台頭によ...

闇の奥:人工知能の奥にはどんな闇が隠されているのか?

4月13日、TechnologyReviewによると、ロボットが倉庫への特定のルートを取ることを決...

顔認識は「ワーテルロー」に見舞われ、ビッグデータが将来の方向性を明らかに

顔認識技術の利用が増えるにつれ、さまざまなリスクが徐々に明らかになってきています。 CCTVの「3....