2024年8月号第4部ローカルLLM…実験環境のNVIDIA Dockerの構築方法

実験環境のNVIDIA Dockerの構築方法を以下に記します.

●事前準備
・NVIDIAドライバーや関連パッケージをインストールします
$ sudo apt install nvidia-driver-535
$ sudo apt install nvidia-cuda-toolkit

・以下のコマンド正常にインストールできているか確認します
$ nvidia-smi
$ nvcc –version

・curlがインストールされていない場合は予めインストールしておきます
$ sudo apt install curl

 

●NVIDIA Dockerのインストール
・以下のURLを参考にNVIDIA Dockerをインストールします
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

・「Installing with Apt」の案内を参考に下記コマンドを実行します
$ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg –dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed ‘s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g’ | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-container-toolkit

 

●Dockerのインストール
・以下のサイトを参考にDockerをインストールします
https://docs.docker.com/engine/install/ubuntu/

・以下の順序でコマンドを実行
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
$ echo \
> “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
> $(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \
> sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

・ログインユーザをdockerグループに登録し、dockerデーモンを再起動します
$ sudo usermod -aG docker $USER
$ sudo systemctl restart docker

 

●nvidia-ctkコマンドを使いコンテナランタイムを構成
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
・nvidia-ctkコマンドをを使用してコンテナー ランタイムを構成します
$ sudo nvidia-ctk runtime configure –runtime=docker
$ sudo systemctl restart docker

 

●docker-compose.yamlファイルを作成
・本誌P.120のリスト1の内容(ダウンロードデータのリスト1.txt)をdocker-compose.xmlとして保存します
※本検証ではログインユーザのホームディレクトリに作成・保存

 

●実験環境のDockerコンテナの起動
※本検証ではターミナル上でホームディレクトリ内で実行
# Dockerコンテナを作成,起動
$ docker compose up -d
# 起動したDockerコンテナのコンソールを起動
$ docker exec -it llm-dev /bin/bash
# pip install einops
# cd /workspace