2017.12.20

분석으로 가는 길 "우리 회사는 어디쯤?"

Stu Bailey | InfoWorld
많은 데이터 공학자와 IT가 거치는 분석 여정에는 문제와 눈에 보이지 않는 반환점이 넘쳐난다. 모델을 위한 데이터를 캡처하는 것부터 분석을 생성하는 것까지 항상 새로운 것을 기대할 수 있다.

이번 기사에서는 분석 여정을 처음부터 끝까지 설명하고 그 과정에서 작업을 좀 더 용이하게 할 수 있는 몇 가지 우수 사례를 제시하고자 한다.

1단계: 문제 정의
분석 여정의 첫 단계는 해결하고자 하는 문제를 정의하는 것이다. 우선 조직이 직면하고 있는 어려움과 이 문제를 해결하는 방법을 파악해야 한다. 이 첫 단계를 해결하면 나머지 여정이 결정된다.

어려움과 가능한 해결책을 파악한 후에는 다음의 2가지 질문에 대한 답을 구할 수 있다. "조직에 필요한 모델의 종류는 무엇인가?" 그리고 "모델을 구축할 것인가 구매할 것인가?" 필요한 모델의 종류에 따라 다음 단계 내에서 취할 경로가 결정된다. 기본 모델이 필요한지 아니면 사용자 정의 모델이 필요한지 파악해야 한다. 그리고 원하는 모델을 결정한 후에는 구축 또는 구매 여부를 결정할 수 있다.

관련된 이점과 위험 때문에 회사를 위한 모델 구매 및 구축 시기를 파악하는 것이 매우 중요한 결정 요인이 된다. 모델을 구매하기로 선택한 경우 분석 여정의 끝이 가까워진다(노력 부분만 그럴 뿐 기다림은 끝나지 않는다). 하지만 자체 모델을 구축하기로 결정한 경우 여정의 상당 부분을 내부적으로 처리하게 된다.

2단계: 데이터 수집
모델 구축을 결정한 후에는 스스로 "적절한 데이터가 충분한가? 그렇다면 어떻게 정리할 수 있을까?"를 질문해야 한다. 모델을 위한 데이터를 수집할 때는 새로운 데이터를 수집하거나 기존 데이터를 분류할 수 있다. 

새로운 데이터를 수집하기로 결정한 경우, 데이터를 유용한 데이터 콜렉션으로 정리해야 한다. 이를 통해 특정 코드를 찾을 수 있기 때문에 이후의 여정에 도움이 된다. 

대부분의 데이터 공학자는 이를 대신에 기존의 데이터를 분류한다. 이 작업에는 약간의 시간이 소요된다. 이 부분을 용이하게 하고 나머지 여정을 매끄럽게 진행할 수 있도록 하기 위해서는 라벨을 이용해 데이터를 정리하고 관련된 것을 유지하면서 모델에 필요 없는 것을 버리며 데이터를 정리하는데 도움이 되는 기능을 설정하는 것이다.

3단계: 모델 구축하기
이제 필요한 모든 데이터가 있으니 모델 구축을 시작할 수 있다. 이 여정은 재미있지만 가끔 스트레스를 받는다. 뛰어난 모델 구축을 시작하기 전에 필요한 툴과 기능뿐만 아니라 모델 구축에 활용하고 싶은 플랫폼의 종류를 결정해야 한다.

"단일 또는 모듈식 플랫폼을 활용할 것인가?" 단일 플랫폼을 사용하기로 결정한 경우 몇 가지를 염두에 둬야 한다. 예를 들어, 필요에 적합한 모델을 구성하지 못할 수 있다. 대신에 원스톱(One-stop) 숍에 가까운 것을 얻게 된다. 필요한 모든 것이 플랫폼 내부에 있지만 모델은 구성의 부재로 인해 존재하는 제약을 준수해야 한다.

단일 플랫폼이 효과가 없다면 모듈식 접근방식을 선택하는 좀 더 현대적인 경로가 있다. 모듈식 접근방식을 통해 모델에 필요한 기능을 변경할 수 있다. 모델을 구성할 수 있는 능력이 있으면 나중에 모델을 사용할 때 더욱 잘 조정할 수 있는 이점이 있다.

