2021.09.29

글로벌 칼럼 | ‘머신러닝은 만능이 아니다’ ML 대신 SQL 쿼리를 써야하는 이유

Matt Asay | InfoWorld
때때로 머신러닝을 하는 가장 좋은 방법은 어떠한 머신러닝도 하지 않는 것이다. 아마존 응용 과학자 유진 얀은 “머신러닝의 첫 번째 규칙은 머신러닝 없이 시작하는 것”이라고 말했다. 무슨 뜻일까?
 
ⓒ Getty Images Bank

몇 달 동안 고된 노력을 투입해 머신러닝 모델을 공들여 만드는 것은 물론 멋진 일이다. 하지만 더 간단하고 편한 방법이 있을 때는 꼭 그렇게 할 필요가 없다.

지나친 단순화일 수도 있지만, 데이터 과학자 노아 로랑은 몇 년 전 “데이터 과학자는 대부분 산수만 한다”라고 말했다. 아주 틀린 말은 아니다. 데이터 연산 과정을 아무리 복잡하게 만들고 싶어도 시작은 간단한 것이 더 낫다는 점에서 얀과 로랑의 말은 정확하다. 


과장된 복잡함

데이터 과학자는 많은 급여를 받는다. 복잡한 전문 용어로 된 예측 분석과 다루기 힘든 모델로 고액 연봉을 정당화하고 싶어할지도 모른다. 하지만 그러지 말자. 데이터 과학에 대한 로랑의 몇 년 전 견해는 오늘날에도 유효하다. 로랑은 “기업이 겪고 있는 문제 가운데 머신러닝이 최고의 해결책이 되는 경우는 극히 일부다. 대부분은 좋은 데이터와 그 데이터가 의미하는 바만 이해하면 해결된다”라고 말했다. 로랑은 “SQL 쿼리로 데이터를 얻고, 백분위나 차이점 계산과 같은 기본적인 연산, 결과 그래프화, 결과 해석 혹은 개선사항 작성 등 간단한 방법을 추천한다”라고 덧붙였다.

이런 방법이 쉽다는 말이 아니다. 데이터로부터 통찰을 얻고 싶을 때 머신러닝이 그 시작이 되서는 안 된다는 의미다. 데이터 양이 방대할 필요도 없다. 헬스케어 업체 엘리저블(Eligible) CEO 케이틀린 글리슨은 “눈에 띄는 변칙만 관찰해도 최선의 결과를 도출할 수 있기 때문에 적은 양의 데이터로 시작하는 것이 중요하다”라고 말했다. 가끔은 뻔한 패턴을 확인하기 위한 방법만으로도 충분할 때가 있다. 인간이 패턴을 감지하고 통찰을 얻는 데에는 작은 데이터도 충분하다.

아이로봇(iRobot) 데이터 과학자 브랜든 로러의 뻔뻔스러운 제안도 놀랄 일은 아니다. 로러는 “문제가 발생했을 때 두 가지 해결책을 만들자. 멀티클라우드 쿠버네티스에서 구동되는 심층 베이시안 트랜스포머(Bayesian transformer)와 매우 간소화된 조건으로 설정된 SQL 쿼리다. 전자는 이력서에 기재하고, 후자는 업무에 활용하자. 나도 회사도 행복해지는 비결이다”라고 설명했다.

다시 말하지만, 절대 머신러닝을 사용해선 안 된다는 말이 아니다. 머신러닝이 실제 가치를 제공하는지 논쟁하는 것도 아니다. 그보다는 머신러닝의 시작과 관련된 논쟁이라고 봐야 할 것이다. ‘왜’라는 질문에 깊게 접근하기 위해 얀의 주장을 살펴볼 필요가 있다.


데이터 이해가 출발점

먼저 얀은 결정적인 요소가 주어져도 데이터에서 의미를 도출하는 것이 얼마나 어려운 것인지 알아야 한다고 말했다. 얀은 “우선 데이터가 필요하다. 그 다음은 데이터 흐름을 이끌어줄 탄탄한 시스템이다. 대부분은 고품질 데이터 라벨링이 필요할 것이다”라고 설명했다.

