Job Search를 최근에 마무리했습니다. 여러 회사와의 Interview를 거쳐 Microsoft Bing에서 시작하는 것으로 결정했습니다. 제가 대학원에서 가장 값진 배움의 장으로 기억될만한 시간이었고, 결과적으로도 만족스럽습니다. 제 노력만으로 얻은 결과가 아님을 알기에, 여러 분들께 감사하는 마음입니다. 


Bing으로 결정한 몇가지 이유는 다음과 같습니다. 1) 다른 회사의 오퍼가 모두 Engineering 포지션이었던 반면 Bing에서는 Engineering / Research에 걸치는 Applied Researcher로 오퍼를 받았습니다. 2) 최근 Incremental한 개선에 주력하는 구글에 비해 Bing은 시장을 장악한 구글의 아성에 도전해야 하는 입장으로, 혁신적인 시도를 계속하고 있습니다. 3) 세계 최고수준의 연구진을 갖춘 Microsoft Research의 여러 그룹와 긴밀하게 일할 수 있으며, 지난 두번의 여름을 보낸 Seattle / Pacific Northwest라는 환경도 매력적이었습니다. 


Bing에서 제가 시작하게 될 팀은 검색 품질을 평가하는 업무를 담당합니다. 예전에 언급했지만 검색 성능의 평가는 정보검색 (IR) 연구 및 응용의 핵심에 해당합니다. 끊임없이 변화하는 환경에서 검색자의 마음을 읽어야하는 검색엔진 입장에서 객관적이고(unbiased) 포괄적인(comprehensive) 평가 기법과 척도를 갖는 것은 지속적인 개선과 혁신에 방향타를 제공하는 일이기 때문입니다. 


2009년 런칭후 Bing이 지속하고 있는 혁신 작업에도 제대로 된 평가는 중요한 역할을 합니다. 전통적인 웹 검색엔진이 ten blue link라는 이름의 문서 랭킹 및 평가에만 주력했다면, 최근 검색엔진은 사용자의 의도에 맞는 다양한 컨텐츠를 결과화면에 보여주고 있기에, 이러한 페이지 전체를 평가하는 기법이 Bing 및 MSR 연구자들에 의해 발표되었습니다. 


최근까지 검색 업계의 화두인 실시간 및 개인화 검색의 평가역시, 질의의 시점 및 사용자에 따라 적합한 문서가 다르다는 특성이 기존의 offline 평가기법의 도입을 어렵게 합니다. 이를 보완하는 다양한 online 평가기법이 개발되어 사용되고 있지만, 아직 개선의 여지가 많습니다. 또한 결국은 online과 offline이 결합되어야 온전한(holistic) 평가가 이루어지기에, 이종의 평가 방법론 및 지표를 결합하는 것도 중요한 문제입니다.


마지막으로, 최근 Bing에서는 Facebook 친구들과 협력하여 검색을 할 수 있는 Social / Collaborative Search를 내놓았습니다. 사용자 혼자 끊임없는 문서 목록을 상대해야 하는 기존 모델에 비해 분명 장점을 가진 모델이지만, 역시 이런 변화가 전통적인 방식에 비해 얼마나 검색을 쉽고 빠르게 (또한 재미있게;) 하는지를 평가하는 것은 흥미있는 문제입니다. 전통적인 검색 모델에 개인화 및 인터렉션을 통해 좀더 사용자에게 친화적인 검색을 구현하고자 했던 그동안의 연구를 세계 제 2의 검색엔진에 접목해볼 수 있는 기회라고 생각합니다. 


p.s. 다음주부터 약 2주간 서울에 머무를 예정입니다. 한국에 있는 동안 몇몇 대학 및 기업체에서 발표를 할 예정이지만, 이와 별도로 검색, 추천, 기계학습, 자연어처리를 포함한 Data Science 전반에 관심을 가진 분들과 주제 발표 및 식사를 통해 교류하는 자리를 만들어볼까 합니다. 


