방어형 사이버보안 특화 4B 모델 'CyberSecQwen-4B' 공개… AMD MI300X 단일 GPU 학습, Cisco Foundation-Sec-Instruct-8B 대비 절반 파라미터로 CTI-MCQ +8.7pp
방어형 사이버보안 작업에 특화된 4B 파라미터 오픈소스 모델 CyberSecQwen-4B가 공개됐다. 좁은 영역의 사이버 위협 인텔리전스(CTI) 과제, 즉 CWE 분류·CVE→CWE 매핑·구조화된 CTI 질의응답에 한정해서 잘 다듬은 4B 파인튜닝이 8B급 특화 모델과 같거나 더 나은 성능을 내고, 12GB 컨슈머 GPU 한 장에 들어간다는 가설을 검증하는 모델이다.
방어형 사이버보안에서 로컬·소형 특화 모델이 필요한 이유는 네 가지다. 첫째, 유출 자격증명 덤프를 분류하는 SOC 분석가, 샘플을 리버싱하는 멀웨어 분석가, CVE 작성 중인 취약점 연구자 모두 호스티드 API에 그 내용을 붙여 넣어선 안 된다. 데이터 자체가 침해다. 둘째, 중간 규모 SOC가 하루 수천 건의 저신뢰 알림을 처리할 때 'CVE를 설명하라'·'어떤 CWE인가' 같은 호출 비용이 자동화 예산 문제로 변한다. 셋째, 핵심 인프라·헬스케어·정부 환경에선 에어갭이 표준이라 노트북이나 단일 온프레미스 GPU에서 못 돌면 배포가 안 된다. 넷째, 랜섬웨어 조직은 LLM으로 30개 언어 피싱을 자동 작성하고, 버그바운티 자동화는 에이전트 도구를 엮어 사람보다 빠르게 퍼징·트리아지·익스플로잇한다. 같은 속도의 방어에는 방어자가 직접 소유하고 돌릴 수 있는 모델이 필요하다.
벤치마크는 공개된 가장 강력한 베이스라인 Cisco Foundation-Sec-Instruct-8B를 시스코의 자체 프로토콜대로 CTI-Bench에서 비교했다. 다섯 번 시행, 온도 0.3 조건에서 CyberSecQwen-4B는 CTI-MCQ(2,500문항)에서 0.5868 ± 0.0029로 Foundation-Sec-Instruct-8B의 0.4996을 8.7포인트 앞섰고, CTI-RCM(1,000개 CVE→CWE 문항)에선 0.6664 ± 0.0023으로 0.6850 대비 1.9포인트 낮았다. 절반 파라미터로 CTI-RCM 정확도의 97.3%를 유지하면서 CTI-MCQ는 +8.7pp 초과 달성한 셈이다.
학습 데이터는 두 코퍼스로 구성됐고 모두 Apache-2.0으로 공개된다. 하나는 MITRE/NVD 공개 레코드에서 가져온 2021년 CVE→CWE 매핑이며, CTI-Bench 평가셋과 겹치는 모든 항목은 학습 전에 제거했다. 따라서 위 벤치마크 수치는 정직한 분포 외 홀드아웃 결과로, 데이터 오염이 아니다. 다른 하나는 중복 제거된 CVE 설명을 근거로 더 강한 교사 모델로 생성한 합성 방어 분석가 Q&A이며 재배포가 가능하도록 Apache-2.0으로 공개된다.
베이스 모델은 학습 시점 가장 좋은 4B급 IT 모델이었던 Apache-2.0 라이선스의 Qwen3-4B-Instruct-2507이다. 베이스가 아닌 IT 체크포인트를 의도적으로 골랐는데, IT 단계가 이미 만들어 둔 짧은 답변 객관식 형식 사전(prior)을 보존해 'IT 후 SFT' 붕괴를 막기 위해서다. 실제로 Qwen3-4B-Instruct-2507 원본 IT는 CTI-RCM 0.519·CTI-MCQ 0.473이지만, 본 파인튜닝은 0.6664·0.5868로 IT 출발점을 두 벤치마크 모두에서 회복하고 초과한다. 이는 시스코가 Foundation-Sec-Instruct vs Foundation-Sec 비교에서 보고한 'IT 단계가 MCQ를 떨어뜨리는' 패턴을 확인하면서 동시에 도메인 향상을 더한 결과다.
학습 레시피는 LoRA r=64, alpha=64(alpha/r=1.0), dropout 0.05, 학습률 5e-5(코사인, warmup ratio 0.03), 에폭 10, bf16 정밀도, FlashAttention-2 정·역방향, 최대 시퀀스 길이 4096, 배치 4(누적 없음), paged_adamw_8bit 옵티마이저로 설정됐다. Qwen은 헤드 차원 128로 MI300X(gfx942) 공유 메모리 예산 안에 들어가 FA2가 켜지며, 이 구성에서 스텝 시간이 약 7.85초/스텝으로 안정화된다.
전체 파이프라인(학습·어댑터 머지·평가)은 AMD Developer Cloud의 단일 AMD Instinct MI300X 192GB 인스턴스에서 엔드투엔드로 돌아간다. 192GB HBM3와 ROCm 7의 vLLM 스택 덕에 양자화 트릭, 그래디언트 체크포인팅, 모델 분산 같은 우회를 고민할 필요가 없었다. 풀 bf16에 FA2 정·역방향, 배치 4, 시퀀스 4096이 단일 GPU에서 돌아간다. 환경은 ROCm 7.0, Docker 이미지 vllm/vllm-openai-rocm:latest, PyTorch 2.6.0(ROCm), flash-attn 2.8.3, vLLM 0.10.1로 구성됐다. train.sh의 레시피는 하드웨어 비종속이며, 다른 40GB 이상 데이터센터 GPU에서 돌리려면 AMD 전용 환경 변수를 빼고(다른 환경에선 무동작) 적절한 휠로 flash-attn을 재설치하면 된다.
결과가 레시피 덕인지 베이스 덕인지 검증하기 위해, 같은 학습 코퍼스와 하이퍼파라미터로 베이스만 Gemma-4-E2B-it로 바꾼 자매 모델 Gemma4Defense-2B도 함께 학습했다. 5회 시행 평균 기준 Gemma4Defense-2B는 CTI-RCM 0.6754 ± 0.0035, CTI-MCQ 0.6042 ± 0.0090을 기록해 두 모델은 CTI-RCM에서 0.9포인트 이내로 수렴했다. 즉 레시피가 모델 패밀리에 무관하게 작동한다는 의미다. CyberSecQwen-4B는 Apache-2.0이 필요한 환경에 알맞고, Gemma4Defense-2B는 4B보다 2B가 배포 예산에 더 잘 맞을 때 적합하다.
AMD ROCm 환경 특유의 이슈도 정리됐다. Gemma-4의 헤드 차원 512는 LDS 예산을 초과해 글로벌 어텐션 레이어에서 FA2가 실패하므로 sdpa로 폴백했고, 결과적으로 같은 레시피에서 Qwen 대비 약 1.6배 느렸다. CyberPal-2.0-20B 서빙 시 AITER 커널이 충돌해 해당 평가에는 VLLM_ROCM_USE_AITER=0을 설정했다(이 AMD 환경 변수는 ROCm 외 환경에선 무동작이라 레시피에 그대로 둘 수 있다). bitsandbytes는 ROCm에서 공식 지원이 아니지만 192GB 헤드룸 덕에 4·8비트 양자화가 필요 없었고, 옵티마이저 전용 경로인 paged_adamw_8bit는 동작했다. vLLM ROCm 평가에서는 TRITON_ATTN 백엔드를 쓰고, IT 베이스의 템플릿이 우선 적용되는 것을 막기 위해 머지된 모델 디렉터리의 chat_template.jinja를 명시적으로 전달했다. 데모 Space는 익명 방문자가 IP당 일 2분 한도에 걸리는 ZeroGPU 쿼터 문제를 우회하기 위해 클라이언트사이드 HF OAuth를 적용해, 각 방문자의 호출이 본인 쿼터(무료 일 3.5분, Pro 일 25분)로 청구되도록 했다.