다시 말해 시작부터 머신러닝 모델을 적용하는 것은 도움이 되지 않을 수 있다. 문제 해결을 시작할 때에는 데이터를 먼저 이해해야 한다. 수동으로, 혹은 실용적이거나 간단한 휴리스틱 방식으로 문제를 풀어나가는 것이다. 얀은 이를 깃허브 머신러닝 엔지니어 하멜 후세인의 말을 인용해 설명했다. 후세인은 “문제 상황과 데이터에 익숙해지는 것이 문제 해결의 출발점이다”라고 말했다.

예를 들어 표로 정리된 데이터를 처리할 때에는 통계를 돌리기 위한 데이터 표본이 시작점이다. 간단한 상관관계를 시작으로 산포도 작성 등 데이터를 시각화하는 것이다. 얀은 “제품을 추천하는 복잡한 머신러닝 모델을 설계하는 것보다 전년도 인기 제품을 추천하는 것이 낫다”라고 말했다. 결과에서 패턴을 찾는 것은 나중 일이다. 이 방법은 머신러닝 개발자가 데이터와 더 친해지는 방법이며, 필요에 따라 더 좋은 머신러닝 모델을 개발하는 데 도움이 된다.

그렇다면 머신러닝이 꼭 필요하거나, 적어도 권장되는 경우는 언제일까? 기존 휴리스틱 기반 시스템으로는 운영이 버거울 때다. 얀은 “머신러닝 기반이 아닌 시스템이 합리적으로 잘 작동하면, 머신러닝 시스템을 구축하는 것보다 기존 시스템을 유지·개선하는 노력이 더 중요하다”라고 말했다.

기존 시스템 운영이 언제 버거워질지는 아무도 모르지만, 기존 시스템이 더 이상 실용적이거나 간단하지 않고, 계속 고장 난다면 머신러닝을 고려해야 할 때다. 특히 데이터 흐름이 견고하고 데이터 라벨링이 고품질이라면 머신러닝을 통해 좋은 결과를 얻을 수 있을 것이다.

복잡한 머신러닝을 개발하고 싶은 마음이 생길 수 있다. 하지만 데이터 과학자가 지녀야 할 가장 중요한 덕목은 머신러닝 대신 회귀 분석이나 조건문을 이용해야 할 때를 아는 것이다. editor@itworld.co.kr


2021.09.29

글로벌 칼럼 | ‘머신러닝은 만능이 아니다’ ML 대신 SQL 쿼리를 써야하는 이유

Matt Asay | InfoWorld
때때로 머신러닝을 하는 가장 좋은 방법은 어떠한 머신러닝도 하지 않는 것이다. 아마존 응용 과학자 유진 얀은 “머신러닝의 첫 번째 규칙은 머신러닝 없이 시작하는 것”이라고 말했다. 무슨 뜻일까?
 
ⓒ Getty Images Bank

몇 달 동안 고된 노력을 투입해 머신러닝 모델을 공들여 만드는 것은 물론 멋진 일이다. 하지만 더 간단하고 편한 방법이 있을 때는 꼭 그렇게 할 필요가 없다.

지나친 단순화일 수도 있지만, 데이터 과학자 노아 로랑은 몇 년 전 “데이터 과학자는 대부분 산수만 한다”라고 말했다. 아주 틀린 말은 아니다. 데이터 연산 과정을 아무리 복잡하게 만들고 싶어도 시작은 간단한 것이 더 낫다는 점에서 얀과 로랑의 말은 정확하다. 


과장된 복잡함

데이터 과학자는 많은 급여를 받는다. 복잡한 전문 용어로 된 예측 분석과 다루기 힘든 모델로 고액 연봉을 정당화하고 싶어할지도 모른다. 하지만 그러지 말자. 데이터 과학에 대한 로랑의 몇 년 전 견해는 오늘날에도 유효하다. 로랑은 “기업이 겪고 있는 문제 가운데 머신러닝이 최고의 해결책이 되는 경우는 극히 일부다. 대부분은 좋은 데이터와 그 데이터가 의미하는 바만 이해하면 해결된다”라고 말했다. 로랑은 “SQL 쿼리로 데이터를 얻고, 백분위나 차이점 계산과 같은 기본적인 연산, 결과 그래프화, 결과 해석 혹은 개선사항 작성 등 간단한 방법을 추천한다”라고 덧붙였다.

