gimmesilver's blog

Agbird.egloos.com

포토로그 마이가든



하둡의 내부 I/O 동작 분석 글 데이터분석

http://cto.vmware.com/analyzing-hadoops-internals-with-analytics/

VMWare 라는 회사의 누군가가 하둡의 I/O 동작 방식에 대해 분석한 글
한 줄로 요약하자면 하둡의 MapReduce 에서는 중간에 I/O가 참 많이 발생한다... 정도가 되겠다.

글의 마지막에 보면 몇 가지 질문을 던지고 있다.

 우선 하둡은 map task 실행 시 가급적 해당 task가 처리할 데이터가 있는 노드에서 실행되도록 job tracker가 task를 할당하고 있는데 글쓴이가 실제 실험을 해보니 원격 노드에서 실행을 하더라도 그에 따른 부하가 전체 I/O에서 그리 크지 않은 것 같다고 했다.
 이건 테스트를 위해 사용한 예제가 데이터 정렬이었기 때문에 그렇다. 데이터 정렬은 그 특성상 Map 에서 처리하는 데이터와 Reducer로 넘어가는 데이터 양이 동일한데, 원래 MapReduce 모델은 maper에서 로컬 데이터를 처리해서 reducer로 넘어갈 때 데이터 양을 줄일 수 있는 로직이 큰 성능 효과를 발휘하는 모델이다.
 이게 만약 정렬이 아니라 combiner가 적용된 word counter 같은 예제였다면 결과는 크게 다를 것이다.

 또 map task는 결과를 로컬 디스크에 저장하고 reducer가 web proxy를 이용해서 각 map task의 결과물을 가져가는 방식인데, 글쓴이는 map 결과를 HDFS에 저장하는 것이 좀 더 단순해서 reducer 최적화에 유리하지 않을까라는 질문을 하고 있다.
 이에 대한 내 생각은 다음과 같다.

 첫 째, HDFS에 저장하게 되면 복사본을 추가로 저장하는 부담이 생긴다. HDFS는 기본 설정이 3개의 복사본을 저장하게 되어 있기 때문에 각 map task 결과물을 HDFS에 저장하려면 2번의 추가적인 I/O가 발생한다. 게다가 이 추가적인 쓰기 작업은 모두 원격 I/O이다.

 둘 째, HDFS에 저장하게 되면 map task는 다른 노드의 장애에 영향을 받게 된다. map task 결과를 로컬에 저장하게 되면 해당 노드의 장애에만 영향을 받게 되지만 HDFS에 저장하면 data node 의 장애도 수행 시간이나 결과에 영향을 줄 수 있다. 게다가 map task가 수행되는 노드에 장애가 나거나 반대로 저장하는 data node에 장애가 나거나 혹은 둘 다 문제가 생겼을 때 등 장애 처리를 위해 고려해야 할 경우의 수가 더 많아져서 장애 처리 로직이 복잡해 진다. (그렇지 않아도 map 결과를 저장하는 로직은 하둡 전체 소스를 통털어 가장 복잡한 로직이다.)

 그 외에 네트워크 대역폭이 10GB 정도로 크면 지역성이 크게 의미없지 않을까? 라는 질문도 있다. 즉, 이 정도 대역폭이면 디스크I/O나 네트워크 I/O나 성능이 비슷하지 않겠냐는 뜻 같다. 하지만 분산 시스템에서 네트워크는 일종의 공공재이기 때문에 다른 작업에 대한 영향력을 생각해야 한다. 따라서 단일 작업에서의 성능은 차이가 없더라도 여러 job을 한꺼번에 돌리는 상황에서는 locality가 여전히 중요한 최적화 요소일 것이다.

 암튼 뭐 내 생각은 이렇고 다음 번에 자신의 질문에 대한 내용으로 글을 쓰겠다고 하니 어떤 내용일지 한번 봐야 겠다.

작업장의 경제학 단상

관련링크:
 http://www.inven.co.kr/webzine/news/?news=37769 - 실제 작업장을 운영했던 사람과의 인터뷰 기사 
 http://www.dailygame.co.kr/news/read.php?id=44764 - 죄수까지 동원한 중국 게임 머니 작업장


 게임에 관심있는 사람들은 알겠지만 온라인 게임 특히 MMORPG 에는 '작업장' 이라는 것이 있다. 작업장이란 게임에서 얻는 아이템같은 재화를 현실 세계의 돈을 받고 파는 일을 전문으로 하는 사람 혹은 업체를 말한다. 게임을 하지 않는 사람들은 아마 게임 아이템을 돈주고 사는 행위를 전혀 이해하지 못하겠지만 이런 게임 아이템 거래 시장은 매우 크다.
 심지어 이런 아이템 거래를 중개해주는 전문 사이트도 있는데 우리 나라에서는 '아이템베이(http://www.itembay.com/)' 라는 사이트가 가장 대표적이다(이 회사가 어느 정도인가 하면 몇 년 전엔 강호동을 광고 모델로 기용했을 정도이다). 전체 아이템 거래 시장 규모는 정확히 알려진 바는 없고 의견도 분분하지만 언론에서는 대략 1조원 이상으로 추정하고 있다.

 참고로 이런 아이템 거래 자체는 대법원에서 합법으로 판결된 바 있지만 게임 회사에서는 이용 약관을 통해 이것을 불법으로 규정하고 있으며 공정위에서는 이런 게임 회사의 약관이 유효하다고 결정했다. 즉, 아이템 거래 자체는 불법이 아니지만 이용 약관에 불법으로 규정되어 있는 게임의 아이템 거래는 약관 위반으로 게임 회사의 제재를 받을 수 있다. 하지만 이 부분은 여전히 논란이 많으며 관련해서는 위 관련 링크 중 5번째를 참고하기 바란다
 
 어쨌든 이렇게 아이템을 팔아 돈을 버는 시장이 형성되어 있고 점점 그 규모가 커짐에 따라 '작업장' 역시 점점 기업화, 대형화, 전문화 되고 있다. 자동으로 캐릭터를 조종해서 게임을 하는 일명 '자동 사냥 프로그램'을 수백 대의 PC에서 돌리기도 하고 인건비가 싼 중국의 경우에는 수십 명의 사람을 고용해서 하루 종일 게임을 시키는 경우도 있다. 

