Offcanvas

AI / How To / 로봇|자동화 / 머신러닝|딥러닝 / 빅데이터 | 애널리틱스

데이터 준비에서 HW 선택까지··· '머신러닝 트레이닝' 안내서

2020.05.08 Mary Branscombe  |  CIO


트레이닝 데이터를 데이터 포이즈닝(data poisoning)으로부터 보호
‘기본’을 잊어서는 안 된다. ML의 경우에도 트레이닝 동안 보안과 위협 모델링에 대해 생각해야 한다. 트레이닝 데이터도 다른 중요한 데이터처럼 안전하게 보관 및 저장해야 한다. 개인 노트북 컴퓨터에 저장해서는 안 된다. 또한, 데이터를 가져온 장소, 보내는 장소, 여기에 액세스할 수 있는 사람을 추적할 수 있어야 한다.

알고리즈미아(Algorithmia)를 공동 창업한 케니 다니엘 CTO는 “어려울 수 있지만, 가능한 여러 소스에서 데이터를 수집해야 한다. 모델이 과적합 상태가 되면, 악의적인 공격에 취약해질 수 있다. 예를 들어, 픽셀이 흐리게 처리된 이미지, 고양이에 대한 예측치 제시 같은 문제가 발생할 수 있다”라고 말했다.

이는 단순히 ‘이론적’인 문제가 아니다. 2013년 공격자들이 온라인 바이러스 스캐닝 사이트에 업로드한 감염되지 않은 파일에 바이러스 서명을 주입한 일이 있었다. 이를 훈련시켜 악성 파일을 무시하도록 만들었다. ‘클린’하다고 선언된 파일과 일치한다는 것을 근거로 하는 트레이닝이었다. 

2017년에는 마이크로소프트에서 디지털 인증서의 평판을 조작하는 수많은 가짜 트래픽이 발생하는 문제가 있었다. 공격자들이 마이크로소프트 ML 시스템이 인증서의 평판을 계산하는 방법을 알아낸 후, 악성 코드를 신뢰하도록 만든 것이다.

비지도형(Unsupervised) ML이 데이터 포이즈닝에 더 취약하다. 스마트폰에서 사용하는 필터 같은 것으로 이미지를 조작하는 방법만으로도 사람의 눈에는 이상이 없는 이미지로 보이지만, 모델에 영향을 주는 이미지를 만들 수 있기 때문이다. 

마이크로소프트에 따르면, 트레이닝 데이터의 3%만 손상시켜도 모델의 정확도가 11% 하락한다. 이런 공격을 방어하기란 어렵다. 그러나 공격자는 트레이닝 표본의 일부만 통제할 수 있다. 따라서 데이터를 검증 및 ‘클리닝’하고, 트레이닝 루프에서 이상치를 감시해 찾고, 매일 ‘피처 드리프트(Feature drift)’를 찾고, 여러 모델을 사용하고, 자동화된 방법으로, 그리고 사람이 새로 트레이닝한 모델의 품질을 평가한 후 모델을 배포하는 방법을 활용할 수 있다. 

악성 ML과 보안이 전문인 오픈 AI(Open AI)의 에이리얼 허베트-로스 연구원은 “현재는 물론 미래의 위협에도 견고한 ML 시스템과 제품을 원할 경우, 데이터 처리 파이프라인을 안전하게 만드는데 초점을 맞출 필요가 있다”라고 강조했다.

데이터 세트의 균형
적은 수의 이미지가 트레이닝에서 훨씬 더 큰 비중을 대표하지 않도록 만들어야 한다. 이는 데이터 포이즈닝 방지에 도움을 준다. 또 처음부터 유용한 ML 모델을 구현하는데 중요한 역할을 한다.

코스토풀로스는 “트레이닝을 한 알고리즘은 데이터 지향적이다. 나쁜 데이터가 나쁜 학습을 초래한다는 의미이다. 성공적인 트레이닝을 위해서는 균형 잡힌 데이터 세트가 필요하다. 분류를 할 경우, 한 예제는 1%, 다른 예제는 99% 식으로 트레이닝 세트를 구성해서는 안 된다. 균형이 잡히도록 데이터를 수집해야 한다. 여기에 각별히 주의를 기울여야 한다”라고 설명했다.

인풋과 아웃풋 확인
ML 플랫폼에는 트레이닝과 모델 모니터링 도구가 포함된 경우가 많다. 예를 들어, 유아이패스 AI 패브릭(UiPath AI Fabric)는 모델 아웃풋과 데이터 인풋을 비교할 수 있는 기능을 제공한다. 애저ML과 여기에 토대를 둔 파워BI의 AI 빌더는 긍정 오류, 부정 오류, 정확도(정확한 분류의 수), 리콜(긍정으로 정확히 분류된 진짜 긍정(TP)의 수) 같은 매트릭스를 제공한다.

