Closed4

Llama.cppでCode Llama(cuBLASによるGPUオフロードも)

kun432kun432

以下の続き。Llama.cpp使ったことなかったのでお試しもふくめて。とはいえLlama.cppだとそのままだとGPU関係ないので、あとでcuBLASも試してみる。

  • CPU: Intel Core i9-13900F
  • メモリ: 96GB
  • GPUI: NVIDIA GeForce RTX 4090 24GB

https://zenn.dev/kun432/scraps/c629c0f0a49a69

ちなInstructモデルで。

llama.cpp(GGUF)

https://huggingface.co/TheBloke/CodeLlama-7B-Instruct-GGUF

https://huggingface.co/TheBloke/CodeLlama-13B-Instruct-GGUF

https://huggingface.co/TheBloke/CodeLlama-34B-Instruct-GGUF

Q4_K_Mを使うこととする

https://note.com/npaka/n/n9eda56d3a463

CPUのみ

$ git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp
$ make

# モデルのダウンロード
$ wget -P models https://huggingface.co/TheBloke/CodeLlama-7B-Instruct-GGUF/resolve/main/codellama-7b-instruct.Q4_K_M.gguf
$ wget -P models https://huggingface.co/TheBloke/CodeLlama-13B-Instruct-GGUF/resolve/main/codellama-13b-instruct.Q4_K_M.gguf
$ wget -P models https://huggingface.co/TheBloke/CodeLlama-34B-Instruct-GGUF/resolve/main/codellama-34b-instruct.Q4_K_M.gguf

推論。まず7Bで。

$ ./main -m ./models/codellama-7b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]"

結果

Log start
main: build = 1150 (571083f)
main: seed  = 1693637520
llama_model_loader: loaded meta data with 17 key-value pairs and 291 tensors from ./models/codellama-7b-instruct.Q4_K_M.gguf (version GGUF V1 (support until nov 2023))
llama_model_loader: - tensor    0:                token_embd.weight q4_0     [  4096, 32016,     1,     1 ]
llama_model_loader: - tensor    1:               output_norm.weight f32      [  4096,     1,     1,     1 ]
(snip)
llama_model_loader: - tensor  289:          blk.31.attn_norm.weight f32      [  4096,     1,     1,     1 ]
llama_model_loader: - tensor  290:           blk.31.ffn_norm.weight f32      [  4096,     1,     1,     1 ]
llama_model_loader: - kv   0:                       general.architecture str
llama_model_loader: - kv   1:                               general.name str
(snip)
llama_model_loader: - kv  15:                  tokenizer.ggml.token_type arr
llama_model_loader: - kv  16:               general.quantization_version u32
llama_model_loader: - type  f32:   65 tensors
llama_model_loader: - type  f16:    1 tensors
llama_model_loader: - type q4_0:    1 tensors
llama_model_loader: - type q4_K:  192 tensors
llama_model_loader: - type q6_K:   32 tensors
llm_load_print_meta: format         = GGUF V1 (support until nov 2023)
llm_load_print_meta: arch           = llama
llm_load_print_meta: vocab type     = SPM
llm_load_print_meta: n_vocab        = 32016
llm_load_print_meta: n_merges       = 0
llm_load_print_meta: n_ctx_train    = 16384
llm_load_print_meta: n_ctx          = 512
llm_load_print_meta: n_embd         = 4096
llm_load_print_meta: n_head         = 32
llm_load_print_meta: n_head_kv      = 32
llm_load_print_meta: n_layer        = 32
llm_load_print_meta: n_rot          = 128
llm_load_print_meta: n_gqa          = 1
llm_load_print_meta: f_norm_eps     = 1.0e-05
llm_load_print_meta: f_norm_rms_eps = 1.0e-05
llm_load_print_meta: n_ff           = 11008
llm_load_print_meta: freq_base      = 1000000.0
llm_load_print_meta: freq_scale     = 1
llm_load_print_meta: model type     = 7B
llm_load_print_meta: model ftype    = mostly Q4_K - Medium
llm_load_print_meta: model size     = 6.74 B
llm_load_print_meta: general.name   = LLaMA
llm_load_print_meta: BOS token = 1 '<s>'
llm_load_print_meta: EOS token = 2 '</s>'
llm_load_print_meta: UNK token = 0 '<unk>'
llm_load_print_meta: LF token  = 13 '<0x0A>'
llm_load_tensors: ggml ctx size =    0.09 MB
llm_load_tensors: mem required  = 4038.96 MB (+  256.00 MB per state)
...............................................................................................
llama_new_context_with_model: kv self size  =  256.00 MB
llama_new_context_with_model: compute buffer total size =   72.00 MB