4단계: 모델 훈련과 테스트하기
모델을 개발하면서 반드시 지속적으로 테스트해 오류를 확인해야 한다. "모델을 적절히 훈련하고 테스트했는가?" 모델에 오류가 없고 계획대로 운영되도록 하면 배치 속도가 높아질 수 있다. 또한 모델을 IT로 송부하기 전에 코드를 검토해야 잘 작성된 모델을 생성할 수 있다.

"코드가 읽을 수 없는 숫자들로 구성되어 있는가? 아니면 잘 정리되어 있는가?" 기술적인 코드를 확보하면 IT가 모델을 인코딩(Encoding)한 후 재코딩(Recoding)하는 작업이 용이해진다.

5단계: 모델 배치하기
모델의 버그(Bug)를 없앤 후에는 배치를 위해 IT로 송부할 수 있다. 스스로 대비한다. 이 여정의 지루한 부분인 경우가 많지만 잘 작성한 모델을 생산에 배치하기 위해 필요하다.

모델을 IT로 송부하기 위해 준비하면서 스스로 몇 가지를 질문해야 한다. "모델이 IT와 어떻게 조화를 이룰까?", "익숙하지 않은 도구와 언어를 사용했는가?" 분석 여정 중 데이터공학자들로부터 IT로 모델을 배치하는 부분이 더 길다. 이 시간 지연은 다양한 요소로 인해 발생하지만 데이터 공학자와 IT가 상호 구성되지 않는 다양한 도구와 소스를 사용한다는 점이다.

모델을 생산에 배치할 때 매끄러운 여정을 위해서는 데이터를 인코딩할 수 있는 외부 엔진을 활용해야 한다. 이 활동을 통해 모델을 읽을 수 없기 때문에 인코딩하고 재송부하느라 허비하는 시간을 줄일 수 있다.

이 모든 단계를 성공적으로 완료하면 발생하는 모든 문제를 해결할 준비가 완료된 성능 좋은 모델을 갖게 된다. editor@itworld.co.kr  


2017.12.20

분석으로 가는 길 "우리 회사는 어디쯤?"

Stu Bailey | InfoWorld
많은 데이터 공학자와 IT가 거치는 분석 여정에는 문제와 눈에 보이지 않는 반환점이 넘쳐난다. 모델을 위한 데이터를 캡처하는 것부터 분석을 생성하는 것까지 항상 새로운 것을 기대할 수 있다.

이번 기사에서는 분석 여정을 처음부터 끝까지 설명하고 그 과정에서 작업을 좀 더 용이하게 할 수 있는 몇 가지 우수 사례를 제시하고자 한다.

1단계: 문제 정의
분석 여정의 첫 단계는 해결하고자 하는 문제를 정의하는 것이다. 우선 조직이 직면하고 있는 어려움과 이 문제를 해결하는 방법을 파악해야 한다. 이 첫 단계를 해결하면 나머지 여정이 결정된다.

어려움과 가능한 해결책을 파악한 후에는 다음의 2가지 질문에 대한 답을 구할 수 있다. "조직에 필요한 모델의 종류는 무엇인가?" 그리고 "모델을 구축할 것인가 구매할 것인가?" 필요한 모델의 종류에 따라 다음 단계 내에서 취할 경로가 결정된다. 기본 모델이 필요한지 아니면 사용자 정의 모델이 필요한지 파악해야 한다. 그리고 원하는 모델을 결정한 후에는 구축 또는 구매 여부를 결정할 수 있다.

관련된 이점과 위험 때문에 회사를 위한 모델 구매 및 구축 시기를 파악하는 것이 매우 중요한 결정 요인이 된다. 모델을 구매하기로 선택한 경우 분석 여정의 끝이 가까워진다(노력 부분만 그럴 뿐 기다림은 끝나지 않는다). 하지만 자체 모델을 구축하기로 결정한 경우 여정의 상당 부분을 내부적으로 처리하게 된다.

