Shieldstral 1.0 3B, 재학습 없이 정책 바꾸는 안전 분류기
미스트랄 AI가 3B 크기 멀티모달 안전 분류기 Shieldstral 1.0 3B를 아파치 2.0 라이선스로 공개했습니다.
기존 가드레일 모델처럼 유해 카테고리 목록을 가중치에 박아 넣지 않고, 운영자가 검사하고 싶은 기준을 추론 시점에 평범한 문장 하나로 던지면 그 자리에서 점수를 돌려줍니다.
텍스트 안전성 평균 F1은 84.9%로, 파라미터가 7배 많은 GPT-OSS-Safeguard-20B와 같은 수치를 기록했습니다.
미스트랄 AI가 공개한 Shieldstral 1.0 3B. 정책을 추론 시점의 질문으로 받는 멀티모달 안전 분류기입니다. (이미지: MarkTechPost)
가드레일 모델은 서비스에 올라온 글이나 이미지가 규정을 어겼는지 자동으로 걸러내는 검열 보조 모델입니다. 문제는 이 모델들이 대부분 "폭력, 자해, 성적 콘텐츠…" 같은 분류 체계를 학습 단계에서 통째로 외워버린다는 점입니다. 같은 문장이라도 보안 연구용 도구에서는 정상인데 정신건강 상담 앱에서는 위험할 수 있는데, 카테고리가 고정돼 있으면 서비스마다 모델을 다시 학습시켜야 합니다.
Shieldstral은 이 순서를 뒤집었습니다. 정책은 가중치가 아니라 프롬프트에 담깁니다.
정책이 곧 프롬프트
· 입력은 세 칸으로 나뉩니다.
· 검사 대상은 사용자 프롬프트, 모델 답변, 프롬프트와 답변 한 쌍, 또는 텍스트가 붙은 이미지까지 모두 받습니다.
· 모델은 yes와 no 두 토큰만 놓고 확률을 정규화해 0에서 1 사이 점수를 내놓습니다. 기본 임계값은 0.5입니다.
· 라벨이 아니라 연속된 점수라서, 서비스 화면별로 기준선을 다르게 잡거나 애매한 구간만 사람 검수로 넘기는 운영이 가능합니다.
· 기반 모델은 Ministral-3-3B-Base-2512이고 Pixtral 비전 인코더를 그대로 물려받아 이미지를 함께 봅니다.
한 번의 순전파로 토큰 하나만 뱉기 때문에, 판단 과정을 길게 늘어놓는 추론형 가드보다 지연 시간과 비용이 훨씬 낮습니다. 미스트랄은 호출 한 번에 정책 하나를 권장합니다. 넓은 안전/위험 판정이 필요하면
숫자로 본 성능
텍스트 안전성 평균 F1 84.9%는 비교군에서 가장 작은 모델이 만든 기록입니다. 세부 항목을 보면 ToxicChat 84.1, HarmBench 99.4, Aegis v2 응답 판정 87.2를 기록했습니다.
멀티모달 쪽이 더 눈에 띕니다. 전체 83.8%로 OmniGuard-7B의 77.6%를 앞섰고, VLGuard 97.7과 UnsafeBench 81.8에서 선두입니다. 다만 LlavaGuard 벤치마크에서는 이름값을 하는 LlavaGuard-7B가 81.4로 여전히 앞섭니다.
항목
Shieldstral 1.0 3B
GPT-OSS-Safeguard-20B
Nemotron-3.5-Safety-4B
파라미터
3B
20B
4B
텍스트 안전 F1
84.9%
84.9%
—
적응성 F1
91.3%
94.1%
91.8%
거부 탐지
91.5%
93.7%
—
추론 트레이스
생성 안 함
생성
—
적응성 벤치마크는 학습 데이터와 일부러 어긋나게 설계한 시험입니다. 12개 대분류, 26개 중분류, 52개 세부 항목에 고정 질의 90개를 붙였고, 세부 항목 중 학습 분류와 일대일로 겹치는 것은 하나도 없습니다. 여기서 91.3%를 받아 GPT-OSS-Safeguard-20B(94.1%)와 Nemotron-3.5-Safety-4B(91.8%)에 조금 밀렸습니다.
다만 두 경쟁 모델과 달리 Shieldstral은 추론 과정을 전혀 생성하지 않고 이 점수를 냈습니다.
직접 돌려보기
1단계, 하드웨어 확인
BF16 기준 16GB VRAM에 들어가고 GPU 한 장이면 돌아갑니다. 아파치 2.0이라 상업적 이용에도 제약이 없습니다.
2단계, 서빙 방식 선택
실시간 게이팅이면 vLLM, 노트북이나 CPU 환경 실험이면 llama.cpp 쪽이 무난합니다.
실행 방법
조건
비고
vLLM
0.26.0 이상
미스트랄 권장 경로
llama.cpp
GGUF 변환 필요
Q8_0 / Q5_K_M / Q4_K_M
SGLang
—
지원
Transformers
—
지원
Axolotl
—
파인튜닝용
3단계, 정책 질문 작성
여기가 실제 품질을 좌우합니다. "이 글이 부적절한가?" 같은 뭉뚱그린 질문 대신, 서비스 약관 문구를 예/아니오 질문으로 그대로 옮기는 편이 낫습니다. 멀티테넌트 서비스라면 고객사마다 다른 질문을 넣어 체크포인트 하나로 서로 다른 규정을 굴릴 수 있습니다.
데이터가 만든 차이
성능의 근거는 모델 크기가 아니라 데이터입니다. 학습에 쓴 샘플은 약 5,410만 개로, 오픈소스 텍스트 4,520만 개, 합성 대조 텍스트 440만 개, 멀티모달 450만 개로 구성됐습니다. 서로 다른 데이터셋을 데이터셋별 전처리기로 전부 같은 지시-질의-문서 형식으로 바꿨고, 표현을 무작위로 섞고 엄격도도 조절했습니다. 적대적 탈옥 데이터는 엄격하게, 답변 품질 데이터는 느슨하게 잡는 식입니다.
핵심은 대조 생성입니다. LLM이 안전한 문장을 받아 특정 카테고리를 위반하도록 고쳐 쓰되, 바로 옆 형제 카테고리는 일부러 건드리지 않습니다. 그러면 내용이 거의 같은 긍정 예시와 까다로운 부정 예시가 한 번에 나옵니다. 안전이냐 아니냐를 뭉뚱그려 외우는 대신, 어떤 정책이 깨졌는지를 구분하도록 훈련되는 셈입니다.
이미지는 텍스트처럼 합성하기 어렵습니다. 그래서 일반 이미지 데이터셋을 부정 예시로 섞고, 14개 시각 하위분류를 오가며 질의를 변형하고, 비전-언어 리랭커로 걸러내는 방식을 썼습니다. 학습은 LoRA 파인튜닝 뒤 세 갈래 SLERP 병합으로 마무리했습니다. 공개+생성 데이터 0.6, 공개 데이터만 0.3, Ministral-3B-Instruct 0.1 비율입니다.
한도와 약점
미스트랄이 직접 밝힌 약점이 꽤 구체적입니다.
· 다국어 프롬프트 분류가 아랍어와 인도네시아어에서 처집니다. RTP-LX 프롬프트에서는 70.3으로, Nemotron-3.5-Safety-4B의 86.1과 격차가 큽니다.
· 일부러 철자를 비틀거나 우회 표현을 쓴 적대적 입력에서 신뢰도가 떨어집니다.
· 아주 긴 문서에서도 마찬가지입니다. 학습 컨텍스트는 32k 토큰, 12개 언어 기준입니다.
· 거부 탐지는 전체 91.5%로 GPT-OSS-Safeguard-20B의 93.7%보다 낮습니다.
정리하면 영어권 일반 콘텐츠와 이미지 검수에는 강하지만, 저자원 언어나 우회 공격이 주로 들어오는 서비스라면 그대로 믿고 맡기기는 이릅니다.
자주 묻는 질문
3B 모델이 정말 20B급인가요
텍스트 안전성 평균 F1만 놓고 보면 84.9%로 동률입니다. 다만 적응성(91.3% 대 94.1%)과 거부 탐지(91.5% 대 93.7%)에서는 20B 모델이 앞섭니다. 크기 대비 효율이 뛰어난 것이지 모든 항목에서 앞선다는 뜻은 아닙니다.
정책을 바꾸면 다시 학습시켜야 하나요
아닙니다. 정책은
자체 서버 안에서만 돌릴 수 있나요
가능합니다. 가중치가 공개돼 있고 아파치 2.0이라, 데이터가 밖으로 나가면 안 되는 사내망이나 VPC 안에 그대로 올릴 수 있습니다. 외부 검수 API에 원문을 보내지 않아도 된다는 점이 규제 산업에서는 꽤 큰 차이입니다.
지금 해볼 것
서비스 약관을 예/아니오 질문으로 다시 써 보는 일이 첫 단계입니다. 이 모델의 성능은 결국 질문 한 줄이 얼마나 정확한지에 달려 있어서, 모델을 올리기 전에 정책 문서부터 정리하는 편이 효율적입니다.
기존 검수 로그로 임계값을 맞춰 보는 일이 두 번째입니다. 점수가 연속값이라 0.5를 그대로 쓸 필요가 없고, 화면별로 기준을 달리 두거나 애매한 구간만 사람에게 넘기는 설계가 가능합니다. 다만 어느 값이 적정한지는 서비스마다 다르므로 직접 측정해야 합니다.
Shieldstral 1.0 3B는 검열 정책을 가중치에서 프롬프트로 옮겨 놓은 모델입니다. 16GB 한 장에서 돌면서 텍스트 84.9%, 멀티모달 83.8%를 기록했고 라이선스도 아파치 2.0으로 열려 있습니다. 대신 저자원 언어와 우회 입력에서는 아직 빈틈이 있습니다.
여러분 서비스라면 검수 기준을 몇 개짜리 질문으로 나눠 넣으시겠어요? 운영하면서 가장 애매했던 판정 사례가 있다면 댓글로 남겨 주세요.