대규모 언어 모델(LLM)이 빠르게 발전하고 미션 크리티컬 엔터프라이즈 워크플로우 내에 더욱 긴밀하게 통합되면서, 분야별로 특화되고 고도로 전문화된 지식을 정확하게 추론하고 그에 대응하는 기능이 중요해졌습니다. 이는 특히 위험 수준이 높고 정확성이 요구되며 종종 당연한 것으로 간주되는 사이버 보안 분야에서 중요합니다. 따라서 사이버 보안과 관련된 현실적인 고품질 벤치마크를 사용하여 LLM의 성능을 평가하는 것은 유용할 뿐만 아니라 필수적입니다.

이 블로그 포스트에서는 사이버 보안 지식 평가를 위한 전용 벤치마크인 CyberMetric 데이터세트를 사용하여 다수의 IBM GraniteInstructLab 모델을 평가하는 방법을 설명합니다. 이 평가는 InstructLab과 단일 NVIDIA L4 GPU를 포함하는 Red Hat Enterprise Linux(RHEL) AI 1.3 가상 머신(VM)에서 수행되었습니다.

벤치마킹한 모델은 다음과 같습니다.

IBM Granite

  • granite-3.3-8b-instruct
  • granite-3.3-2b-instruct
  • granite-3.0-8b-instruct
  • granite-3.0-2b-instruct

InstructLab

  • merlinite-7b-pt
  • granite-3.0-8b-lab-community

사용된 CyberMetric 평가 세트

  • CyberMetric-80-v1.json
  • CyberMetric-500-v1.json
  • CyberMetric-2000-v1.json
  • CyberMetric-10000-v1.json
     

CyberMetric 데이터세트란?

CyberMetric 데이터세트는 사이버 보안 분야에서 비교적 새로운 벤치마킹 툴입니다. 이는 사람의 검증을 거친 객관식 질문 10,000개 이상으로 구성되어 있으며 사이버 보안 맥락에서 LLM을 평가하기 위한 포괄적인 리소스입니다.

데이터세트는 오픈 표준, NIST 가이드라인, 연구 논문, 공개 서적, RFC, 기타 관련 간행물 등 권위 있는 광범위한 자료에서 수집되었습니다. 이는 검색 기반 모델의 장점과 생성 기능을 결합한 검색 증강 생성(RAG, Retrieval-augmented Generation) 기술을 사용하여 생성되었습니다.

또한 CyberMetric 데이터세트는 여러 단계로 이루어진 철저한 개선 프로세스를 거쳤습니다. 이 프로세스는 LLM과 전문 인력이 모두 참여하여 실제 사이버 보안 지식을 정확하게 반영하는 고품질 데이터를 제공합니다.

이 데이터세트는 다음과 같은 9가지 사이버 보안 분야 전반에서 LLM의 이해도와 상기도를 평가할 수 있도록 설계되었습니다.

  • 재해 복구 및 비즈니스 연속성 계획(BCP, Business Continuity Planning)
  • Identity 및 액세스 관리(IAM, Identity and Access Management)
  • IoT 보안
  • 암호화
  • 무선 보안
  • 네트워크 보안
  • 클라우드 보안
  • 침입 테스트
  • 컴플라이언스/감사

이 데이터세트는 질문 수에 따라 4가지 크기로 제공되며, 80개, 500개, 2,000개, 10,000개 질문 중에서 선택하여 편리하게 사용할 수 있습니다.

InstructLab이란?

InstructLab은 특정 분야에 맞춰 LLM을 사용자 정의하고 조정하는 프로세스를 간소화하기 위해 Red Hat과 IBM이 설계한 오픈소스 플랫폼입니다. LAB(챗봇을 위한 대규모 조정, Large-scale Alignment for chatBots) 기반의 방법을 사용하여 사람의 입력이나 컴퓨팅 리소스를 최소화하여 모델을 효율적으로 개선할 수 있습니다. 

InstructLab은 분류 체계의 지식을 주입하고, 합성 데이터를 자동으로 생성하고, 숙련된 접근 방식을 사용하여 특정 동작과 태스크에 맞게 모델을 미세 조정함으로써 이를 실현합니다. 향상된 모델은 vLLM 또는 llama.cpp와 같은 백엔드와 함께 ilab CLI를 사용하여 로컬에서 제공될 수 있습니다. 

InstructLab은 기존의 미세 조정 워크플로우와 달리 업스트림 기여와 지속적인 커뮤니티 기반 개선을 지원한다는 점에서 독보적입니다. 모델에 구애받지 않으며 IBM Granite, Merlinite(Mistral에서 파생됨)와 같이 정기적으로 업데이트되는 개방형 가중치 모델 버전을 지원합니다.

 