정확한 일정 및 세부 사항은 추후 다시 공지하겠지만, 참석 의사가 있으신 분들은 jykim@cs.umass.edu로 메일을 주시거나 트위터 @lifidea로 가능하신 일정 및 희망사항을 미리 알려주시면 좋을 것 같습니다. ^^ 저는 그동안의 연구 내용 요약이나, 최근까지 블로그에 공개했던 Self-Tracking에 대한 간단한 소개를 준비할 생각입니다. 현재 @gogamza님이 참석 의사를 밝혀주셨습니다 (참석자 목록은 본 포스트에 지속적으로 업데이트하겠습니다).


MS Bing에서의 인턴을 마치고

유학생활 : 2010. 9. 12. 07:34   By LiFiDeA
최근에 3개월간의 인턴 생활을 마쳤습니다. Bing서치와 MSR Clues그룹에서의 프리젠테이션을 통해 많은 사람들의 피드백을 받고, 짐을 챙기다보니 제 사무실이 있는 Bellevue에 처음 왔을때가 생각났습니다. 그때는 낯선 환경과 일에 대한 기대와 불안감이 가득했는데, 어느새 이곳에서의 생활에 정착한 느낌에 감회가 새로웠습니다. 이번 글에서는 인턴 기간동안 느낀점에 대해 써볼까 합니다.


박사 졸업 후 진로 : 회사냐 학교냐

인턴십은 많은 부분 일 자체보다는 일을 통한 배움에 의의가 있을 것이며, 그 중 가장 중요한 부분은 아마도 향후의 진로에 대한 더 나은 의사결정(informed decision)을 내리는 데 있을 것입니다. 지난 포스팅에서 언급했듯이, 제게 가장 중요한 결정은 향후에 산업걔(industry) 혹은 학계(academia)에 진출하느냐였습니다.  물론 인턴십 한번으로 회사 생활의 모든 것을 파악할 수는 없지만, Bing과 MSR에서의 경험은 많은 것을 명확하게 해 주었습니다. 저의 깨달음을 요약하면 다음과 같습니다.
회사는 제한된 환경에서의 보호를, 학교는 자유로운 환경에서의 책임을 제공한다.
처음 회사 생활을 시작했을 때, 실 사용자의 데이터를 가지고 마음껏 실험을 할 수 있다는 사실만으로 매일 매일이 흥분의 나날이었습니다. 마이크로소프트라는 큰 조직이 주는 안정감과 지원, 그리고 보상도 빼놓을 수 없는 부분입니다. 하지만 초기의 환상에서 조금씩 벗어나면서 회사라는 환경에서 근무하는 연구자들이 받는 제약이 눈에 들어왔습니다. 연구 프로젝트를 선택하고, 진행하고, 결과를 발표하는 모든 과정에서 회사의 정책과 우선순위를 먼저 고려해야 하기 때문입니다. 물론, 자신과 철학을 공유하는 조직에서 일을 한다면 이는 별 문제가 되지 않겠지만, 어떤 경우에도 학자로서의 독립성을 희생해야 하는 부분이 있을 것입니다. 

반면에 학계에서의 생활은 많은 부분 스스로의 선택과 책임에 따라 이루어집니다. 신임 교수나 연구원으로서 자신의 관심사에 부합하는 펀딩(grant)을 따 내고, 이를 같이 수행할 협력자들과 학생을 구해야 합니다. 자신이 선택한 일을 뜻이 맞는 사람들과 할 수 있다는 것은 분명 매력적이지만, 이 과정을 모두 스스로 해야 한다는 것은 엄청난 부담이기도 합니다. 미국에서 신입 조교수들이 대부분 엄청난 스트레스와 과로에 시달리는 것은 우연이 아닐 겁니다. 

아울러 학계에서의 실적은 퍼블리케이션 등을 통해 투명하게 공개되므로, 학계에서 회사로 자리를 옮기기는 비교적 용이하지만 그 반대는 좀더 힘들어 보인다는 점도 있습니다. 이러한 사항까지 고려한다면, 만약 연구자로서 자신의 비전을 실현할 수 있는 회사를 찾을 수 있다면 그곳을 선택하겠지만, 그게 아니라면 학교에 자리를 잡는 것이 낫다는 생각입니다. 학자로서의 자유와 독립성을 보장받는 것이 장기적으로는 더 중요해 보이기 때문입니다. 절충안으로는 Microsoft Research등의 산업체 연구소에 자리를 잡는 방법도 있습니다. 

