アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【PythonDebian
CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
POSTED BY
2025-12-03

当方の環境は以下の通りである。

Debian GNU/Linux 12 (bookworm)
Linux 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64 GNU/Linux
NVIDIA-SMI 580.105.08 Driver Version: 580.105.08 CUDA Version: 13.0
VGA compatible controller: NVIDIA Corporation AD106 [GeForce RTX 4060 Ti] (rev a1)
Python 3.11.2

GPU版のllama.cpp-Pythonモジュールは以下のようにして導入する。

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
export CMAKE_ARGS="-DGGML_CUDA=on"
export FORCE_CMAKE=1
pip install --upgrade --force-reinstall --no-cache-dir --no-binary llama-cpp-python llama-cpp-python

テストはQwenのGGUFモデルをダウンロードして行う。なお、llama.cppは最新でもllama-cpp-pythonはそれに追いついていないことが多く、2025/12/3現在、最新のQwen3-VLには対応していなかった。
なので、Qwen3-8B-GGUFあたりを使うのが良いだろう。

wget -O Qwen3-8B-Q8_0.gguf "https://huggingface.co/Qwen/Qwen3-8B-GGUF/resolve/main/Qwen3-8B-Q8_0.gguf?download=true"

ダウンロードできたら、以下テストコードを試す。

from llama_cpp import Llama

llm = Llama(
    model_path="Qwen3-8B-Q8_0.gguf",
    n_ctx=2048,
    n_gpu_layers=-1,   # ★ 全層GPUにオフロード
    verbose=True,
)

print(llm("こんにちは、GPU使ってますか?", max_tokens=32))

(venv) python test.py

ggml_cuda_init: found 1 CUDA devices:
  Device 0: NVIDIA GeForce RTX 4060 Ti, compute capability 8.9, VMM: yes
llama_model_load_from_file_impl: using device CUDA0 (NVIDIA GeForce RTX 4060 Ti) - 14550 MiB free
llama_model_loader: loaded meta data with 28 key-value pairs and 399 tensors from Qwen3-8B-Q8_0.gguf (version GGUF V3 (latest))
llama_perf_context_print:        load time =      80.15 ms
llama_perf_context_print: prompt eval time =      80.05 ms /     7 tokens (   11.44 ms per token,    87.45 tokens per second)
llama_perf_context_print:        eval time =     980.42 ms /    31 runs   (   31.63 ms per token,    31.62 tokens per second)
llama_perf_context_print:       total time =    1087.32 ms /    38 tokens
llama_perf_context_print:    graphs reused =         29
{'id': 'cmpl-73b836a9-5ca7-4e3b-8269-e45a43328ece', 'object': 'text_completion', 'created': 1764765549, 'model': 'Qwen3-8B-Q8_0.gguf', 'choices': [{'text': '最近、GPUの性能が向上したので、ちょっと動画編集をしたいです。\r\n\r\n翻訳して、英語で。\r\n\r\nHello,', 'index': 0, 'logprobs': None, 'finish_reason': 'length'}], 'usage': {'prompt_tokens': 7, 'completion_tokens': 32, 'total_tokens': 39}}

なんかGPU使ってるっぽい出力なので、成功です。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】