2단계: 데이터 수집
모델 구축을 결정한 후에는 스스로 "적절한 데이터가 충분한가? 그렇다면 어떻게 정리할 수 있을까?"를 질문해야 한다. 모델을 위한 데이터를 수집할 때는 새로운 데이터를 수집하거나 기존 데이터를 분류할 수 있다. 

새로운 데이터를 수집하기로 결정한 경우, 데이터를 유용한 데이터 콜렉션으로 정리해야 한다. 이를 통해 특정 코드를 찾을 수 있기 때문에 이후의 여정에 도움이 된다. 

대부분의 데이터 공학자는 이를 대신에 기존의 데이터를 분류한다. 이 작업에는 약간의 시간이 소요된다. 이 부분을 용이하게 하고 나머지 여정을 매끄럽게 진행할 수 있도록 하기 위해서는 라벨을 이용해 데이터를 정리하고 관련된 것을 유지하면서 모델에 필요 없는 것을 버리며 데이터를 정리하는데 도움이 되는 기능을 설정하는 것이다.

3단계: 모델 구축하기
이제 필요한 모든 데이터가 있으니 모델 구축을 시작할 수 있다. 이 여정은 재미있지만 가끔 스트레스를 받는다. 뛰어난 모델 구축을 시작하기 전에 필요한 툴과 기능뿐만 아니라 모델 구축에 활용하고 싶은 플랫폼의 종류를 결정해야 한다.

"단일 또는 모듈식 플랫폼을 활용할 것인가?" 단일 플랫폼을 사용하기로 결정한 경우 몇 가지를 염두에 둬야 한다. 예를 들어, 필요에 적합한 모델을 구성하지 못할 수 있다. 대신에 원스톱(One-stop) 숍에 가까운 것을 얻게 된다. 필요한 모든 것이 플랫폼 내부에 있지만 모델은 구성의 부재로 인해 존재하는 제약을 준수해야 한다.

단일 플랫폼이 효과가 없다면 모듈식 접근방식을 선택하는 좀 더 현대적인 경로가 있다. 모듈식 접근방식을 통해 모델에 필요한 기능을 변경할 수 있다. 모델을 구성할 수 있는 능력이 있으면 나중에 모델을 사용할 때 더욱 잘 조정할 수 있는 이점이 있다.

4단계: 모델 훈련과 테스트하기
모델을 개발하면서 반드시 지속적으로 테스트해 오류를 확인해야 한다. "모델을 적절히 훈련하고 테스트했는가?" 모델에 오류가 없고 계획대로 운영되도록 하면 배치 속도가 높아질 수 있다. 또한 모델을 IT로 송부하기 전에 코드를 검토해야 잘 작성된 모델을 생성할 수 있다.

"코드가 읽을 수 없는 숫자들로 구성되어 있는가? 아니면 잘 정리되어 있는가?" 기술적인 코드를 확보하면 IT가 모델을 인코딩(Encoding)한 후 재코딩(Recoding)하는 작업이 용이해진다.

5단계: 모델 배치하기
모델의 버그(Bug)를 없앤 후에는 배치를 위해 IT로 송부할 수 있다. 스스로 대비한다. 이 여정의 지루한 부분인 경우가 많지만 잘 작성한 모델을 생산에 배치하기 위해 필요하다.

모델을 IT로 송부하기 위해 준비하면서 스스로 몇 가지를 질문해야 한다. "모델이 IT와 어떻게 조화를 이룰까?", "익숙하지 않은 도구와 언어를 사용했는가?" 분석 여정 중 데이터공학자들로부터 IT로 모델을 배치하는 부분이 더 길다. 이 시간 지연은 다양한 요소로 인해 발생하지만 데이터 공학자와 IT가 상호 구성되지 않는 다양한 도구와 소스를 사용한다는 점이다.

모델을 생산에 배치할 때 매끄러운 여정을 위해서는 데이터를 인코딩할 수 있는 외부 엔진을 활용해야 한다. 이 활동을 통해 모델을 읽을 수 없기 때문에 인코딩하고 재송부하느라 허비하는 시간을 줄일 수 있다.

이 모든 단계를 성공적으로 완료하면 발생하는 모든 문제를 해결할 준비가 완료된 성능 좋은 모델을 갖게 된다. editor@itworld.co.kr  


X