🦙

llama.cppでローカルLLMを超簡単に試す方法(CUDAインストール不要)

に公開

タイトル画像

はじめに

この記事ではローカルPCでLLMを実行するツールである llama.cpp を手軽に試す方法について記載します。この手順では以下の作業を省略することができます。

  • llama.cpp ビルドなし
  • CUDAインストールなし

ダウンロードして解凍するだけ で、CUDAインストールやビルドを省略してすぐに llama.cpp を試せます。
LLMをローカルPCで実行してみたいなぁ、と思っている方に特にお勧めです。

必要なもの

この記事の手順を試すには最低限以下のものが必要です。

  • NVIDIA製グラフィックボード
  • NVIDIA GPUドライバ バージョン551.61以降

手順

1. llama.cppをダウンロードする

GitHubのリポジトリからllama.cppのバイナリをダウンロードします。

https://github.com/ggml-org/llama.cpp/releases

ダウンロードするのは以下の二つのファイルです。

  • cudart-llama-bin-win-cuda-12.4-x64.zip
  • llama-b6257-bin-win-cuda-12.4-x64.zip(b6257はバージョン番号)

ダウンロードしたら、2つのZIPファイルの中身を同じフォルダの中に解凍します。

2. モデルをダウンロードする

今回使用するモデルは東京工業大学と産業技術総合研究所が開発したSwallow(日本語性能が強化されたLlama-3系モデル)がベースになっているモデルです。

  • Llama-3.1-Swallow-8B-Instruct-v0.5-Q4_K_M.gguf

これは、80億パラメータの Swallow Instruct モデルを、有志(TensorBlock)が 4ビット量子化(Q4_K_M方式)して GGUF形式に変換したものです。

このファイルは Hugging Faceの以下のページからダウンロードできます。

https://huggingface.co/tensorblock/tokyotech-llm_Llama-3.1-Swallow-8B-Instruct-v0.5-GGUF/blob/main/Llama-3.1-Swallow-8B-Instruct-v0.5-Q4_K_M.gguf

ダウンロードしたら、手順1でllama.cppを展開したフォルダの中に保存します。

3. 実行する

コマンドプロンプトを起動し、llama.cppを展開したフォルダに移動します。
そして次のコマンドを実行するとllama.cppのCLIが起動して、ユーザーからのプロンプト入力待ちになります。

llama-cli -m "Llama-3.1-Swallow-8B-Instruct-v0.5-Q4_K_M.gguf" -ngl 999 -c 4096

実行例は以下の通りです。

実行例
llama-cli起動時の画面例

各パラメータの意味は次の通りです。

  • -m
     → 使うモデルを指定。ここでは Swallow 8B (Q4_K_M, GGUF)。
  • -ngl 999
     → 「可能な限りすべてのレイヤーを GPU にオフロードせよ」という指定。
     → VRAMが 8GB のグラボなら、Q4_K_M 8B をほぼ全部 GPU に載せられる。
     → VRAMが少ない場合は -ngl 20 などにすると安定する。
  • -c 4096
     → コンテキスト長を 4096 トークンに設定。
     → KVキャッシュで約 0.5GB〜1GB 程度 VRAM を消費する想定。

パラメータの詳細は下記公式リポジトリをご参照ください。
https://github.com/ggml-org/llama.cpp/tree/master/tools/main

まとめ

以上の手順で、llama.cpp をローカル環境で簡単に試すことができます。
CUDAのインストールやビルド作業を省略して、ダウンロードしたファイルを展開するだけで実行できるので、初めてローカルLLMを触ってみたい方にもおすすめです。

  • 必要なのは NVIDIA GPU と対応ドライバ
  • llama.cppのバイナリモデルファイル を用意
  • コマンドを実行すればすぐに対話可能

ローカル実行なら、API料金を気にせず好きなだけ試せますし、データも手元に留まるので安心です。ぜひ自分の環境で動かして、ローカルLLMの体験を楽しんでみてください。

では今回はこの辺で。
じゃあね、バイバイ😊

Discussion