2017.08.07

머신러닝을 시작하는 방법, "텐서플로우를 통해 머신러닝을 자사의 DNA에 각인시켜라"

Matt Asay | InfoWorld
머신러닝은 무언가를 구매하는 것이 아니라 자신이 해야 하는 일이다. 텐서플로우(TensorFlow)를 사용해 머신러닝을 경험하고 자신의 DNA에 각인시켜야 한다.


Credit: Getty Images Bank

가트너는 대부분의 조직이 머신러닝에 대해 꿈만 꾸고 있으며, 15% 미만의 기업만이 성공적으로 수행할 수 있을 것으로 예측했다. 그럼에도 불구하고 기업은 이제 머신러닝 경험을 통해 자신의 DNA에 각인시켜야 한다.

맵알(MapR) 수석 애플리케이션 아키텍트 테드 더닝은 "머신러닝이 쉽다고 생각한다면 완전히 헛짚었다. 머신러닝 기술을 구매할 수 있는 것이라고 생각한다면 성공할 가능성이 없다"고 잘라 말했다.

더닝은 "머신러닝과 이를 생산에 적용하는 방법을 알지 못하면 그건 아마도 기업의 라이프사이클에 추가해야 할 복잡성을 이해하지 못한 것이다. 반대로 이전에 머신러닝 작업을 해 본 적이 있다면 잘 수행된 머신러닝은 확실히 놀랄만큼 큰 차별화 요소가 될 수 있다"고 말했다.

텐서플로우와 같은 오픈소스 프로젝트는 기업의 머신러닝 성공 가능성을 획기적으로 향상시킬 수 있다. 텐서플로우는 첨단 수학 교육을 받지 않은 사람들이 복잡하고 때로는 유용한 모델을 개발할 수 있게 해준다. 대부분의 조직에게 텐서플로우나 이와 유사한 프로젝트는 머신러닝을 위한 최상의 진입 방법으로 의미가 있다.

머신러닝, 숨겨져 있는 함정과 복잡성으로 준비없이는 실패   
더닝은 "머신러닝은 표준 소프트웨어 엔지니어링 방식으로는 제대로 처리할 수 없는 새로운 장애가 뒤따르기 때문에 성공율은 매우 낮다. 성공적인 데이터옵스(dataops) 팀은 복잡한 의사 소통과 여러가지 개발 프로세스를 필요로 한다"고 설명했다.

더닝은 "머신러닝 시스템에는 숨겨져 있는 함정과 매우 미묘한 의존성을 가질 수 있는 현실이 존재한다. 이것이 복잡성이 결합되면 완벽하게 잘못된 길로 빠지게 된다"고 충고했다.

누구보다 머신러닝의 결과와 함정에 대해 잘 알고 있는 구글은 머신러닝을 사용하면서 발생하는 시스템의 숨겨진 기술적 문제에 대해 보고했다. 구글 측은 "실제 머신러닝 시스템은 엄청난 유지보수 비용이 발생하는 것이 일반적이다. 이와 함께 따라오는 리스크는 경계 침식, 숨겨진 피드백 루프, 불명확한 소비자, 데이터 종속성, 구성 문제, 외부 세계의 변화, 그리고 다양한 시스템 수준의 반패턴 등이다"고 강조했다.

그리고 이는 단지 시작에 불과하다. 당연히 소프트웨어 엔지니어링 팀은 일반적으로 이런 복잡성을 처리할 준비가 되어 있지 않기 때문에 상당히 심각한 실패를 맛볼 수 있다. 복잡성을 극복하기 위해서는 견고하고 포괄적인 플랫폼이 매우 중요한 구성요소다.

더닝은 "전적으로 자사 고객의 가치 창출에 초점을 맞춰야 하며, 자사 데이터에 초점을 맞추고 고객이 인식하는 가치로 이끌 수 있는 방법과 함께 자사에 필요한 모든 역량을 가진 플랫폼을 갖추지 않았다면 이를 성공으로 이끌 수 없다"고 말했다.

머신러닝을 가능케하는 텐서플로우의 4가지 방법
개발자를 위한 공통된 통화인 오픈소스는 빅데이터에서 보다 더 중요한 역할을 수행해왔다. 그럼에도 불구하고 더닝은 "최근 오픈소스 프로젝트가 결코 실제 머신러닝의 최첨단을 이끈 적이 없다"고 주장했다. 구글의 텐서플로우 도입으로 지각 변동이 시작됐다.

그러나 더닝의 주장이 가페(Caffe), 엠엑스넷(Mxnet), 그리고 CNTK는 물론 텐서플로우 머신러닝의 기반을 흔들만큼 중요한 것은 아니다. 정말 중요한 것은 매우 중요한 프로젝트를 수행할 만큼 1)강력하고, 2)널리 받아들여져 광범위하게 사용되고, 3)첨단 수학에서 충분한 추상화를 제공하는 프레임워크가 있다는 것이다.

