docker
コマンドが実行できる。PyTorch Release 23.02 Ubuntu 20.04 including Python 3.8 NVIDIA CUDA® 12.0.1 NVIDIA cuBLAS from CUDA 12.0.1 NVIDIA cuDNN 8.7.0.84 NVIDIA NCCL 2.16.5 (optimized for NVIDIA NVLink®) NVIDIA RAPIDS™ 22.12.0 Apex rdma-core 36.0 NVIDIA HPC-X 2.13 OpenMPI 4.1.4+ GDRCopy 2.3 TensorBoard 2.9.0 Nsight Compute 2022.4.1.6 Nsight Systems 2022.5.1 NVIDIA TensorRT™ 8.5.3 Torch-TensorRT 1.4.0dev0 NVIDIA DALI® 1.22.0 MAGMA 2.6.2 JupyterLab 2.3.2 including Jupyter-TensorBoard
Container Ubuntu CUDA PyTorch TensorRT version Toolkit --------- -------- ------- --------------- -------- 23.02 20.04 12.0.1 1.14.0a0+44dac51 8.5.3
(例) 緑色の文字部分は環境に合わせて変更すること docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/pytorch:23.07-py3
割当 | コンテナ名 | ポート1 (22へ転送) | ポート2 (8888へ転送) | /root/doc マウント先 | Docker Image |
---|---|---|---|---|---|
- | llm01 | 7071 | 8081 | /home/docker/llm01 | nvcr.io/nvidia/pytorch:23.02-py3 |
docker run --name llm01 --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --gpus all \ -p 7071:22 -p 8081:8888 \ -v /home/docker/llm01:/root/doc \ -it nvcr.io/nvidia/pytorch:23.02-py3
Docker Host の Windows 上で動作する Ubuntu (WSL2) において、docker コマンドを用いて llm01 コンテナに接続する。
docker attach llm01
Docker Desktop から llm01 を選択して、"Exec" タブを選択するとシェルが起動して、対話環境が手に入る。
root@99f0fbb579b5:/workspace# nvidia-smi Sun Oct 5 08:34:43 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.82.10 Driver Version: 581.29 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | 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 GeForce RTX 3070 ... On | 00000000:01:00.0 Off | N/A | | N/A 48C P8 23W / 125W | 0MiB / 8192MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+ root@99f0fbb579b5:/workspace# nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Fri_Jan__6_16:45:21_PST_2023 Cuda compilation tools, release 12.0, V12.0.140 Build cuda_12.0.r12.0/compiler.32267302_0
root@99f0fbb579b5:/workspace# python Python 3.8.10 (default, Nov 14 2022, 12:59:47) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit()
apt-get update apt-get upgrade -y apt-get install -y openssh-server echo 'root:パスワード' | chpasswd sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" /etc/ssh/sshd_config service ssh start
ssh -p 7076 root@133.99.41.195
apt-get install libssl-dev apt-get install -y openssh ← openssh パッケージのインストールがなぜか失敗する。
rsync -avr -e "ssh -p 7076" sample root@133.99.41.195:/root/doc
>>> import torch >>> print(torch.__version__) 1.14.0a0+44dac51 >>> import torchvision >>> print(torchvision.__version__) 0.15.0a0 >>> exit()
# pip install datasets ... >>> import datasets >>> print(datasets.__version__) 3.1.0HuggingFace からのデータ読み込みでエラーがでない。
from datasets import load_dataset paragraph_dataset = load_dataset("llm-book/jawiki-paragraphs", split="train")
# pip install transformers # ← こちらを選択した または # pip install -U transformers # 最新版を使う場合
# python import transformers print(transformers.__version__) 4.46.3
>>> from transformers import AutoModel, AutoTokenizer >>> model_path = "outputs_unsup_simcse/encoder" >>>tokenizer = AutoTokenizer.from_pretrained(model_path) ... ModuleNotFoundError: No module named 'fugashi'解決策
# pip install fugashi # pip install ipadic unidic-lite # ipadic: 辞書データ, unidic-lite: 軽量版辞書
from transformers import AutoTokenizer model_id = "llm-book/bert-base-japanese-v3-unsup-simcse-jawiki" tokenizer = AutoTokenizer.from_pretrained(model_id) encoder = AutoModel.from_pretrained(model_name)encoder を生成するところでエラーが起きるが、torchライブラリがないかららしい。 torch, torchvision はインストール済み。torchaudio がないのが原因か?
>>> import torch >>> print(torch.__version__) 2.8.0+cu128 >>> import torchvision >>> print(torchvision.__version__) 0.16.0a0 >>> import torchaudio エラー
pip install torchaudio
# python >>> import torchaudio >>> print(torchaudio.__version__) 2.8.0+cu128
def func(a: list[str]) 形式は python 3.9+ から。3.8だとエラーになる。 ただ、これ以降の container は pytorch が1.14 から2にバージョンアップするので、 エラーが起きると思われる。 関数の「引数の型」と「返り値の型」の記述を除去することで対応してみる。
pip install ipywidgets
jupyter notebook --allow-root --ip=0.0.0.0 --no-browser他のマシンからアクセスするには "--ip=0.0.0.0" の指定が必要であることに注意。
(動作中の jupyter notebook の token を知る) jupyter notebook list
http://133.99.41.195:8086/?token=a62e....e0ab