이런 방법이 쉽다는 말이 아니다. 데이터로부터 통찰을 얻고 싶을 때 머신러닝이 그 시작이 되서는 안 된다는 의미다. 데이터 양이 방대할 필요도 없다. 헬스케어 업체 엘리저블(Eligible) CEO 케이틀린 글리슨은 “눈에 띄는 변칙만 관찰해도 최선의 결과를 도출할 수 있기 때문에 적은 양의 데이터로 시작하는 것이 중요하다”라고 말했다. 가끔은 뻔한 패턴을 확인하기 위한 방법만으로도 충분할 때가 있다. 인간이 패턴을 감지하고 통찰을 얻는 데에는 작은 데이터도 충분하다.

아이로봇(iRobot) 데이터 과학자 브랜든 로러의 뻔뻔스러운 제안도 놀랄 일은 아니다. 로러는 “문제가 발생했을 때 두 가지 해결책을 만들자. 멀티클라우드 쿠버네티스에서 구동되는 심층 베이시안 트랜스포머(Bayesian transformer)와 매우 간소화된 조건으로 설정된 SQL 쿼리다. 전자는 이력서에 기재하고, 후자는 업무에 활용하자. 나도 회사도 행복해지는 비결이다”라고 설명했다.

다시 말하지만, 절대 머신러닝을 사용해선 안 된다는 말이 아니다. 머신러닝이 실제 가치를 제공하는지 논쟁하는 것도 아니다. 그보다는 머신러닝의 시작과 관련된 논쟁이라고 봐야 할 것이다. ‘왜’라는 질문에 깊게 접근하기 위해 얀의 주장을 살펴볼 필요가 있다.


데이터 이해가 출발점

먼저 얀은 결정적인 요소가 주어져도 데이터에서 의미를 도출하는 것이 얼마나 어려운 것인지 알아야 한다고 말했다. 얀은 “우선 데이터가 필요하다. 그 다음은 데이터 흐름을 이끌어줄 탄탄한 시스템이다. 대부분은 고품질 데이터 라벨링이 필요할 것이다”라고 설명했다.

다시 말해 시작부터 머신러닝 모델을 적용하는 것은 도움이 되지 않을 수 있다. 문제 해결을 시작할 때에는 데이터를 먼저 이해해야 한다. 수동으로, 혹은 실용적이거나 간단한 휴리스틱 방식으로 문제를 풀어나가는 것이다. 얀은 이를 깃허브 머신러닝 엔지니어 하멜 후세인의 말을 인용해 설명했다. 후세인은 “문제 상황과 데이터에 익숙해지는 것이 문제 해결의 출발점이다”라고 말했다.

예를 들어 표로 정리된 데이터를 처리할 때에는 통계를 돌리기 위한 데이터 표본이 시작점이다. 간단한 상관관계를 시작으로 산포도 작성 등 데이터를 시각화하는 것이다. 얀은 “제품을 추천하는 복잡한 머신러닝 모델을 설계하는 것보다 전년도 인기 제품을 추천하는 것이 낫다”라고 말했다. 결과에서 패턴을 찾는 것은 나중 일이다. 이 방법은 머신러닝 개발자가 데이터와 더 친해지는 방법이며, 필요에 따라 더 좋은 머신러닝 모델을 개발하는 데 도움이 된다.

그렇다면 머신러닝이 꼭 필요하거나, 적어도 권장되는 경우는 언제일까? 기존 휴리스틱 기반 시스템으로는 운영이 버거울 때다. 얀은 “머신러닝 기반이 아닌 시스템이 합리적으로 잘 작동하면, 머신러닝 시스템을 구축하는 것보다 기존 시스템을 유지·개선하는 노력이 더 중요하다”라고 말했다.

기존 시스템 운영이 언제 버거워질지는 아무도 모르지만, 기존 시스템이 더 이상 실용적이거나 간단하지 않고, 계속 고장 난다면 머신러닝을 고려해야 할 때다. 특히 데이터 흐름이 견고하고 데이터 라벨링이 고품질이라면 머신러닝을 통해 좋은 결과를 얻을 수 있을 것이다.

복잡한 머신러닝을 개발하고 싶은 마음이 생길 수 있다. 하지만 데이터 과학자가 지녀야 할 가장 중요한 덕목은 머신러닝 대신 회귀 분석이나 조건문을 이용해야 할 때를 아는 것이다. editor@itworld.co.kr


X