QAQC_5기 부트캠프/실전 프로젝트

[내일배움캠프] QA/QC_5기 본캠프(0604)

두껍22 2026. 6. 4. 21:10

문제풀이

더보기

왜 SHAP가 특별한가

SHAP의 가장 큰 강점은 수학적으로 유일하고 공정한 특성 기여도 측정 방법을 제공한다는 거예요. 단순히 특성의 중요도만 평가하는 것이 아니라, 각 특성이 예측값에 실제로 얼마나 더하거나 뺐는지를 추적할 수 있습니다.

이렇게 하면 모델의 예측 과정을 투명하게 설명할 수 있고, 잘못된 예측이 나왔을 때 어느 특성 때문에 그렇게 되었는지 명확히 파악할 수 있어요.

헷갈리기 쉬운 지점

특성의 "중요도"와 특정 예측에서의 "기여도"는 다른 개념이라는 점을 기억해요. 중요도는 전체 모델 관점이고, 기여도는 개별 예측 관점이에요.

복습 정말 잘했어요! 설명 가능한 AI의 핵심을 이해하셨어요

 

 

 

실전 프로젝트

더보기

EV+OES 기반 금속 식각 공정 양불 분류 모델링

오늘 진행한 내용

오늘은 금속 식각 공정 데이터 중 EV 데이터와 OES 데이터만 사용하여 정상 wafer와 불량 wafer를 구분하는 양불 분류 모델을 정리했다.

EV는 장비의 압력, 가스 유량, RF/TCP power, impedance 등 공정 제어 상태를 나타내고, OES는 플라즈마 발광 스펙트럼을 통해 식각 반응 상태를 보여준다. 이번 분석에서는 RFM을 제외하고 EV+OES 조합만으로 불량을 얼마나 잘 탐지할 수 있는지 확인했다.

데이터는 최종적으로 126개 wafer를 사용했으며, 정상 106개, 불량 20개로 구성되었다. 불량 비율이 약 15.9%로 낮기 때문에 단순 Accuracy만으로 모델을 평가하면 안 된다고 판단했다. 따라서 모델 성능은 Recall, F1-score, False Negative를 중심으로 확인했다.


데이터 전처리 및 변수 생성

EV와 OES는 모두 시계열 데이터이지만, 모델 입력은 wafer 단위로 구성해야 했다. 그래서 각 wafer별로 시계열을 요약하는 통계 변수를 생성했다.

EV 데이터에서는 다음과 같은 변수를 만들었다.

변수의미
mean 평균 공정 상태
std 공정 중 변동성
min / max 최소·최대 운전 상태
range 변화 폭
iqr 이상값 영향을 줄인 변동성
slope 시간에 따른 변화 방향
delta 시작점 대비 종료점 변화
step4 / step5 통계 Main Etch와 Over Etch 구간별 상태

OES 데이터는 별도 시간 컬럼이 없기 때문에 wafer 내부 행 순서를 공정 진행 순서로 보고 분석했다. OES에서도 평균, 표준편차, 최대값, 최소값, 변화량, 기울기, 센서 간 편차 등을 생성했다.

추가로 공정 해석을 위해 Al, Ti, Si 관련 파장대를 따로 반영했다.

구분파장
Al 394.4nm, 395.8nm
Ti 336.98nm
Si 250.0nm
500nm대 532.6nm, 544.2nm, 556.7nm, 580.0nm

모델링 흐름

이번 모델링은 아래 순서로 진행했다.

단계내용
1 EV+OES wafer 단위 변수 생성
2 Global baseline 모델 평가
3 Experiment별 local 모델 평가
4 Local 기준 주요 변수 선정
5 Local 정상 기준 편차 변수 생성
6 Enhanced LightGBM 모델 평가
7 Optuna 튜닝
8 변수 중요도 해석
9 불량 유형 분류 가능성 검토

Baseline 모델 결과

먼저 전체 데이터를 하나로 사용해 Global Baseline 모델을 평가했다.

모델AccuracyPrecisionRecallF1FN
Logistic Regression 0.786 0.348 0.400 0.372 12
ExtraTrees 0.873 1.000 0.200 0.333 16
LightGBM 0.849 0.571 0.200 0.296 16
RandomForest 0.857 1.000 0.100 0.182 18
Dummy 0.841 0.000 0.000 0.000 20

