Understanding AI Model Algorithms
Anomaly Detection — IBM Granite TSPulse
What is TSPulse?
TSPulse (Time-Series Pulse) is a time series anomaly detection foundation model developed by IBM. It learns normal patterns from data that arrives in chronological order, such as sensor data, and detects intervals that deviate from those patterns as anomalies.
How It Works: Reconstruction Error Based
TSPulse operates on the principle that "if normal data can be reconstructed accurately, then intervals that cannot be reconstructed are anomalies."
① 학습 (정상 패턴 학습)
입력 시계열: [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]
↑
이상 점수 높음! → 이상 탐지됨
Key Concepts
| Concept | Description | Analogy |
|---|---|---|
| Reconstruction error | The difference between the original and the reconstructed data | A copier reproduces the original faithfully, but fails to copy the unusual parts |
| Threshold | The error value at which data is judged anomalous | The line marking "normal up to here, abnormal beyond this" |
| Automatic threshold | Determined automatically from the data when threshold=0 is set | The AI works out an appropriate criterion on its own |
Use in PlantPulse
센서 데이터 (최근 N분)
│
▼
TSPulse 모델에 입력
│
▼
각 시점별 재구성 오류 계산
│
▼
임계값 초과 구간 = 이상 구간
│
├──▶ 이상 메트릭 상위 K개 추출 (top_k)
├──▶ 이상 점수 및 시간 정보 반환
└──▶ 최근 N초 이내 이상 여부 판정 (recent_seconds)
Time Series Forecasting — TinyTimeMixer (TTM)
What is TTM?
TinyTimeMixer is a lightweight time series forecasting model developed by IBM. It learns past data patterns to predict future values. True to the name "Tiny," it delivers high performance even with limited resources.
How It Works: Mixer Architecture
TTM is a model that applies the MLP-Mixer structure to time series data.
과거 데이터 (Context Window) 예측 (Prediction Window)
┌──────────────────────────┐ ┌──────────────────┐
│ t-512 t-511 ... t-1 t │ → │ t+1 t+2 ... t+96 │
└──────────────────────────┘ └──────────────────┘
입력 (512 스텝) 출력 (96 스텝)
Forecasting Process
① 시간축 믹싱 (Time Mixing)
"과거 패턴에서 시간적 관계를 파악"
- 새벽에는 온도가 낮고, 낮에는 높다 (일주기)
- 월요일에 가동률이 높다 (주주기)
- 점점 온도가 올라가는 추세 (트렌드)
② 채널 믹싱 (Channel Mixing)
"여러 센서 간의 관계를 파악"
- 전력 소비가 올라가면 → 온도도 올라간다
- 진동이 커지면 → 알람 빈도도 높아진다
③ 예측 생성
시간 패턴 + 센서 관계를 종합하여 미래 값 예측
신뢰구간(상한/하한)도 함께 제공
Key Concepts
| Concept | Description | Analogy |
|---|---|---|
| Context length | The amount of past data used for the forecast | Predicting tomorrow's weather by looking at the past several days |
| Forecast length | How many future steps to predict | Forecasting the weather for the next several days |
| Confidence interval | The upper and lower bounds of the predicted value | "Tomorrow's temperature will be between 20 and 25 degrees" |
| Multivariate | Considering multiple sensors simultaneously | Forecasting based on temperature, pressure, and vibration together |
Example Forecast Result
시간 │ 실제값 │ 예측값 │ 하한 │ 상한
─────────┼────────┼────────┼───────┼───────
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
Combining Anomaly Detection and Forecasting
PlantPulse AI combines anomaly detection with forecasting to deliver more powerful insights.
현재 상태 파악 (TSPulse 이상 탐지)
│
│ "현재 온도 센서에서 이상 패턴 감지됨"
│
▼
미래 추세 예측 (TTM 예측)
│
│ "앞으로 6시간 내 임계값 초과 예상"
│
▼
종합 판단
│
│ "현재 이상 + 악화 추세 → 즉시 점검 권고"
│
▼
관련 문서 검색 (RAG)
│
│ "해당 설비 정비 매뉴얼 3장 참조"
│
▼
종합 리포트 생성 (AURA LLM)
Model Combinations by Scenario
| Scenario | TSPulse (anomaly detection) | TTM (forecasting) | Assessment |
|---|---|---|---|
| Normal operation | No anomaly | Stays within normal range | Normal — continue monitoring |
| Early-stage anomaly | Anomaly detected | Within normal range | Caution — trend observation required |
| Deteriorating trend | Anomaly detected | Threshold exceedance expected | Warning — immediate inspection recommended |
| Sudden anomaly | High anomaly score | Rapid deterioration | Urgent — immediate action required |
Equipment Health Score
The analysis results from TSPulse and TTM are combined to produce a health score from 0 to 100.
건강 점수 = f(센서 이상 점수, OEE, RAM, EMS, 알람 빈도)
100점: 모든 지표 정상
70점: 일부 센서 이상 또는 OEE 저하
50점: 다수 이상 감지, 주의 필요
30점: 심각한 이상, 즉시 점검 필요
0점: 설비 정지 또는 심각한 고장
Role of the Feature Store
Running anomaly detection and forecasting in real time on every request takes time. The feature store precomputes and stores these results.
┌─────────────────────────────────┐
│ 피처 스토어 스케줄러 │
│ │
│ 매시간: 설비별 건강점수 계산 │
│ 매일: 종합 분석 LLM 컨텍스트 │
│ 임베딩 벡터 생성 │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────┐
│ 사용자 질문: "이 설비 상태 어때?" │
│ │
│ → 사전 계산된 피처 즉시 반환 │
│ → 실시간 계산 대기 없음! │
│ → 응답 시간: 수백 ms │
└──────────────────────────────────┘