Kaggle 등수는 실력에 대한 보증수표인가?

0
1300

미국에서 10년 살면서 초,중,고를 나오고 에세이 수상 받은 실력으로 프린스턴 대학교 영문학과에 입학했습니다.

vs.

토익 990점을 10번이나 받았습니다

위의 두 사람 중 어떤 분의 영어 실력이 더 뛰어날까? 아마 프린스턴 영문과 친구가 토익 990점을 못 받으면 말하기 좋아하는 사람들은 “프린스턴 영문과 별 거 없네” 같은 깎아내리는 소리들을 할 것이다.

고급 영어 문장으로 자기의 생각을 표현하고, 영어 Native speaker들과 복잡한 의사소통을 원활하게 하고, 학문적인 영어를 구사할 수 있는 사람은 분명히 윗 분일 확률이 매우 높지만, 영국만 영어를 쓰고 미국은 영어를 쓰는 줄 모르는 사람, 프린스턴 대학이 전세계 최고의 명문 대학 중 하나라는 사실을 모르는 사람에게 위의 정보는 영어 실력에 대한 가늠자가 될 수 없다.

(사실 우리나라 대기업들이 유럽의 명문 대학들을 같은 이유로 굉장히 저평가한다. 유럽인들이 알게되면 자존심에 상처를 입을 정도로.)

오히려 한국처럼 토익 점수로 영어 실력을 가늠하는게 일상화된 나라에서는 토익 990점을 10번 받은 모 쪽집게학원 출신이 토익 950점 정도 밖에 못(!)받은 Native speaker보다 더 영어 실력이 뛰어나다고 판단할 것이다.

 

Kaggle 등수 산정 방식

어떤 모델이 잘 만든 모델인지 판단하는 방법은 뭐가 있을까?

  • Accuracy: 99% 맞다 vs. 80% 맞다
  • Precision, Recall: 100% + 1% 조합 vs. 80% + 80%조합
  • 모델링 논리구조: 단순 Gradient Boosting vs. 입출력값의 상관관계가 수학적으로 구조화된 모델
  • Robustness: Test셋 데이터로 검증 vs. 데이터 오차 및 변수 변경에 따른 영향 정리한 표

위의 2가지 경우를 놓고 보자. 아마 Kaggle에 0/1찾는 Classification 문제를 하나 골라서 두 가지 결론을 입력하면, 아마 첫번째는 1등 근처의 매우 높은 등수를 받을 것이고, 2번째는 랭킹 몇 백위 권에 진입하기도 힘들 것이다.

근데

  • 과연 첫번째 모델을 만든 사람이 제대로 된 지식을 가진 사람이라고 할 수 있을까?
  • 회사가서 제대로 모델을 만들 수는 있는 사람일까?

지원자가 갖춘 지식이 첫번째 모델 수준에 그쳐있다면 절대로 뽑아서는 안 되는 Data Scientist다. 조금만 복잡해보이는 Noise 처리 작업만 부탁해도 바로 일 못하고 도망가는 사람이 될 것이기 때문이다. 아니면 엉망진창인 결과물을 내놓으면서 “딥러닝을 써도 이렇게 밖에 못 하네요”라고 대답하겠지. 마치 딥러닝이 최후의 보루인 것처럼 착각하고선.

참고로 위의 4개 포인트는 각각 1,2,3,4 차원의 모델링 평가법이다. 1차원적인 정보, 잘해봐야 2차원적인 정보로 등수를 산정하는 Kaggle에 학자들이 자기 연구의 에센스인 3차, 4차의 논증과 고민을 담은 포스팅을 할 이유가 없는 게 어쩌면 당연한 것 같다. 영어권 교육을 10년이나 받은 사람이 굳이 토익 시험을 치려고 들지 않는 것처럼…, 아니 토익 시험 점수가 아무리 990점이어도 영어실력에 대한 보증을 못하는 것처럼…

(Note: 얼마나 많은 개발자들이 전문가 무시하고 구글링한 정보에만 의존했으면 이런 패러디가 나올까…)

학교에서 교육을 받는 방식

학교에서 제대로 된 교육을 받으면 첫번째 결과물을 내는 학생에게 F를 주는데서 그치는게 아니라, 너 잘못 뽑았으니 학교 그만둬라고 학장 면담이 바로 이뤄질 것이다. 박사시절, 석사과목 숙제 채점하던 조교였던 필자가 그런 보고를 올리니까 실제로 있었던 사건이기도 하니까 꽤나 자신을 갖고 이야기할 수 있다.

