1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ansible PlaybookでCUDA環境を自動構築

Last updated at Posted at 2024-06-15

はじめに

生成AIの基盤モデルを作るSakana AIがWBSに取り上げられました。

映像の中では、エンジニアが仕事中の様子を後ろから撮影しており、エディタのウインドウが映っていました。

このウインドウには、AWSのAnsibleという自動化ツールを使用してCUDA関連のパッケージをインストールするためのプレイブック(playbook)が表示されていました。

映像がこちらです。

Ansibleとは

Ansibleは、ITの自動化を実現するためのツールです。簡潔な記述でサーバーやクラウド環境の設定、アプリケーションのデプロイ、IT環境全体のオーケストレーションを行うことができます。Ansibleの利点は、そのエージェントレスなアーキテクチャと、YAMLを用いた分かりやすい設定ファイルです。これにより、運用の自動化が容易になり、作業の効率化とミスの削減が図れます。

CUDAとは

CUDAは、NVIDIAが開発した並列計算アーキテクチャです。GPU(Graphics Processing Unit)を利用して、膨大な計算処理を高速に行うことができます。主に科学技術計算、機械学習、データ解析などの分野で利用され、CPUだけでは実現できないパフォーマンスを提供します。CUDAを使うことで、アプリケーションの計算能力を大幅に向上させることが可能です。

playbookとは

AnsibleにおけるPlaybookは、ITタスクの自動化を定義するためのファイルです。Playbookは、YAML形式で記述され、設定内容や実行するタスクを明確に示します。複数のタスクをまとめて実行することで、サーバーの設定やソフトウェアのインストールを自動化します。Playbookを使うことで、複雑な作業を効率的かつ一貫性をもって実行できるようになります。

サンプルコード

---
- name: Install CUDA packages  # CUDAパッケージをインストール
  hosts: all  # 全てのホストに対して適用
  become: yes  # 管理者権限で実行
  tasks:
    - name: Download CUDA keyring package  # CUDA keyringパッケージをダウンロード
      get_url:
        url: https://developer.download.nvidia.com/compute/cuda/repos/$(. /etc/os-release; echo $ID$(echo $VERSION_ID | cut -d. -f1))/x86_64/cuda-keyring_1.0-1_all.deb
        dest: /tmp/cuda-keyring_1.0-1_all.deb  # ダウンロード先のパス

    - name: Install CUDA keyring package  # CUDA keyringパッケージをインストール
      apt:
        deb: /tmp/cuda-keyring_1.0-1_all.deb  # インストールするdebパッケージのパス
        update_cache: yes  # パッケージキャッシュを更新

    - name: Install required packages  # 必要なパッケージをインストール
      apt:
        name:
          - cuda  # CUDAパッケージ
          - libcudnn8  # CUDA用のcuDNNライブラリ
          - libcudnn8-dev  # cuDNN開発用パッケージ
        state: present  # パッケージをインストール(最新の状態にする)
        update_cache: yes  # パッケージキャッシュを更新

    - name: Create script to add CUDA bin directory to PATH  # CUDAのbinディレクトリをPATHに追加するスクリプトを作成
      copy:
        dest: /etc/profile.d/cuda.sh  # スクリプトの保存先
        content: |
          export PATH=/usr/local/cuda/bin:$PATH  # CUDAのbinディレクトリをPATHに追加

    - name: Source the CUDA script  # 作成したスクリプトを実行してPATHに反映
      shell: source /etc/profile.d/cuda.sh
      args:
        executable: /bin/bash  # Bashシェルを使用してスクリプトを実行

説明

  1. Install CUDA packages: CUDAパッケージをインストールするためのプレイブックです
  2. hosts: all: 全ての対象ホストに対してプレイブックを適用します
  3. become: yes: 管理者権限(root)でタスクを実行します

タスクの詳細

  • Download CUDA keyring package: CUDA keyringパッケージを指定のURLからダウンロードし、/tmpディレクトリに保存します
  • Install CUDA keyring package: ダウンロードしたCUDA keyringパッケージをインストールします
  • Install required packages: CUDA、cuDNN、およびその開発パッケージをインストールします
  • Create script to add CUDA bin directory to PATH: CUDAのbinディレクトリをPATHに追加するためのスクリプトを作成し、/etc/profile.dに保存します
  • Source the CUDA script: 作成したスクリプトを即時に反映させるために実行します

このプレイブックを実行することで、システムにCUDA環境を効率的にセットアップすることができます。

おわりに

Ansibleを使用することで、効率的にシステムを構築し、管理することが可能です。

CUDAを利用した高度な計算処理が求められる現代において、このようなプレイブックは非常に有用です。

Sakana AI社について

Sakana AIは、生成AIの基盤モデルを提供する企業です。
複数のAIモデルをミックスして新しいAIモデルを生成しています。

大規模言語モデルを作るにはGAFAMのような大企業が有利ですが、
Sakana AIは小規模なAIを組み合わせて高度なモデルを作成しています。

社名の"Sakana"は「魚が群れる」という意味があるとかないとか

財務情報-バフェットコード

備考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?