벤치마킹된 모델 유형:

  • Granite 모델: IBM에서 개발한 파운데이션 LLM입니다. 'instruct'라는 단어로 끝나는 모델은 지침을 따르고 대화 또는 추론 태스크에 참여하도록 특별히 조정되었습니다.
     
  • InstructLab 모델: 이 모델은 커뮤니티 중심의 미세 조정을 나타냅니다. 일반적으로 Granite와 같은 파운데이션 모델을 기반으로 하지만 범용 또는 분야별 성능을 제공하기 위해 InstructLab 툴링 및 방법론을 사용하여 추가 학습을 진행했습니다.

 이러한 모델을 사용해야 하는 이유

Red Hat의 모델 선택은 특히 공식 CyberMetric 리더보드와 관련성 있는 비교 지점을 제공하려는 의도에 따른 것입니다. merlinite-7b-ptgranite-3.0-8b-lab-communitygranite-3.0-2b-instruct 및 granite-3.0-8b-instruct 모델을 선택한 것은 벤치마크의 릴리스 기간에 적합한 결정이었습니다. 

평가에는 최신 IBM Granite 3.3 모델(granite-3.3-8b-instruct 및 granite-3.3-2b-instruct)이 포함되었습니다. 이를 통해 Granite 모델의 성능 발전 양상을 보여줄 수 있습니다.

InstructLab을 통한 모델 서빙 

모든 모델은 ilab 명령을 사용하여 RHEL AI VM에서 로컬로 서빙되었습니다. 프로세스에는 모델을 다운로드한 다음 서빙하는 작업이 포함됩니다.

ilab model download --repository ibm-granite/granite-3.3-8b-instruct --hf-token 


다운로드가 완료되면 서빙이 시작됩니다.

ilab model serve --model-path ~/.cache/instructlab/models/ibm-granite/granite-3.3-8b-instruct --gpus 1


GPU 메모리 제한 완화

현재 단일 L4 GPU만 있는 제한된 설정 환경으로 인한 문제가 있습니다. vLLM을 백엔드로 활용하는 InstructLab을 통해 모델을 서빙하는 동안 일부 모델 구성에서 큰 max_position_embeddings 값으로 인해 GPU 메모리가 고갈되는 문제가 자주 발생했습니다. 특히 여러 모델의 config.json에서 이 매개 변수가 '131072'로 설정되어 vLLM의 키-값(KV) 캐시에 필요한 메모리가 크게 증가하여 종종 메모리 부족(OOM) 오류가 발생했습니다.

솔루션:

이 문제를 해결하기 위해 config.json 파일을 수동으로 수정하여 더 낮고 하드웨어와의 호환성이 더 뛰어난 값을 설정했습니다.

"max_position_embeddings": 4096

이 값은 위치 인코딩에 따라 모델이 시퀀스에서 처리할 수 있는 최대 토큰 수를 정의합니다. 이 수를 4,096개로 줄이면 KV 캐시 메모리 풋프린트가 크게 줄어드는 동시에 비교적 짧은 객관식 질문을 특징으로 하는 CyberMetric 데이터 세트에 사용하기에는 여전히 충분합니다. 활용 사례 입력이 이 토큰 길이를 초과하지 않으므로 이 조정은 모델의 정확도에 영향을 미치지 않습니다.

이 변경을 통해 불안정성이나 충돌 없이 모델을 성공적으로 서빙할 수 있었고, 단일 GPU 설정에서 벤치마킹 프로세스를 원활하게 진행할 수 있었습니다.

 

스크립트 조정 및 개선

InstructLab을 통해 로컬에서 서빙되는 모델에 대한 벤치마킹을 지원하기 위해 처음에 OpenAI API와 상호작용하도록 설계된 원래의 CyberMetric 평가 스크립트를 조정하고 더욱 개선했습니다. 주요 수정 사항은 다음과 같습니다.

  • API 호출 메커니즘을 openai.ChatCompletion.create에서 requests.post 라이브러리로 변경하여 HTTP 요청을 InstructLab에 의해 노출된 로컬 vLLM 서버 엔드포인트에 직접 전송하도록 변경
  • API 키 인증 제거(로컬 서버에 더 이상 필요하지 않음)