학문을 제대로 교육 받으면 두번째 스타일의 과제제출을 하면서 수 많은 생각들을 할 수 밖에 없다. 샘플링은 제대로 했는지, 일부러 Biased sample을 뽑는게 더 맞는게 아닌지, 수학 모델의 논리 구조는 제대로 잡힌건지, 어떤 side effect가 생길지, 특정 변수의 파워를 다르게 끼우려면 내 모델은 어떻게 변경되는지 등등 무수히 많은 요소를 3번째 꼭지에서 고민해야한다. 이걸 고민 안 하고 덜렁 과제를 제출하면 교수님들께 맹폭격을 맞고 C학점이 찍힐 확률이 매우매우 높기 때문이다.

첫번째 결과물을 만들어도 된다면 애시당초 학문이라는 것도 존재하지 않았을지도 모른다.

원래 학교랑 직장이랑 다른 결과물을 쓰는거라고? 학교에서 C도 아니고 F를 받는 지식을 직장에서 쓰고 월급을 받아간다? 그 직업군은 도대체 어떻게 된 직업군이고, 그 직장은 도대체 어떻게 된 직장인가?

(첨언. “뭐하러 돈 주고 배우냐, 인터넷으로 뒤져보면 되는데”라는 말을 안 듣고 수업 찾아오길 정말 잘한 것 같다며, “전생의 기억”을 소환해가며 들어야했던 수업이다, 까먹은 걸 다시 떠올리기가 참 어려웠다데이터 사이언스 강의 후기를 생각해보면, 우리나라 IT업계의 많은 분들이 인터넷에서 쪽집게 기출문제 찾아서 990점만 받으면 되지, 굳이 멋있는 영어 구사해야되냐는 관점, 실력주의 관점이 아니라 겉모양 관점을 갖고 있기 때문이지 않을까 싶다. IT업계 전반에 그런 생각이 퍼져있기는 하니까.)

 

회사들이 인재 채용하는 방식

거의 대부분의 일반 회사들이 Data Science 분야에서 진짜 실력을 가늠할 수 있는 실력자를 회사에 보유하고 있질 않다. 그래서 눈에 보이는 Kaggle 등수 높은 프로젝트 많은 사람을 뽑는 경우가 흔하단다.

그래서 데이터 사이언스 강의할 때 농담처럼 이야기한다. Kaggle 등수로 뽑는 회사 지원하려면 그냥 Gradient Boosting만 적용해라고. 어차피 수학 지식도 거의 필요없는 모델이니까, 그냥 컴퓨터 학대만 하루 이틀하면 높은 등수 받을 수 있다고. 실제로 Classification 모델들 보면 상위 10등이 모두 Gradient Boosting을 쓴 경우가 허다하다.

물론 모든 회사가 역량 부족으로 TOEIC 점수로 영어 실력을 판단하는 우를 범하지는 않는다. 좀 제대로 된 회사라면 영어 면접으로 날카로운 질문도 던져보고, 비지니스 프리젠테이션도 시킨다. 마찬가지로, 역량을 갖춘 회사라면 Data Scientist 면접 볼 때 Kaggle 등수 대신 제대로 된 수리통계학 질문을 한다. 머신러닝이라는게 결국 계산통계학인데, 계산 부분은 워낙 퍼져있는 알고리즘이 많으니, 결국 실력을 가늠하는 잣대는 수리통계학 모델링 지식 & 범위이기 때문이다.

(Note: 잘못된 권위에 호소하는 오류)

나가며 – 가짜 권위가 무너져야…

세상에는 참 많은 가짜 권위가 있다. 그 가짜 권위는 지식과 정보의 격차가 사라지면 무너지기 마련이다. 가짜였으니까. (MBA가 마치 엄청난 권위인 줄 알았는데, 그냥 돈으로 학벌세탁하는 프로그램이라는걸 요즘 사람들은 다 인지하고 있지 않나?)

파비의 사업모델이 데이터 사이언스에 기반해있기 때문에 꾸준히 이쪽 업계에 잘못된 정보를 퍼뜨리는 사람들을 지적하는 글을 써 왔다. 각종 오해 속에 회사 홍보를 제대로 해야할 필요가 있었기 때문이다. 꼼꼼한 지적에 누군가는 상처를 받은 사람도 있고, 또 누군가는 자기더러 틀렸다고 지적해서 악감정에 파비 욕을 하고 다니는 사람들도 있다. 근데, 애시당초 가짜 권위가 없었다면 이런 글을 써야할 이유가 있었을까? 상처를 받을 이유도 없었고, 악감정에 우리 회사 욕을 하실 이유도 없었을 것이다. 보통의 지식 커뮤니티가 그렇듯이, 차라리 필요한 공부를 더 하기 위해 어떤 지식이 필요한지 정보 공유 위주로 흘러갔을테니까.

Kaggle보다 학위와 논문과 내공이 더 인정받을 수 있는 세상, 가짜 권위가 인정받지 못하는 세상이 좀 더 빨리 왔으면 좋겠다.