AI 모델 알고리즘 이해하기
이상 탐지 — IBM Granite TSPulse
TSPulse란?
TSPulse(Time-Series Pulse)는 IBM이 개발한 시계열 이상 탐지 파운데이션 모델입니다. 센서 데이터처럼 시간 순서로 들어오는 데이터에서 정상 패턴을 학습하고, 패턴에서 벗어나는 구간을 이상으로 탐지합니다.
동작 원리: 재구성 오류 기반
TSPulse는 **"정상 데이터를 잘 복원할 수 있다면, 복원이 안 되는 구간은 이상이다"**라는 원리로 동작합니다.
① 학습 (정상 패턴 학습)
입력 시계열: [23.1, 23.2, 23.0, 23.3, 23.1, ...] ← 정상 온도 패턴
│
▼
┌──────────────┐
│ 인코더 │ 데이터를 압축된 표현으로 변환
│ (Encoder) │
└──────┬───────┘
│
┌──────┴───────┐
│ 잠재 공간 │ 핵심 패턴만 남긴 압축 표현
│ (Latent) │
└──────┬───────┘
│
┌──────┴───────┐
│ 디코더 │ 압축 표현에서 원래 데이터 복원
│ (Decoder) │
└──────┬───────┘
│
▼
재구성 출력: [23.0, 23.2, 23.1, 23.2, 23.1, ...] ← 거의 같음!
재구성 오류 = |원본 - 재구성| = [0.1, 0.0, 0.1, 0.1, 0.0] ← 매우 작음 → 정상
② 이상 탐지
입력 시계열: [23.1, 23.2, 87.5, 23.3, 23.1, ...] ← 갑자기 87.5도!
│
▼
[인코더 → 잠재 공간 → 디코더]
│
▼
재구성 출력: [23.0, 23.2, 23.4, 23.2, 23.1, ...] ← 87.5를 복원 못함
재구성 오류 = [0.1, 0.0, 64.1, 0.1, 0.0]
↑
이상 점수 높음! → 이상 탐지됨
핵심 개념
| 개념 | 설명 | 비유 |
|---|---|---|
| 재구성 오류 | 원본과 복원된 데이터의 차이 | 복사기가 원본을 잘 복사하는데, 이상한 부분은 복사를 못 함 |
| 임계값 (threshold) | 이상으로 판정하는 오류 기준값 | "여기까지는 정상, 이 이상은 비정상" 기준선 |
| 자동 임계값 | threshold=0 설정 시 데이터에서 자동 결정 | AI가 알아서 적절한 기준을 잡아줌 |
PlantPulse에서의 활용
센서 데이터 (최근 N분)
│
▼
TSPulse 모델에 입력
│
▼
각 시점별 재구성 오류 계산
│
▼
임계값 초과 구간 = 이상 구간
│
├──▶ 이상 메트릭 상위 K개 추출 (top_k)
├──▶ 이상 점수 및 시간 정보 반환
└──▶ 최근 N초 이내 이상 여부 판정 (recent_seconds)
시계열 예측 — TinyTimeMixer (TTM)
TTM이란?
TinyTimeMixer는 IBM이 개발한 경량 시계열 예측 모델입니다. 과거 데이터 패턴을 학습하여 미래 값을 예측합니다. "Tiny"라는 이름답게 적은 리소스로도 높은 성능을 발휘합니다.
동작 원리: Mixer 아키텍처
TTM은 MLP-Mixer 구조를 시계열에 적용한 모델입니다.
과거 데이터 (Context Window) 예측 (Prediction Window)
┌──────────────────────────┐ ┌──────────────────┐
│ t-512 t-511 ... t-1 t │ → │ t+1 t+2 ... t+96 │
└──────────────────────────┘ └──────────────────┘
입력 (512 스텝) 출력 (96 스텝)
예측 과정
① 시간축 믹싱 (Time Mixing)
"과거 패턴에서 시간적 관계를 파악"
- 새벽에는 온도가 낮고, 낮에는 높다 (일주기)
- 월요일에 가동률이 높다 (주주기)
- 점점 온도가 올라가는 추세 (트렌드)
② 채널 믹싱 (Channel Mixing)
"여러 센서 간의 관계를 파악"
- 전력 소비가 올라가면 → 온도도 올라간다
- 진동이 커지면 → 알람 빈도도 높아진다
③ 예측 생성
시간 패턴 + 센서 관계를 종합하여 미래 값 예측
신뢰구간(상한/하한)도 함께 제공
핵심 개념
| 개념 | 설명 | 비유 |
|---|---|---|
| 컨텍스트 길이 | 예측에 사용하는 과거 데이터 양 | 과거 며칠치를 보고 내일 날씨를 예측 |
| 예측 길이 | 미래 몇 스텝을 예측할지 | 앞으로 며칠치 날씨를 예측 |
| 신뢰구간 | 예측값의 상한/하한 범위 | "내일 기온은 20~25도 사이일 것" |
| 다변량 | 여러 센서를 동시에 고려 | 온도+압력+진동을 함께 보고 예측 |
예측 결과 예시
시간 │ 실제값 │ 예측값 │ 하한 │ 상한
─────────┼────────┼────────┼───────┼───────
14:00 │ 23.1 │ - │ - │ - ← 과거 (실제 데이터)
14:10 │ 23.3 │ - │ - │ -
14:20 │ 23.2 │ - │ - │ -
─────────┼────────┼────────┼───────┼───────
14:30 │ ? │ 23.4 │ 22.8 │ 24.0 ← 미래 (예측)
14:40 │ ? │ 23.5 │ 22.6 │ 24.4
14:50 │ ? │ 23.7 │ 22.5 │ 24.9
이상 탐지 + 예측 연계 활용
PlantPulse AI에서는 이상 탐지와 예측을 연계하여 더 강력한 인사이트를 제공합니다.
현재 상태 파악 (TSPulse 이상 탐지)
│
│ "현재 온도 센서에서 이상 패턴 감지됨"
│
▼
미래 추세 예측 (TTM 예측)
│
│ "앞으로 6시간 내 임계값 초과 예상"
│
▼
종합 판단
│
│ "현재 이상 + 악화 추세 → 즉시 점검 권고"
│
▼
관련 문서 검색 (RAG)
│
│ "해당 설비 정비 매뉴얼 3장 참조"
│
▼
종합 리포트 생성 (AURA LLM)
활용 시나리오별 모델 조합
| 시나리오 | TSPulse (이상 탐지) | TTM (예측) | 판단 |
|---|---|---|---|
| 정상 운전 | 이상 없음 | 정상 범위 유지 | 정상 — 모니터링 지속 |
| 초기 이상 | 이상 감지 | 정상 범위 | 주의 — 추이 관찰 필요 |
| 악화 추세 | 이상 감지 | 임계값 초과 예상 | 경고 — 즉시 점검 권고 |
| 급격한 이상 | 높은 이상 점수 | 급격한 악화 | 긴급 — 즉시 조치 필요 |
설비 건강 점수 (Health Score)
TSPulse와 TTM의 분석 결과를 종합하여 0~100점 건강 점수를 산출합니다.
건강 점수 = f(센서 이상 점수, OEE, RAM, EMS, 알람 빈도)
100점: 모든 지표 정상
70점: 일부 센서 이상 또는 OEE 저하
50점: 다수 이상 감지, 주의 필요
30점: 심각한 이상, 즉시 점검 필요
0점: 설비 정지 또는 심각한 고장
피처 스토어의 역할
매번 이상 탐지와 예측을 실시간으로 실행하면 시간이 걸립니다. 피처 스토어는 이 결과를 미리 계산하고 저장합니다.
┌─────────────────────────────────┐
│ 피처 스토어 스케줄러 │
│ │
│ 매시간: 설비별 건강점수 계산 │
│ 매일: 종합 분석 LLM 컨텍스트 │
│ 임베딩 벡터 생성 │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────┐
│ 사용자 질문: "이 설비 상태 어때?" │
│ │
│ → 사전 계산된 피처 즉시 반환 │
│ → 실시간 계산 대기 없음! │
│ → 응답 시간: 수백 ms │
└──────────────────────────────────┘