system_info: n_threads = 16 / 32 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 |
sampling: repeat_last_n = 64, repeat_penalty = 1.100000, presence_penalty = 0.000000, frequency_penalty = 0.000000, top_k = 40, tfs_z = 1.000000, top_p = 0.950000, typical_p = 1.000000, temp = 0.100000, mirostat = 0, mirostat_lr = 0.100000, mirostat_ent = 5.000000
generate: n_ctx = 512, n_batch = 512, n_predict = -1, n_keep = 0


 [INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]  Pythonで100以下のフィボナッチ数列を計算するには、以下のようなコードを使用します。
```
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(100))
```
このコードは、`fibonacci`という関数を定義しています。この関数は、与えられた整数`n`に対してフィボナッチ数列を計算します。`if`文を使用して、`n`が1か0以下の場合はその値を返し、そうでない場合は再帰的に`fibonacci`関数を呼び出して計算します。

最後に、`print`文を使用して、100以下のフィボナッチ数列を表示します。

このコードは、Pythonでフィボナッチ数列を計算するための基本的な方法を示しています。 [end of text]

llama_print_timings:        load time =   176.56 ms
llama_print_timings:      sample time =   126.67 ms /   316 runs   (    0.40 ms per token,  2494.77 tokens per second)
llama_print_timings: prompt eval time =  1907.19 ms /    65 tokens (   29.34 ms per token,    34.08 tokens per second)
llama_print_timings:        eval time = 32697.91 ms /   315 runs   (  103.80 ms per token,     9.63 tokens per second)
llama_print_timings:       total time = 34837.50 ms
Log end

何回か繰り返してみたけど、7Bだと約10トークン/秒って感じ。体感的にも全然気にならない。

13Bと34Bも試してみた。こちらは統計情報だけ。

13B: 約5トークン/秒、7Bからすると遅いけど、個人的には我慢できないほどではなかった。

llama_print_timings:        load time =   343.45 ms
llama_print_timings:      sample time =   113.45 ms /   306 runs   (    0.37 ms per token,  2697.25 tokens per second)
llama_print_timings: prompt eval time =  3650.88 ms /    65 tokens (   56.17 ms per token,    17.80 tokens per second)
llama_print_timings:        eval time = 59323.34 ms /   305 runs   (  194.50 ms per token,     5.14 tokens per second)
llama_print_timings:       total time = 63184.20 ms

34B: 約2トークン/秒、実用には耐えないかも。

llama_print_timings:        load time =   872.62 ms
llama_print_timings:      sample time =   121.58 ms /   305 runs   (    0.40 ms per token,  2508.74 tokens per second)
llama_print_timings: prompt eval time = 10450.68 ms /    65 tokens (  160.78 ms per token,     6.22 tokens per second)
llama_print_timings:        eval time = 149015.63 ms /   304 runs   (  490.18 ms per token,     2.04 tokens per second)
llama_print_timings:       total time = 159713.99 ms
kun432kun432

GPU併用(cuBLAS)

https://note.com/npaka/n/n9eda56d3a463

https://github.com/ggerganov/llama.cpp/discussions/1070

$ git clone https://github.com/ggerganov/llama.cpp && llama.cpp
$ mkdir build && cd build
$ cmake .. -DLLAMA_CUBLAS=ON
$ cmake --build . --config Release
$ cp bin/main ..     # 生成された実行ファイルをコピー
$ cd ..

というか普通にmake使うやり方ある、ちゃんと読め、自分

https://github.com/ggerganov/llama.cpp#blas-build

これだけで良かった。

$ git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp
$ make LLAMA_CUBLAS=1

