2018.10.01

AI 대중화 최대 걸림돌··· '재현성 문제' 해법 3가지

James Kobielus | InfoWorld
많은 기업이 인공지능(AI)에서 단기간에 성과를 내려고 하다가 재현성(reproducibility) 문제에 직면한다. 특히 애자일 기법을 도입한 후 AI 재현성 문제가 더 심해진다.



재현성은 중요하다. 그래야 AI 시스템이 하는 일, 앞으로 할 일을 정확히 파악할 수 있다. 재현성이 없다면 의료 상태 진단, 트럭 운전, 보안 위협 확인, JIT(Just In Time) 생산 흐름 관리 등 중요 업무에 AI를 사용할 때 큰 위험이 뒤따를 수 있다. 데이터 과학자는 머신러닝과 딥러닝, 기타 AI 모델 개발, 트레이닝, 그리고 이러한 작업의 반복에 있어, 속도를 중시하면서 문서화를 등한시하는 경향이 있다. 그러나 특정 데이터 기반 AI 모델, 프로세스, 결정에 도달한 단계적 방법의 순서를 정확히 파악해야 재현성을 확보할 수 있다.

AI 모델을 구현한 데이터 과학자가 자신의 업무에 반복 가능한 방법을 사용하지 않았을 때, 또는 자신이 한 일을 정확히 자세하게 문서화하지 않았을 때 재현성이 결여되는 문제가 발생한다. 이런 상황에서는 최초 AI 모델 개발자나 다른 사람이 나중에 자신이 발견한 것을 재현하지 못할 수 있다. 특히 모델링 프레임워크, 하드웨어 가속기, 분산형 데이터 레이크 등 기반이 되는 AI 파이프라인 플랫폼이 모든 단계에서 진화하면서 재현성 문제가 더 커지고 있다. 그 결과, 나중에 교차 확인 단계에서 원래 플랫폼을 정확히 복제할 가능성이 줄어들고 있다.

재현성을 보장하는 공유 데브옵스 플랫폼 활용
애자일 기법이 재현성을 훼손하지 않도록 하려면, 데이터 사이언스 팀이 공유 데브옵스 플랫폼에서 모든 작업을 처리해야 한다. 현재 수십개 업체가 이 플랫폼을 판매하고 있다. 이 플랫폼을 이용하면 AI 개발 팀이 데이터 과학 담당자가 AI 결과물 개발에 사용한 특정 프로세스의 감사 트레일을 유지할 수 있다.

데이터 과학 데브옵스 도구는 특정 프로세스나 결정에서 특정 데이터, 모델, 메타데이터, 코드 등이 적용된 방식을 정확히 기록한 로그와 관련 데이터가 담긴 ‘리치 리포지토리’로 구성된다. 또 다음과 같은 AI 파이프라인 기능을 자동화한다.

- 데이터 기반 분석 획득, 조작, 모델링, 배포 프로세스의 모든 단계를 로그로 기록
- 개발 파이프라인의 모든 단계에서 모든 데이터, 모델, 하이퍼파라미터, 메타데이터 등을 버전화
- 모든 모델링 프로세스 반복에 사용된 모든 데이터 세트, 플롯, 스크립트, 도구, 랜덤 시드 등의 사본 유지
- 각 단계가 모든 반복에서 달성한 분석 결과물에 어떻게 기여했는지 설명하는 상세한 내러티브 생성
- 모든 스크립트, 실행, 결과물과 관련, 독립 당사자에게 프로젝트 수준에서 접근성과 자체 검토성 제공

신경망 표준 프랙티스 적용
그러나 데브옵스 플랫폼과 프랙티스를 업무에 엄격히 적용해도 데이터 과학자가 의도하지 않게 ‘런 투 런(실행할 실행)’ 결과물의 재현성을 훼손할 수도 있다. 2명의 데이터 과학자가 같은 트레이닝 데이터와 머신러닝 모델 버전을 가지고 작업하는 경우에도, 개발자가 의도하지 않게 (다음 표준 신경망 모델링 프랙티스에) ’런 투 런’ 변이성을 초래하고, 그 결과 재현성이 훼손될 수 있다.

