본 프로젝트는 슈퍼 컴퓨터 운용 중에 발생할 수 있는 결함을 로그 메시지를 활용하여 탐지 및 예측하는 기술 개발을 목표로 하였다. 각각의 목표는 다음과 같다.

    -  결함 탐지: 해당 로그 메시지가 어느 수준의 이상인지를 판단

    -  결함 예측: 과거부터 현재까지의 로그 메시지를 기반으로 일정 시간 이후 특정 시간 구간에 이상이 발생할 지를 판단

결함 탐지 및 예측을 효과적으로 수행하기 위해 인공지능 모델을 활용했다. 또한 실제 업무에서의 활용도를 높이기 위해 결함 탐지 모델을 경량화하고 결함 예측 모델에 대한 시각화 작업을 추가하여 수행했다.


1. 대조학습을 활용한 언어모델 기반 결함 탐지 모델 개발

로그 메시지는 슈퍼 컴퓨터의 상태를 자연어 문장으로 표현한 데이터지만, 슈퍼 컴퓨터에서 이상이 나타나면 그에 대한 수준은 나타나지 않는다. 따라서 현재 발생한 로그 메시지를 바탕으로 슈퍼 컴퓨터 내푸에 어느 정도 수준의 이상이 발생한 지를 판단하는 것이 결함 탐지이다. 본 프로젝트에서는 텍스트 데이터인 로그 메시지 내의 문맥적 정보까지 반영하기 위해 어텐션 기반의 언어모델인 RoBERTa를 활용했다. RoBERTa는 일상 언어로 사전 학습했기 때문에, 본 프로젝트의 분야에 맞도록 컴퓨터 및 로그 메시지 분야를 순차적으로 추가 사전 학습했다. 사전학습 방법으로는 대조학습 기반의 SimCSE를 활용했다. 사전 학습을 마친 후, 최종적으로 로그 내역에 대해 결함을 탐지하도록 지도학습을 수행 및 경량화를 통해 목표 성능을 달성함과 동시에 모델 크기를 성공적으로 줄였다.


2. 계층구조를 활용한 결함 예측 모델 생성 및 예측인자 시각화

슈퍼 컴퓨터에서 발생하는 오류에 대한 대처는 사후 조치를 취하는 것이 유일하나, 이는 가동율을 떨어트리게 된다. 결함 예측은 미래에 일어날 이상을 예측해, 사전 조치를 취할 시간을 확보하는 것이 목표이다. 본 프로젝트에서는 과거의 로그 메시지를 통해 일정 시간 이후 특정 시간 구간에 결함이 발생할 지 예측하는 기술을 개발을 수행했다. 예측 모델은 어텐션 기반의 네트워크로 순환 신경망을 계층적 구조로 구성했다. 계층적 구조를 통해 낮은 레벨에서는 단어 별 표현을 모아 문장 표현을 구성했고, 높은 레벨에서는 만들어진 문장 표현을 모아 일련의 로그 내역에 대한 표현을 만들었다. 어텐션 메커니즘은 결함 예측에 주요한 데이터일수록 가중치를 높게 받으므로 중요한 로그 내역을 쉽게 파악할 수 있다. 즉, 어떤 로그의 발생이 향후 결함 발생에 주요한 역할을 했는지 파악할 수 있으며, 이를 시각화해 실제 업무에서 결과 해석하는 것이 용이하도록 하였다(데이터는 비공개 사항이므로 그림은 일반적인 예시로 대체함). 본 프로젝트에서 순환신경망은 GRU로 사용했으며, 목표한 성능 달성 및 시각화 툴을 제작하였다.