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

ブログ    
ブログ    

推薦する

AAAI 2024 フェロー発表、清華大学の朱軍教授が選出

AAAI(人工知能振興協会)は、人工知能分野で国際的に最も権威のある学術団体の一つです。フェローは協...

人生の意味とは何でしょうか?ステーションBのUP司会者がAIに「究極の質問」を投げかけた

人生の意味とは何でしょうか?人はなぜ生きるのか?これらの「宇宙の究極の疑問」は、歴史を通じて数え切れ...

...

人工知能は石油・ガス生産者の業務改善と温室効果ガス排出削減に貢献

[[437362]]石油・ガス生産者の操業実績を測る指標は数多くあり、効率性の向上、コストの削減、油...

プライベート写真100億枚が流出! Clearview AIバイオメトリクスがあなたを監視しています

米国に拠点を置く顔認識企業 Clearview Ai は、最も包括的な顔認識システムを有していると主...

人工知能から新素材まで、IBMが5つの革新的な技術を発表

[原文は51CTO.comより] 2019年のIBM中国フォーラム(シンクサミット)で、IBMは各分...

AI データラベリングとは何ですか?課題は何ですか?

データ注釈はほとんどの人工知能の基盤であり、機械学習とディープラーニング モデルの品質を決定します。...

機械学習と従来のプログラミングの違いについて話す

[[264779]] AI と ML は誇張されすぎていて、if 文を書いたりプログラミングに関係す...

TensorFlow を使用したコンテキスト チャットボットの実装

日常のチャットでは、文脈が重要です。 TensorFlow を使用してチャットボット フレームワーク...

エッジコンピューティングの探究: プロセッサ、アルゴリズム、メモリ

エッジコンピューティングとは最近、エッジコンピューティングは、人工知能やモノのインターネットの分野で...

AI 開発者の高額給与は魅力的すぎるでしょうか?国内の開発者がAIに変革するためのガイドをぜひご利用ください

著者注: AI関連のニュースを閲覧すると、「高給」「年収100万ドル」など、非常に魅力的な言葉が頻繁...

機械学習モデルは展開するには大きすぎますか? 3つの解決策をご紹介します

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

OpenAI研究者:データが不十分な場合に教師あり学習を実現する方法

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

ChatGPTが話せるようになりました! Siriなどのスマートアシスタントへの直接的な脅威

OpenAIは米国時間9月26日月曜日、チャットボット「ChatGPT」に音声会話機能を追加したと発...

機械学習の発展の歴史と啓蒙

[[188091]]近年、人工知能の目覚ましい発展、特にAlphaGoと韓国のチェスプレイヤー、イ・...