Baseline 결과에서는 Accuracy가 높아 보여도 실제 불량 검출 성능은 부족했다. 특히 RandomForest와 ExtraTrees는 정상은 잘 맞췄지만, 불량을 대부분 정상으로 판단했다.

가장 높은 Recall은 Logistic Regression의 0.400이었지만, Precision이 낮아 정상 wafer를 불량으로 잘못 판단하는 경우가 많았다. 따라서 기본 통계 변수만으로는 EV+OES 양불 분류 모델이 충분하다고 보기 어려웠다.


Local 정상 기준 편차 변수 생성

공정 데이터는 experiment 29, 31, 33 그룹으로 나뉘며, 그룹별 공정 drift가 존재한다. 이를 보정하기 위해 각 experiment 내부의 정상 wafer를 기준으로 편차 변수를 만들었다.

rz = (현재 wafer 값 - 같은 experiment 정상 평균) / 같은 experiment 정상 표준편차

abs_rz = |rz|

즉, 단순히 변수값 자체를 보는 것이 아니라,

같은 실험 그룹의 정상 wafer들과 비교했을 때 얼마나 벗어났는가

를 변수로 추가한 것이다.

이 방식은 공정 drift를 줄이고, 불량 wafer가 정상 기준에서 얼마나 이탈했는지 더 잘 반영하기 위한 방법이다.


Enhanced 모델 결과

Local 정상 기준 편차 변수를 추가한 뒤 Enhanced LightGBM 모델을 평가했다.

모델AccuracyPrecisionRecallF1FN
Enhanced LightGBM 0.929 0.867 0.650 0.743 7

Baseline과 비교하면 성능이 확실히 좋아졌다.

구분Baseline LREnhanced LightGBM
Recall 0.400 0.650
F1 0.372 0.743
FN 12 7
TP 8 13

불량 20개 중 13개를 검출했고, 놓친 불량은 7개로 줄었다. 이를 통해 단순 통계 변수보다 local 정상 기준 편차 변수가 불량 탐지에 효과적이라는 점을 확인했다.


Local Enhanced 결과

Experiment별 Enhanced 모델 결과는 다음과 같았다.

ExperimentAccuracyPrecisionRecallF1FN
29 0.810 0.500 0.500 0.500 4
31 0.860 0.500 0.167 0.250 5
33 0.976 1.000 0.833 0.909 1

Experiment 33은 불량을 잘 검출했지만, Experiment 31은 Recall이 낮았다. 즉, EV+OES만으로 모든 실험 그룹의 불량을 안정적으로 탐지한다고 말하기는 어렵다.

특히 Experiment 31에서는 EV와 OES 신호만으로는 불량 구분이 약했을 가능성이 있다. 이 부분은 이후 EV+RFM 또는 EV+OES+RFM 모델과 비교가 필요하다.


Optuna 튜닝 결과

Enhanced feature를 사용한 global 모델에 Optuna 튜닝을 적용했다.

모델AccuracyPrecisionRecallF1FN
Optuna Tuned Global 0.960 0.857 0.900 0.878 2

단계별 성능 변화는 다음과 같다.

단계RecallF1FNTP
Baseline LR 0.400 0.372 12 8
Enhanced LightGBM 0.650 0.743 7 13
Optuna Tuned Global 0.900 0.878 2 18

최종 global 모델은 불량 20개 중 18개를 검출했다. 놓친 불량은 2개로 줄었고, F1-score도 0.878까지 개선되었다.

성능 개선 흐름은 다음과 같이 정리할 수 있다.

기본 통계 변수 생성
↓
local 정상 기준 편차 변수 추가
↓
LightGBM 적용
↓
Optuna 튜닝
↓
Recall 0.900 달성

주요 변수 해석

최종 모델에서 중요하게 나타난 변수는 다음과 같다.

변수해석
DEV__OES__394.4__std__abs_rz Al 방출선 부근 변동성이 정상 기준에서 벗어난 정도
DEV__OES__Al_delta__abs_rz Al 관련 OES 변화량의 정상 기준 편차
DEV__EV__Pressure__range__abs_rz 챔버 압력 변화 폭의 정상 기준 편차
DEV__EV__TCP Load__step4_mean__abs_rz Main Etch 구간 TCP Load 평균 편차
DEV__EV__Pressure__step5_minus_step4_mean__abs_rz Step4에서 Step5로 넘어갈 때 압력 변화
OES__660.0__slope 660nm 부근 발광 intensity 변화
EV__TCP Rfl Pwr__step4_slope Step4 구간 TCP 반사전력 변화
EV__RF Btm Rfl Pwr__step4_slope Step4 구간 RF Bottom 반사전력 변화
EV__Pressure__slope 챔버 압력의 시간 변화

