WSLでローカルLLM(環境構築)
ローカルLLMで遊ぶ準備メモ (2024-02-23 現在)
WSL (Ubunts)
apt-get upgrade
# パッケージ更新
sudo apt-get update
sudo apt-get upgrade
# ロケール設定
sudo apt install language-pack-ja
sudo update-locale LC_ALL=ja_JP.utf8
# 再起動
exit
pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# シェルの設定
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
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile
exec "$SHELL"
# ビルド依存関係を解決
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Python 3.11
# インストール
pyenv install 3.11
# インストールされたバージョン一覧
pyenv versions
# 既定バージョンを設定
pyenv global 3.11
venv
sudo apt install python3-venv
CUDA(11.8)
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install cuda-11-8
llama-cpp-python[server] (CUDA)
wsl
sudo apt install -y build-essential cmake python3 python3-pip python-is-python3 \
&& CUDA_PATH=/usr/local/cuda FORCE_CMAKE=1 CMAKE_ARGS='-DLLAMA_CUBLAS=on -DLLAVA_BUILD=off' \
pip install llama-cpp-python[server] --force-reinstall --upgrade --no-cache-dir -vv
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
windows
$env:CMAKE_ARGS = "-DGGML_CUDA=on -DLLAVA_BUILD=off"
pip install llama-cpp-python[server] --force-reinstall --upgrade --no-cache-dir -vv
Python仮想環境(テンプレート)
プロジェクトのディレクトリを作成
cd ~
mkdir project
cd project
venv
python -m venv .venv &&
source .venv/bin/activate &&
pip install -U pip packaging setuptools wheel
pytorch, flash-attn, transformers, accelerate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 &&
pip install flash-attn --no-build-isolation &&
pip install transformers &&
pip install peft sentencepiece protobuf scipy accelerate
GPTQ
pip install transformers optimum &&
pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/
bitsandbytes
pip uninstall bitsandbytes
git clone https://github.com/TimDettmers/bitsandbytes
cd bitsandbytes
export CUDA_HOME=/usr/local/cuda-11.8 && make cuda11x CUDA_VERSION=118
export CUDA_HOME=/usr/local/cuda-11.8 && make cuda11x_nomatmul CUDA_VERSION=118
CUDA_VERSION=118 && python setup.py install
llama-cpp-python (CUDA)
CUDA_PATH=/usr/local/cuda FORCE_CMAKE=1 CMAKE_ARGS='-DLLAMA_CUBLAS=on -DLLAVA_BUILD=off' \
pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir -vv
この記事が気に入ったらサポートをしてみませんか?