주요 컨텐츠로 이동

"이 블로그는 코닝의 수석 소프트웨어 엔지니어인 Denis Kamotsky가 작성했습니다."

 

코닝은 거의 200년 동안 재료 과학 분야에서 세계를 선도하는 혁신 기업 중 하나로 자리매김해 왔습니다. 이러한 혁신에는 토마스 에디슨의 전구를 위한 최초의 유리 전구, 최초의 저손실 광섬유, 촉매 변환기를 가능하게 하는 셀룰러 기판, 그리고 모바일 기기를 위한 최초의 내구성 강화 커버 글라스 등이 포함됩니다. 코닝은 계속해서 한계에 도전하면서 머신 러닝과 같은 혁신적인 기술을 활용하여 더 나은 제품을 개발하고 효율성을 높이고 있습니다. 

머신러닝을 통한 제조 공정의 효율성 향상

전 세계 제조 시설에서 높은 품질의 제품을 생산하는 것은 코닝의 핵심 목표이며, 우리는 머신러닝이 이 목표 달성에 어떻게 도움이 될 수 있는지 계속 탐구하고 있습니다. 예를 들어, 개인용 및 상용 차량의 공기 필터와 촉매 변환기에 사용되는 코닝 세라믹을 생산하는 공장에서 이를 확인할 수 있습니다. 이러한 필터 제조 과정의 대부분은 로봇화되어 있지만, 일부는 여전히 수동으로 이루어지고 있습니다. 특히 품질 검사를 위해 고해상도 이미지를 촬영하여 셀의 불규칙성을 찾아내는데, 이는 누출과 불량 부품을 예측하는 데 도움이 됩니다. 그러나 제조 환경의 잔해물이 사진에 나타나 오탐지(false positive)가 빈번히 발생하는 것이 문제였습니다.

이를 해결하기 위해 우리는 이미지 촬영 전에 수동으로 필터를 브러싱하고 불어내는 작업을 선제적으로 진행했습니다. 우리는 작업자에게 어떤 특정 부분을 청소해야 하는지 알려줌으로써 전체 공정에 필요한 시간을 크게 줄일 수 있다는 것을 발견했고, 이때 머신러닝이 유용하게 활용되었습니다. 작업자가 이미징 장치 내부에 필터를 설치하는 동안 촬영된 저해상도 이미지를 기반으로 필터가 깨끗한지 더러운지를 예측하는 데 ML을 사용했습니다. 이 예측을 바탕으로 작업자는 해당 부분을 청소할지 말지에 대한 신호를 받게 되어, 최종 고해상도 이미지에서 오탐지를 줄이고 생산 과정을 더 빠르게 진행하며 고품질 필터를 제공할 수 있게 되었습니다.

이 ML 모델을 실행하기 위해 저해상도 이미지에 대한 이진 분류기가 필요했습니다. 여기서 중요한 점은 공장 현장의 인간 작업자와 상호작용하는 모델이기 때문에 지연 시간이 짧아야 한다는 것이었습니다. 긴 실행 시간은 작업자의 업무에 타격을 주고  작업 속도를 늦출 수 있기 때문입니다. 따라서 모델 설계 시 밀리초 단위의 실행 시간을 목표로 하였습니다.

자세한 내용은 다음과 같습니다.

데이터 팀

우리는 먼저 Databricks를 사용하여 딥러닝 접근 방식으로 저지연 모델을 구축하기 위한 cross-functional 팀을 구성했습니다. 데이터 사이언티스트들이 실험하고 모델을 처음부터 구축할 수 있도록 먼저 수천 장의 이미지를 수집했습니다. 이 모든 데이터를 정리하고 이미지에 라벨을 붙이는 데 도움이 되는 프론트엔드 앱을 배포하고, 데이터 파이프라인을 구축한 다음 대규모로 모델을 훈련시켰습니다. 마지막으로 모델 훈련이 완료되면 전 세계 코닝 환경 기술 공장에 걸쳐 엣지에 배포하였습니다.

먼저 여러 부서로 구성된 팀을 구성하여 딥러닝 기술을 활용해 지연 시간이 짧은 모델을 개발하기로 했습니다. 데이터 사이언티스트들이 모델 실험과 구축을 원활히 진행할 수 있도록 수천 개의 이미지를 사전에 수집하였습니다. 이 데이터를 정리하고 이미지에 레이블을 지정할 수 있는 front-end 애플리케이션을 배포하여 데이터 파이프라인을 구축했습니다. 그리고 대규모로 모델을 학습시킨 후, 전 세계 모든 코닝 환경 기술 공장에 걸쳐 엣지 환경에 배포하였습니다.

다음으로, Databricks 작업 API를 사용하여 모델 훈련을 시작합니다. 훈련을 통해 생성된 모델은 HDF5 파일로 저장됩니다. 이 모델은 MLflow에 의해 추적되고 MLflow 레지스트리에 최신 버전으로 등록됩니다. 다음 단계는 해당 모델의 평가를 실행하고 얻은 메트릭을 지금까지의 모델 중 최고 메트릭과 비교하는 것입니다. 이러한 모델들은 MLflow에서 태그를 지정하여 최상의 모델 버전을 추적할 수 있습니다.