벤치마크 방법론의 무결성과 재현성을 유지하기 위해 원래 Cybermetric 스크립트의 핵심 로직을 최소한으로만 변경했습니다. 개선 작업의 일환으로 원래 버전에는 없는 주요 매개 변수 구성도 도입했습니다.

  • CyberMetric 스크립트는 여러 제공업체(OpenAI, Qwen, Mistral 등)의 모델을 평가하므로 고정된 온도 설정이 없으면 각 모델의 기본 동작에 따라 실행 전반에 변동이 발생할 수 있습니다. 온도를 0.0으로 명시적으로 설정하도록 수정하여 테스트되는 모든 모델에서 결과를 재현하고 비교할 수 있도록 했습니다.

벤치마크 결과 및 분석

평가는 CyberMetric 벤치마크 데이터세트를 토대로 수행되었습니다. 집계된 순위표만 활용하는 대신 모델을 유사한 매개 변수 클래스(20억 개(2B), 70억 개(7B), 80억 개(8B))로 그룹화하여 모델 크기별로 결과를 정리했습니다. 이 접근 방식을 사용하면 동일한 용량 범위 내에서 모델을 평가하여 공정하고 의미 있는 비교가 가능하므로 모델 규모의 차이로 인해 결과가 왜곡되는 것을 방지할 수 있습니다. 또한 비교의 무결성을 유지하기 위해 모델 크기를 공개하지 않은 모든 상용 모델을 제외했습니다.


2B 매개 변수 클래스 모델

이 카테고리에는 매개 변수 수가 15억 개부터 27억 개까지인 LLM이 포함됩니다. 

~2B parameter-class models

  관찰 결과:

  • Granite-3.3-2b-instruct는 평균 정확도가 거의 79%에 달하여 이 카테고리를 선도하는 모델입니다. 다른 모든 경쟁 모델의 성능을 크게 뛰어넘으며, 이전 버전인 Granite-3.0에 비해 향상된 기능을 보여줍니다.
  • Granite-3.0에서 Granite-3.3으로 업그레이드하면 평균 정확도가 1% 향상되며, 특히 소규모(80개 질문, 2,000개 질문)에서 두드러집니다. 이는 더 나은 지시 튜닝 또는 해당 분야와의 일치 정도를 시사합니다.
  • Qwen2.5-1.5B-Instruct는 양호한 수준의 성능을 보여주지만, 더 큰 데이터세트를 사용하여 정확도가 감소하면 사이버 보안 주제에 대한 이해도가 낮아지는 것을 확인할 수 있습니다.
  • Qwen1.5-MoE Phi-2와 같은 비지시 모델은 크게 뒤처지며, 이는 이 태스크를 수행하는 데 있어 지시 튜닝이 중요한 역할을 하는 것을 보여줍니다.
  • Gemma-2b는 모든 데이터세트에서 성능이 떨어지며, 7B 매개 변수 클래스 모델을 상당히 미세 조정하지 않고서는 사이버 보안 QA 태스크에 사용하기에 부적합한 것으로 보입니다.

이 카테고리에는 매개 변수 수가 70억 개인 LLM이 포함됩니다. 

LLM 모델

지시 기반 파인튜닝

회사

크기

라이센스

80개 질문

500개 질문

2,000개 질문

10,000개 질문

Qwen2.5-7B-Instruct

Qwen

7B

Apache 2.0

92.50%

89.20%

87.45%

83.56%

Falcon3-7B-Instruct

TII

7B

Apache 2.0

91.25%

85.60%

84.25%

80.72%

Qwen2-7B-Instruct

Qwen

7B

Apache 2.0

91.25%

84.40%

82.00%

78.75%

Merlinite-7b-pt

Instructlab

7B

Apache 2.0

86.25%

81.20%

81.95%

79.63%

Mistral-7B-Instruct-v0.2

Mistral AI

7B

Apache 2.0

78.75%

78.40%

76.40%

74.82%

Zephyr-7B-beta

HuggingFace

7B

MIT

80.94%

76.40%

72.50%

65.00%

Gemma-1.1-7B-it

Google

7B

오픈

82.50%

75.40%

75.75%

73.32%

Qwen1.5-7B

Qwen

7B

오픈

73.75%

70.10%

69.96%

65.17%

Qwen-7B

Qwen

7B

오픈

68.42%

64.08%

63.84%

54.09%

DeciLM-7B

Deci

7B

Apache 2.0

56.55%

56.20%

53.85%

51.32%

Gemma-7b

Google

7B

오픈

42.50%

37.20%

36.00%

34.28%

