LightGBM 설치

LightGBM 설치 (Installation Guide)

LightGBM 릴리스는 {major}.{minor}.{patch} 형식의 세 부분 버전 번호를 써요. 이 버전은 Intended Effort Versioning("Effver")이라 불리는 방식을 따르는데, 버전 구성 요소의 변화가 이전 버전을 쓰는 코드를 업데이트할 때 얼마나 노력이 들지 나타내요. major는 상당한 노력, minor는 약간의 노력, patch는 거의 또는 전혀 노력이 들지 않는다는 뜻이에요. 즉 새 minor 버전에 breaking change가 포함될 수 있지만, 보통 작거나 덜 쓰이는 부분에 국한돼요.

출처: LightGBM Installation Guide

일반 설치 참고

아래 지침은 모두 LightGBM 64비트 버전을 컴파일하기 위한 것이에요. 32비트 버전은 매우 드문 환경 제약 상황에서만 컴파일할 가치가 있어요. 32비트는 느리고 테스트되지 않았으니 사용 시 위험을 감수해야 해요.

기본적으로 지침은 VS Build Toolsmake 도구로 코드를 컴파일해요. 전 플랫폼에서 make 대신 Ninja를 쓸 수 있지만, VS Build Tools는 Ninja로 대체할 수 없어요. CMake 플래그에 -GNinja를 추가하면 Ninja를 써요.

기본적으로 공유 라이브러리 파일과 명령줄 인터페이스 실행 파일을 생성해요. -DBUILD_CLI=OFF로 실행 파일 컴파일을 끌 수 있고, -DBUILD_STATIC_LIB=ON으로 정적 라이브러리를 만들 수 있어요.

Linux

Linux에서는 CMake와 gcc, 또는 CMake와 Clang으로 빌드할 수 있어요. 컴파일 후 실행 파일과 .so 파일은 LightGBM/ 폴더에 생성돼요.

gcc

git clone --recursive https://github.com/lightgbm-org/LightGBM
cd LightGBM
cmake -B build -S .
cmake --build build -j4

Clang

git clone --recursive https://github.com/lightgbm-org/LightGBM
cd LightGBM
export CXX=clang++-14 CC=clang-14  # "14"를 설치된 Clang 버전으로 교체
cmake -B build -S .
cmake --build build -j4

macOS

macOS에서는 Homebrew나 MacPorts로 설치하거나, CMake와 Apple Clang·gcc로 빌드할 수 있어요.

brew install lightgbm

Apple Clang으로 빌드할 때는 CMake와 OpenMP가 필요해요.

brew install cmake libomp
git clone --recursive https://github.com/lightgbm-org/LightGBM
cd LightGBM
cmake -B build -S .
cmake --build build -j4

컴파일 후 .dylib 파일은 LightGBM/ 폴더에 있어요.

Windows

Windows에서는 Visual Studio, CMake와 VS Build Tools, CMake와 MinGW로 빌드할 수 있어요. 명령줄 빌드는 Git for Windows, CMake, VS Build Tools가 필요해요.

git clone --recursive https://github.com/lightgbm-org/LightGBM
cd LightGBM
cmake -B build -S . -A x64
cmake --build build --target ALL_BUILD --config Release

.exe.dll 파일은 LightGBM/Release 폴더에 생성돼요. 64비트 기반 시스템에서 많은 코어를 쓸 때는 Windows에서 MinGW보다 Visual Studio가 더 나은 멀티스레딩 효율을 보여주므로 Visual Studio 사용을 권장해요.

OpenMP 없는 버전 빌드 (권장하지 않음)

기본 빌드 버전은 OpenMP 기반이에요. OpenMP 지원 없이도 빌드할 수 있지만 강력히 권장하지 않아요. Windows에서 OpenMP를 끄려면 -DUSE_OPENMP=OFF를 CMake 플래그에 추가하면 돼요.

더 알아보기