- 초기화(Initialization): 모델은 그 결과가 특정 타깃(대상) 값에 수렴할 때 유용한 결과가 나온다. 이런 프로세스를 가속하려면 특정 데이터 분포에 대한 샘플링으로 규정한 모델 초기 가중치가 필요한 경우가 많다. 이 경우, 초기 가중치를 0으로 정하는 수렴 속도가 증가하는 경우가 많다. 또한 각 실행(run)의 초기화에 무작위성이 초래된다. 그 결과, (의도하지 않게) 연구원이 다른 사람의 발견 결과를 검증하려 시도할 때 재현성이 결여되는 문제가 발생한다.

- 오더링(Ordering): 데이터 세트의 기본 패턴을 학습하는 능력을 트레이닝 동안 모델이 노출된 관찰의 순서에 부정적인 영향을 받을 수 있다. 일반적으로 데이터 과학자는 무작위로 데이터 세트를 섞은 다음 각 트레이닝을 실행하는 것이 좋은 방법이라고 생각한다. 그러나 이는 실행 동안 발견 결과의 재현성을 해치는 방법이다.

- 레이어링(Layering): 모델에 본질적으로 ‘무작위성’을 갖고 있는 레이어(계층)와 노드가 포함될 가능성이 있다. 특정 트레이닝 실행에서 숨겨진, 그리고 드러난 신경망 인풋 노드 중 일부를 제외하면서 오버피팅(Ovefitting)을 줄이는 드롭아웃(dropouts)이 대표적인 사례다. 이는 실행마다 각기 다른 레이어 동작을 생산하는 같은 인풋 샘플을 초래하는 경우가 많으며, 이는 엄격한 재현성에서 벗어난 것이다.

- 마이그레이션(Migration): 모델 라이브러리의 동작이 버전마다 미묘하게 다른 문제가 발생할 수 있다. 모델을 특정 프레임워크에서 다른 프레임워크로 마이그레이션 할 때 프론트엔드 API와 트레이닝 데이터 세트가 변경되지 않은 경우에도 이런 문제가 발생할 수 있다. 후속 단계의 머신러닝 개발자가 특정 결과 생성에 사용된 백엔드 모델링 프레임워크를 롤백할 수 없는 경우, 이로 인해 재현성이 훼손될 수 있다.

- 실행(Execution): GPU 같은 백엔드 하드웨어 가속기 버전과 구성이 같지 않은 상태에서 실행될 경우, 모델 코드가 실행 전반에 걸쳐 일관된 계산 결과를 제공하지 못할 수 있다. 나선형(Convolutional) 프로세싱 등 특정 작업에서 하드웨어 구성이 변경된 결과다. 이 또한 재현성을 해칠 수 있다. 후속 단계의 연구원이 하드웨어의 종속성을 인식하지 못하고, 변경된 작업을 끄려 시도할 경우 테스트 범위에 부정적인 영향을 초래하기 때문이다.


감사 트레일을 소홀히 하지 않기
데이터 과학자는 작업의 투명성, 감사 용이성, 접근성을 위해, 다른 사람이 이런 재현성 문제를 더 쉽게 파악할 수 있도록 해야 한다. 이런 이유로, 데이터 과학자는 애자일 기법에 (독립적으로 검증이 가능한) 충분한 감사 트레일을 남겨둬야 한다. 동료 또는 컴플라이언스 전문가가 여기에 이의를 제기하지 않는 경우도 마찬가지이다.

그러나 앞서 설명했듯, 일부 문제의 원인은 모델링과 트레이닝, 프레임워크 간 이식성, 백엔드 하드웨어 종속성 같은 미묘한 차이에서 시작된다. 결과적으로 다른 데이터 과학자의 피어 리뷰에서 쉽게 포착되지 않을 수 있다. 물론 이런 리뷰에 유능한 알고리즘, 프레임워크, 하드웨어 전문가가 참여하는 경우 가능할 수도 있다. 그러나 AI 개발이 증가하고 있으므로 이런 전문가를 찾기가 갈수록 어려워지고 있다.

앞으로도 AI 전문가에게 재현성이 큰 도전과제로 남을 것이다. 무엇보다 모든 AI 이해당사자에게 재현성의 중요성이 점점 커지고 있다. 왜냐하면 합리적인 수준에서 반복해 개발자가 주장하는 결과를 재현할 수 있음을 증명하지 못하면 모두가 이런 임베디드 지능형 자산의 자동화된 행위를 신뢰하지 않을 것이기 때문이다. ciokr@idg.co.kr 