성공적인 인턴을 위한 조언

다음으로, 인턴 생활을 더 잘 하기 위해 염두에 둘 사항입니다. 우선은 맨토(상사)를 잘 만나는 것이 중요한데 (선택의 여지가 있다면), 맨토의 개인적인 능력과 스타일도 중요하지만, 회사에서 어느 정도의 위치에 있어야 인턴으로 있는 자신에게 필요한 자원(머신, 데이터 등)을 구해주고, 잡무 등에서 보호해줄 수 있습니다. 

다음은 인턴 기간동안 수행할 프로젝트의 선택입니다. (프로젝트가 주어지는 경우도 있지만, 몇 가지 중에 선택할 수 있는 것이 보통입니다.) 3개월 이라는 비교적 짧은 기간 동안 어느 정도의 성과가 나올 수 있는 적당한 크기와 난이도의 일을 선택하는 것은 기본이며, 더 중요한 점은 프로젝트에 필요한 자원을 얼마나 쉽게 구할 수 있느냐입니다. 저의 멘토는 항상 이렇게 말했습니다.
Don't choose a project unless you have the data ready at the 1st day of your internship
실제로 주변에서 선택한 프로젝트의 데이터가 준비되지 않아 한달 가량을 허비하는 것을 보았습니다. 3개월이라는 짧은 기간에 문제 정의 및 데이터 분석, 해결책 도출 및 정리 발표가 이루어져야 하는 것을 고려하면, 착수에 오랜 시간이 걸리는 프로젝트는 피해야 할 것입니다. 다른 고려사항은 맨토 및 자신의 팀이 얼마나 해당 프로젝트에 관심을 기울이느냐입니다. 프로젝트가 다른 사람들의 관심사에 부합할 경우 더 많은 지원을 받을 수 있기 때문에, 인턴 기간에 결과를 내기가 용이해집니다. 또한 인턴 기간 이후에도 다른 사람들이 이를 계속 수행할 수 있다는 장점도 있습니다.

저의 경우에는 실시간 검색(real-time search)라는 토픽에 관심이 있었고 실제로 이를 선택할 수 있었지만, 위 사항을 고려하여 다른 프로젝트를 선택하였습니다. 결과적으로 필요한 데이터를 매우 쉽게 구할 수 있었고, 맨토 및 팀의 지속적인 지원을 받을 수 있었기에 올바른 선택이 아니었나 합니다. 인턴 생활을 통해 졸업이 앞당겨진 것은 아니지만, 회사에 의미있는 기여를 할 수 있었고, 새로운 분야의 연구 경험을 할 수 있었기에 만족스러웠습니다.

글을 마치며

3개월이라는 기간은 새로운 환경에 적응하기에도 바쁜 시간입니다. 하지만, 학교 생활과는 전혀 다른 회사에서의 업무 경험은 많은 것을 느끼게 합니다. 늦어도 어느 정도 학교 생활에 익숙해지는 3~4년차에 꼭 지원해볼 것을 권합니다. 

3년전 처음에 유학 생활을 시작했을 때, 제게는 여러모로 큰 변화가 있었습니다. 한국에서 미국으로, 학부에서 대학원 과정으로, 전자 전공에서 컴퓨터 전공으로, 마지막으로 가족과의 삶에서 자취로 바뀌었습니다. 처음에는 이런 변화가 버겁게 느껴졌었지만, 선택의 기로에서 낯설더라도 더 진취적인 길을 택한 것이 더 많은 배움을 가능하게 하지 않았나 합니다. 

