본문 바로가기
데이터사이언스

반도체 제조 데이터의 특성과 문제에 관하여

by 미스터탁 2022. 12. 1.

우리가 처음 머신러닝이나 인공지능을 배울 때 다루는 데이터는 iris, titanic, boston house와 같이 매우 분석하기 좋고 이쁜(?) 데이터입니다. 하지만, 실제로 우리가 현업에서 다루는 데이터는 이보다 매우 복잡하고, 각 도메인마다 가지고 있는 데이터의 특성이 있습니다. 이번 포스팅에서는 제가 주로 다루는 반도체 제조 데이터의 특성에 대해 다루어 보고자 합니다. 반도체 제조 공정은 크게 8대 공정으로 이루어지는데요. 8대 공정에 대한 내용은 아래 포스팅을 참고 해 주시기 바랍니다. 

 

https://brunch.co.kr/@wyz/62

 

반도체 8대 공정, 10분만에 이해하기

안녕하세요, 경제유캐스트 윰기자입니다.오늘은 반도체 8대 공정에 대해서 준비했습니다. 반도체 관련 직종에 근무하시지 않는다면 일상생활에서는 반도체 공정을 다룰 일이 거의 없습니다. 사

brunch.co.kr

 

https://www.samsungsemiconstory.com/kr/%EB%B0%98%EB%8F%84%EC%B2%B4-%EB%B0%B1%EA%B3%BC%EC%82%AC%EC%A0%84-%EB%B0%98%EB%8F%84%EC%B2%B4-8%EB%8C%80-%EA%B3%B5%EC%A0%95-%ED%95%9C-%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/

 

[반도체 백과사전] 반도체 8대 공정 한 눈에 보기! – 삼성전자 반도체 뉴스룸

반도체 산업에 관심 있다면 꼭 알고 있어야 하는 내용 중 하나가 바로 ‘반도체 8대공정’입니다. 어렴풋이 알고는 있지만 맥락을 다시 살피고 싶은 여러분들을 위해 반도체 제조공정을 한 눈에

www.samsungsemiconstory.com

 

 

도메인과 상관없이 반도체 제조 공정에서 겪는 다양한 문제들을 다루고자 합니다. 반도체 제조 공정에서 수집되는 데이터들은 공통적으로 가지고 있는 특징들이 있습니다. 이를 알기 위해서는 제조 공정에 관한 특징을 알아야 하는데요. 일반적으로 제조의 단계 공정 (예를 들어 Etch공정)들이 끝나게 되면, 생산하고 있는 wafer(제품)의 품질을 알기 위해서 무언가 '계측'을 합니다. Response, critical diemension, defect 여부 등 공정과 목적에 따라 다양한 값들이 계측이 됩니다. 그런데 일반적으로 한 lot 당 10개 정도의 wafer가 생산된다고 한다면 오직 한 두개 정도의 wafer만 계측이 됩니다. 이유는 바로 비용과 시간 때문이죠. 생산성을 늘리기 위해서는 최소한의 계측 만을 수행해야 합니다. 그런데 문제는 이 계측값이 wafer의 품질 관리에 있어서 매우 매우 중요하게 여겨지고, 현업에서는 계측된 한개의 wafer의 값이 전체 Lot을 대변한다고 가정을 합니다 (사실 그럴 수 밖에 없죠. 나머지 wafer들은 계측이 되지 않았기 때문에). 즉 계측된 wafer의 값이 좋다면 해당 Lot의 wafer가 잘 생산되고 있구나 라고 생각할 수 있는 것입니다. 하지만 현실은 그렇지 않죠. 그래서 반도체 제조 공정에서 매우 중요한 가상 계측(Virtual metrology)이 필요합니다. 

 

가상 계측(머신 러닝 모델)을 통해 계측을 하고 해당 계측 값을 기반으로 현업 엔지니어들은 품질 관리를 위한 모니터링을 수월 하게 할 수 있습니다. 공정 내에서 wafer는 매우 많은 장비들을 거치는데 이 때 발생하는 값(온도, 압력 등과 같은 sensor 값)이 수집되고 이 값들을 기반으로 y를 예측하는 모델을 만들어야 합니다. 여기서 수집되는 데이터 들은 일반적으로 매우 매우 많습니다. 당연히 회사 마다 공정 마다 다르겠지만, 생산하는 wafer의 수 만큼 비례해서 많은 데이터 들이 수집이 되겠죠. 수십 또는 수백개의 센서 데이터 들이 수집되고 이를 만약 Window sliding을 이용하여 feature를 전처리하면 사용가능한 독립 변수의 수는 수천개가 됩니다. 하지만, 가용 가능한 관측치의 수는 적습니다. 앞서 언급한 바와 같이 계측되는 wafer의 수는 극히 일부분이기 때문에, 실제로 모델 학습에 사용 할 수 데이터의 수는 한정적이라고 볼 수 있습니다. 이에 따라 자연스럽게 제조 데이터는 Large P, Small N 문제를 가지게 됩니다. 즉, 변수의 수는 많고 관측치의 수는 매우 적은 형태를 띄게 됩니다. 아시다시피, 이러한 데이터의 형태는 다양한 문제를 야기시킵니다. 이에 따라 우리는 Feature selection을 고려할 필요가 있습니다.

 