독자적인 ML 모델을 구현하는 경우, 텐소 워치(Tensor Watch) 같은 실시간 비주얼리제이션 도구를 사용한다. 그래야 트레이닝을 중단한 후 다시 시작하지 않고, 즉시 ML 모델의 트레이닝 손실과 오류를 확인할 수 있다. 이미지 인식용 50-레이어 ResNet을 이용한 ImageNet 데이터 세트 트레이닝에 14일이 소요될 수 있을 때 중요한 부분이다.

트레이닝에 부합하는 하드웨어를 선택
GPU는 심층 데이터 병렬성(Deep data parallelism)이 요구되는 딥러닝 시스템 트레이닝에 적합하다. 그러나 다른 워크로드에는 적합하지 않을 수도 있다.

가드너는 “엔터프라이즈 고객이 ML을 시작하는 상황 대부분에서 GPU나 전용 AI 가속 하드웨어를 선택할 이유는 거의 없다”라고 말했다. 그에 따르면 소수 레이어만 트레이닝 하는 경우, 영업 시간 동안 다른 워크로드에 사용했던 CPU를 밤 동안 트레이닝에 사용할 수 있다. 반면 레이어나 장소가 10개 이상인 모델이라면 하드웨어 가속을 검토할 수 있다. 더 빨리 트레이닝을 했을 때 실적에 영향이 미치는 분야라면 특히 그렇다. 추천 엔진을 더 정확하게 만드는 것을 예로 들 수 있다.

또한, CPU는 의료 이미지와 천문학, 석유 및 가스 탐사 등 HD 관련 모델에 더 적합하다. 그는 “픽셀이 아주 많은 이미지들이다. 메모리가 작은 GPU에는 적합하지 않다. CPU를 기반으로 트레이닝을 하면 이미지를 줄이지 않고 완전한 해상도로 트레이닝 할 수 있다”라고 말했다.

능률적으로 CPU 트레이닝을 하려면, GPU가 아닌 CPU에 최적화된 도구나 프레임워크를 찾아 이용해야 한다.

전이 학습(Transfer learning) 활용
별다른 이유가 있는 경우가 아니라면, 굳이 처음부터(from scratch) 혼자 트레이닝을 시도하지 않는 것이 좋다고 전문가들은 입을 모았다. 

다니엘은 “공개적으로 이용할 수 있는 모델이 있는지 알아보거나, 전이 학습을 이용한다. 훨씬 더 저렴한 방법이다. 동시에 훨씬 더 적합하며, 환경에도 더 잘 부합한다”라고 말했다.

이를테면 150-레이어 ResNet 이미지 인식 모델 같은 대용량의 트레이닝 된 모델을 가져와, 가장 위의 몇개 레이어를 잘라 자신의 데이터로 다시 훈련시키는 방법을 이용할 수 있다. 애저 코그니티브 서비스 커스텀 비전(Azure Cognitive Services Custom Vision)과 같은 것들을 이용할 수도 있다. 이는 몇 분만에 인식하고 싶은 각 객체의 50개 예제에 대해 마이크로소프트의 이미지 인식 서비스를 다시 트레이닝 시킨다. 클라우드 서비스의 편리함을 누리면서, 맞춤화 된 트레이닝을 할 수 있는 방법이다.

인내심을 가져라
ML은 다른 소프트웨어 개발 과정보다 예측성이 떨어진다. 트레이닝에 예상보다 더 많은 시간이 소요될 수 있다. 트레이닝이란 시스템 운영의 일부가 아닌 개발의 일부이기 때문이다.

가드너는 “예측이 어렵다는 문제가 있다. 문제 해결과 관련, 일정을 고정해서 수립할 수 없다. 6개월 이내에 솔루션을 구현하게 될 것이라고 말할 수 없다는 이야기이다. 시행착오가 많다. 미묘한 변화를 포착하는 트레이닝에 몇 시간, 며칠, 몇 주가 걸릴 수 있다. 이런 불확실성을 극복하려면 경영진의 동의와 수용이 요구된다. 갑자기 결과물이 나올 수도 있지만, 이보다는 예상보다 더 많은 시간이 걸리는 경우가 많기 때문이다. 일관된 프로세스가 아니다”라고 말했다. ciokr@idg.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.