이번 인턴십을 시작하면서도 꽤 많은것이 바뀌었습니다. 미국 동부에서 서부로, 학교에서 회사로, 교수님과 일하던 생활에서 상사(여기서는 mentor라고 부릅니다)와의 업무로, 데스크톱 및 개인 정보의 검색에서 웹 검색이라는 주제로  바뀌었습니다. 이제 한달을 보냈지만, 그동안 배우고 느낀 것이 지난 3년간의 그것에 필적한다는 느낌입니다. 여기서는 그 중 몇가지를 적어보려 합니다.

'틀'이 주는 편안함

처음에 대학원을 선택한 이유중 하나는 '자유로움' 이었습니다. 병역특례로 회사경험을 하면서, 하루 종일 사무실에 앉아 '내 일' 보다는 '회사 일'을 해야 한다는 것이 갑갑했었나 봅니다. 미국 대학원에서 원하는 공부를 하면서는 비로소 관심 분야의 프로젝트를 하게 되었습니다. 처음에 교수님의 신뢰를 얻기까지는 조금 시간이 필요했지만, 그 이후에는 일을 하는 시간과 장소, 방식에 있어서도 거의 무한의 자유를 부여받았습니다. 어찌보면 예전에 꿈꾸던 삶에 다가간 것입니다. 

회사 생활을 다시 시작하면서부터는, 이런 자유에 길들여진 자신이 다시 회사 생활이라는 틀에 적응할 수 있을까 하는 고민이 있었습니다. 하지만 출퇴근 시간 및 프로젝트의 결정 및 진행이 개인의 책임하에 이루어지는 여기서의 생활은 그다지 답답하지는 않았습니다. 오히려 모든 것을 스스로 결정하고 수행하던 예전에 비해, 조직에서 부여하는 어느 정도의 틀에 따라 규칙적으로 이루어지는 이곳 생활이 훨씬 편안했습니다. 학교에서는 한순간도 연구에 대한 생각이 머리를 떠나지 않았으며 스스로 많은 결정을 내려야 했지만, 여기서는 많은 일들이 이미 결정되어 있으며 업무시간에는 열심히 하다가도 퇴근 후에는 회사 일이 머리를 자연스럽게 떠나기 때문입니다.


학계와 업계에서의 연구

검색이라는 분야에 뛰어든 것도 3년이 지났지만, 그동안 학문적인 관점에서만 접근해 왔고, 제 주변에도 모두 그런 사람들이었습니다. 여기 와서 달라진 점은, 업계에서 잔뼈가 굵은 검색 연구자 및 개발자들을 많이 접할 수 있었습니다. 분야의 특성상 학계와 업계의 연구가 명확하게 분리되는 것은 아니지만, 그 둘의 초점은 꽤나 다르다는 것을 발견하였습니다. 

우선 학문으로서의 검색은 고정된 질의어(query) 셋에 대하여 베이스라인 시스템 대비 몇 퍼센트의 성능향상을 가져오는 알고리즘 및 피쳐를 개발하는 것, 그리고 더 중요하게는 왜 이들이 잘 동작하는지를 밝혀내는 것을 목표로 합니다. 하지만 이곳에서의 연구는 끊임없이 변화하는 환경에서 굉장히 크고 복잡하며 이미 엄청난 노력이 집약된 상업용 검색 엔진을 대상으로 하기에, 학계에서처럼 단순한 지표 몇개로 평가하기 어려운 점이 있습니다. 또한 사용가능한 데이터의 양이 제한된 학계에 비해, 실 사용자의 모든 활동이 기록되는 이곳의 환경에서는 실 사용자의 반응에 근거하여 의사결정을 내리는 것이 용이합니다. 

요약하면 학교에서의 연구는 Why에, 여기서의 연구는 How에 초점을 맞추며, 이런 차이가 업계에서의 연구를 과학(science)보다는 공학(engineering)에 가깝게 합니다. 수많은 피쳐와 검색 모델이 개발 및 사용되지만 왜 그것이 동작하는지는 두번째 문제입니다. 엄청난 양의 데이터가 쌓이지만, 이러한 데이터의 새로운 활용법을 찾기 위해 고민할 여유는 별로 없습니다. 학교에 있으면서 실제 사용자와 유리된 연구 환경에 답답함을 느꼈었지만, 이런 공학적 접근을 보면서 학문으로서의 검색 연구가 갖는 가치를 돌이켜보게 되었습니다. 

