CI 로그 절감으로 지속 가능한 LLM 분석 구현
초록
LogSieve는 CI 파이프라인에서 발생하는 방대한 로그를 RCA(근본 원인 분석) 관점에서 의미 있게 필터링하여 평균 42% 라인, 40% 토큰을 감소시킨다. 임베딩 기반 분류기로 라인 중요도를 자동 판단하고, 감소된 로그를 GPT‑4o에 입력해도 0.93의 코사인 유사도와 80% 정확도의 정확한 오류 설명을 유지한다. 이를 통해 LLM 추론 비용과 탄소 배출을 크게 절감한다.
상세 분석
LogSieve는 기존 로그 압축 기법이 구조적 중복 제거에 초점을 맞추는 반면, CI 환경에서 실제 개발자가 필요로 하는 “근본 원인 분석(RCA) 관련 정보”를 보존하는 데 중점을 둔 새로운 패러다임을 제시한다. 연구자는 20개의 오픈소스 Android 프로젝트에서 수집한 9,166개의 GitHub Actions 로그 중 실패한 100개 워크플로우를 층화 샘플링하여 20개의 로그를 상세히 라인 단위로 라벨링하였다. 라벨링 기준은 오류 스택, 예외 메시지, 테스트 실패 요약 등 진단에 직접 기여하는 라인을 ‘관련’(1)으로, 타임스탬프, 패키지 다운로드, 환경 변수 설정 등 부수적인 라인을 ‘비관련’(0)으로 구분하였다. 두 명의 라벨러 간 Cohen’s κ가 0.80에 달해 라벨링 일관성이 높았으며, 최종 데이터셋은 14,646개의 라인으로 구성되었다.
LogSieve의 핵심 알고리즘은 임베딩 기반 라인 중요도 점수를 계산하고, 사전 정의된 임계값 이하인 라인을 제거한다. 임베딩은 세 가지 방법으로 생성했는데, TF‑IDF, BERT‑base, 그리고 LLaMA‑3‑8B‑Instruct의 문맥적 임베딩을 사용하였다. 이 중 BERT와 LLaMA 임베딩이 가장 높은 분류 정확도(97%)를 보였으며, 경량 선형 모델(로지스틱 회귀)과 앙상블 모델(XGBoost, LightGBM) 모두 실시간 CI 파이프라인에 적용 가능하도록 추론 속도가 빠른 편이었다.
감소된 로그를 GPT‑4o에 입력해 오류 원인 설명과 카테고리 분류 작업을 수행했을 때, 전체 로그와 비교해 코사인 유사도 0.93, GPTScore 0.93, ROUGE‑1/L 0.91을 기록했으며, 정확히 일치하는 답변을 80% 확보했다. 이는 라인 및 토큰 감소가 LLM의 추론 정확도에 거의 영향을 주지 않음을 의미한다. 또한, 토큰 감소율 40%에 해당하는 연산량 절감은 추론 비용을 약 35% 낮추고, 전력 소비와 탄소 배출량을 비례적으로 감소시킨다.
Baseline인 LogZip과 무작위 라인 삭제와 비교했을 때, LogSieve는 라인 감소율은 비슷하거나 약간 낮지만(42% vs. 45%), 의미 보존 측면에서는 코사인 유사도와 정확도에서 현저히 우수했다. 이는 “구조‑우선” 접근법이 저장 효율성은 높지만, LLM 기반 분석에는 부적합할 수 있음을 실증한다.
연구는 또한 Threats to Validity 섹션에서 데이터셋이 Android 프로젝트에 국한됐으며, 다른 언어·플랫폼에 대한 일반화 가능성을 제한한다고 인정한다. 그러나 로그 라인 레벨의 라벨링 프로세스와 자동화된 임베딩 분류 파이프라인은 다른 도메인에도 쉽게 적용 가능하도록 설계되었다.
결론적으로 LogSieve는 CI 로그의 의미적 핵심을 보존하면서 토큰 양을 크게 줄이는 실용적인 솔루션이며, LLM 기반 자동화와 지속 가능성을 동시에 달성하고자 하는 현대 소프트웨어 엔지니어링 팀에 큰 가치를 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기