「AI開発を始めたいけれど、環境構築でつまずいた」「GPUの設定やPythonのバージョン管理が複雑でわからない」――AI開発に興味を持つエンジニアやIT担当者にとって、最初のハードルは意外にも開発環境の構築ではないでしょうか。
AI開発の世界では、Linuxが事実上の標準OSです。主要なAIフレームワーク(PyTorch、TensorFlow)はLinux上で最も良くサポートされ、GPUアクセラレーションもLinux環境で最もスムーズに動作します。本記事では、AI開発のためのLinux環境構築を、基礎から実践まで体系的に解説します。
Linuxの基礎知識についてはLinuxとは?初心者向け基礎解説を、基本コマンドはLinux実践コマンドガイドを先にご確認ください。
なぜAI開発にLinuxが選ばれるのか
AI・機械学習の分野で圧倒的にLinuxが使われる理由は、技術的な優位性だけでなく、エコシステム全体がLinuxを中心に構築されていることにあります。
技術的な理由
- GPU対応: NVIDIAのCUDAツールキットはLinuxで最も安定して動作する。最新のドライバやライブラリもLinux向けが先行リリースされる
- パフォーマンス: 同一ハードウェアでもLinuxの方がオーバーヘッドが小さく、学習速度が向上する
- コンテナ対応: DockerやNVIDIA Container Toolkit(nvidia-docker)により、再現可能な環境を容易に構築できる
- パッケージ管理: apt、condaなどで依存関係の解決が容易
エコシステムの理由
- クラウドGPUインスタンス: AWS、GCP、AzureのGPUインスタンスはすべてLinuxベース
- 研究環境: 大学・研究機関の計算サーバーはほぼLinux。公開されるコードもLinux前提
- コミュニティ: Stack Overflow、GitHubの質問・回答はLinux環境を前提としたものが大多数
- Claude Code: AnthropicのAIコーディングツールもLinux/macOS対応が中心
WindowsユーザーもWSL2を使えばLinux環境を利用できます。WSL2のセットアップについてはWSLガイドを参照してください。
ディストリビューションの選択とOSセットアップ
AI開発用のLinuxディストリビューションとして最も推奨されるのはUbuntuです。理由は明確で、NVIDIAのCUDAやAIフレームワークの公式サポートがUbuntuを最優先しているためです。
推奨ディストリビューション
- Ubuntu 24.04 LTS(最推奨): 長期サポート、CUDA公式対応、情報量が最も豊富
- Ubuntu 22.04 LTS: 安定版。企業環境での実績が豊富
- Rocky Linux 9: RHEL系を使う企業向け。CUDAはサポートされているが情報量はUbuntuに劣る
Ubuntu ServerのセットアップはUbuntu Serverセットアップガイドを、RHEL系はCentOS/Rocky Linuxガイドを参照してください。
初期セットアップ
# システムの更新
sudo apt update && sudo apt upgrade -y
# 基本的な開発ツールのインストール
sudo apt install -y build-essential git curl wget vim \
software-properties-common apt-transport-https
# 開発に便利なツール
sudo apt install -y htop tmux tree jq unzip
環境変数の設定はAI開発では頻繁に必要になります。Linux環境変数ガイドで基礎を押さえておきましょう。
NVIDIAドライバとCUDAのセットアップ
GPU(NVIDIA)を使ったAI開発では、NVIDIAドライバ、CUDAツールキット、cuDNNの3つを正しくインストールする必要があります。これがAI環境構築で最もつまずきやすいポイントです。
NVIDIAドライバのインストール
# 利用可能なドライバを確認
ubuntu-drivers devices
# 推奨ドライバを自動インストール
sudo ubuntu-drivers autoinstall
# 再起動
sudo reboot
# ドライバの動作確認
nvidia-smi
nvidia-smiコマンドが正常に実行され、GPUの情報が表示されれば成功です。ドライバのバージョンとCUDAバージョンの対応表は、NVIDIA公式サイトで確認してください。
CUDAツールキットのインストール
CUDAツールキットは、NVIDIA公式リポジトリからインストールするのが推奨です。
# NVIDIA公式リポジトリの追加(CUDA 12.x系の例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
# CUDAのインストール
sudo apt install cuda-toolkit-12-6 -y
# 環境変数の設定(~/.bashrcに追記)
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# CUDAのバージョン確認
nvcc --version
cuDNNのインストール
cuDNN(CUDA Deep Neural Network library)は、ディープラーニングの推論・学習を高速化するライブラリです。
# cuDNNのインストール(CUDA 12.x用)
sudo apt install cudnn-cuda-12 -y
# インストールの確認
dpkg -l | grep cudnn
トラブルシューティング
GPUドライバやCUDAのインストールで問題が発生した場合の対処法です。
# ドライバのバージョン不一致を確認
nvidia-smi # 対応CUDAバージョンを確認
nvcc --version # インストール済みCUDAバージョンを確認
# ドライバを完全に再インストールする場合
sudo apt purge nvidia-* cuda-* -y
sudo apt autoremove -y
sudo reboot
# その後、再度インストール手順を実行
# Nouveauドライバが競合する場合
sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo update-initramfs -u
sudo reboot
Linuxでのトラブル対処全般はLinuxトラブルシューティングガイドも参考にしてください。
Python環境の構築とパッケージ管理
AI開発では複数のプロジェクトで異なるPythonバージョンやライブラリを使うことが一般的です。仮想環境を活用して、プロジェクトごとに独立した環境を管理することが重要です。
pyenvによるPythonバージョン管理
# pyenvの依存パッケージをインストール
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev \
libxmlsec1-dev libffi-dev liblzma-dev
# pyenvのインストール
curl https://pyenv.run | bash
# ~/.bashrcに追記
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# Python 3.12のインストール
pyenv install 3.12
pyenv global 3.12
# バージョン確認
python --version
venvによる仮想環境の作成
# プロジェクト用の仮想環境を作成
mkdir ~/ai-project && cd ~/ai-project
python -m venv .venv
# 仮想環境を有効化
source .venv/bin/activate
# pipのアップグレード
pip install --upgrade pip
# 必要なパッケージをインストール
pip install torch torchvision torchaudio
pip install transformers datasets
pip install jupyter notebook
pip install pandas numpy matplotlib scikit-learn
# requirements.txtの生成
pip freeze > requirements.txt
Condaを使う場合
より包括的なパッケージ管理が必要な場合は、Minicondaも選択肢です。特にCUDA関連のライブラリをconda経由でインストールすると、バージョン整合性の問題を回避しやすくなります。
# Minicondaのインストール
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# conda環境の作成
conda create -n ai-dev python=3.12 -y
conda activate ai-dev
# PyTorchのインストール(CUDA対応版)
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
パッケージ管理全般についてはLinuxパッケージマネージャーガイドで解説しています。
Claude Codeの導入とAI支援開発環境
Anthropicが提供するClaude Codeは、AIを活用したコーディング支援ツールです。Linux環境でのセットアップ方法を解説します。
Claude Codeのインストール
# Node.jsのインストール(必要な場合)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# Claude Codeのインストール
npm install -g @anthropic-ai/claude-code
# バージョン確認
claude --version
# 初回セットアップ(APIキーの設定)
claude
Claude Codeの詳細なセットアップ手順はClaude Codeセットアップガイドで詳しく解説しています。
AI開発でのClaude Code活用例
Claude Codeは、AI開発における以下のような場面で特に威力を発揮します。
- データ前処理スクリプトの生成: データクリーニングや特徴量エンジニアリングのコードを対話的に作成
- モデル構築の補助: PyTorchやTensorFlowのモデル定義、学習ループの作成
- デバッグ支援: エラーの原因特定やコードの修正提案
- ドキュメント生成: コードの説明やAPIドキュメントの自動生成
- シェルスクリプト作成: 学習ジョブの管理やGPU使用状況の監視スクリプト
# Claude Codeでの対話例
claude "PyTorchを使ってCIFAR-10の画像分類モデルを作成してください。
GPU対応で、学習の進捗をログに記録する機能も含めてください。"
ローカルLLMとの組み合わせ
クラウドAPIの利用コストが気になる場合は、ローカルLLMとの併用も検討できます。Ollamaを使えば、ローカル環境でLLMを実行し、コーディング支援に活用できます。
# Ollamaのインストール
curl -fsSL https://ollama.ai/install.sh | sh
# コーディング向けモデルのダウンロード
ollama pull codellama:13b
ollama pull deepseek-coder:6.7b
# APIとして利用
curl http://localhost:11434/api/generate -d '{
"model": "codellama:13b",
"prompt": "Write a Python function to load and preprocess images for CNN training"
}'
Ollamaの詳細なセットアップはOllamaセットアップガイドを、ローカルLLMの基本概念はローカルLLMとはをご覧ください。
Dockerを活用した再現可能な開発環境
AI開発では、チーム内で同一の環境を共有し、実験の再現性を確保することが重要です。DockerとNVIDIA Container Toolkitを使えば、GPU対応のコンテナ環境を構築できます。
NVIDIA Container Toolkitのセットアップ
# Dockerのインストール
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
# NVIDIA Container Toolkitのインストール
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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/$distribution/libnvidia-container.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 update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# GPU対応コンテナの動作確認
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 nvidia-smi
AI開発用Dockerfileの例
# Dockerfile
FROM nvidia/cuda:12.6.0-runtime-ubuntu24.04
# 基本パッケージのインストール
RUN apt-get update && apt-get install -y \
python3 python3-pip python3-venv git curl \
&& rm -rf /var/lib/apt/lists/*
# 作業ディレクトリ
WORKDIR /workspace
# Python仮想環境の作成
RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
# AIフレームワークのインストール
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# ソースコードのコピー
COPY . .
CMD ["python3", "train.py"]
# GPU付きでコンテナを起動
docker build -t ai-dev .
docker run --gpus all -v $(pwd)/data:/workspace/data ai-dev
Docker Composeを使えば、複数のサービス(学習サーバー、TensorBoard、Jupyter Notebookなど)を一括管理することもできます。Dockerの基礎はDocker入門ガイドを参照してください。
GPUリソースの管理と監視
AI開発では、GPU使用率やメモリ消費量を常に把握しておくことが、効率的な学習と安定した運用に不可欠です。
nvidia-smiによるGPU監視
# GPUの状態をリアルタイムで監視(1秒間隔)
watch -n 1 nvidia-smi
# GPU使用率のログを記録
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.total,temperature.gpu \
--format=csv -l 5 > gpu-log.csv
# 特定のGPUの詳細情報
nvidia-smi -i 0 -q
学習ジョブの管理
複数の学習ジョブを管理する場合のシェルスクリプト例です。
#!/bin/bash
# train-manager.sh - 学習ジョブの管理スクリプト
EXPERIMENT=$1
GPU_ID=${2:-0}
# 実験ディレクトリの作成
RESULT_DIR="results/${EXPERIMENT}_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$RESULT_DIR"
# 環境情報の記録
nvidia-smi > "$RESULT_DIR/gpu-info.txt"
pip freeze > "$RESULT_DIR/requirements.txt"
git log -1 > "$RESULT_DIR/git-commit.txt"
# 学習の実行
CUDA_VISIBLE_DEVICES=$GPU_ID python train.py \
--experiment "$EXPERIMENT" \
--output-dir "$RESULT_DIR" \
2>&1 | tee "$RESULT_DIR/train.log"
echo "Training completed. Results saved to $RESULT_DIR"
シェルスクリプトの書き方はシェルスクリプト入門を参照してください。パフォーマンス監視全般はLinuxパフォーマンス監視ガイドで解説しています。
まとめ:LinuxでAI開発の生産性を最大化する
AI開発においてLinuxは不可欠な基盤です。本記事のポイントを振り返ります。
- UbuntuがAI開発の推奨ディストリビューション。CUDA・フレームワークの公式サポートが充実
- NVIDIAドライバ→CUDA→cuDNNの順序でGPU環境を構築する
- pyenv + venv(またはconda)でPython環境を適切に管理する
- Claude CodeやローカルLLMを活用してAI開発の生産性を向上させる
- Docker + NVIDIA Container Toolkitで再現可能な開発環境を実現する
- GPU監視で学習ジョブの状態を常に把握する
環境構築は一度しっかり行えば、以降のAI開発がスムーズに進みます。まずはUbuntu Serverのセットアップから始め、GPU環境を整えてみてください。AI支援ツールについてはClaude Codeセットアップガイドも活用し、効率的な開発ワークフローを構築しましょう。
関連記事
AWS CloudFrontでサイト高速化|CDN設定からキャッシュ戦略まで実践解説
AWS CloudWatchで監視・アラート設定|運用担当者のための実践ガイド
AWS CodePipelineでCI/CD構築|コード変更から本番デプロイまでの自動化
AWS Cost Explorerでコスト可視化|ムダを見つけて月額費用を削減する実践術
AWS ECS/Fargateでコンテナ運用|Docker→本番デプロイの実践ガイド
AWS IAMのベストプラクティス|最小権限の原則を実務で実装する方法
AWS RDSの実務ガイド|データベース構築・バックアップ・パフォーマンスチューニング
AWS S3の実務活用ガイド|バケット設計・アクセス制御・コスト最適化の実践