관찰 결과:

  • Merlinite-7b-pt는 평균 정확도가 82% 이상으로, 상위 티어 리더 다음으로 우수한 커뮤니티 연계 모델로 두각을 나타냅니다.
  • Qwen2.5-7B-Instruct와 같은 주요 모델은 전반적인 정확도에서는 뛰어나지만 대규모 데이터세트에 적용하면 Merlinite-7b-pt와의 격차가 크게 좁혀지며, 10K 데이터세트에서는 Merlinite가 오히려 더 뛰어난 정확도를 보여줍니다.
  • DeciLM-7B 및 Gemma-7B와 같은 비지시 모델은 성능이 급격히 떨어지며, 광범위한 튜닝 없이는 사이버 보안에 사용하기에 적합하지 않습니다.

8B 매개 변수 클래스 모델

8B parameter-class models



관찰 결과:

  • Granite-3.0-8b-instruct는 모든 CyberMetric 데이터세트에서 83.61%의 놀라운 평균 정확도로 8B 카테고리에서 1위를 차지했습니다. 일관되고 안정적인 성능을 유지하여 질문 수 80개~10,000개 범위에서 감소율이 3% 미만에 그치며, 이러한 강점은 컨텍스트가 긴 사이버 보안 시나리오에서의 추론에 필수적입니다.
  • 3.0 버전은 Granite-3.3-8b-instruct가 최신 릴리스임에도 불구하고 그보다 평균적으로 약간 뛰어난 성능을 보여줍니다. 3.3 버전은 2,000개 질문에서 근소한 우위를 보였지만 10,000개 질문에서는 80.22%로 성능이 하락했습니다.
  • Meta-Llama-3-8B-Instruct는 두 Granite 모델에 비해 성능이 떨어지며 특히 대규모 데이터세트에서 두드러집니다. 지시 튜닝에도 불구하고 질문 수 80개~10,000개 범위에서 10% 포인트 이상 감소하여 이 분야에 대한 취약성을 보여줍니다.
  • Llama3-ChatQA-1.5-8B 및 Meta-Llama-3-8B와 같은 기본 모델은 정확도가 각각 50%와 37%에 육박할 정도로 전반적으로 좋지 않은 결과를 제공합니다. 이는 지시 튜닝(instruction tuning)이 CyberMetric 유형의 벤치마크에 매우 중요함을 나타냅니다.
  • 전반적으로 Granite-3.0/3.3-instruct는 사이버 보안 태스크를 위한 가장 신뢰할 수 있는 8B 클래스 모델을 제공하여 상용 API에 의존하지 않고 최고의 정확도를 제공하며 셀프 호스팅 배포에 매우 적합합니다.

평가 스크립트 및 상세 결과 확인

재현 가능성과 추가 분석을 지원하기 위해 다음을 포함한 GitHub 리포지토리를 게시했습니다.

  • InstructLab을 통한 로컬 서빙에 맞게 수정된 CyberMetric 평가 스크립트
  • 테스트된 모든 모델에 대한 원시 벤치마킹 출력
  • 각 모델 및 데이터세트 크기에 대한 오답 질문 분석

독자는 이 리소스를 통해 모델별 실패 사례를 검사하고 사이버 보안 추론의 성능 차이를 더 잘 이해할 수 있습니다.

마무리

테스트 결과 다음 내용을 확인했습니다.

Granite-3.3-2b-instruct는 20억 개 카테고리에서 확연한 우수성을 보여 사이버 보안 분야에서 지시에 최적화된 컴팩트한 모델에 대한 강력한 벤치마크를 제공합니다. 경쟁 모델보다 더 적은 수의 매개 변수를 사용하면서 다양한 데이터 세트 크기에서 성능을 유지할 수 있으므로 리소스가 제한된 환경에 사용하기에 이상적인 옵션입니다.

Merlinite-7b-pt는 가장 균형 잡히고 다양한 분야에 적용 가능한 7B 매개 변수 모델 중 하나입니다. 가장 높은 점수를 얻지는 않았지만 제공업체에 종속되지 않으면서 강력한 사이버 보안 성능을 필요로 하는 커뮤니티 기반 프로젝트에 뛰어난 가치를 제공합니다.

Granite-3.0 및 3.3은 사이버 보안 추론에서 오픈소스 8B 모델의 확실한 벤치마크를 제시합니다. 높은 정확도, 모델 크기 전반에서의 안정성, 오픈 라이센싱을 모두 제공하는, 보기 드문 모델로서 비용 효율적인 배포에 이상적입니다. Granite-8B 모델은 경쟁 모델과 비교하여 최첨단에 가까운 성능을 제공합니다.

제품 체험판

Red Hat Enterprise Linux | 제품 체험판

Red Hat Enterprise Linux의 한 가지 버전으로서 하드웨어 리소스를 오케스트레이션하고 물리 시스템 또는 클라우드에서 실행되거나 하이퍼바이저 게스트로 실행됩니다.

저자 소개

UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래