7B

モデルはmodelsディレクトリにあるものとして推論実行。

$ ./main -m ./models/codellama-7b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 32 -b 512

結果。

GPUが有効になっていることがわかる。あと、7Bだと最大35レイヤーまでオフロード可能みたい。

(snip)
ggml_init_cublas: found 1 CUDA devices:
  Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9
(snip)
llm_load_tensors: using CUDA for GPU acceleration
llm_load_tensors: mem required  =  320.58 MB (+  256.00 MB per state)
llm_load_tensors: offloading 32 repeating layers to GPU
llm_load_tensors: offloaded 32/35 layers to GPU
llm_load_tensors: VRAM used: 3719 MB
...............................................................................................
llama_new_context_with_model: kv self size  =  256.00 MB
llama_new_context_with_model: compute buffer total size =   72.00 MB
llama_new_context_with_model: VRAM scratch buffer: 70.53 MB

system_info: n_threads = 16 / 32 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 |
(snip)

質問の回答。

(snip)
 [INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]  Pythonで100以下のフィボナッチ数列を計算するには、以下のようなコードを使用します。
```python
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(100))
```
このコードは、`fibonacci`という関数を定義しています。この関数は、与えられた整数`n`に対してフィボナッチ数列を計算します。`if`文を使用して、`n`が1か0以下の場合はその値を返し、そうでない場合は再帰的に`fibonacci`関数を呼び出して計算します。

最後に、`print`文を使用して、100以下のフィボナッチ数列を表示します。 [end of text]

約57トークン/秒でめちゃめちゃ速い。

llama_print_timings:        load time =   444.88 ms
llama_print_timings:      sample time =    81.70 ms /   276 runs   (    0.30 ms per token,  3378.05 tokens per second)
llama_print_timings: prompt eval time =   145.46 ms /    65 tokens (    2.24 ms per token,   446.86 tokens per second)
llama_print_timings:        eval time =  4830.15 ms /   275 runs   (   17.56 ms per token,    56.93 tokens per second)
llama_print_timings:       total time =  5127.77 ms
Log end

nvidia-smiで見る限りはVRAMは約6GB程度。

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
|  0%   49C    P2              112W / 450W|   5651MiB / 24564MiB |     32%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A     50933      C   ./main                                     5626MiB |
+---------------------------------------------------------------------------------------+

全35レイヤーオフロードしてみる。

$ ./main -m ./models/codellama-7b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 35 -b 512

約130トークン/秒!

llama_print_timings:        load time =   439.67 ms
llama_print_timings:      sample time =    88.94 ms /   276 runs   (    0.32 ms per token,  3103.11 tokens per second)
llama_print_timings: prompt eval time =    55.46 ms /    65 tokens (    0.85 ms per token,  1171.97 tokens per second)
llama_print_timings:        eval time =  2081.38 ms /   275 runs   (    7.57 ms per token,   132.12 tokens per second)
llama_print_timings:       total time =  2285.24 ms

VRAM約6GB

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
|  0%   59C    P2              246W / 450W|   5895MiB / 24564MiB |     83%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A     75240      C   ./main                                     5870MiB |
+---------------------------------------------------------------------------------------+

13B

$ ./main -m ./models/codellama-13b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 32 -b 512

最大43レイヤーであることがわかる。

llm_load_tensors: offloaded 32/43 layers to GPU

約16トークン/秒。

llama_print_timings:        load time =   762.00 ms
llama_print_timings:      sample time =   252.22 ms /   656 runs   (    0.38 ms per token,  2600.92 tokens per second)
llama_print_timings: prompt eval time =  1124.54 ms /   322 tokens (    3.49 ms per token,   286.34 tokens per second)
llama_print_timings:        eval time = 40521.37 ms /   654 runs   (   61.96 ms per token,    16.14 tokens per second)
llama_print_timings:       total time = 42172.40 ms

VRAM約8GB。

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
|  0%   56C    P2               88W / 450W|   8011MiB / 24564MiB |     12%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A     96087      C   ./main                                     7986MiB |
+---------------------------------------------------------------------------------------+

43レイヤーフルで。