<자동 프로그램을 이용한 작업장 운영 모습, 출처: 구글 이미지 검색>
 
<위 그림은 아마 실제 중국 작업장 모습은 아니겠지만 대략 이런 모습일 듯, 출처: 구글 이미지 검색>

 왜 사람들은 게임 아이템을 현금을 주고 사는 것인가 하면, 몇 가지 이유가 있겠지만 그런 이유들의 근원을 따지자면, 사람들은 게임을 통해 현실 세계의 욕구를 대리 충족하기 때문이다. 즉, 좋은 아이템(혹은 멋진 아이템)을 통해 내 캐릭터를 남보다 강하게(혹은 멋있게) 만듬으로써 우월함을 자랑하려는 것이다. 아니 꼭 누군가에게 자랑하려는 것이 아니더라도 게임 상에서 내 캐릭터가 레벨이 오르거나 좋은 아이템을 얻어 강해졌을 때의 뿌듯함은 직접 즐기지 않는 사람은 이해하기 힘든 묘한 쾌감이라 하겠다. 이를 테면 비싼 명품백이나 애플 제품을 구매하는 사람들 대부분의 심리와 비슷하다. 실세계냐 가상 세계냐의 차이가 있을 뿐이다. 그런데 그런 아이템을 얻으려면 대단히 많은 시간과 노력이 필요하다. 
 게임 기획자는 바로 이런 과정을 즐기고 난 후의 적절한 보상의 차원에서 혹은 이런 험난한 과정을 거쳐 귀한 아이템을 얻음으로써 희열을 느끼게 해주려고 컨텐츠를 디자인하겠지만, 때론 이런 과정은 휙 건너 뛰고 결과만을 충족하려는 사람들이 있기 마련이다. 

 바로 이런 사람들을 위해 아이템 거래 시장은 존재한다. 쉽게 말하자면 돈은 있고 시간은 부족한 사람을 위해 시간은 많고 돈은 부족한 사람이 대신 시간과 노력을 들여 게임의 재화를 얻고 이것을 현실 세계의 재화와 교환하는 것이다. 경제학적 관점에서 보면 이것은 서로의 기회 비용에서 비교 우위가 있는 것을 생산해 다른 것과 교환하는 지극히 합리적인 경제 활동이라 하겠다. 
 가령, 현실 세계에서 일을 하면 하루에 만원밖에 못 버는 사람 A와 백만원을 버는 사람 B가 있고 평균 100시간을 투자해야 얻을 수 있는 게임 아이템 C가 있다면, B는 100시간을 투자해서 그 아이템을 얻는 것 보단 A가 대신 게임을 해서 그 아이템을 얻고 B는 A한테서 아이템 C를 백만원 주고 사는 것이 훨씬 경제적이라는 뜻이다. (하루 8시간 기준으로 볼 때 A의 아이템 C에 대한 기회 비용은 12만원에 불과하지만 B의 기회 비용은 1200만원이기 때문에 A는 88만원 이득이고 B는 무려 1100만원이나 이득이다)

 실제 리니지에서 '집행검'이라고 하는 아이템은 적게는 수 백만원에서 많게는 수 천만원 이상의 가격에 거래되고 있다(그래서 농담삼아 이 아이템을 '집판검'이라고도 부른다). 리니지 사용자 중 상당수가 (일년 수입이 수 천만에서 수 억원인) 30~50대 회사원이나 자영업자이며 그 아이템을 얻기 위해선 일반인이 정상적인 방법으로 하루에 3~4시간 씩 플레이를 할 경우 몇 년은 걸려야 얻을 수 있다(심지어 그렇게 해서 얻는다는 보장도 없다)는 점을 생각해 본다면, 이런 얼핏 생각해선 말도 안되는 이 아이템의 값어치는 실상 경제적인 관점에선 합리적인 가격이 된다.
 물론 '이런 게임 아이템 돈 주고 사서 어디다 쓰냐?'고 생각하는 사람도 있겠지만 그건 역시 수 천만원에서 수 억원짜리 미술품 사서 어디다 쓰냐는 질문으로 대치해서 생각할 수 있고 (결국 자기 만족이다) 심지어 이런 게임 아이템은 감가 상각이 되는 것도 아니니 내가 쓰다 지겨워지면 다시 그 가치 그대로 되팔수 있다는 점에서 더더욱 미술품같은 것과 차이가 없다. (이건 어디까지나 지극히 경제적인 관점에서의 주장일 뿐이다.)

 암튼 대부분의 게임 회사에서는 이런 현금 거래를 전문으로 하는 작업장을 강력하게 제재하고 있으며 그 이유로 건전한 게임 생태계를 무너뜨린다는 점을 들고 있다. 그런데 정확히 어떤 생태계를 어떻게 무너뜨린다는 것일까? 이 점에 있어서는 사실 내부적으로도 논란이 있는 형편이다.
 앞서 언급했듯이 아이템 거래는 경제적 관점에서 지극히 합리적인 행동이다. 그리고 게임 특히 MMORPG의 경우 현실 세계의 활동을 적극적으로 반영하고 있으며 가상 세계에서 캐릭터끼리 사회 활동을 형성하는 것이 매우 중요한 컨텐츠이다. 이런 측면에서 보자면 '작업장'은 자연스러운 게임 컨텐츠 활용 행위라고 볼 수 있다.

 그렇다면 우리는 작업장에 대해 어떤 입장을 취해야 할까? 쓰다보니 내용이 너무 길어지는 것 같아 이 부분에 대해서는 다음 기회에 이어 가볼까 한다. 우선 예고 삼아 간단히 말하자면 나는 이 부분을 암표상과의 유사점 측면에서 접근해 보려 한다.

2012-04-03 북마크

