前期準備
在github上下載llama.cpp或克隆。
GitHub - ggerganov/llama.cpp: LLM inference in C/C++
?
git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp
執行make命令編譯llama.cpp
make
在huggingface里下載量化了的 gguf格式的llama2模型。
https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/tree/main
我下載的是llama-2-7b-chat.Q4_0.gguf
拷貝llama-2-7b-chat.Q4_0.gguf 到llama.cpp目錄里的models目錄里
正常安裝的錯誤信息
安裝 gcc 和gcc-c++ 之后,你運行Make 命令編譯llama.cpp的時候,你會發現下面問題。
yum -y install gcc --nogpgcheckyum -y install gcc-c++ --nogpgcheck
錯誤信息, 因為gcc 的版本是4.8
cc? -I. -Icommon -D_XOPEN_SOURCE=600 -D_GNU_SOURCE -DNDEBUG? -std=c11?? -fPIC -O3 -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -pthread -march=native -mtune=native -Wdouble-promotion??? -c ggml.c -o ggml.oggml.c:92:23: fatal error: stdatomic.h: No such file or directory#include <stdatomic.h>^compilation terminated.make: *** [ggml.o] Error 1
解決方法
1. 從下面連接下載 gcc-12.2.0?
Index of /gnu/gcc/releases/gcc-12.2.0
2. 解壓下載的gcc-12.2.0.tar.gz
tar xvf gcc-12.2.0.tar.gz
3. 用root權限運行下面命令
yum -y install gmp-devel mpfr-devel libmpc-devel --nogpgcheck
4. 運行下面命令安裝gcc 12.2.0 版本
cd gcc-12.2.0./configure --disable-multilib --enable-languages=c,c++# change -j <cores_num> if you have more cpu cores for building be fastermake -j 4make installgcc --versionexport CC=gccexport LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
5. 下載和編譯llama.cpp
?
git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cppmake
或者直接下載后運行make命令
GitHub - ggerganov/llama.cpp at llama_server_completions
6. 運行llama.cpp
./main -m ./models/llama-2-7b-chat.Q4_0.gguf --color --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1.1 -t 8
在Redhat 8安裝
在redhat8 上直接安裝gcc, gcc-c++ ,? 然后編譯llama.cpp就可以了
yum -y install make --nogpgcheck
yum -y install gcc --nogpgcheck
yum -y install gcc-c++ --nogpgcheck
其它llama2的系列博客
在Windows或Mac上安裝并運行LLAMA2