こんにちは!エンドポイント製品やEmailセキュリティ製品を担当しているシマシマキンです。
普段はセキュリティ製品担当をしておりますが、AI技術が一般的に認知されている昨今、AIツールを使用して省人化を行いたい点や、セキュリティの課題に対して、AIツールを用いて解決できるものがなかろうか?という点で、AIツール開発の勉強をしています。
※新しいプロダクト(AIとセキュリティ双方の知見が必要な)の担当として、より面白味が出せるのではなかろうか?の観点もあったりします。(^^;
AIツールの開発にあたっては、「PCのリソースを有効活用できていない」「AI検証環境としてデスクトップにGPUを組み込んだが、環境再構築等、非常に手間がかかる」等の課題がありますが、それらの課題に対し、仮想環境等を使用すれば、より効率よくリソースを使えるようになり、かつ環境再構築(スナップショットを戻す等)を迅速に行え、有効な対策となります。
しかし、仮想環境等で、GPUを利用する場合、基盤のデフォルト設定を数点変更する必要が出てきます。そこで今回の記事では、基盤の設定変更を含めた、構築方法をご紹介いたします。
■ESXi (仮想環境基盤)でGPUパススルー
・Step1 iGPUの無効化
BIOS画面上で適宜iGPUを無効化してください。
・Step2 GPUパススルー有効(ESXi でGPUパススルー有効化)
下記GPUのチェックボックスにチェック、その後「パススルーの切り替え」をクリックし、GPUパススルーを有効化します。
その後、ESXi を再起動してください。
・Step3 VM上の設定
対象のゲストOSの「編集」をクリックしてください。
CPUの「ハードウェア仮想化」にチェックが外れていることを確認し、メモリの「すべてのゲストメモリ~」をチェックする。「その他デバイスの追加」で「PCIデバイス」をクリックし、GPUを追加してください。
「仮想マシンオプション」にて「構成の編集」をクリック後、パラメータ「hypervisor.cpuid.v0 : FALSE」を追加し、OKをクリックし、編集した内容を保存してください。
最後にゲストOSを起動させ、Linuxであれば「lspci -nn|grep -i nvidia」でGPUを認識していることを確認してください。
その後、ゲストOSへ適宜ツール等を入れて開発環境完成です。
■CentOS編
普段の開発ではLinuxしか扱っていないよ!等お思いの方もいらっしゃるかと思います。CentOSではKVM環境でパススルーする手もありますが、折角なのでContainer(Docker)を使用した場合の設定方法をご紹介します。
CentOS上、GPUのドライバが入っている前提で、Docker環境の設定~確認コマンドまでをご紹介します。(rootユーザでの実施例の為、適宜sudo コマンドを入れてください。)
・CentOS 7でDockerをセットアップ!
公式なDocker CE レポジトリセットアップ
#yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# yum repolist -v
containerd.ioパッケージインストール
#yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el7.x86_64.rpm
docker-ceパッケージインストール
# yum install docker-ce -y
Dockerサービス有効化
# systemctl --now enable docker
Docker 実行確認
# docker run --rm hello-world
※実行後、下記の表示がなされます。
|
・NVIDIA Containerツールキットセットアップ!
レポジトリとGPGKey セットアップ
# distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
nvidia-docker2パッケージセットアップ
#yum clean expire-cache
#yum install -y nvidia-docker2
Docker daemonを再起動
#systemctl restart docker
動作確認
# docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi
※実施後、下記のような表示がなされます。
|
以上でセットアップ~動作確認が完了です。
※本コラムは手順の動作保証をするものではございませんので、ご承知おきください。
今回作った環境で、AIツールを開発し、身近な物への応用を通して自己学習を進めていき、仕事の中で活かせる機会があれば発信していきたいと思います。
弊社内ではAI勉強会が活発に行われており、AIに関する業務に携わっていなくても、知見を身につけることができます。また、セキュリティプロダクト担当のメンバーが、AI関連のプロダクト担当に異動するケースもあります。
セキュリティ、AI、DevOps関連の商材を取り扱っており、最先端の技術に触れられる仕事環境がマクニカにはあります。
最後に、弊社では、「G検定受験費補助金」の制度があり、弊社正社員であれば利用できます!我こそは!と思う方は入社後、G検定を受けてみてはいかがでしょうか!?
以上、CentOS8 のサポート期限がもうすぐなので、移行先の基盤に悩んでいるシマシマキンでした。
関連記事
前へ
ありマク座談会(営業職)_前編
次へ
エクスポネンシャルなイベント準備に奔走中