http://www.ere.net/2012/03/20/the-10-deadly-sins-of-talent-management-that-can-quickly-bring-your-organization-into-mediocrity/
 - 평범한 조직을 만드는 10가지 죄악
  1. A급 인재로만 팀을 구성하지 못하는 것
  2. 능력보다 못한 대우
  3. 길고 어려운(혹은 지루한) 채용 과정 - A급 인재는 기다려 주지 않는다.
  4. 말빨에 속아 채용하기
  5. 직원들의 경력 관리 소홀
  6. 구인/구직란에 의존한 채용 - A급 인재는 구인/구직란을 이용하기 않는다.
  7. 인원 보충이 필요할 때만 채용 진행 - A급 인재가 필요할 때 항상 있는 건 아니다.
  8. 성과가 낮은 직원을 과감히 정리하지 못하는 것 - 이건 솔직히 우리 나라에서는 아직 실천하기 어려운 부분이다.
  9. 교육/훈련에 대한 투자 부족
  10. 성과 관리 시스템의 부재
 우리 회사의 경우 최근 직원 채용 절차가 많이 까다로워 졌다. '인사가 만사' 라고 했듯이 채용은 매우 중요한 과정이고 따라서 최대한 철저한 검증을 거쳐야 한다고 생각한다. 다만 때에 따라선 중요한 인재에 대해서는 신속한 채용이 필요할 것이다. 그런데 전체적으로 획일화된 채용 절차를 도입하는 것 같아 다소 안타깝다.

 - 하둡 branch 이력 총 정리
 최근에 나온 1.0 버전은 0.20.x 버전들을 통합한 정리 버전이고 가장 최신 코드가 포함된 버전은 0.23 버전


동아리 후배들에게 3년 전에 썼던 글 단상

 아래 글은 약 3년 전 쯤에 학교 동아리 후배들에게 쓴 글이다.
 소위 말하는 일류대도 아니었고 음악 동아리다 보니 스펙도 제대로 쌓지 못해 힘들어 하는 후배들의 하소연을 몇 차례 들은 적이 있었는데 그들에게 뭔가 해주고 싶은 조언들을 동아리 게시판에 썼었다. 요약하자면 '이것 저것 따지지말고 수준에 맞는 곳에 들어가 자신의 능력을 증명해 봐라' 정도가 되겠다.
 아마 내 생각에 동조하지 않는 사람들이 많으리라 생각하지만 난 십 년 전 처음 회사 생활을 할 때나 지금이나 적어도 이 부분에 있어서는 변함이 없다. 

 '어느 길을 가든지 선택은 그리 중요하지 않다.'

 얼마 전 누가 앞으로의 진로에 관해 비슷한 조언을 구한 적이 있는데 이 글이 문득 생각나 블로그에 옮겨 봤다.

* * * * *

http://blog.joins.com/media/folderlistslide.asp?uid=yjyljy&folder=1&list_id=10346589

 내가 좋아하는 블로그 중 하나인데 좋은 글이 참 많다(가급적 저 블로그의 다른 글도 읽었으면 한다). 그리고 위 글은 좋은 회사 가려고 노력 중인 너희들이 한번쯤 읽었으면 싶어서 추천한다. 근데 저 글 읽고선 '그래 역시 돈 많은 대기업 가는게 최고야...' 뭐 이딴 오해는 하지 않길 바란다.

 얼마 전 공연 때도 그렇고 가끔 여기 게시판 글을 읽을 때도 느끼지만 너희들을 보면 정말 열심히 산다고 생각한다. 우리 때는 꿈도 못 꿀 어학 연수도 갔다 오고 인턴 생활도 하고 아르바이트도 하고 말이다. 우리 때는 그저 낮부터 술 퍼먹고 오브리나 할 줄 알았는데...기특하다. 다만 여기서 노파심에 당부하고 싶은 건 지금 너희가 하고 있는 이런 노력이 단지 '좋은 회사를 가기 위해서...' 에서만 그치지 않았으면 하는 것이다.

 그저 열심히 영어 공부해서 대기업가야지~ 이런 생각하고 있으면 니들에겐 기회가 없다. 냉정하게 말해서 니들이 좋아하는 대기업에서 보기에 너희들은 일단 서류 심사에서 탈락이다. 이건 니들이 이름도 처음 들어보는 핫바지 기업들에는 아예 이력서 넣을 생각도 안하는 거랑 같은거다. 구직자들이 '아 정말 나 뽑아만 주면 진짜 열심히 잘 할 자신 있는데...'라고 생각하고 있을 때 수많은 핫바지 기업 사장님들도 똑같은 얘기 한다. '아 정말 유능한 인재만 와준다면 대박 낼 수 있는데...'

 '합격만 시켜주신다면 정말 잘할 자신 있습니다.' 라는 말만 믿고 뽑아주는 회사는 없다. 그냥 증명해보이면 된다. 나 일 잘한다는 증명말이다. 근데 문제는 사회 초년생에겐 증명할 기회가 없단 말이지... 회사에서도 그걸 알기에 어쩔 수 없이 택한 기준이 학벌인 거다. 개네들은 적어도 노력하면 잘한다는 것을 성적으로나마 보여줬거든...니들도 신입생 뽑을 때 말로만 열심히 하겠다는 애들보단 오디션 전에 한번이라도 더 써클실에 놀러오는 애들 뽑지 않냐? 아니면 연주라도 잘하거나...마찬가지다. 증명은 수학에서만 필요한게 아니다.

 방바닥 뒹굴거리던 백수가 어느 날 튀는 행동으로 사장 눈에 띄어 성공하는 그런 이야기는 드라마에나 있는 얘기다. 실제로 잘나가는 기업 가보면 능력도 출중하면서 눈에 띄는 엄친아들 천지다. 우리 팀만 해도 대학 시절 학사 논문 들고 OOPSLA라고 하는 유명한 해외 컨퍼런스에 가서 발표한 사람도 있고 카이스트에서 천재소리 듣다가 온 사람도 있다.
 실력있는 괴짜는 인정받지만 실력없는 괴짜는 그냥 변태취급 받을 뿐이다.

 하고 싶은 이야기는 이거다. 지꾸 복지 잘 되어 있고 연봉 많이 주는 회사 가려고만 생각하지 말고 니들 수준에 맞는 회사 가서 그 회사 대박낼 생각으로 열심히 일 해봐라. '제가 다니는 회사는 아무리 생각해도 대박 날 가망이 없어요...' 이런 얘기 하기 전에 우선 그런 3류 회사에서부터라도 가장 유능한 사원으로 평가 받을 정도로 열심히 실력을 쌓아라. 3류 회사에서 짱 못먹는데 일류 회사에 이력서 들이밀 수 있을 거란 생각은 하지 마라. 박지성도 우리 나라 국가 대표 했으니까 프리미어 리그 갈 수 있었던 거다.
 게다가 세상엔 이쁜 여자 마다하는 남자 없고 일 잘하는 직원 싫어하는 사장 없다. 회사에서 제일 일 잘하면 사장도 함부로 대하지 못한다. 자연스레 대우도 좋아지기 마련이다. 니들은 잘 모르겠지만 벤처 기업 사장님들은 외부 사람 만날 때 자기 밑에 정말 유능한 직원이 있으면 은근히 자랑하고 다니는 경우가 많다. 요컨데 공부 잘하는 자식 둔 부모 심정이랑 같다. 여기서 한 가지 주의 사항! 일 '열심히' 하는 거랑 '잘' 하는 건 다른 차원이다. 착각하진 마라.

 난 4학년 가을부터 대기업이나 그래도 이름은 들어본 회사들에 지원서 수십 차례 넣었다가 다 떨어지고 결국 명색이 IT 기업인데 홈페이지도 제대로 갖춰져 있지 않은 조그만 벤처 기업에서 처음 사회 생활을 시작했었다. 그 당시 주위에서 내 초봉이 얼마냐고 물어보더니 다들 미쳤다고 했다. 그 때가 12월이었는데 많은 친구들이 별로 좋은 조건도 아닌데 왜 이렇게 빨리 서두르냐고 그랬다.  맞는 말일 수도 있다. 주위 친구들은 조금 더 기다렸다가 더 좋은 기업 취업한 경우도 있었으니까...하지만 난 내 가치를 증명하려면 회사에서 업무 성과로 보여줄 수 밖에 없다고 생각했다. 왜냐면 내가 이력서 쓰면서 생각해봐도 자신이 한심하거던... 그래서 일찌감치 회사를 정했고 거기서 내 가치를 인정받기 위해 워커홀릭처럼 일했다. 그랬더니 다음 해 연봉이 딱 천만원이 오르더라...
