🦙

【ローカルAI】Llama2-13b-chatをllama.cpp使ってGPUで推論させる

2023/07/28に公開

これはどんな記事?

以下記事のやってみた記事です。
https://note.com/npaka/n/n9eda56d3a463

「Llama.cpp + cuBLAS」でGPU推論させることが目標。基本は同じことをやるので、自分が大事だと思った部分を書きます。

準備

CUDA環境が整っているかを確認すること

nvidia-smi
nvcc --version
自分の場合はnvccとnvidia-smiのCUDAバージョンが同一でなく、nvccを再度インストールしPCを再起動させる必要がありました。

モデルの選定とダウンロード

検証だったのでllama-2-13b-chatのggmlであればなんでも良かったです。今回はq4-K_Mにしました。
https://huggingface.co/TheBloke/Llama-2-13B-chat-GGML/blob/main/llama-2-13b-chat.ggmlv3.q4_K_M.bin

選ぶ基準はこれを参考にすると良いと思います。
https://note.com/bakushu/n/n1badaf7a91a0

推論

./main -m ./models/llama-2-13b-chat.ggmlv3.q4_K_M.bin --temp 0.1 -p "[INST]What is the height of Mount Fuji?[/INST]:" -ngl 40 -b 512
npaka氏の記事ではnglが32ですが、今回は40にしました。
32の場合、消費VRAMが11GB程度なので、3060で動くのがメリットになりそうです。一方、16GB以上ある方はnglは40にした方が明らかに速いです。

下記の画像はnglが40の時の速度です。

所感

個人的には十分利用する価値はあるだけの精度と速度が出ていたように思います。実際に使う場合はこの結果として出てきた文字を整形して翻訳することになりそうです。

Discussion