카카오뱅크가 문자 smishing 여부와 사용자에게 보여줄 판단 근거를 함께 생성하는 domain LLM을 개발한 과정이다. 단순 라벨을 넘어 왜 위험한지를 자연어로 설명하도록 학습·평가·서빙 전 과정을 어떻게 설계했는지 따라간다.
핵심 포인트- 불법 대출·도박·기관 사칭 문자에 대해 smishing 분류와 함께 URL·문구·유도 행동 같은 구체적 근거를 자연어로 생성하는 것이 목표
- autoregressive transformer에 task instruction·문자·정답 label·근거를 학습시키되, 전체 parameter 갱신 비용을 피해 base weight를 4-bit로 quantize하고 low-rank adapter만 학습하는 QLoRA로 GPU memory·시간 절감
- false positive와 false negative 비용이 달라 단일 accuracy 대신 ROC curve·AUC로 운영 목적에 맞는 민감도·특이도 지점을 잡고, 근거는 단어가 달라도 의미가 같을 수 있어 BERTScore와 사람 blind pairwise 평가로 분류·근거 품질을 별도 측정
- 범용 GPT의 미분류·label은 맞아도 내용과 다른 근거 사례를 domain fine-tuned model이 더 안정적으로 개선하고, QLoRA artifact를 vLLM GPU serving에 올려 100 RPS 이상 확보, 법무·보안 검토와 연결해 적용 준비
왜 읽나판별과 설명을 함께 하는 도메인 LLM을 실제 서비스에 올리려는 팀에게, QLoRA 파인튜닝과 분류·근거 이원 평가, 서빙 처리량 확보까지 아우른 개발기.