물론 내가 운이 좋아 좋은 사장, 훌륭한 팀장을 만난 이유일 수도 있다. 암튼 뭐 그랬다는 얘기다.

 좋은 회사 가는 것 분명 중요한 일이다. 하지만 그게 꼭 지금 당장만 가능한 일은 아니다. 다양한 선택의 길이 있다는 것을 알았으면 좋겠다. 그리고 오히려 그게 더 확률이 높을 수도 있다. 15년 간 계속 뒤쳐졌었는데 지금 1년간 남들도 다 하는 취업 준비 열심히 한다고 경쟁이 되겠냐? 그런데 대개 공부 잘하던 놈들도 회사가면 긴장이 풀어지거든? 바로 그 때가 니들이 개네들을 따라 잡을 수 있는 기회인 거란 얘기를 하고 싶었다.

 쓰다보니 글이 너무 길어졌는데...도움이 되길 바라는 마음에 끄적여 봤다.


도메인 전문가 vs. 기계학습 전문가 데이터분석

관련 링크:

 이번 스트라타에서 인상적인 토론 세션이 하나 열렸었다. '도메인 지식과 기계 학습 중 어떤 것이 더 중요한가?(실제 토론에 들어갈 때는 좀 더 주제를 좁혀서 '신생기업에서 사람을 뽑는다면 도메인 전문가와 기계 학습 전문가 중 누구를 먼저 뽑겠는가?' 로 질문을 바꿨다.)' 라는 주제로 열린 토론이었는데 토론 시작 전 청중들을 대상으로 한 조사에선 도메인 전문가 쪽 지지자가 더 많았지만 토론 막판에 다시 한 조사에서는 기계학습 전문가를 지지하는 수가 약간 더 앞선 채 끝이 났다.

 토론에 대한 자세한 내용은 관련 링크에 잘 나와 있긴 하지만 내 생각과 함께 몇 가지 내용을 정리하자면 기계 학습 지지자들이 간과한 부분이 하나 있는데 바로 '특성 발굴' 이다.
 기계 학습 알고리즘을 적용하는데 있어 대단히 중요한 것 중 하나가 알고리즘에 적용할 데이터 셋을 만드는 것이다. 아무리 좋은 알고리즘이 있다 해도 데이터 셋이 쓰레기면 쓰레기 결과가 나온다. 흔히 말하는 garbage in, garbage out 이다. 그런데 문제는 데이터 셋을 만드는데 있어 가장 중요한 이 '특성 발굴'에 대한 명쾌한 알고리즘은 나와 있는 것이 (내가 알기론) 전혀 없다는 것이다. 따라서 이 부분에 있어서는 적어도 아직까지는 도메인 전문가의 영역이다.
 게다가 실제 데이터 분석할 때는 기계학습이야 그냥 잘 나온 툴이나 라이브러리 등을 쓰면 되고, 가장 많은 노력이 필요한 것은 데이터 셋에 사용할 특성을 발굴하는 작업이다.

 그리고 위 링크들에도 나와 있듯이 기계학습 지지자들 중 일부가 실제 데이터 마이닝 경연 대회에서의 경험을 근거로 기계 학습이 더 중요하다고 주장했지만 그런 주장은 다음과 같은 두 가지 반박이 가능하다.
 첫 째, 경연 대회에서 사용하는 데이터는 이미 어느 정도 특성 발굴이 된 상태의 정형화된 데이터이다. 따라서 도메인 전문가의 중요성이 상대적으로 덜 부각될 수 밖에 없을 듯 싶다.
 둘 째, 경연 대회는 그 특성 상 일반인들도 쉽게 이해할 수 있을 만한 주제를 사용한다. 따라서  기계학습 지지자중 한 명이었던 claudia ferlich가 자신은 경연 대회 참여 전엔 해당 주제 전문가가 아니었지만 3년 연속 챔피언 먹었다고 한  이야기는 실제 세계에 적용될만한 근거는 못되는 것 같다.
 http://radar.oreilly.com/2012/03/subject-matter-experts-data-stories-analysis.html#comment-10790500 에 있는 코멘트에서 누군가 말했듯이 만약 분석 대상이 그녀가 했던 주제(유방암이나 비디오 추천)가 아닌 LHC에서 수행하는 입자 물리학 실험 데이터라고 한다면 아마 대회 결과가 좀 다르지 않았을까? 

 또 어떤 사람(내 기억에 IBM에서 근무한다고 했는데)은 영어 전문가는 중국어 처리에서는 쓸모 없지만 기계 학습은 언어에 상관없이 사용할 수 있기 때문에 기계 학습 전문가가 더 중요하다는 식으로 주장했었다(이와 비슷한 주장을 한 사람이 몇몇 더 있었다). 이 사람이 직접 자연 언어 처리를 해 본 사람인지 잘 모르겠는데, 언어 처리를 할 때 학습 집합 및 정답 집합은 누가 만들 것인지 물어 보고 싶었다. (근데 당연히 못 물어봤다. 영어가 딸려서...)

 한편 중요한 건 보유하고 있는 지식(그것이 도메인 지식이건 기계학습 지식이건)이 아니라 학습 능력이라는 dj patil 의 주장도 일면 수긍가는 의견이었다. 그리고 그런 측면에서 볼 때 기계학습 분야에 익숙한 사람이라면 아마 도메인 지식을 습득하는데 있어서도 최소한의 학습 역량을 보장하지 않을까 싶다. 따라서 사람을 채용한다는 주제로만 본다면 기계 학습 전문가를 지지한 사람이 많은 것도 이해가 간다.

 암튼 여러 가지 좋은 얘기가 많이 오고 가긴 했는데 실제 컨퍼런스에서는 잘 알아 듣지 못해 힘들었다. 100분 토론도 집중하기 힘든데 영어로 하는 토론이니...위에 있는 정리된 글과 동영상이 없었으면 그냥 내 머리속에서는 잊혀질 뻔 했다.

 참고로 위에 있는 관련 링크 중 첫 번째 것은 도메인 전문가가 필요한 이유 및 역할에 대해 꽤 명쾌한 주장을 담고 있다. 도메인 전문가는 데이터 분석 결과에 대한 평가 및 해석을 할 수 있다는 것이다.
 이것은 예전에 블로그에서도 한번 언급했던 빅 데이터 관련 논의와 연결되는 문제인데 위 링크의 글쓴이는 데이터에 대한 해석 및 평가가 없다면 추가적인(그리고 대개는 발전적인) 질문과 이를 통한 통찰을 얻을 수 없을 것이라고 한다. 그리고 이것이 바로 도메인 전문가의 역할이라고 주장하고 있다.
 데이터 분석을 하는 사람이라면 한번 쯤 숙고할 만한 주제(도메인 전문가의 역할과 데이터 분석 결과에 대한 정책)인 것 같다.

