토스가 기술 블로그에서 LLM 호출 비용과 지연 시간을 줄이는 'SNAP(선택적 내재화 AI 처리)' 방식을 소개했다. 모든 요청을 자체 모델로 바꾸는 대신, 작은 모델이 높은 신뢰도로 처리할 수 있는 요청만 먼저 맡기는 방식이다.
어렵거나 애매한 요청은 기존 LLM으로 넘긴다. 넘기는 기준은 모델의 신뢰도와 오프라인 검증 결과로 정한다. 전체를 내재화하는 데 한두 달이 걸렸던 것과 달리, 검증된 구간부터 적용해 절감 효과를 일찍 얻는 것이 목표다.
작업을 나누기 위해 시스템 프롬프트 앞부분의 역할·작업 정의를 해시해 식별자로 쓴다. 매일 로그를 이 식별자별로 모아 호출량과 추정 비용을 계산하고, 비용이 큰 상위 작업을 후보로 뽑는다. 응답이 정형화돼 있고 학습 데이터가 충분한지도 확인한다.
선정된 작업은 에어플로 일일 배치로 하루 안에 학습·등록되고 서빙 엔진에 올라간다. 신뢰도 임계값을 바꿔 가며 기존 LLM과의 일치율과 처리 비율을 비교하고, 목표 일치율을 만족하는 범위에서 처리 비율이 가장 큰 값을 고른다.
첫 적용 대상은 두 상품이 같은 판매 단위인지 가리는 작업이다. 10만 648건으로 검증한 결과, 일치율 99.9%를 목표로 하면 34.74%를, 95%를 목표로 하면 72.35%를 소형 모델이 처리할 수 있었다.
배포 후 약 엿새 동안 내재화 모델이 처리한 비율은 하루 33~37%였다. 줄어든 LLM 토큰은 입력 약 76억 개, 출력 약 4,520만 개다. L4 GPU 한 장으로 초당 약 1,203건을 처리했을 때 p99 응답 시간은 15.23ms였고 실패한 요청은 없었다.
원문: 토스 기술 블로그
이 글은 원문에 담긴 사실을 바탕으로 Raon Community가 새로 작성한 기사입니다. 원문의 저작권은 원저작자에게 있으며, 자세한 내용은 원문에서 확인해 주세요.