DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 라인
  • Related reads#LLM
#AI

오픈챗 이름 및 설명 글로 유해성 판단하는 모델 개발하기

오픈챗 이름 및 설명 글로 유해성 판단하는 모델 개발하기
01

Summary

LINE 오픈챗의 유해 콘텐츠 차단 비결: 2B 소형 디코더 모델로 구현한 실시간 유해성 필터링

Granite Guardian과 LoRA, 그리고 KV 캐싱으로 정확도와 인프라 비용을 동시에 해결한 여정

글로벌 메신저 LINE에서 발생하는 유해 오픈챗을 차단하기 위한 머신러닝 모니터링 시스템의 고도화 과정을 다룹니다. 기존 모델의 한계를 극복하기 위해 안전성에 특화된 Granite Guardian 소형 디코더를 도입하고, 정교한 데이터 정제와 최적의 추론 엔지니어링을 통해 성능과 비용 효율성을 극대화한 실전 노하우를 담고 있습니다.

  • 01동일 텍스트에 다른 조치가 내려진 모순된 데이터를 TF-IDF 기법의 빈도 분석으로 논리적으로 정제
  • 02상업적 활용이 가능한 2B 크기의 Granite Guardian 3.1 디코더를 선정하여 비용 및 실시간 추론성 충족
  • 03LoRA 기법을 적용하여 전체 파라미터가 아닌 징계 코드와 사유 예측에 필요한 가중치 영역만 학습하여 효율성 극대화
  • 04복잡한 징계 코드를 토크나이징 효율화를 위해 단일 자연어 토큰으로 매핑하여 모델 학습 유도
  • 051단계 징계 코드 예측 결과를 2단계 사유 예측에 활용할 때 KV 캐싱을 적용해 추론 속도를 획기적으로 향상

+RECOMMENDATION

실시간으로 생성되는 다량의 텍스트 콘텐츠에서 유해성 판단 시스템을 구축해야 하거나, 소형 LLM(sLLM)을 활용한 가성비 높은 분류 성능 최적화를 적용하고자 하는 엔지니어에게 필독을 권장합니다.

The Problem

글로벌 메신저인 LINE의 오픈챗 서비스는 하루에도 엄청난 양의 방이 생성 및 수정되어 수동 검수가 불가능한 수준이나, 기존 모니터링 모델은 미세한 가이드라인 변화 및 특정 국가의 판단 기준을 완벽히 만족하지 못했습니다.

The Solution

수동 검수 데이터의 라벨 불일치를 TF-IDF 아이디어를 기반으로 정제하고, 안전성 과제에 최적화된 소형 2B 디코더 모델인 Granite Guardian 3.1에 LoRA 미세조정(Fine-tuning)을 적용하여 징계 코드와 사유를 동시에 도출하도록 학습시켰습니다.

The Result

오프라인 및 온라인 평가 결과 모든 적용 지역에서 정상 및 유해 클래스에 대한 F1 스코어가 대폭 개선되었으며, 임곗값 설정을 통해 엄격한 품질 기준을 만족하며 실시간 자동 검수 적용 범위를 넓혔습니다.

Trade-off

완벽에 가까운 정밀도(Precision)를 확보하기 위해 엄격한 신뢰도 임곗값을 설정함에 따라, 자동으로 완결 처리할 수 있는 비율인 재현율(Recall)이 일부 줄어드는 성능 트레이드오프를 감수해야 했습니다.

03

Key Concepts

Concept · 01

Granite Guardian

IBM Research에서 발표한 안전성 검수 및 위험 요소 탐지(Safety Moderation) 과제에 특화된 소형 언어 모델 제품군입니다.

  • 입력된 오픈챗 정보가 유해한지 확률론적으로 접근하여 Yes/No 또는 징계 코드 분류 확률을 추출하는 기반 모델로 활용되었습니다.
Concept · 02

LoRA (Low-Rank Adaptation)

기존 대형 모델의 가중치를 고정하고 저차원의 행렬 가중치만 추가하여 학습 비용과 메모리 소모를 혁신적으로 줄이는 파인튜닝 기법입니다.

  • 모델 학습 시 필요한 연산 자원을 최소화하고, 기존 Granite 모델이 가진 고유의 정렬 성능을 해치지 않은 채 징계 코드를 분류하도록 미세조정하는 데 사용되었습니다.
Concept · 03

KV Caching (Key-Value Caching)

트랜스포머 디코더에서 문장을 생성할 때 이전 시점에 계산된 어텐션 키와 벨류 값을 메모리에 저장하고 재사용하여 연산 속도를 대폭 높여주는 추론 최적화 기법입니다.

  • 1단계 징계 코드 분류 후, 해당 결과를 프롬프트에 붙여 2단계 징계 사유를 예측할 때 연산 낭비를 없애기 위해 적용되었습니다.
Continue reading · same source

라인More from 라인

View all posts from 라인
  • 초당 100만 건, LINE 앱에 Apache Kafka 종단 간 암호화 적용기

    KafkaCryptographyAES-GCM
    6일 전
  • AI로 웹 엔지니어 없이 LINE 앱 안에서 그룹 영상 통화 서비스 만들기

    LIFFWebRTCLINE Planet SDK
    2주 전
  • 임베딩 안정화로 검색 리랭킹의 콜드 스타트 문제를 해결하다: LINE Part Time Jobs 적용 사례

    Embedding StabilizationCold Start ProblemTwo-Tower Model
    2주 전
  • 프롬프팅에서 워크플로로, AI로 프런트엔드 개발 생산성 끌어올리기

    LLMMCPAI Agent
    2주 전
  • AI 에이전트끼리 토론한다면? 멀티 에이전트 협업으로 재설계하는 개발 프로세스

    AI AgentLLM OrchestrationSoftware Development Lifecycle
    3주 전

Related reads#LLM

Explore #LLM
Airbnb·LLM Evaluation

몇 주에서 단 하루로: LLM 평가를 빠르게 반복 가능하도록 개선한 방법

#LLM1일 전
NAVER D2

[AI 해커톤 후기] AI 시대의 해커톤과 인간의 역할: AI의 계획과 사람의 전략

#LLM2일 전
여기어때

AI 수석회의

#LLM3일 전
우아한형제들

AI가 내 프롬프트를 흘려듣는 이유: 원리부터 다시 본 컨텍스트 엔지니어링

#LLM1주 전
포스타입·Claude Code

AI 코드 리뷰, 3번 갈아엎고 배운 것

#LLM1주 전

Source

라인
라인
Engineering Blog

Published · July 16, 2026

Topics

LLMFine-TuningLoRAText ClassificationGranite Guardian