はじめに
こんにちは。SCSKの松谷です。SCSKに新卒で入社し、今年で2年目になります。
本連載では、ローカルLLM実装に向けた検証過程の具体的な作業内容や得られた知見を共有していきます。
第0回で記載したローカルLLM実装の手順は以下の通りでした。
- 1. CUDA Toolkit, NVIDIAドライバのインストール(第1回)
- 2. Dockerのインストール(第2回)
- 3. NVIDIA Container Toolkitのインストール(第3回) ←今回はここ!
- 4. OllamaによるローカルLLMの実行(第4回)
- 5. Ollama + Open WebUIによるローカルLLMの実行(第5回)
第3回の今回は、検証環境の構築作業の一環として、検証機にNVIDIA Container Toolkitを導入した際の内容などについて記載しています。
検証機のスペック
項目 | 説明 | |
---|---|---|
1 | OS | Rocky Linux 8.10(Green Obsidian) |
2 | CPUコア数 | 8 |
3 | メモリ容量 | 32GB |
4 | ディスク容量 | 300GB |
5 | GPU | NVIDIA A100 PCIe 40GB |
NVIDIA Container Toolkitについて
NVIDIA Container Toolkitとは、GPUを利用するコンテナを実行するためのソフトウェアです。公式サイトでは以下のように説明されています。
The NVIDIA Container Toolkit enables users to build and run GPU-accelerated containers. The toolkit includes a container runtime library and utilities to automatically configure containers to leverage NVIDIA GPUs.
(出典)Overview — NVIDIA Container Toolkit 1.16.2 documentation
コンテナでGPUを利用するため、検証機にNVIDIA Container Toolkitをインストールします。
NVIDIA Container Toolkitのインストール
インストール手順の確認
公式のドキュメントでインストール手順を確認します。検証機のOSはRocky Linuxなので「Installing with Yum or Dnf」のセクションを参照します。
Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.17.0 documentation
インストール作業
以下のような手順で、NVIDIA Container Toolkitをインストールしていきます。(第1回、第2回の作業が完了していることを前提としています。)
リポジトリの設定
[root@aitest ~]# curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-
container-toolkit.repo | tee /etc/yum.repos.d/nvidia-container-toolkit.repo
NVIDIA Container Toolkitのインストール
[root@aitest ~]# yum install nvidia-container-toolkit
インストール後の設定
DockerがNVIDIA Container Runtimeを使用できるようにする(nvidia-ctkコマンドで/etc/docker/daemonJsonファイルを変更する)
[root@aitest ~]# nvidia-ctk runtime configure --runtime=docker
Dockerデーモンを再起動して設定を反映
[root@aitest ~]# systemctl restart docker
コンテナでGPUが利用できるようになったか確認
[root@aitest ~]# docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
31e907dcc94a: Pull complete
Digest: sha256:8a37d68f4f73ebf3d4efafbcf66379bf3728902a8038616808f04e34a9ab63ee
Status: Downloaded newer image for ubuntu:latest
Mon Sep 9 08:05:14 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.5 |
|-----------------------------------------+-----------------------—+---------------------—+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA A100-PCIE-40GB Off | 00000000:07:00.0 Off | 0 |
| N/A 58C P0 44W / 250W | 250MiB / 40960MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
これで無事にNVIDIA Container Toolkitをインストール、セットアップが完了しました!!
おわりに
今回は、第3回として「NVIDIA Container Toolkitのインストール」に焦点を当て、紹介しました。
NVIDIA Container Toolkitをインストールする際の手助けになれば幸いです。
今回で、ローカルLLMの検証環境の構築作業が完了しました。次回からはいよいよローカルLLMの実行に取り組んでいきます!お楽しみに!
著者プロフィール
松谷 康平(まつたに こうへい)
SCSK株式会社 インフラエンジニア
2023年に新卒で入社。現在はお客様のインフラ環境の構築を担当。
所属組織では、AI検証活動を積極的に行っている。