중요 변수는 크게 세 가지로 묶을 수 있었다.

그룹관련 변수의미
OES Al 신호 394.4nm, Al_delta Al 식각 진행 상태 변화
Pressure Pressure range, Pressure slope 챔버 압력 안정성
RF/TCP TCP Load, reflected power 전력 전달 및 matching 상태

공정 관점에서는 다음 흐름으로 해석할 수 있다.

압력 또는 전력 전달 상태 변화
↓
플라즈마 상태 변화
↓
Al 관련 OES 신호 변화
↓
정상 기준 편차 증가
↓
불량 가능성 증가

단, 변수 중요도는 모델이 분류에 사용한 정보일 뿐이므로 실제 불량 원인이라고 단정하면 안 된다. 현재는 불량과 관련성이 높은 후보 변수로 해석하는 것이 맞다.


불량 유형 분류 검토

양불 분류 이후 불량 유형 분류 가능성도 확인했다.

Fault Family개수
TCP 6
Gas 6
Pressure 4
RF 3
He 1

결과는 다음과 같았다.

지표값
Accuracy 0.45
Macro F1 0.33
Weighted F1 0.42

불량 유형 분류는 아직 신뢰하기 어렵다. 전체 불량 데이터가 20개뿐이고, He는 샘플이 1개뿐이라 학습이 거의 불가능하다. 따라서 현재 단계에서는 불량 유형 분류보다 양불 분류 성능을 먼저 안정화하는 것이 맞다.


오늘의 정리

EV+OES 기반 양불 분류에서 단순 baseline 모델은 불량 검출력이 부족했다. Accuracy는 높아 보일 수 있지만, 실제로는 불량을 많이 놓치는 문제가 있었다.

하지만 experiment별 정상 기준 편차 변수를 추가한 뒤 성능이 크게 개선되었다. Enhanced LightGBM은 Recall 0.650을 기록했고, Optuna 튜닝을 적용한 최종 global 모델은 Recall 0.900, F1-score 0.878까지 향상되었다.

이번 분석을 통해 EV+OES만으로도 양불 분류 가능성이 있다는 점을 확인했다. 특히 Al 관련 OES 신호, 챔버 압력 변화, TCP Load, RF/TCP 반사전력 변화가 불량 분류에 중요한 정보를 제공했다.

다만 experiment별 성능 차이가 존재했고, 불량 유형 분류는 데이터 수 부족으로 아직 안정적이지 않았다. 이후에는 EV+RFM, EV+OES+RFM 모델과 비교하여 어떤 센서 조합이 가장 안정적인지 확인할 필요가 있다.


다음 진행 방향

작업목적
EV+RFM 모델 비교 RF matching 정보가 불량 검출을 보완하는지 확인
EV+OES+RFM 모델 비교 다중 센서 통합 성능 확인
Local별 Optuna 튜닝 experiment별 성능 차이 완화
Threshold 최적화 False Negative 감소
주요 변수 관리도 작성 공정 알람 변수로 활용
불량 유형별 데이터 추가 Fault family 분류 안정화

한 줄 요약

EV+OES 양불 분류에서는 기본 통계 변수만 사용한 모델보다 local 정상 기준 편차 변수를 추가한 LightGBM 모델이 더 안정적이었고, Optuna 튜닝 후 global 기준 Recall 0.900, F1-score 0.878까지 개선되었다.

오늘자 결론

더보기

데이터를 팀원들과 나눠서 여러 방식으로 정합하고 분석하는 걸 해봤는데 결국 unfolding 방식으로 정합한 데이터를 사용하기로 했다. 내가 했던 게 전부 사라진 느낌,,

 

머신러닝 데이터 정합은 잘 정리한 것 같으니 내일 있을 튜터 피드백을 대비해 노션을 정리하는 시간을 가져야한다.

이후 본격적인 시계열 모델링과 대시보드 구성에 대해 회의해봐야할 것 같다.