docker
コマンドが実行できる。PyTorch Release 23.07 Ubuntu 22.04 including Python 3.10 NVIDIA CUDA® 12.1.1 NVIDIA cuBLAS 12.1.3.1 NVIDIA cuDNN 8.9.3 NVIDIA NCCL 2.18.3 NVIDIA RAPIDS™ 23.06 Apex rdma-core 39.0 NVIDIA HPC-X 2.15 OpenMPI 4.1.4+ GDRCopy 2.3 TensorBoard 2.9.0 Nsight Compute 2023.1.1.4 Nsight Systems 2023.2.3.1001 NVIDIA TensorRT™ 8.6.1.6 Torch-TensorRT 1.5.0.dev0 NVIDIA DALI® 1.27.0 MAGMA 2.6.2 JupyterLab 2.3.2 including Jupyter-TensorBoard TransformerEngine 0.10.0+96ed6fc PyTorch quantization wheel 2.1.2
Container Ubuntu CUDA PyTorch TensorRT version Toolkit --------- -------- ------- --------------- ---------- 23.07 22.04 12.1.1 2.1.0a0+b5021ba 8.6.1.6
(例) 緑色の文字部分は環境に合わせて変更すること 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.07-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.07-py3
Docker Host の Windows 上で動作する Ubuntu (WSL2) において、docker コマンドを用いて llm01 コンテナに接続する。
docker attach llm01
Docker Desktop から llm01 を選択して、"Exec" タブを選択するとシェルが起動して、対話環境が手に入る。
root@ea8c1fabfe70:/workspace# nvidia-smi Sun Apr 13 14:25:41 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 565.72 Driver Version: 566.14 CUDA Version: 12.7 | |-----------------------------------------+------------------------+----------------------+ | 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 73C P0 111W / 125W | 7069MiB / 8192MiB | 78% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 14596 C /python3.6 N/A | +-----------------------------------------------------------------------------------------+ root@ea8c1fabfe70:/workspace# nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Tue_Feb__7_19:32:13_PST_2023 Cuda compilation tools, release 12.1, V12.1.66 Build cuda_12.1.r12.1/compiler.32415258_0
root@ea8c1fabfe70:~# 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. >>> import tensorflow as tf 2025-04-13 14:30:13.535393: I tensorflow/stream_executor/platform/default/dso_loader.cc:50] Successfully opened dynamic library libcudart.so.12 WARNING:tensorflow:Deprecation warnings have been disabled. Set TF_ENABLE_DEPRECATION_WARNINGS=1 to re-enable them. >>> print(tf.__version__) 1.15.5 >>> 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
root@ba98c4144c3c:/workspace# python Python 3.10.12 (main, Aug 15 2025, 14:32:43) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
>>> import torch >>> print(torch.__version__) 2.1.0a0+b5021ba
>>> import numpy as np >>> print(np.__version__) 1.22.2
>>> import matplotlib >>> print(matplotlib.__version__) 3.7.2
>>> import pandas as pd >>> print(pd.__version__) 1.5.2
>>> import PIL >>> print(PIL.__version__) 9.2.0
>>> import h5py Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'h5py' # pip install h5py ... # python >>> import h5py >>> print(h5py.__version__) 3.14.0
# pip install datasets ... >>> import datasets >>> print(datasets.__version__) 4.1.1HuggingFace からのデータ読み込みでエラーとなる。
>>> import datasets >>> print(datasets.__version__) 4.1.1 >>> from datasets import load_dataset >>> paragraph_dataset = load_dataset("llm-book/jawiki-paragraphs", split="train") README.md: 1.22kB [00:00, 5.89MB/s] jawiki-paragraphs.py: 3.22kB [00:00, 6.38MB/s] Traceback (most recent call last): File "これは、datasets がv4.0.0 以降で、「データセットスクリプト(.py)による読み込みが廃止」されたためである。 llm-book/jawiki-paragraphs には jawiki-paragraphs.py があり、それを検出して落ちている。 対処は主に2通りある。", line 1, in ... File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 989, in dataset_module_factory raise RuntimeError(f"Dataset scripts are no longer supported, but found {filename}") RuntimeError: Dataset scripts are no longer supported, but found jawiki-paragraphs.py
from datasets import load_dataset ds = load_dataset( "llm-book/jawiki-paragraphs", revision="refs/convert/parquet", # ← これがポイント split="train", )
# pip install transformers または # pip install -U transformers # 最新版を使う場合
# python >>> print(transformers.__version__) 4.57.0
>>> 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
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