브라질 포르투갈어 1B 모델의 안전 정렬을 통계로 검증한 재현 기록

Manacá-1B-Instruct-2: Reproducible Safety Alignment for a Native Brazilian-Portuguese LLM. Negative DPO Results, a Controlled Composition Scan, and a Silent Failure Mode of the LLM Judge

arXiv2610.20570v1

Bruno Leonardo Santos Menezes2026-10-14

무엇인가

브라질 포르투갈어(PT-BR)는 오픈소스 언어모델 생태계에서 여전히 소외된 언어이고, 그나마 안전 정렬이 된 모델들도 무엇이 실패했는지, 비교에 통계적 유의성이 있는지를 거의 문서화하지 않는다. 이 논문은 처음부터 PT-BR을 위해 학습된 1.72B 파라미터 모델 Manacá-1B의 2세대 후속 학습 결과를 다룬다. 1세대 Manacá-1B-Instruct는 LLM-jp의 AnswerCarefully 방식으로 안전 전용 SFT를 했지만, 안전 프로브가 16개와 34개 항목에 불과해 어떤 짝지은 검정도 할 수 없었다. 저자들은 규모 확대가 아니라 방법론적 엄밀함을 목표로 삼아, 부정 결과까지 포함해 모든 것을 공개한다.

어떻게 동작하나

모델 구조는 Manacá-1B를 그대로 물려받는다. 24층 Llama 계열 디코더, 모델 차원 2048, 8192 SwiGLU FFN, 32개 어텐션 헤드에 8개 KV 그룹(GQA), RoPE, RMSNorm, 모든 선형층의 학습된 바이어스, 64k SentencePiece 토크나이저를 쓴다. 후속 학습은 두 단계다. 먼저 291,223개 지시문 예시(1세대의 14만 1천 개보다 큼)와 3,000개 검증 예시로 3에폭 전체 미세조정을 하고, eval_loss가 가장 낮은 체크포인트를 고른다. 기록된 eval_loss는 500스텝마다 측정해 1.3474 → 1.2661 → 1.2359 → 1.2119 → 1.2027 → 1.1986으로 단조 감소했고 과적합 징후가 없었다. 그 위에 안전 전용 SFT를 LoRA(r=32, α=64, 3에폭)로 얹는다. 안전 SFT는 거절을 직접적인 교차엔트로피 목표로 삼되, 무해한 요청에 답하는 예시와 일반 데이터를 섞어 무조건 거절하는 모델이 되지 않게 한다.

무엇과 다른가

논문에서 가장 눈에 띄는 부분은 세 번의 DPO 시도가 모두 실패했다는 기록이다. 1세대에서 오프폴리시 GigaVerbo 선호쌍으로 시도한 것은 과최적화만 일으켰고, llm-jp-dpo를 충실히 따른 온폴리시 시도는 학습 리워드 마진이 1.0, 정확도가 약 1.0에 도달했는데도 자유 생성에서는 전혀 바뀌지 않아 자기 학습 프롬프트 4개 중 0개만 거절했다. instruct-2에서 서드파티 선호쌍(약 2만 8,400쌍)으로 다시 시도한 것도 결론은 같았다. 저자들의 교훈은 명확하다. DPO의 학습 지표는 티처 포싱 아래 두 특정 시퀀스에 대한 결정을 측정할 뿐이고, 실제 행동을 결정하는 자유 생성 첫 토큰의 결정과는 다르다. 안전은 결국 전용 안전-SFT에서 나왔고, 여기서도 세 번의 반복이 필요했다. 유해 시드를 50개에서 465개로 늘려 1,539개 거절 예시를 만들면서 일반 데이터 절대량을 고정한 v2는 일반 데이터 비중이 약 49%에서 10.6%로 떨어져 과잉 거절이 거의 두 배가 됐다. 비중을 유지하도록 고친 v3는 대부분을 해결했지만 위기 상황의 친구를 돕는 요청 같은 친사회적 사례를 여전히 거절했고, 골드 위기 예시를 오버샘플링한 v4가 마지막 간극을 닫았다. 이어서 다른 변수를 모두 고정하고 일반 데이터 비율만 10%에서 60%까지 10%포인트 간격으로 바꾼 통제 스캔을 6회 돌렸다. 안전은 30%까지 100%로 포화되고 40%부터 흔들리며(40% 93.8%, 50% 87.5%, 60% 93.8%), 과잉 거절은 10%에서 50%까지 32.4% → 5.9%로 급감하다 60%에서 다시 11.8%로 오르는 비단조 곡선을 보였다. 안전과 (1-과잉거절)의 조화평균으로 보면 40%(92.5), 30%(92.1), 50%(90.7)가 붙어 있고 저자들은 40%를 권장점으로 제시한다.