2018.10.01

AI 대중화 최대 걸림돌··· '재현성 문제' 해법 3가지

James Kobielus | InfoWorld
많은 기업이 인공지능(AI)에서 단기간에 성과를 내려고 하다가 재현성(reproducibility) 문제에 직면한다. 특히 애자일 기법을 도입한 후 AI 재현성 문제가 더 심해진다.



재현성은 중요하다. 그래야 AI 시스템이 하는 일, 앞으로 할 일을 정확히 파악할 수 있다. 재현성이 없다면 의료 상태 진단, 트럭 운전, 보안 위협 확인, JIT(Just In Time) 생산 흐름 관리 등 중요 업무에 AI를 사용할 때 큰 위험이 뒤따를 수 있다. 데이터 과학자는 머신러닝과 딥러닝, 기타 AI 모델 개발, 트레이닝, 그리고 이러한 작업의 반복에 있어, 속도를 중시하면서 문서화를 등한시하는 경향이 있다. 그러나 특정 데이터 기반 AI 모델, 프로세스, 결정에 도달한 단계적 방법의 순서를 정확히 파악해야 재현성을 확보할 수 있다.

AI 모델을 구현한 데이터 과학자가 자신의 업무에 반복 가능한 방법을 사용하지 않았을 때, 또는 자신이 한 일을 정확히 자세하게 문서화하지 않았을 때 재현성이 결여되는 문제가 발생한다. 이런 상황에서는 최초 AI 모델 개발자나 다른 사람이 나중에 자신이 발견한 것을 재현하지 못할 수 있다. 특히 모델링 프레임워크, 하드웨어 가속기, 분산형 데이터 레이크 등 기반이 되는 AI 파이프라인 플랫폼이 모든 단계에서 진화하면서 재현성 문제가 더 커지고 있다. 그 결과, 나중에 교차 확인 단계에서 원래 플랫폼을 정확히 복제할 가능성이 줄어들고 있다.

재현성을 보장하는 공유 데브옵스 플랫폼 활용
애자일 기법이 재현성을 훼손하지 않도록 하려면, 데이터 사이언스 팀이 공유 데브옵스 플랫폼에서 모든 작업을 처리해야 한다. 현재 수십개 업체가 이 플랫폼을 판매하고 있다. 이 플랫폼을 이용하면 AI 개발 팀이 데이터 과학 담당자가 AI 결과물 개발에 사용한 특정 프로세스의 감사 트레일을 유지할 수 있다.

데이터 과학 데브옵스 도구는 특정 프로세스나 결정에서 특정 데이터, 모델, 메타데이터, 코드 등이 적용된 방식을 정확히 기록한 로그와 관련 데이터가 담긴 ‘리치 리포지토리’로 구성된다. 또 다음과 같은 AI 파이프라인 기능을 자동화한다.

- 데이터 기반 분석 획득, 조작, 모델링, 배포 프로세스의 모든 단계를 로그로 기록
- 개발 파이프라인의 모든 단계에서 모든 데이터, 모델, 하이퍼파라미터, 메타데이터 등을 버전화
- 모든 모델링 프로세스 반복에 사용된 모든 데이터 세트, 플롯, 스크립트, 도구, 랜덤 시드 등의 사본 유지
- 각 단계가 모든 반복에서 달성한 분석 결과물에 어떻게 기여했는지 설명하는 상세한 내러티브 생성
- 모든 스크립트, 실행, 결과물과 관련, 독립 당사자에게 프로젝트 수준에서 접근성과 자체 검토성 제공

신경망 표준 프랙티스 적용
그러나 데브옵스 플랫폼과 프랙티스를 업무에 엄격히 적용해도 데이터 과학자가 의도하지 않게 ‘런 투 런(실행할 실행)’ 결과물의 재현성을 훼손할 수도 있다. 2명의 데이터 과학자가 같은 트레이닝 데이터와 머신러닝 모델 버전을 가지고 작업하는 경우에도, 개발자가 의도하지 않게 (다음 표준 신경망 모델링 프랙티스에) ’런 투 런’ 변이성을 초래하고, 그 결과 재현성이 훼손될 수 있다.

