4.2. 엔진 및 런타임 관리¶
엔진 메뉴는 추론 엔진과 런타임 의존성을 관리하는 중앙 허브입니다. 이곳에서 llama.cpp, MLX 등 다양한 추론 백엔드의 여러 버전을 다운로드하고, 업데이트하며, 하드웨어에 맞게 설정할 수 있습니다.
엔진 페이지 이해하기¶
엔진 페이지는 세 가지 주요 섹션으로 구성됩니다:
- 설치된 엔진 - 현재 시스템에 설치된 엔진들
- 설치된 런타임 - 엔진이 의존하는 런타임 라이브러리
- 사용 가능한 엔진 - 공식 레지스트리에서 다운로드 가능한 새 엔진들

왜 엔진을 직접 관리해야 하나요?¶
하드웨어별 최적화¶
각 GPU마다 다른 엔진 빌드가 필요합니다:
| 하드웨어 | 최적의 엔진 변형 |
|---|---|
| NVIDIA RTX/GeForce | CUDA 13 기반 llama.cpp |
| NVIDIA (구형) | CUDA 12 기반 llama.cpp |
| AMD Radeon/Instinct | ROCm/HIP 기반 llama.cpp |
| Intel Arc | SYCL 또는 Vulkan 기반 llama.cpp |
| Apple Silicon | Metal 기반 llama.cpp, MLX 또는 MLXcel |
| CPU 전용 | CPU용 llama.cpp (AVX2/AVX-512) |
지원되는 추론 엔진¶
Backend.AI GO는 다양한 추론 엔진을 지원합니다:
| 엔진 | 지원 형식 | 플랫폼 | 설명 |
|---|---|---|---|
| llama.cpp | GGUF | 전체 | 고성능 GGUF 모델 추론 |
| MLX LM | Safetensors, GGUF | macOS (Apple Silicon) | Apple MLX 기반 추론 |
| MLXcel | Safetensors | macOS (Apple Silicon) | Lablup의 최적화된 MLX 서빙 엔진 |
포맷별 기본 엔진 설정
동일한 형식을 지원하는 여러 엔진이 있을 때 (예: MLX LM과 MLXcel 모두 Safetensors 지원), 설정 > 추론 > 포맷별 기본 엔진에서 기본으로 사용할 엔진을 설정할 수 있습니다.
버전 관리¶
여러 엔진 버전을 동시에 설치하고 운영할 수 있습니다:
- 새 릴리스를 적용하기 전에 미리 테스트
- 문제 발생 시 이전 버전으로 롤백
- 버전 간 성능 비교
의존성 관리¶
일부 엔진은 런타임 라이브러리가 필요합니다. 엔진 페이지에서 이러한 의존성을 자동으로 감지하고 필요시 설치해 줍니다.
엔진 설치하기¶
레지스트리에서 설치¶
-
사이드바 메뉴에서 엔진 페이지로 이동합니다.
-
사용 가능한 엔진 섹션으로 스크롤합니다.
-
원하는 엔진을 찾습니다 (예:
llama.cpp). -
다운로드 버튼을 클릭합니다.
-
여러 변형이 있는 경우 (예: CUDA 13, Metal, CPU) 대화 상자가 나타납니다:
- 감지된 하드웨어에 따라 권장 변형이 표시됩니다
- 각 변형의 다운로드 크기가 표시됩니다
- GPU에 맞는 변형을 선택하세요
-
다운로드가 즉시 시작됩니다. 플로팅 다운로드 대기열 패널에서 진행 상황을 확인할 수 있습니다.
다운로드 진행 단계¶
설치 과정은 여러 단계를 거칩니다:
| 단계 | 설명 |
|---|---|
| 다운로드 중 | 레지스트리에서 엔진 패키지 전송 중 |
| 압축 해제 중 | 압축된 아카이브 해제 중 |
| 검증 중 | 체크섬을 통한 파일 무결성 확인 중 |
| 설치 중 | 최종 위치로 파일 복사 중 |
런타임 의존성
엔진이 설치되지 않은 런타임 라이브러리를 필요로 하는 경우, 자동으로 다운로드됩니다. 런타임 다운로드에 대한 별도의 진행률 표시기가 나타납니다.
오프라인 설치¶
에어갭(air-gapped) 환경이나 수동 다운로드를 선호하는 경우:
-
Backend.AI GO Releases에서
.baiengine패키지 파일을 다운로드합니다. -
incoming 디렉토리에 파일을 배치합니다:
-
엔진 페이지를 열면 대기 중인 패키지 배너가 나타납니다.
-
가져오기 버튼을 클릭하여 감지된 패키지를 설치합니다.
또는 .baiengine 파일을 엔진 페이지로 드래그 앤 드롭할 수도 있습니다.
설치된 엔진 관리하기¶
엔진 카드¶
설치된 각 엔진은 다음 정보를 보여주는 카드로 표시됩니다:
- 엔진 이름 및 버전 (예: llama.cpp 1.0.0)
- 가속기 배지: Metal, CUDA 13, CPU 등
- 상태 배지:
- 🟢 활성 - 현재 모델 실행 중
- 🟠 업데이트 가능 - 레지스트리에 새 버전 존재
- 지원 형식: GGUF, MLX 등
- 설치 크기
수행 가능한 작업¶
| 작업 | 설명 |
|---|---|
| 별표 아이콘 | 이 엔진 유형의 기본 엔진으로 설정 |
| 새로고침 아이콘 | 최신 버전으로 업데이트 (가능한 경우) |
| 휴지통 아이콘 | 엔진 제거 |
| 카드 클릭 | 상세 정보 드로어 열기 |
기본 엔진 설정하기¶
동일 엔진의 여러 변형이 설치된 경우 (예: llama.cpp의 CUDA 13 버전과 CPU 버전), 하나를 기본값으로 설정할 수 있습니다:
- 엔진 카드에서 별표 아이콘을 클릭합니다.
- 별표가 채워지면 해당 엔진이 기본값으로 설정된 것입니다.
- 모델 로드 시 Backend.AI GO가 이 엔진 변형을 우선 사용합니다.
여러 기본값 설정
기본 엔진 ID당 하나의 기본값을 설정할 수 있습니다. 예를 들어, 기본 llama.cpp CUDA 13과 기본 MLX 엔진을 동시에 설정할 수 있습니다.
엔진 상세 정보 드로어¶
엔진 카드를 클릭하면 세 개의 탭이 있는 상세 정보 드로어가 열립니다:
개요 탭¶
- 기본 정보: ID, 버전, 가속기, 설치 날짜
- 매니페스트 상세: 포맷 버전, 업스트림 버전, 플랫폼 호환성
- 가속기 정보: 특정 백엔드 세부 정보 및 최적화 내용
파일 탭¶
설치된 파일 탐색:
- 디렉토리 구조
- 파일 크기
- 문제 해결이나 설치 확인에 유용
의존성 탭¶
런타임 의존성 확인:
- 필수 vs 선택 의존성
- 각 의존성의 설치 상태
- 버전 요구 사항
런타임 라이브러리¶
런타임이란?¶
런타임 라이브러리는 엔진 작동에 필요한 공유 의존성입니다. 가장 일반적인 것들은 다음과 같습니다:
| 런타임 | 용도 |
|---|---|
| CUDA 13 런타임 | NVIDIA GPU 가속, 최신 GPU용 |
| CUDA 12 런타임 | NVIDIA GPU 가속, 구형 GPU용 |
| ROCm/HIP 런타임 | AMD GPU 가속 |
| oneAPI/SYCL 런타임 | Intel GPU 가속 |
자동 설치¶
런타임이 필요한 엔진을 설치할 때:
- Backend.AI GO가 누락된 의존성을 감지합니다.
- 런타임이 자동으로 다운로드됩니다.
- 다운로드 대기열에 두 개의 진행률 표시기가 나타납니다.
- 런타임이 엔진 설치 완료 전에 설치됩니다.
설치된 런타임 보기¶
설치된 런타임 섹션에는 다음이 표시됩니다:
- 런타임 이름 및 버전
- 설치 날짜
- 이 런타임에 의존하는 엔진들
런타임 카드를 클릭하면 의존하는 엔진의 전체 목록을 볼 수 있습니다.
런타임 지속성¶
런타임은 엔진 버전 간에 공유됩니다:
- 엔진 업데이트 시: 런타임은 그대로 유지됨
- 런타임을 사용하는 모든 엔진 제거 시: 런타임은 유지됨 (향후 사용 대비)
- 런타임 수동 삭제 시: 의존하는 엔진이 작동하지 않을 수 있음
하드웨어 감지¶
Backend.AI GO는 최적의 엔진 변형을 추천하기 위해 시스템 하드웨어를 자동으로 감지합니다.
감지 항목¶
- GPU 제조사: NVIDIA, AMD, Intel, Apple
- GPU 모델: 특정 카드 이름 (예: RTX 4090, RX 7900 XTX)
- 드라이버 버전: CUDA 버전, ROCm 버전 등
- VRAM: 사용 가능한 비디오 메모리
- 디스크 공간: 엔진 설치에 사용 가능한 저장 공간
시스템 기능 확인¶
시스템 기능은 엔진 변형 선택 시 표시됩니다:
- 하드웨어에 맞는 최적의 변형에 권장 배지 표시
- 설치 대화 상자에 사용 가능한 가속기 목록 표시
- 저장 공간 부족 시 경고 표시
엔진 업데이트하기¶
업데이트 확인¶
Backend.AI GO는 주기적으로 레지스트리에서 새 엔진 버전을 확인합니다. 업데이트가 있으면:
- 엔진 카드에 주황색 업데이트 가능 배지가 나타납니다
- 업데이트 버전 번호가 표시됩니다
업데이트 적용¶
- 엔진 카드에서 새로고침 아이콘을 클릭합니다.
- 새 버전이 다운로드되어 기존 버전을 대체합니다.
- 설정 및 기본 환경 설정은 유지됩니다.
활성 엔진
모델이 실행 중인 동안에는 엔진을 업데이트할 수 없습니다. 먼저 모델을 중지한 후 업데이트하세요.
문제 해결¶
엔진이 설치되지 않음¶
| 증상 | 해결 방법 |
|---|---|
| 다운로드 실패 | 인터넷 연결 확인; 나중에 다시 시도 |
| 압축 해제 실패 | 충분한 디스크 공간 확보 |
| 검증 실패 | 패키지가 손상되었을 수 있음; 다시 다운로드 |
| 런타임 누락 | 런타임 다운로드가 실패했을 수 있음; 수동 확인 |
엔진이 시작되지 않음¶
| 증상 | 해결 방법 |
|---|---|
| "라이브러리를 찾을 수 없음" | 런타임 의존성 누락; 엔진 재설치 |
| "GPU를 감지할 수 없음" | GPU 드라이버 업데이트; CPU 변형 시도 |
| 즉시 충돌 | 시스템 요구 사항 확인; 다른 변형 시도 |
멈춘 다운로드 해결¶
다운로드가 멈춘 것 같으면:
- 다운로드 대기열에서 취소 버튼을 클릭합니다.
- 정리가 완료될 때까지 기다립니다.
- 설치를 다시 시도합니다.
검증 중 취소 불가
파일 손상을 방지하기 위해 검증 단계에서는 취소 버튼이 비활성화됩니다.
모범 사례¶
올바른 변형 선택¶
- 최대 성능을 위해: GPU에 맞는 엔진 변형 선택
- 호환성을 위해: CPU 변형은 어디서나 작동하지만 속도가 느림
- 메모리 제한 시스템의 경우: 일부 변형이 더 메모리 효율적임
엔진 최신 상태 유지¶
새 버전에는 보통 다음이 포함됩니다:
- 성능 향상
- 버그 수정
- 새로운 모델 아키텍처 지원
- 보안 패치
디스크 공간 관리¶
엔진 패키지는 상당히 클 수 있습니다 (100MB - 1GB 이상). 주기적으로:
- 사용하지 않는 엔진 변형 제거
- 파일 탭에서 설치 크기 확인
- 실제로 사용하는 변형만 유지
모델 로딩과의 연동¶
엔진 페이지는 모델 로딩 시스템과 긴밀하게 연동됩니다:
-
모델 형식 감지: 모델을 로드하면 Backend.AI GO가 형식(GGUF, Safetensors 등)을 확인합니다.
-
엔진 선택: 해당 형식을 지원하는 설치된 엔진을 찾습니다.
-
포맷별 기본값: 설정에서 해당 형식의 기본 엔진을 확인합니다.
-
우선순위 기반 선택: 기본값이 설정되지 않은 경우 우선순위에 따라 엔진이 선택됩니다:
- Safetensors 형식: MLXcel > MLX LM
- GGUF 형식: llama.cpp (GPU 가속 우선)
-
하드웨어 최적화: 동일 우선순위에서 GPU 가속 변형이 CPU 전용보다 우선됩니다.
포맷별 기본값 설정
설정 > 추론 > 포맷별 기본 엔진에서 각 모델 형식에 사용할 엔진을 설정할 수 있습니다. MLXcel과 MLX LM이 모두 설치되어 있을 때 Safetensors 모델을 처리할 엔진을 선택하고 싶을 때 특히 유용합니다.
모델 로딩에 대한 자세한 내용은 다음을 참조하세요:
기술 세부 사항¶
엔진 패키지 형식¶
엔진 패키지는 .baiengine 형식을 사용합니다:
- 바이너리와 메타데이터를 포함하는 ZIP 아카이브
manifest.json에 엔진 및 요구 사항 기술- 체크섬으로 파일 무결성 보장
- 각 OS/아키텍처용 플랫폼별 빌드
디렉토리 구조¶
~/.backend-ai-go/
├── engines/
│ ├── incoming/ # 오프라인 패키지 스테이징
│ ├── installed.json # 설치된 엔진 레지스트리
│ ├── llama-cpp-metal/ # 엔진: Metal 기반 llama.cpp
│ ├── llama-cpp-cuda13/ # 엔진: CUDA 13 기반 llama.cpp
│ └── mlx/ # 엔진: MLX
├── runtimes/
│ ├── installed.json # 설치된 런타임 레지스트리
│ ├── cuda13-runtime/ # 런타임: CUDA 13
│ └── hip-runtime/ # 런타임: AMD HIP
├── logs/ # 애플리케이션 로그
└── config/ # 설정 파일
지원되는 가속기¶
| 가속기 | 플랫폼 | 설명 |
|---|---|---|
| metal | macOS | M 시리즈 칩용 Apple Metal |
| cuda | Windows, Linux | NVIDIA CUDA |
| rocm | Linux | AMD ROCm |
| hip | Windows | AMD HIP (ROCm의 Windows 포트) |
| vulkan | 전체 | 크로스 플랫폼 GPU API |
| sycl | 전체 | Intel oneAPI SYCL |
| cpu | 전체 | 폴백용 CPU 전용 추론 |
엔진 시스템은 사용자의 하드웨어에 최적화된 추론 백엔드를 항상 사용할 수 있도록 보장하여, 로컬 AI를 접근 가능하고 성능 좋게 만들어 줍니다.