어떻게 쓰나

최종 모델 v4는 TeenyTinyLlama-460m-Chat, Tucano-1b1-Instruct, Tucano-2b4-Instruct, Tucano2-qwen-1.5B-Instruct 네 외부 PT-BR 모델과 같은 항목, 같은 하네스에서 비교된다. 안전 218개, 과잉 거절 184개 항목으로 프로브를 늘려 윌슨 신뢰구간과 짝지은 McNemar 검정에 Holm-Bonferroni 보정을 적용했다. 안전에서 v4의 윌슨 구간 하한 94.1%가 네 베이스라인 모두의 상한보다 높고, 짝지은 검정은 p값 10^-14에서 10^-62 사이로 네 모델 동시에 유의하다. 원시 휴리스틱이 거절로 표시하지 않은 6개 응답을 수동 감사한 결과 4개는 표현이 다른 거절(거짓 음성)이었고 실제 안전 실패는 1개뿐이어서, 진짜 유해 응답률은 2.8%(6/218)가 아니라 0.46%(1/218)다. 과잉 거절에서는 Tucano-2b4와의 차이만 보정 후에도 살아남고(p=0.0021), Tucano2-qwen과는 원시 비율이 17/184로 정확히 같지만 서로 다른 항목이라 이 표본 크기에서는 구분되지 않는다. 일반 능력에서는 같은 규모의 경쟁자와 대등하지만 지식·수학·코드에서는 Tucano2-qwen에 밀린다. MT-Bench-PT에서 수학과 코드는 Tucano2-qwen이 5.17로 나머지 다섯 모델(1.00~1.33)을 완전히 따돌리는 반면, 인문학에서는 v4(4.67)와 instruct2-full(5.17)이 Tucano-2b4(4.83)와 함께 앞서고 Tucano2-qwen은 2.50으로 떨어진다. IFEval-PT에서는 Tucano2-qwen 41.7~60.0%, v4와 instruct2-full 22.2~40.0%, 나머지 8.3~26.0% 순이고, 21개 개별 지시 유형 중 정확한 형식 제어가 필요한 최소 6개 유형에서 Qwen 사전학습을 물려받지 않은 다섯 모델이 모두 0%다. 분류 4개 과제에서는 Tucano2-qwen이 67.6~91.5%로 앞서고 v4와 instruct2-full은 사실상 동점이다. 한편 저자들은 평가 과정 자체에서 조용한 실패 모드를 발견한다. LLM 심사자(Claude)가 MT-Bench-PT 안전 범주의 6개 항목 중 2개(safety_1, safety_2)에서 평가 대상 응답의 내용과 무관하게 API 수준에서 채점을 거부(stop_reason=refusal)해, 그 범주의 유효 N을 6에서 4로 조용히 줄여왔다는 것이다. 프로젝트 역사상 공개된 8개 심사 보고서 모두에서 같은 서명이 확인됐다. 오염 검사에서는 평가 벤치마크 15,026개 항목과 학습 코퍼스 294,223줄 사이의 13-gram 완전 일치를 비교해 73개(0.49%)가 겹쳤고, 정렬 작업 자체의 벤치마크(안전, 과잉 거절, MT-Bench-PT, IFEval-PT)에서는 0건이었다. 겹친 73건을 수동 분류하면 법률 상용구 26건, 과거 ENEM/OAB/BLUEX 시험의 학원 사이트 재게시 23건, 문화·문학적 우연 5건, 실제 데이터셋 중복 19건이다. 계산량 비교에서는 Manacá가 친칠라 최적점의 약 1.2배, TeenyTinyLlama가 약 1.05배, 네이티브 Tucano 두 모델이 약 10~11배, Tucano2-qwen이 Manacá 사전학습 FLOPs의 약 849배(Qwen3-1.7B-Base의 약 36조 토큰)다.