- 초기화(Initialization): 모델은 그 결과가 특정 타깃(대상) 값에 수렴할 때 유용한 결과가 나온다. 이런 프로세스를 가속하려면 특정 데이터 분포에 대한 샘플링으로 규정한 모델 초기 가중치가 필요한 경우가 많다. 이 경우, 초기 가중치를 0으로 정하는 수렴 속도가 증가하는 경우가 많다. 또한 각 실행(run)의 초기화에 무작위성이 초래된다. 그 결과, (의도하지 않게) 연구원이 다른 사람의 발견 결과를 검증하려 시도할 때 재현성이 결여되는 문제가 발생한다.

- 오더링(Ordering): 데이터 세트의 기본 패턴을 학습하는 능력을 트레이닝 동안 모델이 노출된 관찰의 순서에 부정적인 영향을 받을 수 있다. 일반적으로 데이터 과학자는 무작위로 데이터 세트를 섞은 다음 각 트레이닝을 실행하는 것이 좋은 방법이라고 생각한다. 그러나 이는 실행 동안 발견 결과의 재현성을 해치는 방법이다.

- 레이어링(Layering): 모델에 본질적으로 ‘무작위성’을 갖고 있는 레이어(계층)와 노드가 포함될 가능성이 있다. 특정 트레이닝 실행에서 숨겨진, 그리고 드러난 신경망 인풋 노드 중 일부를 제외하면서 오버피팅(Ovefitting)을 줄이는 드롭아웃(dropouts)이 대표적인 사례다. 이는 실행마다 각기 다른 레이어 동작을 생산하는 같은 인풋 샘플을 초래하는 경우가 많으며, 이는 엄격한 재현성에서 벗어난 것이다.

- 마이그레이션(Migration): 모델 라이브러리의 동작이 버전마다 미묘하게 다른 문제가 발생할 수 있다. 모델을 특정 프레임워크에서 다른 프레임워크로 마이그레이션 할 때 프론트엔드 API와 트레이닝 데이터 세트가 변경되지 않은 경우에도 이런 문제가 발생할 수 있다. 후속 단계의 머신러닝 개발자가 특정 결과 생성에 사용된 백엔드 모델링 프레임워크를 롤백할 수 없는 경우, 이로 인해 재현성이 훼손될 수 있다.

- 실행(Execution): GPU 같은 백엔드 하드웨어 가속기 버전과 구성이 같지 않은 상태에서 실행될 경우, 모델 코드가 실행 전반에 걸쳐 일관된 계산 결과를 제공하지 못할 수 있다. 나선형(Convolutional) 프로세싱 등 특정 작업에서 하드웨어 구성이 변경된 결과다. 이 또한 재현성을 해칠 수 있다. 후속 단계의 연구원이 하드웨어의 종속성을 인식하지 못하고, 변경된 작업을 끄려 시도할 경우 테스트 범위에 부정적인 영향을 초래하기 때문이다.


감사 트레일을 소홀히 하지 않기
데이터 과학자는 작업의 투명성, 감사 용이성, 접근성을 위해, 다른 사람이 이런 재현성 문제를 더 쉽게 파악할 수 있도록 해야 한다. 이런 이유로, 데이터 과학자는 애자일 기법에 (독립적으로 검증이 가능한) 충분한 감사 트레일을 남겨둬야 한다. 동료 또는 컴플라이언스 전문가가 여기에 이의를 제기하지 않는 경우도 마찬가지이다.

그러나 앞서 설명했듯, 일부 문제의 원인은 모델링과 트레이닝, 프레임워크 간 이식성, 백엔드 하드웨어 종속성 같은 미묘한 차이에서 시작된다. 결과적으로 다른 데이터 과학자의 피어 리뷰에서 쉽게 포착되지 않을 수 있다. 물론 이런 리뷰에 유능한 알고리즘, 프레임워크, 하드웨어 전문가가 참여하는 경우 가능할 수도 있다. 그러나 AI 개발이 증가하고 있으므로 이런 전문가를 찾기가 갈수록 어려워지고 있다.

앞으로도 AI 전문가에게 재현성이 큰 도전과제로 남을 것이다. 무엇보다 모든 AI 이해당사자에게 재현성의 중요성이 점점 커지고 있다. 왜냐하면 합리적인 수준에서 반복해 개발자가 주장하는 결과를 재현할 수 있음을 증명하지 못하면 모두가 이런 임베디드 지능형 자산의 자동화된 행위를 신뢰하지 않을 것이기 때문이다. ciokr@idg.co.kr 

X