본 문서에서는 PLOS ONE에 게재된 "Fast and Accurate Interpretation of Workload Classification Model" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.
- Title: Fast and Accurate Interpretation of Workload Classification Model
- Authors: Sooyeon Shim, Doyeon Kim, Jun-Gi Jang, Suhyun Chae, Jeeyong Lee, U Kang
- Journal: PLOS ONE (2023)
Memory Workload
DRAM (Dynamic Random Access Memory)은 모바일 장치, 컴퓨터, 자율주행 자동차 등 다양한 산업에서 널리 사용되는 메모리 장치입니다. 워크로드 시퀀스 (workload sequence)는 메모리 장치에서 데이터를 읽거나 쓰는 등의 동작을 지정하는 명령어 (command)와 주어진 명령을 수행하는 위치 정보인 주소 (address)로 구성된 데이터입니다. 워크로드 시퀀스는 총 5개의 필드 (command, rank, bank group, bank, address fields)로 구성되며, 명령어 필드 (command field)를 제외한 4개의 필드들은 계층 구조를 형성합니다.
Workload Classification
워크로드 분류 (workload classification)는 주어진 부분시퀀스를 해당 부분시퀀스를 생성한 워크로드로 분류하는 문제입니다. 기존의 state-of-the-art 기법인 Acorn은 5개의 필드를 사용해서 3가지 종류의 CMD, bank-level, cell-level 피처 벡터를 생성합니다. CMD 피처는 command 필드의 순차적인 정보를 포착합니다. Bank-level과 cell-level 피처는 주소와 관련된 필드, 즉 rank, bank group, bank 및 address 필드와 관련이 있습니다. Bank-level 피처 벡터는 각 bank에 대한 액세스 수를 설명하는데, address 필드는 특정 bank의 행 또는 열 주소를 참조합니다. Cell-level 피처는 address를 bank 내의 메모리 영역으로 매핑하여 bank 내에서의 공간적 정보를 포착합니다. 분류를 위한 최종 피처 벡터는 CMD, bank-level, cell-level 피처 벡터들의 연결 (concatenation)입니다. Acorn은 부분시퀀스의 피처 벡터를 신경망에 입력함으로써 부분시퀀스의 클래스를 예측합니다. Acorn은 워크로드 분류에서 높은 정확도를 달성하지만, 복잡한 딥러닝 모델이기 때문에 결과의 해석이 어렵습니다.
LIME: Model-agnostic Interpretable Model
블랙 박스인 워크로드 분류 모델은 정확도는 높지만 주어진 부분시퀀스의 예측에 대한 해석을 하기가 어렵습니다. 예를 들어, 어떤 피처가 주요하게 분류 결과에 영향을 미치고, 왜 해당 부분시퀀스가 특정 클래스로 분류되었는지를 설명하지 않습니다. 따라서 부분시퀀스 분류 결과를 이해하기 위해 해석 가능한 모델을 활용해야 합니다. LIME은 주어진 머신러닝 모델에 대한 해석 가능한 모델을 찾아 인스턴스에 대한 해석을 제공합니다. 신경망에 사용되는 피처는 인간이 이해하기 어려우므로, LIME은 이미지 세분화를 통해 얻은 슈퍼-픽셀을 사용하여 이미지의 예측을 해석합니다. 그러나 LIME은 슈퍼-픽셀이 이미지 해석에만 제한되기 때문에 워크로드 분류기에 대한 설명을 제공할 수 없습니다. 따라서 워크로드 분류를 위해 적절한 슈퍼 피처를 설계해야 합니다. LIME의 또 다른 제한은 새로운 인스턴스를 설명하기 위해 새로운 모델을 학습해야 하는 지역적 해석 기능입니다. 이러한 지역적 해석 기능은 새로운 인스턴스를 설명하기 위해 새로운 모델을 학습해야 하므로 시간이 오래 걸립니다.
Interpretation for Workload Classification
본 논문에서는 워크로드 부분시퀀스 (workload subsequence)와 부분시퀀스를 분류하는 학습된 모델이 주어졌을 때, 학습된 모델에 충실한 해석 가능한 모델을 찾는 문제를 다룹니다. 구체적인 문제 정의는 다음과 같습니다.
- 주어진 정보
- 워크로드 부분시퀀스
- 워크로드 클래스
- 워크로드 클래스 수는 워크로드 시퀀스의 수와 동일하며, 각 부분시퀀스는 해당 부분시퀀스를 생성한 워크로드 시퀀스에 속함
- 부분시퀀스를 분류하는 학습된 모델
- 목표
- 각 부분시퀀스가 기존 워크로드 분류 모델에 의해 분류될 때, 학습된 모델에 충실한 부분시퀀스에 대해 해석 가능한 모델을 찾아 분류 결과에 대한 해석을 수행함
Proposed Method
본 논문에서는 워크로드 분류 모델의 예측을 해석하기 위한 모델 INFO (INterpretable model For wOrkload classification)를 제안합니다. INFO의 핵심 아이디어는 다음과 같이 요약될 수 있습니다.
- INFO 모델은 분류기에 사용되는 원본 피처를 계층적으로 클러스터링하여 해석 가능성을 향상시키기 위해 슈퍼 피처를 설계합니다. 슈퍼 피처를 생성하기 위해 Jaccard 유사도를 기반으로 원본 피처 간의 해석 가능한 유사성 측정 방법을 제안합니다.
- INFO 모델은 각 인스턴스에 대해 공통으로 정의된 슈퍼 피처를 사용하여 전역적인 해석을 제공합니다. 모든 인스턴스에 동일한 슈퍼 피처를 사용하기 때문에, 동일한 클래스의 부분시퀀스에 대해 어떤 슈퍼 피처가 주로 예측에 영향을 미치는지 분석하는 등 일관된 해석을 제공합니다.
- 실험에서는 해석 결과를 보여주고 INFO 모델의 효과를 입증합니다. INFO는 실제 워크로드 데이터에서 분류 모델과 유사한 정확도를 유지하면서 경쟁 모델 대비 최대 2.0배 빠른 실행 시간을 달성합니다.
Construction of Super Features
슈퍼 피처를 얻기 위해 워크로드 분류에서 CMD, bank-level 및 cell-level의 세 가지 유형의 피처 벡터에 대해 독립적으로 클러스터링을 수행합니다. CMD 피처는 command 필드 내의 순차적인 정보를 포함합니다. Bank-level 및 cell-level 피처는 rank, bank group, bank, address 필드와 같은 관련 필드에서 추출되며, 내부에 있는 공간 정보를 포착합니다. 그림 1은 워크로드 분류를 위해 슈퍼 피처를 생성하는 과정을 요약하고 있습니다.
그림 1. 슈퍼 피처 생성의 전반적인 과정.
Bank-level 슈퍼 피처는 rank, bank group, bank 필드를 포함하는 bank-level 피처로부터 얻습니다. 이 중 rank 필드가 bank-level 피처 중에서 가장 상위 계층에 위치하므로, rank를 bank-level 슈퍼 피처로 사용합니다. Cell-level 슈퍼 피처는 bank 내의 지역성을 고려하여 인접한 메모리 블록을 그룹화합니다. 각 메모리 블록 그룹을 cell-level 슈퍼 피처로 정의합니다. 그림 2는 bank-level과 cell-level 슈퍼 피처의 생성 예시입니다. 그림 2의 (a)는 rank, bank group, bank 필드로부터 bank-level 슈퍼 피처를 생성하는 것을 보여주고, (b)는 address 필드를 포함하는 cell-level 슈퍼 피처를 보여줍니다.
그림 2. Bank-level과 cell-level 슈퍼 피처 생성 예시.
Locally Interpretable Model for Workload Classifiction
부분시퀀스의 피처 벡터를 슈퍼 피처 벡터로 변환하여 해석 가능한 모델을 훈련시킵니다. 주어진 인스턴스에서 나타나는 n-gram 시퀀스를 클러스터링하여 CMD 슈퍼 피처를 생성합니다. Bank-level과 cell-level 슈퍼 피처는 rank와 메모리 블록의 모음으로 정의됩니다. 그림 3은 n-gram 피처를 이용해서 해석 모델을 위한 훈련 데이터셋을 생성하는 과정을 보여줍니다. 훈련 데이터셋을 생성하기 위해 이진 벡터를 샘플링하고, 선형으로 된 해석 모델을 사전 훈련된 모델에 근사화하여 훈련합니다. 각 슈퍼 피처가 예측에 부여하는 기여도를 암시하는 선형 모델의 가중치를 사용하여 설명을 제공합니다.
그림 3. 해석 모델을 위한 벡터 구성 예시.
Globally Interpretable Model for Workload Classifiction
LIME과 같이 지역적으로 해석 가능한 모델과 달리 INFO는 전체 부분시퀀스에 적용되는 전역 슈퍼 피처를 생성하여 모든 인스턴스에 일관된 해석을 제공합니다. CMD 슈퍼 피처의 경우, CMD 피처로 사용된 모든 n-gram 시퀀스를 클러스터링하고, 각 그룹을 슈퍼 피처로 정의합니다. 전체 CMD 피처를 클러스터링하는 것이 몇 개의 n-gram 시퀀스를 클러스터링하는 것보다 워크로드를 더 잘 대표하게 됩니다. 또한, 모든 CMD 피처에서 슈퍼 피처를 생성함으로써 계산 효율성이 향상되며, 테스트 인스턴스마다 피처의 유사성을 계산해야 하는 지역적으로 해석 가능한 방식과는 달리 긴 실행 시간이 필요하지 않습니다. Bank-level과 cell-level 슈퍼 피처는 rank와 메모리 블록의 모음으로 정의됩니다. 슈퍼 피처에 대한 벡터 생성과 해석 가능한 모델의 훈련 과정은 이전 방식과 동일합니다. 일반적인 방식과 달리 INFO는 다른 인스턴스에 대해 가장 대표적인 패턴을 포함하는 슈퍼 피처를 설명합니다. 모든 부분시퀀스에 적용되는 전역 슈퍼 피처는 제안된 방법이 클래스 간에 일관되며 정확하고 빠른 해석을 제공할 수 있도록 합니다.
Experiments
본 논문은 제안하는 모델의 우수성을 입증하기 위해 실험을 통해 워크로드 분류 모델의 예측을 빠르고 정확하게 해석하는지 평가합니다. 그림 4는 INFO와 LIME의 running time과 accuracy를 비교합니다. Top-1 및 Top-3 정확도를 평가 지표로 사용하여 INFO의 성능을 측정했으며, 두 개의 실세계 워크로드 데이터셋을 사용하여 실험을 진행했습니다. Top-1 정확도는 두 모델의 예측 클래스가 동일한 테스트 인스턴스의 비율을 계산합니다. Top-3 정확도는 블랙 박스 모델의 예측 클래스가 선형 모델의 최상위 3개 예측 클래스 내에 포함되는 테스트 인스턴스의 비율을 계산합니다. 실험 결과, INFO는 LIME에 비해 최대 2.0배 더 빠르고, 더 높은 Top-1 및 Top-3 정확도를 보여줍니다.
그림 4. INFO와 LIME의 running time과 accuracy 비교.
Conclusion
본 문서에서는 PLOS ONE에 게재된 Fast and Accurate Interpretation of Workload Classification Model 논문을 소개하였습니다. 해당 논문은 워크로드 분류를 위한 빠르고 정확한 해석을 제공하는 모델 INFO (INterpretable model For wOrkload classification)를 제안하였습니다. INFO는 선형 모델을 훈련하여 워크로드 분류기를 근사화하고, 슈퍼 피처를 활용하여 분류기를 전역적으로 해석합니다. 실험 결과, INFO는 계산 효율성을 향상시키면서도 워크로드 분류 모델과 일치하는 정확하고 일관된 해석을 제공하는 것으로 나타났습니다. 본 논문은 딥러닝 기반인 워크로드 분류 모델의 분류 결과에 대해 해석하여 메모리 장치의 품질을 검증하고 개선하는 분야에서 유용하게 활용될 수 있습니다. 워크로드 분류기를 활용할 때, 특정 클래스로 부분 워크로드 시퀀스가 분류되는 이유를 알거나 잘못 분류되는 원인 부분을 알 수 있다는 것은 큰 도움이 될 수 있습니다. 본 논문에 대한 더 자세한 정보는 다음 링크에서 확인할 수 있습니다 (링크).