그의 첫번째 요지는 아주 쉽다. 실제 머신러닝 프로젝트를 수행할 수 있는 강력한 힘이라는 것은 아주 단순한 모델로 제한한 것은 머신러닝 혁명으로 가는 길이 아니다.

그러나 두번째 요점은 놀랍다. 많은 사람, 즉 초보자들도 간단한 예를 사용할만큼 쉬워야 하며, 다양한 문제를 다루는 다양한 팀이 시스템을 사용할 수 있어야 한다는 것이다. 이를 위해서는 머신러닝 구현에 있어 표준이 되는 시스템이 필요하다.

더닝의 세번째 요점인 추상화는 매우 중요한 것이다. 이를 통해 고급 수학을 배우지 않은 사람들도 복잡하고 때로는 유용한 모델을 구축할 수 있게 된다.

텐서플로우와 이와 유사한 오픈소스 프로젝트를 통해 팀은 반복과 실험을 거쳐 머신러닝을 성공적으로 구현할 수 있는 새로운 기술을 습득할 수 있다. 오픈소스 코드로 손을 더럽히지 않고서는 새로운 역량을 가질 수 없다. 마지막으로 성공적인 머신러닝 전개를 위해서는 팀이 일하는 방식에 대해 좀더 깊게 연구할 필요가 있다.

실제 머신러닝의 성공은 예를 들어, IBM이 왓슨(Watson)을 어떻게 생각하는 지와 상관없이 기성 소프트웨어 패키지에서 얻을 수 있는 것은 아니다.

실제 머신러닝을 하기 위한 권장 사항
실제 머신러닝을 시작할 준비가 된 사람들을 위해 텐서플로우는 시작하기 좋은 방법이다. 이 여정을 시작하면서 더닝은 다음과 같은 두 가지 권장 사항을 제시했다.

먼저 물류 문제, 모델 전송 프레임워크, 매트릭스, 그리고 모델 평가의 우선 순위를 결정한다. 모델과 좋은 데이터, 그리고 모델 실행 파이프라인을 갖고 있지 않다면 실패할 것이다.

둘째, 모델의 신화를 폐기하라. 생산 적용 시 하나의 기능을 위한 하나의 모델을 가진다는 것을 버려라. 여러 기능을 위한 여러가지 모델을 사용할 것이며, 미묘한 상호작용을 갖고 가야 한다. 그리고 하나의 모델을 실행할 수 있기 위해서는 꽤 많은 시간을 들여야 한다는 점도 잊어서는 안된다. editor@itworld.co.kr  

2017.08.07

머신러닝을 시작하는 방법, "텐서플로우를 통해 머신러닝을 자사의 DNA에 각인시켜라"

Matt Asay | InfoWorld
머신러닝은 무언가를 구매하는 것이 아니라 자신이 해야 하는 일이다. 텐서플로우(TensorFlow)를 사용해 머신러닝을 경험하고 자신의 DNA에 각인시켜야 한다.


Credit: Getty Images Bank

가트너는 대부분의 조직이 머신러닝에 대해 꿈만 꾸고 있으며, 15% 미만의 기업만이 성공적으로 수행할 수 있을 것으로 예측했다. 그럼에도 불구하고 기업은 이제 머신러닝 경험을 통해 자신의 DNA에 각인시켜야 한다.

맵알(MapR) 수석 애플리케이션 아키텍트 테드 더닝은 "머신러닝이 쉽다고 생각한다면 완전히 헛짚었다. 머신러닝 기술을 구매할 수 있는 것이라고 생각한다면 성공할 가능성이 없다"고 잘라 말했다.

더닝은 "머신러닝과 이를 생산에 적용하는 방법을 알지 못하면 그건 아마도 기업의 라이프사이클에 추가해야 할 복잡성을 이해하지 못한 것이다. 반대로 이전에 머신러닝 작업을 해 본 적이 있다면 잘 수행된 머신러닝은 확실히 놀랄만큼 큰 차별화 요소가 될 수 있다"고 말했다.

텐서플로우와 같은 오픈소스 프로젝트는 기업의 머신러닝 성공 가능성을 획기적으로 향상시킬 수 있다. 텐서플로우는 첨단 수학 교육을 받지 않은 사람들이 복잡하고 때로는 유용한 모델을 개발할 수 있게 해준다. 대부분의 조직에게 텐서플로우나 이와 유사한 프로젝트는 머신러닝을 위한 최상의 진입 방법으로 의미가 있다.

머신러닝, 숨겨져 있는 함정과 복잡성으로 준비없이는 실패   
더닝은 "머신러닝은 표준 소프트웨어 엔지니어링 방식으로는 제대로 처리할 수 없는 새로운 장애가 뒤따르기 때문에 성공율은 매우 낮다. 성공적인 데이터옵스(dataops) 팀은 복잡한 의사 소통과 여러가지 개발 프로세스를 필요로 한다"고 설명했다.