전제와 한계

실무자에게 이 논문의 값어치는 모델 자체보다 절차에 있다. 첫째, 모델을 호출할 때 학습 시 쓴 Alpaca-PT 템플릿을 단어 하나 바꾸지 않고 그대로 써야 한다. 같은 Alpaca-PT 계열 안에서 문구를 다섯 가지로 바꿔도 정답은 0개였고, ChatML·Llama-2-chat·Vicuna 같은 채팅 템플릿으로 부르면 평균 생성 신뢰도가 0.656에서 0.347로 반토막 나면서 광합성 질문에 사진 이야기를 하거나, 브라질 축구팀 질문에 가짜 팬포럼 스레드와 존재하지 않는 URL을 만들어내는 수준으로 주제가 완전히 탈선했다. 토크나이저에 해당 특수 토큰이 없고 chat_template도 설정돼 있지 않으므로 apply_chat_template()을 그냥 쓰면 기본적으로 잘못된 형식이 된다. 둘째, 모델에게 불확실성을 말하라고 지시해도 소용없다. 4개 질문 모두에서 회피 응답이 하나도 나오지 않았고 하나의 꾸며낸 답이 다른 꾸며낸 답으로 바뀔 뿐이었다. 셋째, 민감한 항목을 LLM 심사자로 채점할 때는 심사자 자신의 거부율을 항목별로 기록해야 한다. 넷째, DPO 학습 로그의 마진이나 정확도를 성공 신호로 믿지 말고 반드시 자유 생성으로 검증해야 한다. RAG나 웹 검색을 붙일 때도 검색을 모델이 스스로 결정하게 하지 말고 외부에서 자동 수행해 결과를 같은 Alpaca-PT 템플릿에 주입하는 구조를 권한다.

저자들이 스스로 밝힌 한계는 분명하다. 안전은 100%가 아니다. 통계적으로 견고하지만(97.2%, N=218) 실제 유해 응답률은 0.46%(1/218)이고 모호하게 표현된 요청은 여전히 통과할 수 있다. 과잉 거절도 무해한 요청의 9.2%에서 남아 있고 네 베이스라인 중 셋과는 통계적으로 구분되지 않는다. 위기 상황의 사람을 돕는 요청을 거절할 수 있는 문제는 골드 예시 오버샘플링으로 완화했을 뿐 제거하지 못했다. 일반 능력은 사전학습 규모가 큰 PT-BR 모델보다 낮은데, 이는 방법론이 아니라 계산량 효과다. ENEM/OAB/BLUEX 같은 객관식 시험은 2.4B 이하 모든 모델이 4지선다 우연 수준(25%)에 머문다. 일반 데이터 비율 스캔은 지점당 N=16/34, 지점당 단일 시드라서 40~50% 무릎점은 확정이 아니라 탐색적 결과로 다뤄야 하며, 150~300개 항목으로 확장하기 전에는 단정할 수 없다. 다른 모델 계열의 두 번째 심사자를 통한 검증은 API 예산 때문에 이번 작업에서는 이뤄지지 않았다. 코드는 CC BY 4.0, 가중치는 1세대의 비상업 라이선스 소스(Alpaca-PT, XLSum)를 물려받아 CC BY-NC 4.0으로 공개되며, 상업적 사용을 위해서는 허용 라이선스 소스만으로 SFT를 다시 해야 한다. 연구용 모델이며 전문적·법률적·의료적 조언을 대체하지 않는다.