Llama Guard 4 (멀티모달 안전 분류)
Llama Guard 4 (멀티모달 안전 분류)
Llama Guard 4 (12B)는 문제 있는 프롬프트와 응답을 감지하는 최신 보호 모델이에요. Llama 4 라인 모델(Llama 4 Scout, Llama 4 Maverick)과 함께 쓰도록 설계됐어요. 텍스트와 이미지를 함께 평가하는 멀티모달 모델이라서, 텍스트 전용 애플리케이션뿐 아니라 이미지가 섞인 환경에서도 입력·출력 가드레일을 적용할 수 있어요.
아키텍처
Llama Guard 4은 총 12B 파라미터의 멀티모달 보호 모델이에요. early fusion 트랜스포머 구조에 dense 레이어를 써서 전체 크기를 작게 유지해요. 그래서 단일 GPU로도 실행할 수 있어요. 토크나이저와 비전 인코더는 Llama 4 Scout·Maverick과 동일한 것을 공유해요. 자세한 기술 정보는 GitHub의 공식 모델 카드를 참고하면 돼요.
Llama Guard 4와 Llama 3
Llama Guard 4는 Llama 3 라인 모델과도 호환돼요. 텍스트 전용·멀티모달 애플리케이션 모두에서 Llama Guard 3 8B·11B의 대체재(drop-in replacement)로 쓸 수 있어요. 다만 Llama Guard 3 1B는 엣지 디바이스 배포 같은 특정 사용 사례에서 여전히 가치가 있어요.
이미지 지원
Llama Guard 4는 프롬프트 텍스트와 이미지를 함께 평가해 분류해요. 이미지만 단독으로 분류하도록 설계되지는 않았어요. 또 모델이 영어 텍스트에 최적화되어 있어서, 프롬프트의 텍스트 부분은 영어여야 해요.
이미지는 336×336 픽셀 타일로 나누는 동적 이미지 변환 전략을 써요. 로컬 타일 뒤에 전체 이미지를 336×336 픽셀로 리사이즈한 글로벌 타일을 붙여 전체적인 시야를 제공해요. 이미지 토큰은 이렇게 구분돼요.
<|image_start|>...<|image_end|>: 프롬프트에서 이미지 데이터를 감싸요<|patch|>: 입력 이미지의 부분 집합을 나타내요. 이미지가 클수록 patch 토큰이 많아져요<|tile_y_separator|>/<|tile_x_separator|>: 이미지의 X·Y 축을 나타내는 보조 토큰이에요<|image|>: 크기가 규격인 이미지 토큰과, 단일 타일에 맞게 줄인 축소 버전을 구분해요
프롬프트 섹션
제대로 만든 Llama Guard 프롬프트는 <BEGIN UNSAFE CONTENT CATEGORIES>나 <BEGIN CONVERSATION> 같은 태그로 구분되는 여러 섹션으로 이뤄져요. 특별한 토큰이 아니라 모델이 프롬프트를 잘 파싱하도록 돕는 일반 텍스트예요.
가드레일은 입력과 출력 양쪽에 적용할 수 있어서, 프롬프트도 두 종류로 존재해요. 하나는 사용자 입력용, 다른 하나는 에이전트 출력용이에요. 역할 자리표시자는 User 또는 Agent 값을 가지는데, 전자는 입력을 후자는 출력을 뜻해요. 사용자 입력을 평가할 때는 에이전트 응답이 대화에 없어야 해요. 반대로 에이전트 응답을 평가할 때는 사용자 입력과 응답이 모두 있어야 하고, 그때사용자 입력이 중요한 평가 맥락이 돼요.
템플릿에서 바꿔 넣는 주요 변수는 다음과 같아요.
{{ role }}:User또는Agent{{ unsafe_categories }}: 기본 카테고리와 설명. zero-shot·few-shot 프롬프팅으로 커스터마이즈할 수 있어요{{ user_message }}: 사용자의 입력 메시지{{ model_answer }}: 모델의 응답
카테고리의 전체 설명까지 프롬프트에 넣으면, 우리가 원하는 사용 사례에 맞춰 모델 동작을 조정할 수 있어요. 기본 카테고리는 Llama Guard 3에서 쓰는 S1~S13 체계를 그대로 따라요.
응답 형식
입력이 안전하면 응답은 첫 줄이 safe예요.
safe
안전하지 않으면 첫 줄이 unsafe, 둘째 줄에 위반 카테고리를 쉼표로 나열해요.
unsafe
S1, S2
S1, S2 부분이 위반한 카테고리에 해당해요.