2012-03-23 북마크

http://www.extremetech.com/computing/122823-darpa-seeking-to-free-the-world-from-passwords
 - DARPA에서 패스워드 대신 타이핑 습관을 이용해서 사용자를 식별하는 방법을 연구하고 있다고 한다. 일종의 필체 인식같은 것이라 하겠다. 패스워드를 일일이 기억하지 않아도 된다는 점에서는 좋겠지만 대신 한번 이 사람의 타이핑 습관이 크래킹당하고 나면 더 치명적이지 않을까 생각한다. 패스워드야 바꾸면 그만이지만 타이핑 습관은 바꾸기 어려울 텐데...

 - 한줄요약: 20세기가 석유를 중심으로 산업이 돌아갔다면 21세기는 데이터를 중심으로 산업이 발전할 것이다.

 - 오라일리가 작년 쯤 부터 데이터를 이용한 건강 관리 분야와 관련된 글을 계속 싣고 있다. 과거를 돌이켜 봤을 때 분명 늦어도 내년에는 이쪽 분야가 크게 부각될 것이다. 이미 이와 관련된 서비스들이 하나 둘 등장하고 있다. (http://joongang.joinsmsn.com/article/aid/2012/03/19/7284540.html) 아직은 병원 검색 수준을 벗어나지 못하고 있지만 좀 더 적극적으로 데이터를 통한 맞춤형 건강 관리 서비스들이 등장할 것이다. 구글이 핼스 서비스를 접은 건 내 생각에 가장 큰 패착 중 하나가 아닐까 싶다.

 - 빅데이터 시장의 현황, 현재는 1% 남짓의 작은 시장이다. 하지만 앞으로 5년 안에 10배 이상 성장. 당장 조급할 필요도 없지만 절대 무시해서도 안됨 

 - please stop motivate people, they hate it

 - 공부하려면 시간이 충분해야 한다는 전제 조건부터 잘못된게 아닌가 싶다.

 - fork/join 라이브러리 신규 업데이트, 정말 이 분은 존경스럽다.

빅데이터 관련 컨퍼런스 스트라타 2012 - 개요 데이터분석

 지난 주에 오라일리에서 주최하는 빅 데이터 관련 컨퍼런스인 스트라타를 참관하고 왔습니다. 비록 빅 데이터가 최근 크게 이슈가 되고 있긴 하지만 역시 아직 덜 알려진 탓인지 우리 나라에서 온 참석자는 많지 않았습니다.
 아래 그림은 가디언지의 사이먼 로저스라는 사람이 만든 스트라타 참석자에 대한 시각화 자료인데 국내에서는 저희 회사가 4명으로 가장 많이 참석했고 전체적으로는 열 댓명 정도 참석한 것으로 보입니다.


 컨퍼런스에 대한 전체적인 느낌은 '양적인 성장, 질적인 정체, 넓어진 스펙트럼' 정도로 요약할 수 있겠네요. 전체적인 세션 수나 참여 업체, 활용 사례 등은 작년에 비해 크게 늘었지만 솔직히 내용 자체의 깊이는 그닥 깊지 않은 느낌이고 대부분의 내용이 이미 기존에 한번 쯤은 접했던 내용이라 새로운 것은 별로 없었습니다.

  
<그림 2. 주제 별  세션 수> 

<그림 3. 주제 별 세션 수 비교>

 주제 별로 살펴보면, 일단 작년에 비해 카테고리가 여러 개로 늘었고 구분 기준도 달라져서 직접적인 비교가 어렵긴 하지만 전반적으로 다루는 주제가 다양해지고 세션 수도 크게 늘었는데(그림 2) 특히 빅 데이터에 대한 업계의 관심이 크게 늘어서인지 스폰서 세션이나 비즈니스 관련 토픽의 세션 수가 크게 증가했고 참여 업체 수도 많이 늘었습니다. (그림 3)

 분석 인프라의 경우 이제 하둡은 더 이상 '대세'라는 말조차 쓰기 어색할 정도로 기본 플랫폼으로써의 입지를 확고히 한 상태임을 증명했습니다. 대부분의 시스템 기술 세션이 하둡 및 관련 에코 시스템을 주제로 하고 있었고 일부 세션에서 (트위터의 스톰같은) 하둡의 한계를 극복하기 위한 내용을 소개했습니다.

 MS, EMC, 오라클 등의 메이저 업체는 물론 대략 40 개 정도의 데이터 분석 관련 업체들이 전시 부스 및 스폰 세션 등을 통해 적극적인 참여를 했습니다. 그 수도 많을 뿐더러 솔루션의 종류도 무척 다양했는데 적재/처리 인프라 뿐만이 아니라 시각화 툴이나 데이터 마이닝 솔루션 업체도 많더군요.
 특히 최근 언론을 통해 많이 소개되고 있듯이 MS의 하둡 사랑이 굉장히 인상적이었습니다. 세션이나 키노트도 많이 하고 전시 부스도 입구 바로 앞에 가장 큰 규모로 설치해서 활발히 시연 및 설명회를 하더군요. 원래 하둡은 리눅스 기반이기 때문에 (cygwin 을 설치하면 가능합니다만) 윈도우에서 실행되지 않는데 이를 극복하기 위해 윈도우에서 하둡을 실행하고 운영/모니터링 할 수 있는 솔루션을 적극적으로 홍보하고 있었습니다.
 MS의 하둡 관련 전략에 대한 좀 더 자세한 내용은 http://www.hanb.co.kr/network/view.html?bi_id=1804 에서 확인할 수 있습니다. (원문: http://radar.oreilly.com/2012/01/microsoft-big-data.html)

시각화(Visualization)는 여러 가지 색다른 시도가 꽤 다양하게 소개되었지만 솔직히 인상적인 세션은 거의 없었습니다. 데이터 분석 관련 세션 역시 비슷했는데 그저 다양한 사례가 소개되었을 뿐 전체적으로 밋밋했습니다. 
 다만 그 중에서 넷플릭스의 비디오 추천 분석 세션(http://strataconf.com/strata2012/public/schedule/detail/22364)은 무척 인상적이었습니다. 추천 알고리즘이나 특성 선택, 랭킹 알고리즘 등을 비교적 자세히 설명했을 뿐더러 여러 가지 질문에 답변하는 모습에서 내공이 느껴지더군요. 이번 스트라타에서 제가 본 세션 중 가장 좋았습니다.

 그 외에 도메인 데이터 세션은 여러 분야에서 수행했던 데이터 분석 경험담 공유였는데 해당 도메인 지식이 없어서 인지 알아 듣기가 좀 어렵더군요. 내심 기대하던 주제였는데 다소 아쉬웠습니다.

 정리하자면, 세션 각각의 내용 자체는 그렇게 훌륭하고 감동적이진 않았습니다. 오히려 질문/답변 시간에 인상적인 이야기가 많이 오갔고 컨퍼런스 기간 동안 유명한 대가들과 직접 토론 및 질문을 할 수 있는 시간들이 많았는데 여기서 얻을 수 있는 것이 많을 것 같더군요. 하지만 아쉽게도 제가 영어 실력이 부족한 관계로 그런 좋은 기회를 놓치고 말았습니다.

 암튼 전체적인 개요 및 느낌은 이렇고, 앞으로 틈틈히 컨퍼런스에서 오고 간 내용과 관련해서 제 생각들을 좀 더 정리해서 블로그에 써볼까 합니다.

 컨퍼런스 관련 자료 및 동영상은 http://strataconf.com/strata2012/public/schedule/proceedings 에서 확인할 수 있습니다.

최근 게임 규제 관련 이슈에 대한 단상 단상

과거 이대통령의 게임 산업 지원 관련 기사 - http://article.joinsmsn.com/news/article/article.asp?total_id=3137026&ctg=-1
허지웅씨의 게임 규제 비난 기사 - http://newscomm.nate.com/celebrity/celebView?post_sq=2722855 
모 대학 게임 동아리의 게임 규제에 대한 반발 대자보 - http://pig-min.com/tt/3960
조선일보의 게임 비판 관련 블로그 글 - http://yeinz.kr/blog/808
게임, 폭력성, 중독에 대한 생각 - http://alankang.tistory.com/293
조선일보의 게임 관련 기사


최근 게임의 폭력성 및 중독성 등등을 이유로 정부에서 게임 산업을 규제하는 것에 대해서 여러 가지 논란이 많다.
몇몇 언론은 게임의 중독성이나 게임을 많이 한 사람이 갖게 되는 안좋은 영향 등을 들어 비판의 수위를 높이고 있는 것 같고 반대편에는 블로그나 트위터 등을 통해 그러한 언론 및 정부에 대한 비판의 글들이 많이 보인다.

게임 중독이나 게임이 사회 폭력에 직접적인 영향을 끼치는 지에 대해 과학적으로 입증된 바는 아마 없을 것이다. 그러니 이렇게 서로 자기들이 갖다 붙이기 편한 실험이나 연구 결과 내지는 이론 등을 인용하고 있을 게다.

근데 게임 산업의 경제/기술적인 순기능을 근거로 규제에 대해 반박하는 것은 뭔가 꺼림직하다. 
현재 게임 규제를 주장하는 사람들은 게임의 사회적인 문제점을 근거로 삼고 있다. 이에 대해 산업적인 관점에서 옹호론을 펼치는 것은 뭔가 다른 잣대를 들이대는 느낌이다. 심지어 이것은 윤리적, 사회적인 가치보다 자본 가치를 우위에 놓고 보겠다는 다소 위험한 시각이 아닌가 생각한다. 
좀 더 극단적으로 얘기하면 게임 산업이 수출 효자 종목이고 기술 발전을 이끌기 때문에 규제해서는 안된다는 논리가 대기업 특히 삼성에 대한 특혜 논리와 다를바가 뭘까?
이런 의미에서 현재의 게임 산업 규제 움직임에 대한 반발 논리로 게임 산업 보호 등을 주장하는 것은 그저 자기 밥그릇 사수 정도로 비칠 소지가 있다.

난 게임업계에 종사하는 사람들이라면 최소한 몇몇은 이런 사회적 분위기가 형성되고 막장 규제가 나오게 된 상황에 대해서 스스로 자기 비판을 해야 할 필요가 있지 않나 하는 생각이 든다. 
어떤 이는 불과 몇년 전만 하더라도 정부에서 게임 산업을 적극 지원하겠다고 공약을 남발해 놓고선 이제는 갑자기 게임 산업을 죽이려 든다고 비난하는데 정부의 일관성 없는 정책이나 기회주의적이고 편의주의적인 발상을 비난하는 것이 겠지만 한편으론 오히려 이렇게까지 극적으로 게임에 대한 정부의 입장이 바뀌게 된 것은 그동안 게임 업계가 지나치게 안일한 움직임을 보였기 때문은 아닐까 싶기도 하다.

내가 직접 게임을 만드는 일을 하는 것이 아니다 보니 조심스럽긴 하지만 그동안 지나치게 안일한 컨텐츠나 수익 모델에 의존해서 혁신적인 모습은 거의 보여주지 못한 것 같다. 솔직히 우리 회사만 해도 수익 모델이 지나치게 단순하고 이벤트 아이템 판매에 의존하거나 노가다성 컨텐츠를 남발하는 경향이 있다. 그러다 보니 나만 하더라도 게임 안 한지 꽤 오래 됐다.

게임의 우수성이나 유용성을 말로만 주장하기에 앞서 정말 우리가 만드는 게임이 그토록 자랑스럽게 여길만한 수준인지 혹은 정말 창의적인 작품을 만들기 위해 다양한 시도를 하고 있는지, 사회적으로 좋은 영향을 줄 수 있는 게임을 만들려는 노력은 하고 있는지 따져보고 실질적인 사례를 제시하고 적극 홍보할 필요가 있지 않을까 싶다.

그나마 최근에 회사에서 자폐 아동을 위한 인지 훈련 게임이나 아이들을 위한 영어 학습용 게임 등등 여러 가지 다양한 시도를 하고 있어 다행이다 싶지만 한편으론 좀 더 이런 새로운 시도를 적극적으로 하고 또 좋은 성공 사례가 되어 널리 알려졌으면 하는 바람이다.

한편으론 게임은 그 자체뿐만이 아니라 게임을 통해 생성되는 데이터를 분석함으로써 여러 가지 사회적으로 유용한 정보 및 분석 기술을 제공할 수도 있을 것이라 생각한다. 이를 테면 게임 경제를 분석해서 이를 통해 현실 세계의 경제 모델을 검증하거나 새로운 모델을 제시할 수도 있지 않을까? 

혹은 요즘 유행하는 사회 관계 분석을 게임 데이터를 통해 할 수도 있다. 내가 최근에 본 한 논문에서는 온라인 게임에서 작업장의 음성적인 거래 네트워크를 현실 세계의 마약 판매 조직의 네트워크와 비교 분석한 논문도 있다. 이들간의 유사점을 이용하면 마약 판매 조직을 어떻게 하면 효과적으로 와해시킬 수 있을지 공격 모델을 게임 데이터를 통해 시뮬레이션 할 수도 있을 것이다.

게임은 현실과 가장 유사한 가상 공간이면서 마음만 먹으면 모든 행동을 추적할 수 있는 곳이기 때문이다.
그리고 이런 것이 내가 할 수 있는 사회적 기여가 아닐까 싶다.

뉴욕 시장이 프로그래밍을 배운다 단상

기사 원문: http://www.bbc.co.uk/news/technology-16440126

뉴욕 시장인 마이클 블룸버그는 온라인 컴퓨터 코딩 수업을 받기로 결심했다.
(이에 따라) 블룸버그 시장은 'Code Year'라고 하는, 좀 더 많은 사람들이 코딩을 하도록 장려하는 캠페인에 참여 중인 18만 명 이상의 사람들과 함께 하게 된다. 
그는 트위터를 통해 "내 올해 목표는 2012년에 Codecademy(Code Year의 교육 프로그램)에서 코딩을 배우는 것이다.' 라고 밝혔다.

이 수업에 참여하는 사람들은 매주 이메일을 통해 인터랙티브한 강의를 받게 된다.
캠페인에서는 참여자가 (수업을 통해) 그들이 알고 있는 웹사이트나 앱을 개발하게 될 것이라고 약속했다.
트위터에서 '#codeyear'라는 해쉬태그를 사용한 수 천개의 글을 클릭해 보면 이에 대한 확인이 가능하다.

일부 트윗에서는 이 뉴스에 대해 런던 시장인 보리스 존슨이 블룸버그 시장의 사례를 따라 프로그래밍을 배울지에 대해 궁금해 하고 있다. 
런던 시장의 대변인은 BBC와의 인터뷰에서 존슨 시장은 그의 좋은 친구인 마이클 블룸버그에게 다시 한번 존경심을 표하며, 만약 재 당선된다면 코딩 수업에 그와 함께 참여하는 것을 검토해 볼 예정이라고 전했다.
그러나 예전 (런던) 시장이자 영국 노동당 후보인 켄 리빙스턴은 시장은 시의 문제를 해결하는데 모든 시간을 쏟아야 한다고 비판했다.
리빙스턴은 BBC와의 인터뷰에서 "만약 내가 시장에 당선된다면 나는 너무 바빠서 어떤 수업도 들을 수 없을 것이다." 라고 말했다.
런던 시장 선거는 5월에 열릴 예정이다.

블룸버그 시장이 코딩 실력을 쌓아 무엇을 하고 싶어 하는지는 불분명하지만 그가 (코딩을) 배우기로 결심한 것은 사람들의 프로그래밍에 대한 관심이 부흥하는 시기와 일치한다.
작년 10월 발간된 'Next Gen 보고서(http://www.nesta.org.uk/events/assets/features/next_gen)'에서는 영국 학교의 컴퓨터 수업에 대한 내용이 실렸다. 공동 저자인 알렉스 호프는 BBC에서 코딩은 "차세대 라틴 언어"가 되어야 한다라고 말했다. (관련링크: http://www.bbc.co.uk/news/technology-15916677)

Code Year를 주관하는 신생 기업인 Codecademy는 이 회사의 공동 설립자가 프로그래밍을 배우는데 좌절한 경험을 살려 작년 8월에 설립되었다.
미국 사이트에는 자바 스크립트 프로그래밍을 위한 웹 기반의 무료 초보 강좌를 제공하고 있는데 개설된지 한달 만에 6백만 개 이상의 강의가 만들어 졌다.

한편, (Codecademy의) 공동 설립자인 자크 심즈는 블룸버그 시장의 위와 같은 결정에 대해 한마디로 '대박(Awesome)'이라고 말했다.

* * * * *

 얼마 전 우리 회사 CEO가 신년사 말미에 올 연말에는 전 직원을 대상으로 프로그래밍 언어 중 하나인 자바 스크립트 시험을 보겠다고 해서 회사 내에서 뿐만 아니라 외부에서도 이슈가 됐다.(http://biz.chosun.com/site/data/html_dir/2012/01/10/2012011002862.html)
 원래 작년 팀장 워크샵 때만 해도 "우리 회사 팀장들은 직군을 떠나 모두 프로그래밍을 할 줄 알아야 한다고 생각한다.' 였었는데 몇 달 사이에 전 직원 확장 버전이 나온 것이다.

 위 글을 보면 영국에서는 프로그래밍을 의무 교육으로 실시하려는 움직임까지 있는것 같다.

 혹자는 굳이 전문 기술이라 할 수 있는 프로그래밍을 관련 업종이 아닌 사람까지 배워야 하나 라고 생각할지 모른다. 그러나 불과 20년 전만 하더라도 컴퓨터로 문서를 작성하는 것 역시 전문 기술이었다는 점을 생각한다면 위에서 주장하는 "코딩은 차세대 라틴 언어" 라는 주장이 빈말은 아닐 듯 싶다.

 p.s. 위 글에서 소개하고 있는 codecademy는 프로그래밍 기초 과정을 웹으로 배울 수 있는 사이트인데(http://www.codecademy.com) 꽤 잘만든 사이트인것 같다. 
 p.p.s. 한편 우리나라에서는 이고잉이라는 블로거가 생활 코딩이라는 이름을 걸고 초보자를 위한 프로그래밍 강좌를 열고 있다. (http://opentutorials.org/)

게임 데이터를 활용한 어뷰징 탐지 기법 관련 연구들 데이터분석

 '저와 함께 대용량 게임 데이터를 분석하실 분을 찾습니다' 라는 글에 어떤 분이 '하고 싶은 연구였는데 이미 NC에서 하고 있었다'며 좌절하는 트랙백(http://nunix.egloos.com/3784333)을 달으셨는데 사실 이렇게 게임 데이터를 분석해서 오토 프로그램이나 계정 도용 등을 탐지하는 기법에 대한 연구는 생각 외로 학계에서도 이미 많이 하고 있다.

 특히 흔히 '오토' 혹은 '게임 봇' 이라고 부르는 자동 사냥 프로그램을 탐지하는 기법에 대한 연구가 꽤 활발한데 마침 최근에 이와 관련해서 잘 정리한 블로그 글을 하나 발견했다. (http://www.aurumahmad.com/vwe/gold-farming/)
 참고로 외국에서는 이렇게 오토 프로그램 등을 이용해서 게임 화폐나 아이템을 모아 이것을 팔아서 돈을 버는 행위를 'gold farming(http://en.wikipedia.org/wiki/Gold_farming)' 이라고 한다. 

 어떻게 보면 이런 류의 탐지는 전형적인 분류(classification) 문제라 할 수 있다. 여러 개의 메일 중에서 스팸 메일을 걸러내는 것처럼 게임 상의 캐릭터들 중에서 자동 사냥 프로그램과 일반 유저를 분류하는 것이다. 물론 '분류'가 아닌 반복 패턴을 찾는 문제나 행위 유사도 클러스터링 등등 다양한 시도들도 있다. 아무튼 이런 것들이 모두 '데이터 마이닝' 하는 사람한테는 꽤 좋은 떡밥이 된다.

 문제는 이런 분석을 제대로 하기 위해서는 충분한 양의 게임 로그 및 관련 정보가 필요한데 당연히 대부분의 게임 회사는 이런 사용자 데이터를 외부에 공개하지 않는다는 점이다. 이렇듯 게임 데이터가 굉장히 매력적인 자료임에도 불구하고 관련 연구가 다른 분야에 비해 많이 활성화 되지 못하고 사람들에게 널리 알려지지 않는 가장 큰 이유는 (웹과는 달리) 자료 접근이 대단히 폐쇄적이기 때문이다.

 그나마 극히 일부 게임에서 연구 목적을 위해 데이터를 제공하고 있기에 그래도 논문들이 꾸준히 나오고 있는데 우리 회사의 경우도 '아이온' 게임 데이터를 산학 협동 연구 목적으로 고려대에 제공한 적이 있다(그리고 이를 통해 여러 편의 논문이 나왔다). 

 참고로 게임 데이터 분석을 주제로 한 논문 몇 개를 아래에 나열해 본다.

 
 그리고 얼마 전 우리 팀에서도 학회에 봇 탐지 관련 논문을 하나 냈다. 솔직히 그리 잘 쓴 논문은 아니지만 안 쓴것 보단 낫지 싶어 조심스레 올려본다.



1 2 3 4 5 6 7 8 9 10 다음