前期准备
在github上下载llama.cpp或克隆。
GitHub - ggerganov/llama.cpp: LLM inference in C/C++
git clone https://github.com/ggerganov/llama.cpp.git
cd 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 --nogpgcheck
yum -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.o
ggml.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 faster
make -j 4
make install
gcc --version
export CC=gcc
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
5. 下载和编译llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
或者直接下载后运行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