더닝은 "머신러닝 시스템에는 숨겨져 있는 함정과 매우 미묘한 의존성을 가질 수 있는 현실이 존재한다. 이것이 복잡성이 결합되면 완벽하게 잘못된 길로 빠지게 된다"고 충고했다.

누구보다 머신러닝의 결과와 함정에 대해 잘 알고 있는 구글은 머신러닝을 사용하면서 발생하는 시스템의 숨겨진 기술적 문제에 대해 보고했다. 구글 측은 "실제 머신러닝 시스템은 엄청난 유지보수 비용이 발생하는 것이 일반적이다. 이와 함께 따라오는 리스크는 경계 침식, 숨겨진 피드백 루프, 불명확한 소비자, 데이터 종속성, 구성 문제, 외부 세계의 변화, 그리고 다양한 시스템 수준의 반패턴 등이다"고 강조했다.

그리고 이는 단지 시작에 불과하다. 당연히 소프트웨어 엔지니어링 팀은 일반적으로 이런 복잡성을 처리할 준비가 되어 있지 않기 때문에 상당히 심각한 실패를 맛볼 수 있다. 복잡성을 극복하기 위해서는 견고하고 포괄적인 플랫폼이 매우 중요한 구성요소다.

더닝은 "전적으로 자사 고객의 가치 창출에 초점을 맞춰야 하며, 자사 데이터에 초점을 맞추고 고객이 인식하는 가치로 이끌 수 있는 방법과 함께 자사에 필요한 모든 역량을 가진 플랫폼을 갖추지 않았다면 이를 성공으로 이끌 수 없다"고 말했다.

머신러닝을 가능케하는 텐서플로우의 4가지 방법
개발자를 위한 공통된 통화인 오픈소스는 빅데이터에서 보다 더 중요한 역할을 수행해왔다. 그럼에도 불구하고 더닝은 "최근 오픈소스 프로젝트가 결코 실제 머신러닝의 최첨단을 이끈 적이 없다"고 주장했다. 구글의 텐서플로우 도입으로 지각 변동이 시작됐다.

그러나 더닝의 주장이 가페(Caffe), 엠엑스넷(Mxnet), 그리고 CNTK는 물론 텐서플로우 머신러닝의 기반을 흔들만큼 중요한 것은 아니다. 정말 중요한 것은 매우 중요한 프로젝트를 수행할 만큼 1)강력하고, 2)널리 받아들여져 광범위하게 사용되고, 3)첨단 수학에서 충분한 추상화를 제공하는 프레임워크가 있다는 것이다.

그의 첫번째 요지는 아주 쉽다. 실제 머신러닝 프로젝트를 수행할 수 있는 강력한 힘이라는 것은 아주 단순한 모델로 제한한 것은 머신러닝 혁명으로 가는 길이 아니다.

그러나 두번째 요점은 놀랍다. 많은 사람, 즉 초보자들도 간단한 예를 사용할만큼 쉬워야 하며, 다양한 문제를 다루는 다양한 팀이 시스템을 사용할 수 있어야 한다는 것이다. 이를 위해서는 머신러닝 구현에 있어 표준이 되는 시스템이 필요하다.

더닝의 세번째 요점인 추상화는 매우 중요한 것이다. 이를 통해 고급 수학을 배우지 않은 사람들도 복잡하고 때로는 유용한 모델을 구축할 수 있게 된다.

텐서플로우와 이와 유사한 오픈소스 프로젝트를 통해 팀은 반복과 실험을 거쳐 머신러닝을 성공적으로 구현할 수 있는 새로운 기술을 습득할 수 있다. 오픈소스 코드로 손을 더럽히지 않고서는 새로운 역량을 가질 수 없다. 마지막으로 성공적인 머신러닝 전개를 위해서는 팀이 일하는 방식에 대해 좀더 깊게 연구할 필요가 있다.

실제 머신러닝의 성공은 예를 들어, IBM이 왓슨(Watson)을 어떻게 생각하는 지와 상관없이 기성 소프트웨어 패키지에서 얻을 수 있는 것은 아니다.

실제 머신러닝을 하기 위한 권장 사항
실제 머신러닝을 시작할 준비가 된 사람들을 위해 텐서플로우는 시작하기 좋은 방법이다. 이 여정을 시작하면서 더닝은 다음과 같은 두 가지 권장 사항을 제시했다.

먼저 물류 문제, 모델 전송 프레임워크, 매트릭스, 그리고 모델 평가의 우선 순위를 결정한다. 모델과 좋은 데이터, 그리고 모델 실행 파이프라인을 갖고 있지 않다면 실패할 것이다.

둘째, 모델의 신화를 폐기하라. 생산 적용 시 하나의 기능을 위한 하나의 모델을 가진다는 것을 버려라. 여러 기능을 위한 여러가지 모델을 사용할 것이며, 미묘한 상호작용을 갖고 가야 한다. 그리고 하나의 모델을 실행할 수 있기 위해서는 꽤 많은 시간을 들여야 한다는 점도 잊어서는 안된다. editor@itworld.co.kr  

X