사실 Feature selection은 변수의 수를 줄여서 overfitting을 방지하고 모델의 성능을 높이기 위해서만이 필요한 것이 아닙니다. 머신러닝 분야에서 자주 보이는 문제이죠. 성능을 높일거냐 아니면 해석력을 높일거냐. 사실 제조 공정에서는 생각보다 해석력이 매우 중요합니다. 현업 엔지니어들은 wafer가 정상인지 불량인지 예측하는 것 보다 wafer의 품질 관리를 위해 어떠한 조치를 해야하는지가 더 중요하기 때문입니다. 그렇기 때문에, Feature selection (root cause analysis (인자 분석))은 제조 공정에서는 매우 중요하게 고려 되어야 합니다. 이에 따라 설명 가능한 인공지능 (Shap value 활용) 또한 최근 주목을 받고 있습니다. 

 

앞서 wafer는 여러 공정을 거치면서 다양한 장비로 부터 센서 데이터들이 수집된다고 언급하였는데, 이는 사실 시계열(time-sereis data)입니다. 기존에 많이 사용하는 방법은 시계열 데이터로부터 feature를 추출해서 사용하는 것입니다. 하지만, 시계열 데이터의 특성상 일반적인 feature 추출 방법으로는 모델의 성능을 올리는 데에는 한계가 있죠. 그래서 최근 수년간 딥러닝을 활용한 계측 모델 또는 불량 탐지 모델들이 개발 되어 왔습니다. CNN이나 LSTM기반 모델들을 사용하면 시계열 데이터의 특성을 모델에 잘 반영할수 있겠죠. 하지만, 잘 알려져 있다 시피 딥러닝 모델들은 많은 양의 학습 데이터를 필요로 합니다. 학습 데이터의 양이 충분치 않으면, 전통적인 feature추출 방법과 머신 러닝 모델들을 사용하는 것이 더 좋은 성능을 가져오기도 합니다. 이 또한 사실 Large P, Small N 문제와 연관 되어 있다고 할 수 있을 것입니다. 

 

또한 제조 공정에서 수집되는 시계열 데이터는 alignment가 안맞는 경우도 더럿 존재합니다. 첫번째 wafer의 feature sequence길이는 400인데, 두번째 wafer의 feature sequence길이는 410인 경우가 있습니다 (아래 그림과 같이). 이를 무시하고 feature추출 하면 안 좋은 성능이 도출될 가능성이 큽니다. 저의 경우에는 DTW Barycenter Averaging (DBA) 를 사용하여 큰 효과를 보았습니다. 

 

최근 수년간 딥러닝은 도메인 상관없이 매우 좋은 성능을 보여 왔습니다. 반도체 제조 공정에서도 마찬가지입니다. 앞서 언급한 바와 같이 딥러닝을 많은 양의 학습 데이터를 필요로 하는데, 매우 흥미로운 점은 반도체 제조 공정 기술이 최근 증가함에 따라서 딥러닝의 활용 여지가 감소 했다는 것입니다. 시간과 비용을 들어서 많은 양의 데이터를 확보하고 좋은 성능을 보이는 딥러닝을 학습 완료하였다 하더라도, 제조 기술이 발전함에 따라 공정의 recipe가 바뀌면 구축한 모델은 무용지물이 되는 것 입니다. 즉, 회사 입장에서는 공정 recipe가 조만간 바뀔 가능성이 높고 비용이 많이 들기 때문에 최소한의 계측만 수행하려고 할 것이고, 이에 따라 확보 가능한 학습 데이터의 양은 더욱 적어질 수 밖에 없습니다. 그러므로, 확보한 데이터를 최대한 활용할 수 있는 데이터 증강 기법 (Data augmentation) 또는 준지도 학습 기법(Semi-supervised learning)이 중요합니다. 딥러닝을 활용할 수 있다면, 소수의 데이터로 활용 가능한 딥러닝에 대한 연구 또한 필요할 것이며, 그렇지 않다면 여전히 전통적인 머신러닝이 고려되어야 합니다.

 

반응형

 

 

제조 공정에서 많이 다루는 문제는 앞서 언급한 바와 같이 가상 계측 문제 입니다. 이와 더불어, Fault Detection and Classification (FDC) 문제 또한 매우 중요하게 다루어지고 있습니다. 즉 불량을 분류하는 모델을 만드는 것입니다. 입력변수의 형태는 앞서 서술한 데이터의 형태이기도 하고 아래 그림과 같은 Wafer bin map과 같은 형태이기도 합니다. 여기서는 단순히 불량이냐 정상이냐를 구분하는 것을 넘어서 불량의 종류를 구분할 수 있는 것 또한 고려 되어 질 수 있습니다. 이 경우에는 우리는 딥러닝 모델을 필수적으로 고려 해야 합니다. 이미지 데이터를 tabular형태로 전처리 하여 사용하는것은 매우 비효율 적이니까요. 

 

 

