Windows上のLlama.cpp:CUDAガイド

laptop_mac macOS Sonoma Intermediate schedule 8 min read
Author by Alex Rivera • May 14, 2024

最大のパフォーマンス、完全な制御、そしてブロートウェアゼロを求めるなら、NVIDIA CUDA Toolkitを使用してソースコードから直接llama.cppをコンパイルすることが唯一の正解だ。Windowsでの具体的な手順を以下に示す。

Step 1 はじめに

llama.cppは、OllamaやLM Studioを含むほぼすべてのローカルAIツールを支えるC++製の基盤エンジンだ。Windowsのターミナルからネイティブにコンパイルして直接実行することで、UIのオーバーヘッドを完全に排除し、VRAMアロケーションフラグを自在にコントロールできる。

Step 2 前提条件

WindowsでCUDAサポート付きのC++コードをコンパイルするために必要なビルドツールをインストールする必要がある。

  1. Git for Windows をインストールする。
  2. CMake をインストールする(PATHへの追加を確認すること)。
  3. Visual Studio Build Tools 2022 をインストールする(「C++によるデスクトップ開発」を選択)。
  4. NVIDIA CUDA Toolkit をインストールする(GPUアクセラレーションに必須)。

Step 3 コンパイル

Developer Command Prompt for VS 2022 を開く(Windowsのスタートメニューで検索)。

リポジトリをクローンし、LLAMA_CUDA=ONフラグを使用してコンパイルすることで、NVIDIA GPUを確実に活用させる。

Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

mkdir build
cd build
cmake .. -DLLAMA_CUDA=ON
cmake --build . --config Release

コンパイルが完了すると、実行ファイルはbuild\bin\Release\に配置される。

Step 4 ウェイトのダウンロード

.gguf形式のモデルをダウンロードする必要がある。通常のPowerShellウィンドウでhuggingface-cliを使用する。

Terminal
pip install -U huggingface_hub
huggingface-cli download bartowski/Meta-Llama-3-8B-Instruct-GGUF Meta-Llama-3-8B-Instruct-Q4_K_M.gguf --local-dir ./models

Step 5 推論の実行

それでは、モデルと対話してみよう。-ngl 99フラグは、すべてのレイヤーをNVIDIA GPUのVRAMにオフロードするようエンジンに指示する。

Terminal
.\build\bin\Release\llama-cli.exe -m .\models\Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -n 512 -ngl 99 --color -i -r "User:" -p "You are a helpful AI assistant.

User: Hello!
AI:"

Step 6 ローカルサーバー

ターミナルから直接OpenAI互換のAPIエンドポイントをホストしたい場合は、llama-server実行ファイルを使用する:

Terminal
.\build\bin\Release\llama-server.exe -m .\models\Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --port 8080

高性能なCUDAバックエンドがhttp://127.0.0.1:8080でリクエストを待ち受けている。