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は彼女を危険から救うことができるのか?

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

推薦する

ChatGPTが見知らぬ人の自撮り写真を流出!モデルによって個人データが盗まれたのですか?ネットユーザーはパニックに

最近、ChatGPTの返信に見知らぬ男性の写真が現れるという事件が多くのネットユーザーに衝撃を与えま...

ザッカーバーグは涙ながらに300人のチームを解散させた! Meta、Google、その他の大手企業によるMetaverse OSをめぐる戦いが正式に始まったのでしょうか?

Appleの春のカンファレンスまで残り4日となりました。カラフルなAR招待状が届きました。これはク...

ビデオメタデータとは何ですか?

ビデオ メタデータの分析と使用は、セキュリティにおける現在の多くの刺激的な開発の基盤となっています。...

人工知能に関する4つの大きな誤解

サンタフェ研究所の教授であり、『人工知能:考える人間のためのガイド』の著者でもあるメラニー・ミッチェ...

...

...

AIがメディア業界を変革、フェニックスTVがAIデータトラックに参入

メディア専門家は、2023年の「失業」について多かれ少なかれ不安を抱いています。メディア専門家は、C...

次世代の DevOps サービス: AIOps

[[243103]] [51CTO.com クイック翻訳] AIOps とは何か、また、たとえば、...

IoTとAIの組み合わせ:さまざまなスマートフォンが互いに学習できるようにする

センサーといえば、まず思い浮かぶのはウェアラブルデバイスです。今ではウェアラブルデバイスが広く普及し...

ガートナーのJi Xinsu氏:AI大手モデルメーカーは今後集中化され、企業が独自に構築するのは経済的ではない

10月11日ニュース(南山)ガートナーは今年7月、「中国ICTハイプサイクル2023」レポートを発表...

...

インベントリ | 知らないかもしれないディープラーニングの応用事例 8 つ

ディープラーニングは、多層人工ニューラル ネットワークを使用してコンピューター ビジョンから自然言語...