한발 더 나아가면, 제조 공정에서는 항상 정해진 불량의 패턴만 나오는 것이 아니라, 새로운 불량의 패턴이 나오기도 합니다. 우리가 MNIST 데이터를 분류하는 모델을 만들면 그 모델은 input데이터에 대하여 0~9로만 분류하지, abc로 분류하지는 않습니다. 사전에 정의되지 않은 새로운 유형의 불량이 들어올때 이를 새로운 불량(Unknown defect)으로 분류하는 문제를 Open set recognition (OSR) 이라고 합니다. 

 

제품의 '불량'과 '정상'을 다루는 일은 분류 문제라고 할 수 있죠. 하지만 일반적으로, 불량의 비율은 정상에 비율에 비해 매우매우 적습니다. 이는 제조 데이터만 가지고 있는 특성이 아니죠. 보험, 금융 등 다양한 분야에서 발생하는데 이를 Class-imbalanced problem이라고 합니다. 일반적으로 이진 분류 문제에서 우리는 불량과 정상의 비율을 5:5가정하는데 이 비율이 1:9와 같이 한쪽으로 치우쳐 지면, 한 class에 과하게 적합되는 현상이 발생합니다. 이 또한 일종의 과적합이라고 할 수 있죠. 이를 해결하기 위해 resampling method들이 주로 많이 사용되죠. 

 

그런데, 제품의 불량이 매우 극단적으로 적은 경우도 있습니다. 총 제품의 수가 만개면 불량의 수는 1~2개 일 수 도 있습니다. 이러한 경우에는 이진 분류로 접근하기 어렵습니다. 당연히, resampling method도 쓰기 어렵고 실험 설계 자체가 어렵기 때문이죠. 이러한 경우 우리는 Anomaly detection문제로 접근을 합니다. 거의 정상 데이터만을 이용해 학습하고 새로운 데이터가 정상 데이터의 decision boundary 바깥에 있으면 불량으로 예측하는 식으로 모델을 구성합니다. 

 

이외에도 반도체 제조 공정이 가지는 특성은 더 있습니다. Wafer는 여러 공정을 연속적으로 거치고 이 과정에서 다양한 parameter의 값들이 수집되는데, 이 parameter들의 값 들은 선후 관계가 있습니다. 즉, 교호 작용이 존재 한다라는 것이죠. 그렇지만, 어떤 변수들이 어느정도의 교호작용을 가지고 있는지는 알기 어렵습니다.  A-B-C공정을 거치면서 A1, A2, A3, B1, B2, C1의 변수가 수집되었다라고 하면, 수집된 변수들끼리는 시간적인 특성을 가지고 있으며 서로 교호작용을 가지고 있다라는 것이죠. 이는 수집된 데이터가 시계열 데이터라고 하더라도 이와는 별개로 변수들끼리 시간적 특성을 가지고 있다라는 것입니다. 이를 고려한 연구는 지금까지도 많이 진행되지는 않았습니다.

 

더불어, 반도체 제조 공정에서 흔히 일어나는 process drift현상이 있습니다. 우리는 분석을 할때에 데이터 100개를 가지고 있다면 랜덤하게 7:3으로 분할하고 3의 데이터가 실제 데이터를 잘 반영한다라고 가정을 합니다. 하지만 제조 공정에서는 X 들의 값이 시간에 따라 다양한 원인으로 인해 조금씩 변화하는 현상이 빈번하게 발생합니다. 예를 들어 A1의 변수가 1~10 관측치에서는 8 ~ 10수준이였다라고 한다면, 11 ~ 20 관측치에서는 5 ~ 7수준을 보인다는 것입니다. 이에 따라, 모델을 만들시에 실험 설계 또한 단순히 랜덤하게 분할 하는 것이 아닌 window sliding기법 등을 고려할 필요가 있으며, drift 현상을 반영할 수 있는 모델 또한 개발을 해야합니다. 이 분야 또한 아직 많은 연구가 진행되지는 않았습니다.

 

Camera에 제품이 들어왔을때 제품을 인식하고 제품의 불량 위치와 종류를 detect을 하기 위해서는 object detection과 FDC문제 OSR문제가 함께 고려될 수 있습니다. 더 나아가, 항상 제품이 카메라에 정확히 같은 위치에 들어오는 것이 아니라면, 위치를 보정 할 수 있는 알고리즘이 방법론 또한 필요합니다.

 

이외에도 제조 공정에서는 다양한 문제들이 발생하고, 다양한 특징들이 있습니다. 반도체 제조 공정 기술이 발전함에 따라 다양한 문제들이 더 발생할 것 입니다. 연구를 진행하며 알게 되는 문제들과 특성들이 생기면 추가적으로 포스팅 하도록 하겠습니다. 

반응형

댓글