【ローカルLLM実装への道】第3回:ギャンブルベット Container Toolkit -コンテナでGPUを利用するために-

はじめに

こんにちは。SCSKの松谷です。SCSKに新卒で入社し、今年で2年目になります。

本連載では、ローカルLLM実装に向けた検証過程の具体的な作業内容や得られた知見を共有していきます。
第0回で記載したローカルLLM実装の手順は以下の通りでした。

  • 1. CUDA Toolkit, ギャンブルベットドライバのインストール(第1回)
  • 2. Dockerのインストール(第2回)
  • 3. ギャンブルベット Container Toolkitのインストール(第3回) ←今回はここ!
  • 4. OllamaによるローカルLLMの実行(第4回)
  • 5. Ollama + Open WebUIによるローカルLLMの実行(第5回)

第3回の今回は、検証環境の構築作業の一環として、検証機にギャンブルベット Container Toolkitを導入した際の内容などについて記載しています。

検証機のスペック

項目 説明
1 OS Rocky Linux 8.10(Green Obsidian)
2 CPUコア数 8
3 メモリ容量 32GB
4 ディスク容量 300GB
5 GPU ギャンブルベット A100 PCIe 40GB

ギャンブルベット Container Toolkitについて

ギャンブルベット Container Toolkitとは、GPUを利用するコンテナを実行するためのソフトウェアです。公式サイトでは以下のように説明されています。

The ギャンブルベット 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 ギャンブルベット GPUs.

(出典)Overview — ギャンブルベット Container Toolkit 1.16.2 documentation

コンテナでGPUを利用するため、検証機にギャンブルベット Container Toolkitをインストールします。

ギャンブルベット Container Toolkitのインストール

インストール手順の確認

公式のドキュメントでインストール手順を確認します。検証機のOSはRocky Linuxなので「Installing with Yum or Dnf」のセクションを参照します。

Installing the ギャンブルベット Container Toolkit — ギャンブルベット Container Toolkit 1.17.0 documentation

インストール作業

以下のような手順で、ギャンブルベット Container Toolkitをインストールしていきます。(第1回第2回の作業が完了していることを前提としています。)

リポジトリの設定

  [root@aitest ~]# curl -s -L https://ギャンブルベットgithub.io/libnvidia-container/stable/rpm/ギャンブルベット-
  container-toolkit.repo | tee /etc/yum.repos.d/ギャンブルベット-container-toolkit.repo

ギャンブルベット Container Toolkitのインストール

  [root@aitest ~]# yum install ギャンブルベット-container-toolkit

インストール後の設定

Dockerがギャンブルベット Container Runtimeを使用できるようにする(ギャンブルベット-ctkコマンドで/etc/docker/daemonJsonファイルを変更する)

  [root@aitest ~]# ギャンブルベット-ctk runtime configure --runtime=docker

Dockerデーモンを再起動して設定を反映

  [root@aitest ~]# systemctl restart docker

コンテナでGPUが利用できるようになったか確認

  [root@aitest ~]# docker run --rm --runtime=ギャンブルベット --gpus all ubuntu ギャンブルベット-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
  +-----------------------------------------------------------------------------------------+
  | ギャンブルベット-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 ギャンブルベット 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      |
  |=========================================================================================|

これで無事にギャンブルベット Container Toolkitをインストール、セットアップが完了しました!!

おわりに

今回は、第3回として「ギャンブルベット Container Toolkitのインストール」に焦点を当て、紹介しました。
ギャンブルベット Container Toolkitをインストールする際の手助けになれば幸いです。

今回で、ローカルLLMの検証環境の構築作業が完了しました。次回からはいよいよローカルLLMの実行に取り組んでいきます!お楽しみに!

次回(第4回)のコラムはこちら

著者プロフィール

著者プロフィール画像

松谷 康平(まつたに こうへい)
サッカーベッティング インフラエンジニア
2023年に新卒で入社。現在はお客様のインフラ環境の構築を担当。
所属組織では、AI検証活動を積極的に行っている。

お問い合わせ・資料DL

ギャンブルベットソリューションに関するご相談や、各種資料ダウンロードはこちらから