반응형

distrobox 를 이용해서 아치리눅스를 설치해서 llama.cpp 를 컴파일해서 써보고 llama.cpp 를 계속 쓰기로 결정을 했고요. 이왕이면 distrobox 를 안쓰고 직접 컴파일을 해서 써보자 해서 컴파일을 해 봤습니다. 사용하는 라이브러리도 별로 없더라고요. 

 

그리고 어차피 이건 제가 나중에 보려고 쓰는 문서니까 제 컴퓨터에 맞게 llama.cpp 는 vulkan 을 쓰도록 빌드했습니다. 다른 경우는 llama.cpp 에 직접 가셔서 확인해 보셔야 합니다. 

 

>

 

일단 git, curl 패키지는 미리 설치하세요. 여러모로 많이 쓰이는 패키지 입니다. 어차피 github 에서 소스 받을때 git 으로 받아야 합니다.

 

>

 

컴파일 하는김에 ik_llama.cpp 도 설치해 보기로 했습니다. 비디오램이 4기가 밖에 안되는 제 컴으론 혹시나 CPU 에 더 최적화 되어 있다는 ik_llama 는 좀 더 속도가 나지 않을까 싶었거든요.

ik_llama.cpp 도 GPU 와의 CPU 오프로드를 지원하긴 하는데 CUDA 밖에 지원이 안됩니다. vulkan 은 개발 중단이라 저같이 어차피 AMD 쓰는 사람은 그냥 CPU 빌드를 해야 합니다. 

 

git clone https://github.com/ikawrakow/ik_llama.cpp

 

소스를 가져오고, 컴파일에 필요한 패키지를 설치합니다.

 

libcurl-devel
libgomp1
cmake or cmake-full

 

위의 패키지를 설치하고 컴파일 하면 됩니다.

 

cmake -B build -DGGML_NATIVE=ON
cmake --build build --config Release -j$(nproc)

 

프로그램 소스 디렉토리에 build 디렉토리를 만들고 build/bin 에 실행가능한 바이너리 파일이 만들어 집니다. 

 

>

 

llama.cpp 의 컴파일은 

 

git clone https://github.com/ggml-org/llama.cpp

 

github 소스를 가져옵니다. 그리고 컴파일에 필요한 패키지를 설치합니다.

 

vulkan-devel
shaderc
spirv-headers

 

이 3개 패키지만 설치하시고,

 

cmake -B build -DGGML_VULKAN=1
cmake --build build --config Release

 

저는 vulkan 으로 빌드 해서 이렇습니다.

 

>

 

다만......빌드하려면 gcc 나 cmake 가 필요한데 저는 이 패키지가 왜인지 설치되어 있더라고요??? 언제 어떻게 설치되어 있었는지 기억이 안나서 AI 에게 우분투의 build-essential 같은 필드 기본 패키지를 설치해주는 패키지가 있냐고 물어 봤는데 잘 모르더군요.

 

그냥 gcc, gcc-c++, make, cmake 를 설치하라는데....다음에 os 다시 설치했을때는 컴파일 안되면 에러를 AI 한테 물어보면서 진행할 수 밖에 없을듯 하네요. ^^;

 

>

 

ik_llama 를 써서 Qwen3.8-27b 를 실행해 봤는데 비슷한 옵션의 llama.cpp 보다 출력토큰이 2토큰 정도가 더 빠르긴 합니다. 어차피 느린건 마찬가지지만.....대략 초당 6토큰 정도 나오네요.  

언제 간단히 결과를 포스팅 하긴 할겁니다만...

 

 

 

+ Recent posts