$ ./main -m ./models/codellama-13b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 43 -b 512

約81トークン/秒。

llama_print_timings:        load time =   796.64 ms
llama_print_timings:      sample time =   110.77 ms /   378 runs   (    0.29 ms per token,  3412.38 tokens per second)
llama_print_timings: prompt eval time =    88.84 ms /    65 tokens (    1.37 ms per token,   731.69 tokens per second)
llama_print_timings:        eval time =  4610.46 ms /   377 runs   (   12.23 ms per token,    81.77 tokens per second)
llama_print_timings:       total time =  4892.95 ms

VRAM約10GB。

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
| 30%   66C    P2              292W / 450W|   9837MiB / 24564MiB |     91%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A    107462      C   ./main                                     9812MiB |
+---------------------------------------------------------------------------------------+

34B

$ ./main -m ./models/codellama-34b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 32 -b 512

最大51レイヤー。

llm_load_tensors: offloaded 32/51 layers to GPU

約5〜6トークン/秒。

llama_print_timings:        load time =  1523.11 ms
llama_print_timings:      sample time =   101.18 ms /   276 runs   (    0.37 ms per token,  2727.70 tokens per second)
llama_print_timings: prompt eval time =  1095.93 ms /    65 tokens (   16.86 ms per token,    59.31 tokens per second)
llama_print_timings:        eval time = 50304.23 ms /   275 runs   (  182.92 ms per token,     5.47 tokens per second)
llama_print_timings:       total time = 51587.73 ms

VRAM約14GB

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
|  0%   52C    P2               91W / 450W|  14205MiB / 24564MiB |      8%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A    119519      C   ./main                                    14180MiB |
+---------------------------------------------------------------------------------------+

ではフルで。

$ ./main -m ./models/codellama-34b-instruct.Q4_K_M.gguf --temp 0.1 -p "[INST]pythonで100以下のフィボナッチ数列を計算するコードを生成してください。説明は可能な限り簡潔に。日本語で。[/INST]" -ngl 51 -b 512

約38トークン/秒。

llama_print_timings:        load time =  1843.51 ms
llama_print_timings:      sample time =    87.29 ms /   298 runs   (    0.29 ms per token,  3414.06 tokens per second)
llama_print_timings: prompt eval time =   170.97 ms /    65 tokens (    2.63 ms per token,   380.19 tokens per second)
llama_print_timings:        eval time =  7848.63 ms /   297 runs   (   26.43 ms per token,    37.84 tokens per second)
llama_print_timings:       total time =  8170.19 ms

VRAM約20GB。

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090         On | 00000000:01:00.0 Off |                  Off |
| 34%   68C    P2              324W / 450W|  20467MiB / 24564MiB |     95%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1135      G   /usr/lib/xorg/Xorg                            9MiB |
|    0   N/A  N/A      1382      G   /usr/bin/gnome-shell                         10MiB |
|    0   N/A  N/A    126635      C   ./main                                    20442MiB |
+---------------------------------------------------------------------------------------+
kun432kun432

GPUオフロード効果は絶大。

  • 各モデルごとの-nglの最大値
    • 7B: 35
    • 13B: 43
    • 34B: 51
  • トークン数/秒、左から順に「cuBLASなし」「cuBLASあり(-ngl 32)」「cuBLASあり(-ngl 最大)」
    • 7B: 10 / 57 / 130
    • 13B: 5 / 16 / 81
    • 34B: 2 / 6 / 38
  • cuBLAS有効時のVRAM消費(GB)。左から「-ngl 32」「-ngl 最大」
    • 7B: 6 / 6
    • 13B: 8 / 10
    • 34B: 14 / 20
kun432kun432

久々にちょっとビルドし直してみたらこんなのが出た

!!!!
LLAMA_CUBLAS is deprecated and will be removed in the future. Use LLAMA_CUDA instead.
!!!!

どうやら以下のようにしてmakeするように変わったみたい。nvidia-cuda-toolkitが必要とあるけど、前からそうだっけか?覚えてない。

$ git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp
$ make LLAMA_CUDA=1

https://github.com/ggerganov/llama.cpp

このスクラップは2023/09/02にクローズされました