모델 구축

데이터브릭스는 모든 데이터와 ML 작업을 중앙 집중화할 수 있는 간소화된 통합 플랫폼을 제공한다는 점에서 우리의 전략과 혁신의 핵심이었습니다. 모델을 학습시키고, MLflow에 등록하고, 내보낸 형식과 같은 모든 추가 아티팩트를 생성하고, 생성한 기본 모델과 동일한 위치에서 추적할 수 있습니다. 또한 AWS data sync를 사용하여 제조 시설의 Windows 공유에서 이미지를 수집한 다음 프로젝트에 따라 S3 버킷에 저장합니다. 때로는 이미지에 많은 전처리가 필요한 경우, 이미지에 변환을 하거나 변환을 적용한 다음 변환된 이미지를 Delta Table 자체에 이진 열로 저장합니다. 레이크하우스를 사용하면 S3에 있는 파일이든 델타 테이블에 있는 열이든 코드에서 모두 동일하게 보입니다. 따라서 해당 데이터에 액세스하는 프로그래밍 모델은 형식에 관계없이 동일합니다.

다음으로, Databricks 작업 API를 사용하여 모델 훈련을 시작합니다. 훈련을 통해 생성된 모델은 HDF5 파일로 저장됩니다. 이 모델은 MLflow에 의해 추적되고 MLflow 레지스트리에 최신 버전으로 등록됩니다. 다음 단계는 해당 모델의 평가를 실행하고 얻은 메트릭을 지금까지의 모델 중 최고 메트릭과 비교하는 것입니다. 이러한 모델들은 MLflow에서 태그를 지정하여 최상의 모델 버전을 추적할 수 있습니다.

모델 배포

위의 단계를 거친 후, 전문가가 MLflow 사용자 인터페이스를 통해 로그인하여 최상의 모델을 생성하기 위해 훈련 작업에서 생성된 모든 아티팩트를 검토합니다. 이 평가를 마치면 전문가들은 가장 성능이 좋은 모델을 프로덕션에 적용하기로 결정하고, 엣지 시스템은 MLflow API를 사용하여 MLflow 레지스트리에서 해당 모델을 다운로드할 수 있습니다. 이 과정은 드리프트 감지를 감독하는 데 재사용될 수 있어 매우 유용합니다.

최종적으로 배포된 우리의 모델은 약 20만 개의 매개변수를 가지고 있으며, 90% 이상의 정확도로 훌륭하게 작동합니다.

 

How Corning Built End-to-end ML on Databricks Lakehouse Platform

엔드투엔드 ML을 위한 Databricks

Databricks는 Python 중심의 데이터 사이언티스트와 딥러닝 엔지니어에게 훌륭한 개발 환경을 제공하며, 엔드 투 엔드 머신러닝 협업을 가능하게 합니다. Scikit-learn, TensorFlow, PyTorch 등 전체 Python 생태계가 사전 설치된 환경을 갖추고 있습니다. 클러스터는 매우 빠르게 프로비저닝되며, 훌륭한 노트북 환경을 제공합니다. 노트북뿐만 아니라 팀 간의 MLflow 실험에서도 쉽게 협업할 수 있습니다.

Databricks의 또 다른 큰 장점은 개별 데이터 사이언티스트에게 개별 컴퓨팅 환경을 제공한다는 점입니다. 데이터 사이언티스트들은 자신에게 필요한 노드 클러스터를 제공받을 수 있습니다. 이 클러스터의 분산 특성은 오픈 소스 프로그래밍 엔진인 Spark를 통해 관리되며, 이를 통해 Java나 Scala를 넘어서는 유연성과 옵션을 제공하여 흥미로운 솔루션을 구현할 수 있습니다. 이러한 병렬 컴퓨팅 기능은 매우 강력하며, 여러 노드에 작업 부하를 병렬화함으로써 높은 처리량을 달성할 수 있습니다. Databricks Academy를 통해 많은 예제와 노트북을 포함한 심층 강의를 제공하여 쉽게 시작할 수 있습니다.

비즈니스 영향

Databricks Lakehouse Platform에서 머신러닝을 사용한 이후로 제조 과정에서의 이슈 발생이 감소하여 첫 해 약 200만 달러의 비용을 절감했습니다. 이는 코닝 환경 기술의 모든 제조 시설에 배포되었습니다. 우리의 프로젝트 성공은 2022년 AI 및 머신러닝 산업에서 제조 리더십 위원회 상을 수상하는 데도 기여했으며, 우리는 이에 대해 매우 자랑스럽게 생각합니다.

 

이 세션의 자세한 동영상은 AWS re:Invent에서 시청하실 수 있습니다:

"AWS re:Invent 2022 - 코닝이 데이터 레이크하우스 플랫폼에서 데이터브릭스와 함께 E2E ML을 구축한 방법(PRT321)".

 

Translated by HaUn Kim - Original Blog Post

 

Databricks 무료로 시작하기

관련 포스트

모든 회사 블로그 포스트 보기