---
title: "Qwen2.5-14B + GPUStack으로 정확도와 결정성을 양립한 구현 기록"
description: "BASTION이 클라우드 LLM API 대신 GPUStack 기반 로컬 LLM(Qwen2.5-14B)을 채택한 이유와 구현을 해설합니다. LLM은 로그 요약·보고서 생성 등에만 쓰고 중대도 판정과 차단 실행은 결정론적 로직에 맡기는 설계와 JSON 출력 강제, 낮은 temperature 등을 소개합니다."
url: "https://bestnetllc.co.jp/ko/docs/qwen2-5-14b-gpustack%ec%9c%bc%eb%a1%9c-%ec%a0%95%ed%99%95%eb%8f%84%ec%99%80-%ea%b2%b0%ec%a0%95%ec%84%b1%ec%9d%84-%ec%96%91%eb%a6%bd%ed%95%9c-%ea%b5%ac%ed%98%84-%ea%b8%b0%eb%a1%9d/"
updated: "2026-10-19"
category: BASTION
---

# Qwen2.5-14B + GPUStack으로 정확도와 결정성을 양립한 구현 기록

// BASTION 기술 해설 2026-05-14

Qwen2.5-14B + GPUStack으로 정확도와 결정성을 동시에 구현한 기록

 저자: 珍田 秀幸 / 베스트넷 합동회사   **관련 기사:** [다층 상관 캠페인 탐지 구조](https://bestnetllc.co.jp/ko/docs/%eb%8b%a4%ec%b8%b5-%ec%83%81%ea%b4%80-%ec%ba%a0%ed%8e%98%ec%9d%b8-%ed%83%90%ec%a7%80-%eb%a9%94%ec%bb%a4%eb%8b%88%ec%a6%98/) / [DMZ Agent와 검증 엔진](https://bestnetllc.co.jp/ko/docs/%ec%b9%a8%ed%95%b4-%ea%b0%80%eb%8a%a5%ec%84%b1%ec%9d%b4-%ec%9e%88%eb%8a%94-dmz-%ed%99%98%ea%b2%bd%ec%97%90%ec%84%9c-agent%eb%a5%bc-%ec%8b%a0%eb%a2%b0%ed%95%98%ec%a7%80-%ec%95%8a%eb%8a%94-%ec%a0%84/)

## 1. 서론 — 왜 로컬 LLM이었는가

BASTION의 핵심은 **로컬 LLM(Qwen2.5-14B)**입니다. GPT-4나 Claude와 같은 최첨단 외부 LLM API가 아닌, 자체 GPU 서버에서 구동하는 Qwen2.5를 선택했습니다.

“정확도가 높은 것을 사용하면 되는데, 왜 굳이 성능이 떨어지는 로컬 모델을?”이라는 의문은 당연합니다. 본 기사에서는 그 선택의 배경과 실제로 어떻게 구동하는지를 설명합니다.

결론을 먼저 말하자면, **로컬 LLM에는 “정확도”와는 별개로 3가지 강력한 장점이 있으며, 인프라 운영이라는 도메인에서는 그것들이 더 중요**했다는 이야기입니다.

## 2. 클라우드 LLM의 3가지 장벽

BASTION을 개발하는 초기에 당연히 OpenAI API나 Anthropic API 사용을 검토했습니다. 하지만 다음 3가지 장벽에 부딪혔습니다.

### 2.1 데이터 주권의 벽

BASTION이 다루는 로그에는 **고객의 민감한 정보**가 포함됩니다. 공격원 IP, 내부 시스템 구성, 사용자 이름, 인증 실패 상세 내역 등. 이를 외부 LLM API로 전송하는 것은 많은 고객 계약에서 허용되지 않습니다.

특히 금융·공공기관·의료 분야에서는 **“로그를 외부로 전송한 시점에서 계약 위반”**이라는 고객도 드물지 않습니다. 클라우드 LLM은 애초에 “사용할 수 없는” 것입니다.

### 2.2 비용의 불투명성

외부 LLM API는 사용량 기반 과금입니다. AWS의 DevOps Agent 등은 초 단위로 과금됩니다. BASTION처럼 **상시 가동되는 시스템**에서 이를 사용하면 로그량에 비례하여 비용이 선형으로 증가합니다. 월별 예산을 예측할 수 없습니다.

“공격이 많은 달에는 예산 초과”, “평화로운 달에는 사용하지 못하고 낭비”라는 형태로 비용 최적화가 극히 어려운 구조입니다.

### 2.3 네트워크 의존성

클라우드 LLM은 인터넷 연결이 전제입니다. 폐쇄 환경(전용선으로 격리된 네트워크 등)에서는 애초에 사용할 수 없습니다.

BASTION의 타겟에는 “인터넷에 연결되지 않은 환경에서도 작동하는 모니터링 시스템이 필요하다”는 고객이 포함됩니다. 이를 확보할 수 있는지는 차별화의 핵심이었습니다.

## 3. BASTION의 LLM 활용 방침 — 3가지 원칙

이를 바탕으로 BASTION은 다음 3가지 방침으로 LLM을 활용하고 있습니다.

| 원칙 | 의미 |
| --- | --- |
| ① 로컬 LLM을 기반으로 | 민감한 로그는 외부로 내보내지 않음. Qwen2.5-14B를 GPUStack으로 운영 |
| ② LLM에 판단을 맡기지 않음 | 캠페인 판정, 차단 실행은 결정론적 로직으로 처리 |
| ③ LLM은 “정리 담당”으로 사용 | 로그 요약, 자연어화, 사람용 보고서 생성이 주 용도 |

즉, **LLM은 “유능한 비서”로 사용하고, 판단은 결정론적 코드에 맡긴다**는 것이 BASTION의 기본 자세입니다. 이는 LLM 업계의 주류 사용법과는 조금 다릅니다.

## 4. 아키텍처 — GPUStack + Qwen2.5-14B

BASTION의 LLM 기반은 단순한 구성으로 작동합니다.

```
BASTION 중앙 서버 (AI-SLOG)
  │
  ├── rsyslog로 각 기기에서 로그 수신
  ├── 셸 스크립트군으로 전처리·요약
  │     │
  │     ↓ HTTP API call (OpenAI 호환)
  │
  └── GPUStack 클러스터
        ├── Qwen2.5-14B (주력 모델)
        ├── 경량 모델 (폴백용)
        └── 자동 로드 밸런스 + 자동 재시작
```

선정 이유를 간단히 설명합니다.

### 4.1 왜 Qwen2.5-14B인가

BASTION에서는 로그 요약과 자연어 보고서 생성이 주요 작업입니다. 이에 필요한 것은:

- **일본어의 자연스러운 출력** — 고객용 보고서가 영어 혼용이면 사용할 수 없음
- **14B 정도의 크기** — 24GB GPU 1장으로 양자화 없이도 작동
- **장문 대응** — 로그 요약을 위해 컨텍스트 길이가 충분히 필요
- **오픈 라이선스** — 상업적 사용이 명확히 허가됨

Llama 3 계열도 검토했지만, 일본어의 자연스러움에서 Qwen2.5가 우세했습니다. 이는 사내 비교 평가의 결론입니다.

### 4.2 왜 GPUStack인가

GPUStack은 여러 GPU 서버를 클러스터로 관리할 수 있는 OSS입니다. BASTION에서는:

- **OpenAI 호환 API**로 외부에서 접근 가능
- **모델 전환이 용이**(주 모델 다운 시 폴백)
- **분산 운영 가능**(여러 GPU 서버에서 병렬 처리)
- **운영 대시보드 제공**(모델 가동 상태를 한눈에 확인 가능)

이들이 상용 환경에 필요한 요구사항을 충족했습니다.

## 5. 파이프라인 — 로그에서 알림까지

BASTION의 LLM 활용은 여러 단계로 나뉩니다.

```
1. 장비 로그 수신        (rsyslog)
        ↓
2. 장비별 분류 저장    (셸 + 파일 시스템)
        ↓
3. 장비별 요약      (LLM 호출 #1)
        ↓
4. 전체 상관 분석        (LLM 호출 #2)
        ↓
5. 중대도 판정          (결정론적 로직)
        ↓
6. Slack 통지          (중대도가 CRITICAL일 때만 자동 게시)
        ↓
7. 상세 분석            (운용자가 멘션으로 호출)
```

중요한 것은, **각 단계에서 LLM의 역할이 명확히 제한되어 있다**는 것입니다.

| 단계 | 담당 | LLM의 역할 |
| --- | --- | --- |
| 요약 | LLM | 대량의 로그에서 “무슨 일이 일어났는지”를 자연어로 변환 |
| 상관 분석 | LLM | 여러 장비의 요약을 결합하여 전체 경향을 문장으로 작성 |
| 중대도 판정 | 결정론적 코드 | LLM은 사용하지 않음 (오판 위험 회피) |
| 차단 실행 | 결정론적 코드 | LLM은 사용하지 않음 (돌이킬 수 없는 동작) |
| 통지 문구 생성 | LLM | 운용자가 읽기 쉬운 일본어로 정형화 |

**“LLM에게 판단시키지 않고, 정형화만 맡긴다”**는 원칙을 일관되게 유지하고 있습니다.

## 6. LLM에 맡길 것과 맡기지 말 것

이것은 BASTION 설계의 핵심 부분이므로 조금 더 자세히 설명하겠습니다.

  // 설계 원칙

#### “LLM의 판단에 시스템의 안전을 맡기지 않는다”

LLM은 할루시네이션(허구의 사실을 생성)을 일으킵니다. 이는 기술이 진보해도 완전히 사라지지 않습니다. 인프라 운용에 LLM을 통합한다면, **할루시네이션이 발생해도 치명적인 피해가 나지 않는 설계**를 전제로 해야 합니다.

BASTION에서는 LLM의 출력을 신뢰하는 경우와 신뢰하지 않는 경우를 최초 설계 단계에서 명확히 구분했습니다.

### 6.1 LLM에 맡겨도 되는 것

- **로그의 자연어 요약** — 약간의 표현 편차는 허용 범위
- **여러 장비의 상황을 한 단락으로 정리** — 사람이 읽기 위한 것
- **Slack 통지 문구의 정형화** — 중요도에 따른 이모지나 강조도 맡길 수 있음
- **과거 유사 사례 참조** — “이것은 지난주에도 발생했다”고 제시

### 6.2 LLM에 맡겨서는 안 되는 것

- **공격 IP인지 여부의 최종 판정** — 수학적 판정으로 결정적으로 결정
- **차단 실행의 의사 결정** — 코드로 조건을 명시
- **차단 해제의 의사 결정** — 24시간 자동 실효 또는 운용자 조작만 허용
- **운영 환경 설정 변경** — 운용자의 수동 조작만 허용
- **보안 중대도의 최종 판정** — 룰 베이스로 결정

“LLM의 출력을 읽고 운용자가 판단하는” 시나리오는 많지만, “LLM의 출력이 직접 시스템을 작동시키는” 시나리오는 BASTION에 **거의 존재하지 않습니다**.

## 7. 하이브리드 LLM 전략 — 로컬 + 외부 API의 구분 사용

2026년 5월 시점에서 BASTION은 로컬 LLM뿐만 아니라, **Claude나 GPT 등의 외부 고성능 LLM API와의 연계도 실험 단계에서 구축 중**입니다.

다만, 이는 “로컬 LLM을 버리고 외부로 전환한다”는 이야기가 아닙니다. **용도에 따라 구분해서 사용하는 하네스**를 구축하고 있다는 의미입니다.

| 용도 | 사용할 LLM | 이유 |
| --- | --- | --- |
| 일상 로그 분석 | 로컬 (Qwen2.5) | 민감한 데이터를 외부로 보내지 않음 |
| 정형 업무 자동화(리포트 정리 등) | 외부 API | 민감 정보를 포함하지 않으며, 구조화 능력이 높음 |
| 예상치 못한 문제 발생 시 고급 추론 | 외부 API (필요 시) | 복잡한 시나리오 해석이 필요한 경우 |
| 운영 환경 제어 판단 | 사용하지 않음 | 결정론적 로직으로 처리 |

폐쇄망 요구사항이 엄격한 고객에게는 **외부 LLM 연계를 분리하여 로컬만으로 동작하는 구성**도 기존과 같이 제공합니다. “외부 LLM을 반드시 사용하는 제품”이 아니라, “**사용하고 싶을 때 사용할 수 있는 확장성을 가진 제품**“이라는 것이 현재의 위치입니다.

## 8. 설계상의 판단 포인트

로컬 LLM 운용에서 몇 가지 중요한 판단이 있었습니다.

**1. 프롬프트는 버전 관리한다**: LLM에 대한 질의 내용(프롬프트)은 코드와 마찬가지로 버전 관리 대상. 프롬프트 변경으로 출력 품질이 크게 달라지므로 변경 이력을 남긴다.

**2. JSON 출력을 강제한다**: LLM의 출력이 “자유 문장”인 상태로는 후단 코드에서 파싱할 수 없다. BASTION에서는 JSON 형식 출력을 강제하고, 파싱 오류 시 재시도한다.

**3. temperature는 낮게**: 동일한 입력에 대해 안정적인 출력을 얻기 위해 temperature는 낮은 값(0.0~0.3 정도)으로 고정. 창의성은 불필요하며, 결정성이 중요하다.

**4. 프롬프트의 “조작 방지” 지시**: “주어진 로그에 없는 정보를 생성하지 않는다” “불명확한 경우 명시적으로 ‘unknown’을 반환한다”는 지시를 반드시 포함한다. 그래도 할루시네이션을 완전히 막을 수 없으므로 후단에서 할루시네이션 감사를 수행한다(별도 글에서 상세히 다룰 예정).

**5. 모델 다운 시 폴백**: 메인 모델(Qwen2.5-14B)이 응답하지 않을 때를 대비하여 경량 모델로의 폴백 경로를 구현. 완전 중단보다는 간이 요약이라도 지속하는 것을 우선시한다.

## 9. 운용 실적 — 노이즈 감소와 결정성

BASTION이 운영 환경에서 가동을 시작한 지 약 1개월. LLM의 운용 실적을 공유합니다.

- **로그 분석 자동화율**: 약 95%(기존에는 운용자가 개별적으로 Tail하던 로그를 LLM 요약으로 대체)
- **Slack 알림 노이즈 감소**: CRITICAL 전용 알림으로 전환하여 정기 알림 발생 빈도가 약 1/8로 감소
- **판정의 결정성**: 동일한 입력에 대한 판정 결과는 완전히 일치(LLM의 확률적 출력은 배제했기 때문)
- **오탐률**: 0%(자사 IP/거래처 IP의 오차단 건수 제로)
- **할루시네이션 탐지 건수**: 감사 로직으로 지속적으로 탐지. 탐지된 경우 이벤트를 폐기하고 재분석

특히 **“결정성 100%”**가 중요합니다. LLM을 판단에 사용하면 동일한 입력에서 다른 결과가 나올 수 있습니다. BASTION에서는 LLM을 판단에 사용하지 않으므로 이러한 **“재현성 없는 오작동”이 물리적으로 발생하지 않습니다**.

## 10. 설계상의 트레이드오프

솔직히 말하면 로컬 LLM 운영에도 제약이 있습니다.

**1. 초기 GPU 비용**: Qwen2.5-14B를 원활하게 실행하려면 24GB 클래스의 GPU가 필요. 최소 구성이라도 수십만 엔~. 클라우드 API와 같은 “제로 엔 스타트”는 아님.

**2. 추론 성능의 상한**: 14B 클래스 모델은 GPT-4나 Claude 3.5 Sonnet만큼의 추론 능력은 없음. 복잡한 다단계 추론이 필요한 경우 외부 API로의 폴백이 필요.

**3. 모델 업데이트 추종**: 새로운 모델이 나올 때마다 평가·전환 판단이 필요. 사내에 기술적 판단이 가능한 인재가 필요(이는 BASTION의 유지보수 계약으로 커버).

**4. 프롬프트 조정의 지속성**: 환경마다 최적의 프롬프트가 다름. 도입 시의 튜닝과 운영 중의 지속적인 개선이 필요.

이들은 **“로컬 LLM을 채택하는 이상 피할 수 없는 트레이드오프”**입니다. 다만 데이터 주권·비용 예측성·폐쇄망 대응이라는 3가지 장점과 맞바꿔 받아들여야 할 비용이라고 판단하고 있습니다.

## 11. 향후 발전

LLM 기반은 앞으로도 지속적으로 진화시킬 것입니다.

- **신세대 모델로의 추종**: Qwen3 및 차세대 모델의 평가와 전환
- **하이브리드 LLM 전략의 본격 운영**: 용도별 자동 분배를 정형화
- **멀티모달 대응**: 네트워크 다이어그램이나 트래픽 그래프를 LLM에 읽히는 용도
- **고객 환경별 튜닝**: 각 고객의 로그 특성에 맞춘 프롬프트 최적화 자동화

이들은 순차적으로 추진할 예정입니다.

## 12. 관련 기사

- [다층 상관 캠페인 탐지의 구조](https://bestnetllc.co.jp/ko/docs/%eb%8b%a4%ec%b8%b5-%ec%83%81%ea%b4%80-%ec%ba%a0%ed%8e%98%ec%9d%b8-%ed%83%90%ec%a7%80-%eb%a9%94%ec%bb%a4%eb%8b%88%ec%a6%98/) — LLM이 분석한 결과를 어떻게 “결정론적 판정”으로 연결하는가
- [DMZ Agent와 검증 엔진](https://bestnetllc.co.jp/ko/docs/%ec%b9%a8%ed%95%b4-%ea%b0%80%eb%8a%a5%ec%84%b1%ec%9d%b4-%ec%9e%88%eb%8a%94-dmz-%ed%99%98%ea%b2%bd%ec%97%90%ec%84%9c-agent%eb%a5%bc-%ec%8b%a0%eb%a2%b0%ed%95%98%ec%a7%80-%ec%95%8a%eb%8a%94-%ec%a0%84/) — LLM을 신뢰하지 않는 것과 마찬가지로 Agent도 신뢰하지 않는 설계
- [BASTION을 “보안 제품”에서 “AI Ops Platform”으로](https://bestnetllc.co.jp/ko/docs/) — BASTION 전체의 진화 스토리
- Coming soon LLM 할루시네이션 감사 구현

## 13. 문의

BASTION 도입을 검토 중인 기업, 공동 실증 프로그램에 관심이 있는 분은 [문의 양식](https://bestnetllc.co.jp/ko/contact-5/)으로 연락 주시기 바랍니다.

로컬 LLM 기반(GPUStack + Qwen2.5)의 구축·운영 지원도 BASTION 도입과 함께 상담 가능합니다. 범위에 따른 개별 견적으로 제안해 드립니다.

 [무료 상담·문의 →](https://bestnetllc.co.jp/ko/contact-5/)

**베스트넷 합동회사**

〒989-6116 미야기현 오사키시 후루카와에키히가시 2-7-23

[https://bestnetllc.co.jp](https://bestnetllc.co.jp/ko/) / TEL: 0229-25-8716
