AI-Modellalgorithmen verstehen
Anomalieerkennung — IBM Granite TSPulse
Was ist TSPulse?
TSPulse (Time-Series Pulse) ist ein von IBM entwickeltes Foundation-Modell zur Zeitreihen-Anomalieerkennung. Es lernt normale Muster aus zeitlich geordneten Daten wie Sensordaten und erkennt Abweichungen von diesen Mustern als Anomalien.
Funktionsweise: Rekonstruktionsfehler-basiert
TSPulse arbeitet nach dem Prinzip: „Wenn normale Daten gut rekonstruiert werden können, sind Abschnitte, die sich nicht rekonstruieren lassen, Anomalien."
① 학습 (정상 패턴 학습)
입력 시계열: [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]
↑
이상 점수 높음! → 이상 탐지됨
Kernkonzepte
| Konzept | Beschreibung | Analogie |
|---|---|---|
| Rekonstruktionsfehler | Unterschied zwischen Original- und rekonstruierten Daten | Ein Kopierer kopiert das Original gut, kann aber ungewöhnliche Teile nicht kopieren |
| Korrekturwert | Um wie viele Male die übliche Schwankung (Referenzbereich) der Rekonstruktionsfehler abweicht — robuster Z-Wert | „5-mal stärkere Schwankung als sonst" |
| Schwellenwert (threshold) | Korrekturwert-Grenze, bei der eine Anomalie festgestellt wird — Standard für Anlagensensoren 5,0 | Grenzlinie „bis hier normal, darüber abnormal" |
threshold=0 ist nicht «automatisch»Frühere Dokumentationen gaben an, dass bei Eingabe von 0 der Schwellenwert automatisch bestimmt wird. Da die Punktzahl der Anlagensensoren jetzt eine Skala mit Referenz-Median 0 ist,
gilt: Wird 0 angegeben, wird bereits eine geringfügige Erhöhung gegenüber dem Normalzustand vollständig als Anomalie gewertet. Wenn kein besonderer Grund vorliegt,
lassen Sie threshold weg, um den Standardwert (5,0) zu verwenden.
Die Referenz ist «unmittelbar vor dem Analysefenster»
Innerhalb desselben Aufrufs werden Median und MAD aus dem Rekonstruktionsfehler des Bereichs unmittelbar vor dem Analysefenster berechnet. Dadurch wird für jede Anlage und jeden Tag ein eigenes „Normal" ermittelt. Für Tags mit zu kurzem Referenzbereich wird kein Wert berechnet, sondern die Stelle mit Begründung leer gelassen — es wird nicht mit 0 aufgefüllt.
- Status-Tags (Betrieb/Stopp usw.) werden ausgeschlossen.
- Zähler-Tags werden nicht als Kumulativwert, sondern als Durchschnitt der 5-Intervall-Inkremente betrachtet — ein Produktionsstopp zeigt sich als Inkrement 0.
- Aggregations- und Glättungsfenster betragen für Anlagensensoren standardmäßig 8 / 4.
Einsatz in PlantPulse
센서 데이터 (최근 N분)
│
▼
TSPulse 모델에 입력
│
▼
각 시점별 재구성 오류 계산
│
▼
임계값 초과 구간 = 이상 구간
│
├──▶ 이상 메트릭 상위 K개 추출 (top_k)
├──▶ 이상 점수 및 시간 정보 반환
└──▶ 최근 N초 이내 이상 여부 판정 (recent_seconds)
Zeitreihenprognose — TinyTimeMixer (TTM)
Was ist TTM?
TinyTimeMixer ist ein von IBM entwickeltes leichtgewichtiges Zeitreihen-Prognosemodell. Es lernt vergangene Datenmuster und prognostiziert zukünftige Werte. Wie der Name „Tiny" andeutet, erzielt es hohe Leistung mit geringen Ressourcen.
Was in PlantPulse eingesetzt wird, ist Granite-TTM R3 (512-96-dec-512-r3) — eine
Zerlegungsprognose-Generation (TinyTimeMixerForDecomposedPrediction), die Trend und Rest getrennt vorhersagt. Die
vorherige Generation R2 ist ebenfalls im Image enthalten und kann mit einer einzigen Konfigurationszeile zurückgesetzt werden →
Zeitreihen-Insight
Funktionsweise: Mixer-Architektur
TTM ist ein Modell, das die MLP-Mixer-Struktur auf Zeitreihen anwendet.
과거 데이터 (Context Window) 예측 (Prediction Window)
┌──────────────────────────┐ ┌──────────────────┐
│ t-512 t-511 ... t-1 t │ → │ t+1 t+2 ... t+96 │
└──────────────────────────┘ └──────────────────┘
입력 (512 스텝) 출력 (96 스텝)
Prognoseprozess
① 시간축 믹싱 (Time Mixing)
"과거 패턴에서 시간적 관계를 파악"
- 새벽에는 온도가 낮고, 낮에는 높다 (일주기)
- 월요일에 가동률이 높다 (주주기)
- 점점 온도가 올라가는 추세 (트렌드)
② 채널 믹싱 (Channel Mixing)
"여러 센서 간의 관계를 파악"
- 전력 소비가 올라가면 → 온도도 올라간다
- 진동이 커지면 → 알람 빈도도 높아진다
③ 예측 생성
시간 패턴 + 센서 관계를 종합하여 미래 값 예측
신뢰구간(상한/하한)도 함께 제공
Kernkonzepte
| Konzept | Beschreibung | Analogie |
|---|---|---|
| Kontextlänge | Menge vergangener Daten, die für die Prognose verwendet wird | Wetter von morgen anhand der letzten paar Tage vorhersagen |
| Prognoselänge | Wie viele zukünftige Schritte vorhergesagt werden | Wetter für die kommenden paar Tage vorhersagen |
| Konfidenzintervall | Ober-/Untergrenze des Prognosewerts | „Die Temperatur morgen liegt zwischen 20 und 25 Grad" |
| Multivariat | Berücksichtigung mehrerer Sensoren gleichzeitig | Temperatur + Druck + Vibration gemeinsam betrachten und vorhersagen |
Beispiel für Prognoseergebnisse
시간 │ 실제값 │ 예측값 │ 하한 │ 상한
─────────┼────────┼────────┼───────┼───────
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
Kombinierter Einsatz von Anomalieerkennung und Prognose
PlantPulse AI verknüpft Anomalieerkennung und Prognose, um noch stärkere Insights zu liefern.
현재 상태 파악 (TSPulse 이상 탐지)
│
│ "현재 온도 센서에서 이상 패턴 감지됨"
│
▼
미래 추세 예측 (TTM 예측)
│
│ "앞으로 6시간 내 임계값 초과 예상"
│
▼
종합 판단
│
│ "현재 이상 + 악화 추세 → 즉시 점검 권고"
│
▼
관련 문서 검색 (RAG)
│
│ "해당 설비 정비 매뉴얼 3장 참조"
│
▼
종합 리포트 생성 (AURA LLM)
Modellkombinationen je Einsatzszenario
| Szenario | TSPulse (Anomalieerkennung) | TTM (Prognose) | Beurteilung |
|---|---|---|---|
| Normalbetrieb | Keine Anomalie | Normalbereich bleibt erhalten | Normal — Überwachung fortsetzen |
| Frühe Anomalie | Anomalie erkannt | Normalbereich | Achtung — Verlauf beobachten erforderlich |
| Verschlechterungstrend | Anomalie erkannt | Überschreitung des Schwellenwerts erwartet | Warnung — Sofortige Inspektion empfohlen |
| Plötzliche Anomalie | Hoher Anomaliewert | Rapide Verschlechterung | Dringend — Sofortmaßnahme erforderlich |
Anlagen-Gesundheitswert (Health Score)
Aus 100 Punkten wird durch Punktabzug ein Gesundheitswert von 0 bis 100 Punkten ermittelt. Die Prognose (TTM) fließt nicht ein — es zählt nur, was bisher tatsächlich eingetreten ist.
건강 점수 = 100 − 이상 감점 − 알람 감점 − 비가동 감점 (0~100 로 자름)
이상 감점 최대 40 센서·OEE·RAM·EMS·알람의 이상 비율을 가중평균
알람 감점 최대 30 + 10 최근 24시간 알람(우선순위 가중) + 아직 안 풀린 알람
비가동 감점 최대 20 가동 정보가 있을 때만
| Stufe | Punktzahl |
|---|---|
| A · Good | ab 90 |
| B · Caution | ab 75 |
| C · Warning | ab 60 |
| D · Critical | unter 60 |
Da es sich um ein Abzugsverfahren handelt, lässt sich „warum diese Punktzahl" anhand der Abzugsdetails erklären. Fehlen beobachtete Daten,
wird unabhängig von der Punktzahl keine Stufe vergeben, sondern Insufficient data eingetragen — um zu vermeiden, dass Fehlen von Daten
als «gesund» interpretiert wird.
Die Rolle des Feature-Stores
Anomalieerkennung und Prognose bei jedem Aufruf in Echtzeit auszuführen, kostet Zeit. Der Feature-Store berechnet und speichert diese Ergebnisse im Voraus.
┌─────────────────────────────────┐
│ 피처 스토어 스케줄러 │
│ │
│ 매시간: 설비별 건강점수 계산 │
│ 매일: 종합 분석 LLM 컨텍스트 │
│ 임베딩 벡터 생성 │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────┐
│ 사용자 질문: "이 설비 상태 어때?" │
│ │
│ → 사전 계산된 피처 즉시 반환 │
│ → 실시간 계산 대기 없음! │
│ → 응답 시간: 수백 ms │
└──────────────────────────────────┘