마치며

아직 한달이 갓 넘은 회사 생활에 대한 결론을 내리기는 쉽지 않지만, 어쨌든 잘 왔다는 생각이 듭니다. 회사 진학을 계획중이라면 맛보기 및 네트워킹을 위하여, 학계를 꿈꾸는 사람이라도 자신의 선택에 대한 확신을 갖게 해주는 계기가 될 것입니다. 이공계 대학원생의 여름 인턴, 선택이 아닌 필수입니다!

바쁜 1학기를 끝내고, 논문을 한편 제출하고, 마이크로소프트 빙(Bing) 서치에서의 인턴 생활을 위해 시애틀에 온지 일주일이 되어서야 블로그를 쓸 여유를 찾게 되었습니다. 기복 없이 꾸준히 쓰려고 하지만, 글쓰기를 손에서 놓은지가 오래 될수록 다시 잡기도 힘들어지는군요. 그동안 학교에서 논자시 및 석사 학위 자격 심사를 통과하였고, SIGIR에 첫 논문을 내었으니, 변명거리가 없지는 않은가요.

대학원에서의 첫 3년을 마치고, 회사로 출근하여 첫주를 마치고 난 지금, 많은 생각이 교차합니다. 그동안 학교에서 보낸 시간과 내가 배우고 익힌 것들, 검색 연구라는 같은 일을 하지만 많이 다른 회사 사람들, 달라진 환경에 적응하기 위해 해야할 일들...

그중 가장 중요한 깨달음은 학생과 연구자의 차이가 아닐까 합니다. 그동안 학교에서 학업과 연구를 병행하였지만, 주로 성적과 논문으로 평가받고 '졸업'이라는 당면한 목표를 앞둔 상황에서, 현실 세계의 문제를 해결한다는 연구자의 본분과는 조금 거리를 두었던 것이 사실입니다. 하지만, 여기 와서는 수억명이 매일 사용하는 검색 엔진의 성능을 높이려고 노력하고 그 결과에 따라 평가받는 사람들을 만나고, 저도 같은 책임을 부여받게 되었습니다. 학교에서는 항상 사용자 데이터가 없는 것이 고민이었는데, 여기 와서는 너무나 많이 쏟아지는 데이터를 어떻게 감당할지가 고민입니다. 

이는 분명 제가 꿈꾸던 일이지만, 막상 현실로 닥치자 부담이 만만치 않습니다. 학교에서 연구를 할 때는 제한된 데이터를 가지고 온갖 가정을 세워가며 결과를 내는 것이 가능했지만, 여기서는 충분한 데이터가 주어지는 대신에 그동안 엄청난 인원과 자원을 투입하여 갈고닦은 시스템의 성능을 높이지 못한다면 인정받을 수 없기 때문입니다. 또한, 데이터를 얻는 일에서 아이디어를 개발하고, 이를 검증하고, 실제 서비스에 적용하는 과정에 이르기까지 혼자 할 수 있는 일은 아무것도 없기에, 주변 사람들의 도움과 협력을 이끌어내는 것도 큰 도전입니다. 

어쨌든 이제 일주일이 지났지만, 검색 연구자로서 참으로 유익한 시간이었습니다. 학교에서 배운 단순한(?) 검색 모델들이 실제 현업에 적용되기까지 다양한 변형을 거친다는 점, 그리고 실제 그 정도 규모의 검색 서비스가 이루어지기까지는, 핵심이 되는 색인 및 검색 모듈 만큼이나 이를 감시하고 평가하는 지원 모듈이 중요하다는 점도 배웠습니다. 미국에서의 회사 생활, 마이크로소프트라는 조직의 시스템에 대해서도 느끼는 바가 많습니다. 

앞으로 주어진 3개월이라는 시간동안 최대한 배워가려 합니다. 좀더 자주 이곳을 통해 소식 전하겠습니다. 

P.S. 시애틀에 도착해서 찍은 사진을 몇장 올립니다.