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

ブログ    
ブログ    

推薦する

ディープラーニング(CNN RNN Attention)を使用して大規模なテキスト分類問題を解決する - 概要と実践

[[188373]]著者は最近、深層学習を応用してタオバオ商品のカテゴリー予測問題を解決するプロジェ...

マイクロソフトがOpenAIの理事に就任、アルトマン氏が初めてQ*に回答:残念なリーク

OpenAI の最初のシーズンは本当に終わりました。 ChatGPTがちょうど1周年を迎えようとして...

日本生命保険は6年間にわたりRPAを導入し、1万人の従業員の2,000万時間以上の工数を節約した。

日本生命保険株式会社(以下、日本生命)は、日本最大級の保険会社の一つであり、世界60カ国以上で事業を...

運輸・物流におけるAIと自動化のユースケース

[[343865]] [51CTO.com速訳]調査によると、コロナウイルスの流行により、多くの国と...

DeepMind、囲碁、チェス、ポーカーをプレイするための汎用学習アルゴリズムSoGを発表

2016年3月、ロボットと世界チャンピオンでプロ棋士のイ・セドル九段による人機囲碁対決が世界中から大...

独自の大規模言語モデルを展開する 5 つの方法

これは歴史上最も急速に成長している新技術です。生成 AI は世界を変え、画像、ビデオ、オーディオ、テ...

人工知能はソフトウェア開発業界にどのような影響を与えるでしょうか? AIはクリエイティブな労働者に取って代わることはできない

AI業界はクリエイティブなソフトウェア開発者を満足させることは決してできないでしょう。このテクノロジ...

ゲームにおける経路探索アルゴリズムの深い理解

World of Warcraft などの MMOARPG ゲームをプレイしたことがあるなら、キャラ...

ヨシュア・ベンジオ:私は国家間のAI競争を見たくないし、現在のAIの考え方を心配している。

[[250218]]ヨシュア・ベンジオ氏は、間違いなく現代の人工知能技術分野の第一人者です。ベンジ...

2020年のロボットとドローンに関する7つの予測

IDCの最新予測によると、ロボットシステムとドローンへの総支出は2020年に1,287億ドルに達し、...

GPT-4Vを試した後、マイクロソフトは166ページに及ぶ評価レポートを作成した。業界関係者:上級ユーザー必読

1週間前、ChatGPTはメジャーアップデートを受けました。GPT-4とGPT-3.5の両モデルは、...

量子コンピューティングがサプライチェーン管理を改善する方法

サプライチェーン業務における量子コンピューティングのユースケースでは、意思決定モデル内の複雑で不可能...

...