Windows 11 + llama.cpp(CUDA対応) で gpt-oss-120b を動かした手順を、実際に使ったコマンドと要点解説をまとめました。
cl /?
cmake --version
git --version
nvcc --version
python --version
cl /?
が通らない場合は、C++コンパイラ(cl.exe)がパスに通っていないことが原因です。
解決方法:
Visual Studio Installerで確認
「C++によるデスクトップ開発」ワークロードをインストールしていないと cl.exe
が入りません。入っていなければ追加インストールしてください
開発者用コマンドプロンプトを使う
スタートメニューから「x64 Native Tools Command Prompt for VS 2022
」を起動して cl /?
を実行すれば通ります
このプロンプトは必要な環境変数が自動で設定されます。
まずはllama.cppをおいておくディレクトリを作成します。
cd C:\dev
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
GitHub から vcpkg のリポジトリをクローンします。
git clone https://github.com/microsoft/vcpkg.git
ダウンロードしたフォルダに移動し、vcpkg 本体をビルドします。
cd vcpkg
.\bootstrap-vcpkg.bat
正しく終わるとカレントディレクトリに vcpkg.exe
が生成されます。
CUDAを対応させるように設定しながらllama.cppをビルドします。
cd C:\llama.cpp
mkdir build
cmake -B build -DGGML_CUDA=ON -DGGML_CUDA_F16=ON -DCMAKE_TOOLCHAIN_FILE="C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake"
cmake --build build --config Release
以下が上記のコマンドのオプション説明です。
-B build
: 生成物を build/ に分離(掃除しやすい)-DGGML_CUDA=ON
: CUDAを有効化。GPU(RTX 5080)を使って推論を高速化-DGGML_CUDA_F16=ON
: 半精度(FP16)で計算。VRAM節約&速度向上-DCMAKE_TOOLCHAIN_FILE=...vcpkg.cmake
: vcpkgのツールチェーン指定。依存ライブラリ解決を自動化成功すると build\bin\Release\
に llama-cli.exe
などができます。
VRAMがRTX5080だと16GBなので量子化(例:q4_0)をします。 今回はHugging Faceを使ってモデルをダウンロードする手順を書きます。
インストールするライブラリ:
huggingface_hub
hf_transfer
hf_xet
これらをインストールします。
python -m pip install -U huggingface_hub hf_transfer hf_xet
次に並列ダウンロードを有効化するために環境変数を一時的に設定してモデルをインストールします。
set HF_HUB_ENABLE_HF_TRANSFER=1
ここでようやくモデルをダウンロードします。 今回使用するファイルはHugging Face Hubで一般的に配布されているsafetensors形式のモデルを直接読み込むことはできないため、有志で配布してくれているGGUF形式のモデルをダウンロードします。 ※自分で変換する手順もありますが今回は割愛します。
hf download <リポジトリ名>/<パス> <ファイルを指名するなら> --local-dir <配置するディレクトリ>
上記のように実行することで好きなモデルをダウンロードできます。
今回はunslothチームが配布している4bit量子化されたGGUFモデルを使用します。分割ファイルとして分けられているので--include
で対象フォルダを指定してダウンロードします。
hf download unsloth/gpt-oss-120b-GGUF --include "Q4_K_M/*" --local-dir .\models\gpt-oss-120b-GGUF
.\build\bin\Release\llama-cli.exe -m .\models\gpt-oss-120b-GGUF\Q4_K_M\gpt-oss-120b-Q4_K_M-00001-of-00002.gguf --n-gpu-layers 40 -p "chat-gpt-oss-120bについて詳しく教えて"
パラメータ説明:
-n-gpu-layers
: VRAMに合わせて上下させます。大きすぎると落ちます--threads
, --ctx-size
: スレッド数やコンテキスト長も用途に応じて調整可能Windows 環境では、そのままコマンドに -p "日本語のテキスト"
を渡すと文字化けすることがあります。
そのため、UTF-8で保存したテキストファイルを用意し、-f
オプションで読み込む方法が有効です。
<start_of_turn>user
日本で高い山を10個ランキング形式で教えてください<end_of_turn>
<start_of_turn>model
.\build\bin\Release\llama-cli.exe -m .\models\gpt-oss-120b-GGUF\Q4_K_M\gpt-oss-120b-Q4_K_M-00001-of-00002.gguf --n-gpu-layers 40 -f prompt.txt > output.txt
この手順に従えば、Windows 11 + RTX 5080(16GB) でも、量子化+CUDA対応ビルドで gpt-oss-120b をローカル実行できます。ただし、生成速度は非常に遅いため実用的ではありません。快適に使用したい場合は20Bのモデルをおすすめします。
可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More