데이터 컨설팅 요청을 받는 경우가 있다. 단순하게 주가 예측하는 알고리즘 만들어달라거나, 비트코인 가격 맞출 수 있게 해달라거나 하는 둥의 황당한 요청이야 단번에 거절하는데, 때때로 최소한 말은 되는 데이터 사이언스 급의 프로젝트를 들고 오시면 일단 답변은 드린다. 근데, 다들 생각하시는게 무슨 개발 프로젝트 발주하는 마인드인 것 같아서 황당할 때가 많다.

얼마전에 Android 개발자 포지션에 지원하신 분의 메일 내용 일부가 이 글의 주제와 맞닿아 있는 것 같아서 살짝 소개만 해 본다.

인공지능 회사에 안드로이드 개발자로 입사…. 개발한 어플을 홍보할 마케팅 비용이 없다는 이유로 정부 프로젝트를 회사에서 진행…. 인공지능 키워드로 홍보를 하는 회사인 만큼 인공지능 기능이 들어간 정부 프로젝트에 참여하게 되었는데, 해당 프로젝트에 참여하게 되면서 문제가 발생하게 됩니다.

평소에 수학적인 기반 지식이나 인공지능 및 데이터 관련 기반 지식이 전혀 없던 저는 해당 업무는 저의 업무가 아니며, 내가 맡을 경우 결과가 좋지 않을 것이다라고 강하게 어필하였으며 연구인력이 필요하다고…. 실제로 회사에 있는 연구 인력이나 데이터 사이언티스트는 너 개발자인데 왜 못해라는 분위기로 억지로 저에게 일을 떠넘겼고….

내가 무능하고 잘못생각한건가라고 헷갈리기 시작했습니다… 뭔지도 모르는 수식들을 봐가며 이해하기를 시도하다 포기하고 코드들을 단순히 복붙하였고… 그림찾기 수준으로 같은 데이터만 수집하는 매크로를 작성하여 데이터 셋을 가공했고…. 결과가 왜 그렇게 나오는지 알지도 못한채, 내가 학습하는 알고리즘이 무슨 알고리즘인지도 알지도 못한채….

블로그의 글을 (중략) 이런 분이 운영하는 회사에서 업무를 하게 된다면 적어도 내가하는 안드로이드 개발 업무 외에 다른 업무를 말도 안 되는 이유도 맡게될 이유는 없겠구나는 생각…. (중략)

매일같이 보고 듣고, 가끔은 매우 가까이서 보고 듣게 되는 현실이다. 경력 3년차 안드로이드 앱 개발자에게 저런걸 시켜서 정부 프로젝트라는 허명아래 세금 낭비를 하고 있는데, 내 입장에서는 안타까울 뿐이다.

저런 프로젝트들만 보고 연락을 주셔서 그런지는 모르겠는데, 데이터 컨설팅 요청을 하는 사람들에게서 대화가 안 된다는 느낌을 강하게 받은 에피소드 몇 개만 소개한다.

 

모 게임사 Case – 개발자 한 명이랑 너랑 하면 되는거 아냐?

어느 중견 게임사, 아마 게임 업계 계신 분들이면 이름 듣고 아~ 정도가 나올만한 회사의 서울 지사장이라는 분이 연락을 주셨다. 자기네 특정 서비스가 인간이 풀어낼 수 있는 건지 아닌지, 꼼수로 풀어낼 수 있는건지 아닌지를 알아낼 수 있는 “인공지능” 알고리즘을 만들 수 있냐고 하시더라.

몇 차례 메일을 주고 받은 끝에, Reinforcement learning을 시켜야하고, 시뮬레이션 기반으로 Model-Free (속칭 Q-learning)으로 모델을 만들어야한다는 사실을 깨달았다. 거기다, 게임 중에 랜덤으로 추가되는 변수들이 스테이지 별로 점점 더 많아지는 구조라 더더욱 알고리즘 개발에 시간이 많이 걸린다고 알려드렸다. 저런 랜덤 요소들을 무작정 변수들로 추가하기 시작하면 시뮬레이션으로 모든 Grid를 다 찾아야하기 때문에 Learning 작업이 아예 안 끝날테니, 뭔가 합리적인 규칙을 이용해서 랜덤 변수들을 최소화할 수 있는 조건식을 찾아봐야할 것 같다고 수학적인 설명을 해 줬다. (당연히 못 알아들었을 것이다.)

그 서울 지사장이라는 분은 자기네 회사에 병특으로 와 있는 K모 대학 출신 개발자가 매우 똑똑한 인재니까 필자에게서 저런 “수학 모델링” 작업을 훔쳐(?) 배우면 몇 달안에 저런 “인공지능 알고리즘”이 뚝딱~ 개발이 될 것이라고 생각하고 있으시더라.

이건 Bellman equation으로 모델을 만들어서 손으로 풀 수 있는 부분 (Analytic solution)이 최대한 많아지도록 모델을 설계해야한다고, 필자와 비슷한 수준으로 Bellman equation에서 2개, 3개 이상의 random state variable이 있는 경우를 풀어본 경험이 있는 사람이 몇 명 붙어서 이런저런 고민을 길게해야한다고 설명을 해 줬는데, 정말 전혀 못 알아 듣는 표정이더라. (사실 여기서 대화를 접었어야 했다.)

끝까지 자기네 개발자를 투입시키면 비용이 절감될텐데 왜 다른 박사를 불러올려고 하느냐면서 말을 잡아 끌다가, 나중에는 다른 수학과 교수들과 연락하고 있다는 식으로 가격 협상을 하려고 하셨다. 외람되지만 수학과 교수님들 중에 Bellman equation 으로 모델 만들고, 그 때 state variable이 너무 많다는 이유로 손으로 푸는 대신 컴퓨터의 Trial-and-error 방식으로 문제를 풀어보신 분은 아마도… 없을 것이다. 물리학 하시는 분들이나 기계공학 하시는 분들이 비슷한 작업을 하시는걸 본 기억은 난다. (그런 수학 방법론을 쓰셨다는 이야기지 머신러닝에 활용했다는 이야기 하는건 아니다.)

나중엔 Proto-type을 만드는 견적을 달라고 하시던데, 이건 뭐, 저런 연구과제가 어떻게 돌아가야되는지 전혀 모르는 분이나 하는 질문이 아닐까? 금액을 불렀더니 아예 답장도 안 주더라. 답장도 안 하는 정도의 무례한 사람에게 왜 내가 시간 낭비를 했을까?

 

모 의학 스타트업 Case – 사업 아이디어를 전부 만들어주세요

어느 의학 스타트업에서 생체데이터와 자기들 내부 데이터를 “분석”하여 모델 구축 후 (“분석”이라는 단어를 쓴 것부터 이미 이 블로그를 대충 봤다는 티가 났었다), 그 데이터를 리얼타임으로 “분석”하면서 의사결정을 예측하는 앱을 개발하고 싶단다. 그러면서 마지막에 앱 만드는 부분만 자기가 할테니 앞 부분을 다 만들 수 있냐, 가격은 얼마냐는 질문을 받았다.

그 스타트업 관계자의 익명성을 위해서 구체적으로 무슨 데이터였는지에 대한 정보는 생략한다.

이 회사의 홈페이지를 들어가면 딱 저 사업 모델로 “혁신”을 갖고 온다고 써 놨다. 설립일이 2018년 2월로 되어 있고, 약 30억 정도의 투자금을 받았던데, 위의 요구사항 메일을 봤을 때 1년동안 저걸 시도해보다가 내부적으로 실패하고 “실력자(?)”로 짐작되는 사람에게 외주를 주는 방식으로 해결하려고 한다는 사실을 감 잡을 수 있다. (관계자님, 제 짐작이 틀렸다면 사과드립니다.)

완전히 남의 사업 모델을 하나 다 만들어달라는 급의 요구를 하는데, 의학 데이터는 필자가 잘 모르는 분야이기도 하고, Pabii 사업이 바빠 시간을 쓰고 싶진 않았지만 그래도 돈 없는 스타트업 입장에서 직원 분들 월급도 주고, 설비도 들여놓고, 외부 마케팅 비용도 벌어야되니 돈만 많이 주면 해 주겠다고 크게 양보를 했다.

사업 모델을 들어봤을 때, 그들이 말하는 데이터가 리서치 할 수 있는 수준으로 이미 확보되어 있다는 전제아래, 1단계 모델링 작업, 2단계 실시간 처리용 개발작업, 3단계 앱 개발 작업으로 나뉜다고 말씀드렸더니, 그럼 (돈 좀 아끼고 싶으니까) 1단계만 부탁하고 싶단다. 근데 실시간 처리용 개발하려면 서버에 저 모델을 어떻게 얹어야하고, DB는 어떻게 설계해야하는지 계속 저랑 커뮤니케이션해야될텐데요? 그건 공짜로???

우리 Pabii의 DSP 사업 모델만해도 최소 10억 이상의 초기 투자금이 필요한 서비스다. 그 사이에 이것저것 돈 들어갈 일이 많고, 솔직히 말해서 10억원도 턱없이 부족하다고 생각한다. 그나마 다행인 부분은 연구, 개발 분야에 외주 줄 필요가 없을만큼의 인력이 모여있기 때문에 “도전” 부분에서는 비용이 절감(?)될 뿐이다.

반면, 저 의학 스타트업은 자기네의 핵심 모델을 개발하는 작업을 완전히 외주줘야할만큼 연구 수준이 낮은, 말 그대로 “이빨로 투자받은” 상태인데, 이런 외주에는 얼마를 쓰는게 맞을까?

필자가 같은 상황이었으면 아예 창업을 하지 않았거나, 아무리 많은 돈이 필요해도 저런 모델링을 할 수 있는 데이터 사이언티스트 찾아 삼만리를 했을 것이다.

필자가 잠깐 겪었던 미국의 어느 스타트업은 이름만 파이낸스 박사지 사실 세부 전공은 아무 관련이 없는 교수 하나를 감사로 임명하고, 통계학 석사 출신 중국인 하나에게 특정 모델을 만들라고 시켰다가 그 중국인이 탈출하고 필자를 뽑았었다. 면접 숙제라고 나오는 내용들이 모조리 경쟁사 모델 replication인데 가이드가 너무 없어서 이상하다고 생각했다가, 회사 들어가자마자 이 사람들이 모델도 없고, 나한테 모델 만들라고 할꺼면서 지분을 0.0x%만 주려는 무개념 욕심꾸러기라는 사실을 깨닫고 탈출했었다. (그리고 그 회사는 얼마전 투자금을 다 소진하고 청산 절차를 밟았더라.)

앱 하나 만들면서 몇가지 알려진 기능을 구현해달라고 개발자를 찾는 것도 아니고, Seed에 30억이 넘는 투자금액이 들어오는 “상상속의 도전”을 시도하는 회사가 자기네 연구 능력 부족으로 외주를 주게되면 얼마를 써야할지 지금도 잘 모르겠다. 모르긴 몰라도 전세계에 당신들이 원하는대로 연구 결과물을 뽑아낼 수 있는 사람이 몇 명 없을 것이다.

 

어느 대기업(들) – 데이터 사이언티스트 있는 스타트업 하나 인수하면 되는거 아냐?

최소 2개의 국내 대기업들에서 만났던 편견이다. 데이터 사이언티스트라고 뽑은 인력들이 사실은 Data Engineer거나, Data Analyst라고 냉정하게 평가해줬더니, 그럼 데이터 사이언스 프로젝트 외주 주지말고 아예 Data Scientist 있는 스타트업 하나 인수하면 되는거 아니냐는 식으로 전략을 바꾸더라.

처음 겪었던 대기업 1번은 학부생들이 우리 페X스북에서 인턴해봤던 데이터 사이언티스트에요~ 라고 팀 만들어놓은 걸 보고, “Acqui-hire” (인재 고용을 위해서 신생 스타트업 팀을 통째로 인수하는 것)를 시도하고 있더라. 당시 그 분들이 옵션 중 하나로 뒀던 중형급 스타트업은 핵심 사업 모델을 모 대학교에 있는 어느 교수한테 외주를 주고 있는데, 그 교수는 그쪽 시장이 어떻게 움직이는지에 대해서 굉장히 얊은 이해를 가진 분이었고, Acqui-hire 하려고 했던 그 학부생 스타트업은 학부 수준 통계학을 이것저것 적용해본 걸로 블로깅하는 기초 수준이었다. 더불어 고민하셨던 투자 옵션이 관련 비지니스를 몇 달동안해서 이것저것 개발해봤다는 초짜 개발자들 스타트업에 지분 투자하는 거였던걸로 기억한다.

참고로 관련 비지니스를 몇 달동안 해 봤다는 그 스타트업은 비지니스 모델이 제대로 안 돌아가니 국내 유명 K대학 학부생 동아리!!!!! 애들과 업무 협조를 해서 “인터넷으로 배운” 비지니스 모델을 구현하겠다고 시도하고 있었다. (후에 관계자에게 뒷 이야길 들어보면 동아리!!!!!와는 결별했고, 인터넷으로 배운 탓에 Client쪽 서비스를 어떻게 만들어야하는지를 모른채 2년을 허비했단다. 연구 프로젝트를 인터넷으로 배우고, 학부 동아리!!!!! 와 업무 협조로 풀어낸다고??? 도대체 어떤 전공이 이런 수준으로 연구를 하나??)

대기업 2번은 인력 채용이 힘들다고 실리콘밸리까지가서 소형 스타트업 하나를 인수했다. 그 스타트업이 뭔가 데이터가 엄청나게 많은 것처럼 주장하고, 사업 모델이 빵빵한 것처럼 이야기했지만, 정작 제대로 된 데이터 사이언티스트 하나 없이 엔지니어들이 글 첫머리의 안드로이드 개발자 사례처럼 이것저것 주워붙이기 하던 상황이었고, 그나마 좀 똘똘했던 중국인 데이터 사이언티스트는 인수된 후 얼마 지나지 않아 다른 회사로 이직해버렸다고 하더라. 결국 데이터 사이언티스트 하나 없는 쭉쩡이 스타트업을 인수한 꼴이 됐다.

저 위의 2개 대기업은 모두 오너 레벨에서 데이터 인력을 키워야한다고 목소리를 높이고, 외부 인재를 열심히 영입하고 있는걸로 유명한 회사들이다. 그런데, 이렇게 말해서 정말 미안하지만 필자가 보기에 저정도면 잘하겠다 싶은 데이터 사이언티스트 뽑은 걸 아직 못 봤다.

 

나가며 – 개발? 연구!!

1년 반쯤 전에, 데이터 컨설팅 회사에 재직 중이라는 통계학과 졸업생을 만난적이 있다. 자기네 회사에 통계학 교수와 공학 교수가 Co-founder이기 때문에 믿고 왔는데, 정작 회사에는 공대 분들이 통계학적으로 틀린 작업들을 코드 복붙해서 하고 있고, 교수님들은 이해를 못하는건지 관심이 없는건지, 이름 값으로 프로젝트 따는데만 관심이 있는건지, 결과물은 그냥 그 상태로 고객사에 전달되고 있단다. 자기는 아무 말도 못하고 따라만 가고 있을 수 밖에 없는 사실이 너무 괴롭다며 불평을 했었다.

아마 필자를 찾아왔던 저 위의 회사들 중 상당수가 필자가 부른 “견적”에 깜놀!하고 그 통계학과 졸업생 분이 계신 데이터 컨설팅 회사 수준의 인력에게 외주 프로젝트를 맡기고 있을 것이다. 그리고 결과물이 마음에 안 들면 데이터 사이언스라는거 그거 별거 없는거라고 불평불만을 털어놓으시겠지.

직장 초년병 시절에 있었던 외국계 증권사의 IBD팀은 M&A건당 엄청난 금액의 수수료를 요구했었고, 당시 필자와 비슷한 인력 풀의 친구들이 들어갈려고 갈망했던 외국계 전략 컨설팅 회사들도 파트너 급들이 국내 대기업들에게 깜놀!!할 자문료를 요구했던 기억이 생생하다. 인턴도 한 두달 훈련만 시키면 했던 수준의 외국계 증권사 업무나 전략 컨설팅 업무도 아니고, 그들보다 훨씬 더 Academic challenge의 레벨이 높고, 단순한 “직장 경력”만으로는 명함도 못 내미는 연구 프로젝트들을 외주로 맡기려고 하면서, 심지어 자기들은 퀄리티의 차이도 잘 인지 못하면서, 왜들 저렇게 푼돈으로 해결하려고 하는걸까?

푼돈으로 외주 주려다가 피본 사례 중 IT업계 예시가 아닌, 실제 눈으로 보고 겪은 사례 하나만 여담으로 공유한다. 2008년, D모 외국계 증권사 IBD 막내 시절, 지방의 어느 백화점 업체가 매물로 나온 모 화장품 업체 인수전에 뛰어들겠다고 당시 재직 회사를 찾아왔었다. 시장에서 예상했던 딜 사이즈가 대략 3천~4천억 정도였는데, 그에 맞춰 우리 수임료를 불러주니 놀란 황소 눈이 되었던 그 회사 담당자의 눈이 아직도 선하다. 결국 무늬만 IB고 자금 지원 능력이나 딜리버리 능력이 전혀 없는 어느 국내 증권사를 선임해서 인수전에 뛰어들었던 게 기억난다. 당시 인수 후보가 많았던 탓에 1차, 2차 라운드로 인수 후보들을 걸렀는데, 첫 라운드에 떨어져 나가더라. (담당자들의 뒷 이야기를 들어보면 아예 서류조차 제대로 읽지 않았던 후보란다.) 당시에 윗 분들이 “우리랑 팀을 짜도 힘들었을텐데 겨우 국내 증권사 써서 되겠냐 쯧쯧”이라고 혀를 찼었다. 그로부터 3년도 지나지 않아 서울의 대형 백화점들이 지방 상권을 싹 장악하면서 그 지방 백화점은 몰락의 길을 걸었다. 당시에 회사의 생존을 위해서 사생결단을 내렸어야했던 타이밍인데, 겨우(?) 몇 십억의 수임료를 아끼려다가 지방 유지 3대가 평생을 바쳐 일궜던 사업체는 백발과 주름살에만 흔적이 남은 회사가 되어 버렸다.

한국의 Software Engineering 관련 비지니스 대부분이 건설업의 그것처럼 하청, 하청의 하청 같은 방식으로 운영되는걸 자주 듣는다. 근데, 위에 예시를 든 Data Science 프로젝트 대부분이 개발 인력 몇 명으로 해결되는게 아니라, 똑똑이들 잔뜩 모아놓은 스타트업들의 운명을 걸고 해야하는 수준의 대형 연구 과제급 사업모델이라는 걸 인지하고나도 여전히 개발 외주 주듯이 후려치기를 할까? 아예 몇 백억을 주고 Acqui-hire를 해도 핵심 인력인 Data Scientist가 이직해버리는 판국인데?

전관 예우를 받는 변호사를 고용하고, Track record가 엄청난 외국계 증권사를 고용할 때, 그 때 만나던 지적 능력과 희소성을 갖춘 인력들에게 외주를 줘야한다는 사실, 당신이 원하는걸 해 줄 수 있는 사람이 거의 없다는 사실을 좀 인지하고 외주 프로젝트 이야기를 꺼냈으면 좋겠다.

“몇 천만원 정도 쓰면 되나요?”라는 (모욕적인) 질문은 그만 받았으면 한다.

 


공지: 2019년 3월 29일을 끝으로 데이터 사이언스 주제의 포스팅은 종료됩니다. 이 후에는 파비의 스타트업 운영 관계된 포스팅만 월 1회 작성됩니다.

얼마전 의학 연구직으로 있는 학창 시절 친구를 만났다. 자기네가 데이터 작업을 하고 있는데, 여기에 머신러닝인지 인공지능인지라는걸 쓰면 뭔가 좀 더 획기적인 정보를 찾아낼 수 있냐고 묻더라.

논문을 한 번 읽고, 두 번 읽고, 세 번 읽고, 아무리 생각해봐도 별 대단할게 없는 사회학자들 데이터 리서치하는 수준의 정보들인데, 여기에 머신러닝을 어떻게 써보겠다는건지 잘 이해가 안 되더라. Pabii 수업 시간에 계속 주장하는대로, 데이터에 Non-linear 패턴이 없으면 머신러닝이라는 계산 작업은 아무런 의미가 없다. Linear 관계를 찾는 작업, 특히 데이터 샘플이 랜덤 오차를 갖고 있는 경우라면 단순한 OLS가 최적의 Estimation 방법이기 때문이다.

굳이 뭔가 더 작업을 해 보겠다면 Latent variable을 찾아내기 위해서 Factor Analysis를 해 볼 수는 있다. 근데, 그렇게 찾아낸 Factor들에 이름을 달아주지 않고 의학 저널에 논문을 Publish 할 수 있을까? 적어도 내 연구 필드에서는 (거의) 불가능한 부분이었기 때문에, 의학 저널들이 제대로 통계 스터디를 한 논문에게만 bar를 넘을 수 있도록 해 준다면 어렵지 않을까 싶다.

(Source: Powerful Medical)

 

그럼 좋은 논문이란 뭘까?

몇 달 전에 수업에 찾아오셨던 약학 전공자 분이 수업 끝에 Nature 논문 하나를 보여주시던데, 거기에 딱 위의 Factor Analysis 개념을 활용한 Neural Network 모델이 있었다. 참고로 이런 모델의 공식 명칭은 Auto-encoder다.

약학 쪽 지식을 하나도 안 갖고 있기 때문에 무슨 말인지는 몰랐지만, 어쨌건 입력 변수 n개는 매우 많았는데, 이걸 5개의 Key element들로 추려내려고 Auto encoder를 활용했고, 그래서 이전과는 다른 결과값을 찾아냈다는게 논문의 요지였다.

분명히 그들이 찾아낸 결과값이 충격적이었기 때문에 Nature라는 어마어마한 저널에 출판이 되었을 것이라고 생각한다. 여기서 Auto encoder의 역할은 통계학 수업 때 배우는 Factor Analysis를 좀 더 그래픽 모델 스럽게 구현한 것에 불과하다. (좀 더 수학적으로 정확하게 이야기하면, Latent variable을 찾아내는 계산을 Linear말고 Non-linear하게 했다는 뜻이다.) 말을 바꾸면, Auto encoder를 썼기 때문에 그 논문이 Nature에 나가는 대박 논문이 된게 아니라, (Non-linear) Factor Analysis 덕분에 남들이 그 동안 찾지 못했던 결과를 찾아낸 것이라고 봐야한다.

글 첫머리에 이야기한 그 의학 연구직에 있는 친구가 필자를 찾아온 것은 아마도 본말이 전도된 정보를 들었기 때문일 것이다. 의학 분야에서 도메인 지식이 하나도 없는 필자가 그 친구를 도와줄 수 있는 것은 모델 코드를 쳐 주고, 특정 모델이 왜 작동하지 않는지, 어떤 모델을 쓰는게 논리적으로 맞는 건지에 대한 통계학적 경험을 전달해 줄 수 밖에 없다.

아주 최근에는 비슷한 일을 의학 교수님 한 분과도 겪어 봤다. 특별히 대단할 것 없는 Non-linear regression을 돌린 모델이 들어간 논문인데, 그 분야에서는 뭔가 중요한 결론이었을지 모르지만, 통계 모델만 봤을 때는 “오~ 여기에 머신러닝의 Ensemble 모델을 쓰면 결과를 완전히 뒤 엎을 수 있습니다” 따위의 코멘트는 할 수 없는 논문이었다. 기대한 것과 다르다고 불편한 답장을 보내셨는데, 뭐라 할 말이 없더라. (Pabii 수업까지 한 달 들으신 분인데, 이분 수업 헛들었다는 생각이 들어서 메일 받고 좀 기분이 나빴다.)

아마도 거의 대부분의 연구들이 다루는 데이터가 Non-linear 패턴을 갖고 있는 데이터가 아닐 것이다. 빅데이터 정의하는 글을 이미 여러번 썼지만, 데이터가 랜덤 오차를 갖고 있으면 Linear 계산법이 맞고, 당연하겠지만 머신러닝 모델을 쓸 수 있는 여지는 확 줄어든다.

 

머신러닝 방법론을 쓴다는 (양산형) 논문들

설령 Non-linear 계산법들 (속칭 머신러닝 계산법)을 써서 약간 더 Fitting이 좋게 나왔다고 해도, 그 방법론에 절대적인 믿음을 가지지는 말았으면 하는게, 모든 데이터는 약간의 오차를 항상 갖고 있고, 그 오차 때문에 일부 Non-linear 모델들의 Fitting이 좀 더 좋게 나오는게 그렇게 놀라운 일은 아니다. 다만, 데이터 셋이 바뀔 때마다 Fitting이 더 잘 나왔던 모델이 지속적으로 높은 Fitting을 보여줄 확률은 매우 낮다. 약간의 오차를 더 잘 잡아내는데는 도움이 되었지만, 오차의 형태가 바뀌면 더 이상 Fitting을 높게 유지할 수 없기 때문이다.

가끔씩 받는 의학 분야 저널 논문을 보면, 거의 대부분이 Multivariate Linear regression vs. 머신러닝 계산법 10가지 비교를 통해, 머신러닝 계산법 중 어떤 특정 계산법이 제일 좋더라는 결론을 내고 있다. 이해가 되는 부분은, 그 분들이 다루는 데이터 중 일부는 구간별로 유의미함이 달라지는 경우 (ex. 5~10, 20~30 구간만 영향을 주고, 나머지는 효과 x)이거나 , 병이 걸린 환자들을 대상으로한 데이터이기 때문이다. 앞의 경우는 Tree 계열 모델들이 Euclidean space에서의 계산법보다 더 fitting이 잘 나오는게 당연하고, 뒤의 경우는 데이터 자체가 이미 Multi-pattern을 갖고 있다고 봐야한다. 머신러닝 계산법 10가지를 다 써보고 그 중에 어떤 방법이 제일 낫더라는 결과론적인 계산값들을 공유한 기초적인 논문들이 SCI 논문이라고 나오는걸 보면 내 입장에서는 황당할 수 밖에 없다.

정말 제대로 된 리서치라고 하려면, 데이터의 형태에 맞춰 Tree 계열 모델을 써야할지, Euclidean space 기반의 모델을 써야할지에 대한 적절한 판단을 내려서, Tree 계열 모델을 쓰기로 결론 내렸으면 어떤 계산법을 써야하고, 데이터는 어떻게 처리하는게 맞는지에 대한 고민을 해야하지 않을까? 머신러닝 모델 10개를 다 써 봤더니 뭐가 제일 좋더라….는 정말 심각하게 잘못된, 학부 수준도 안 되는 적용방법이다. 머신러닝 모델 10개를 우리 데이터 셋에 맞게 어떻게 고친 상태에서 돌려봤더니 어떤 모델이 제일 좋더라고 하면 백번 양보해서 타협할 수 있다. 그 전에 데이터 전처리가 더 우선이기는 하겠지만… 의학을 하나도 모르는 통계학자는 그 동네 상황을 잘 모르니 데이터 전처리를 함부로 할 수 없다. 의학 하시는 분들이 방법론을 공부하거나, 통계학 하시는 분들이 의학 공부를 하시는 수 밖에.

 

계산법을 갖다쓰지말고 데이터를 전처리하면?

공학이나 사회학으로 가도 상황이 비슷비슷하더라. 필자가 위의 구간별 유의미성이 다른 데이터를 다루고 있었으면, 어떤 형태로 튀어나올지 예측 불가능한 Non-parametric 모델 (ex. Tree 계열 모델들)을 쓸게 아니라, 데이터를 가공했을 것이다. 효과가 있는 투약 구간이 5~10, 20~30이면, 그 구간에 걸리는 대상들을 1, 나머지는 0으로 놓는 Dummy 변수를 하나 더 추가하면 기존의 Multivariate regression 모델로 충분히 좋은 결과를 낼 수 있다.

Multivariate Regression 계열의 모델들은 어떤 변수가 어느 정도의 효과를 갖는지를 눈으로 직접 보고 직관적으로 쉽게 확인할 수 있다는 장점이 있기 때문에 글로벌 IT회사들이 Classification을 할 때 괜히 복잡한 Kernel SVM이나 Tree기반 Random Forest, Gradient Boosting을 쓰는대신 Logistic regression을 쓴다. (사실 그런 Kernel function을 쓰는 작업도 데이터 전처리로 치환할 수 있으니까.) 위와 같이 데이터 전처리를 살짝만 하면 충분히 Logit을 쓸 수 있다는 사실을 인지하고 있고, Logit이 관리에 더 적합한 모델이라는 사실을 아는 사람들이 굳이 다른 모델들에 관심을 가질까?

머신러닝 방법론을 쓴다는 양산형 논문들이 가지는 가장 큰 문제가 바로, “잘 모르니까 덮어놓고 이것저것 다 써 봤더니 어떤게 제일 좋더라”는 저급한 이해도에서 출발했다는 점이다. 학위 과정 중에, 평소에 데이터로 공부하는 중에 한번이라도 데이터의 형태를 변형해서 원하는 모델과 매칭시키는 작업을 해 봤다면 저런 논문을 쓰게 될까?

저런 계산법만 갖다써서 Non-linear 계산법 중 어떤 방법이 더 좋다는 결론을 특정 데이터 셋에서 얻어내고 난 다음 스텝은 뭘까? 다른 데이터 셋에서는 그 계산법과 유사하지만 다른 계산법이 더 Fitting이 좋다는 결론이 얼마든지 나올 수 있는데?

비슷한 여러개의 샘플에서 지속적으로 특정 군의 계산법이 더 Fitting이 좋게나오면, 이 데이터는 어떤 특정한 구조를 갖고 있겠구나는 결론을 내리고, 그 구조를 찾아내서, 그동안은 못 찾았던 병리학적인 원인-결과 관계를 찾아내는게 더 적합한 “연구”가 아닐까? 위의 약학에서 Autoencoder 썼다는 논문에서 저자들의 의도가 정말로 그랬는지는 모르겠지만, 결과론적으로 봤을 때는 100개가 넘는 변수들은 결국 5개의 Factor들로 정리될 수 있다는 결론, 그게 특정 약의 적용 기제와 연결되어 있다는 걸 알려줬기 때문에 Nature라는 초특급 저널에 실릴 수 있었을 것이라고 생각한다.

이래서 머신러닝에서 쓰는 계산법을 소개하는 수업 대신 기본적인 통계학 훈련을 더 받아야한다고 주장하는 것이다.

 

나가며 – 머신러닝? 데이터 전처리와 모델링이 먼저다!

뱅킹 시절 인턴으로 썼던 학부 후배가 모 투자사에 있어 Pabii의 사업 모델을 이야기 한 적이 있다. 스마트폰에 앱을 깔고, 그 데이터들을 가공해서 광고주들이 원하는 사람에게 Target 광고를 뿌릴 수 있도록 해 준다는 단순 요약한 아이디어를 던졌더니, 왜 고생스럽게 스마트폰에 앱을 깔게 하느냐, 그냥 광고주들한테 데이터 받으면 되는거 아니냐는 반문을 받았었다. 그거 남들이 이미 다 하고 있다고, 근데 그런 데이터로 할 수 있는 작업이 한계가 있어서, 아예 개인 스마트폰에서 더 핵심적인 데이터를 받아와야 시장 구조를 바꿀 수 있다고 설명해줬는데, 왜 그런 데이터가 필요한지 도무지 이해를 못 하는 표정이어서 좀 안타까웠다.

위의 의학 연구직군 분들이 데이터 사이언스에 대한 과도한 기대를 갖고 있는 부분과 Pabii 사업모델에 학부 후배가 던진 반문의 공통점은 뭘까? 어떤 데이터가 있어야, 어떻게 전처리해야 데이터 사이언스 모델이 파워를 발휘할 수 있는지에 대한 이해가 좀 더 깊었다면 그런 대화를 굳이 하지 않았어도 되었을 것이다.

수업시간 마지막에 잠깐 이야기하지만, 결국은 계산법 싸움이 아니라 데이터 싸움, 모델링 테크닉 싸움이고, 데이터를 많이 갖고 있다의 싸움이 아니라, 필요한 데이터를 갖고 있느냐의 싸움, 그 데이터를 어떻게 가공해서 적절한 모델을 만들어 낼 수 있느냐의 싸움으로 귀결이 된다. (수학적으로는 Target vector space를 커버할 수 있는 Data를 갖고 있느냐, 필요에 따라 vector space를 Kernel transformation할 수 있느냐, 그 kernel처리된 vector space를 설명하는 방정식을 찾을 수 있느냐로 바꿔 쓸 수 있겠다.)

데이터 사이언스의 어떤 테크닉(계산법, ex. Deep Learning)을 이용하면 대박이 난다는 단순한 관점에서 벗어난 사람들이 좀 많아졌으면 좋겠다.

아마존(Amazon.com)이 인공지능 인력 채용 프로그램을 폐기했다는 신문 기사가 떴다. 짜놓은 알고리즘을 따라가면 여성 지원자들을 안 뽑는 방식으로 결론이 나온단다.

(Source: Reuters)

저 프로세스에 대한 기술적인 평가나 도덕적인 판단을 내리기 전에, 일반적인 서류 선별 (Resume screening) 작업을 한번 생각해보자.

대학 졸업반 시절에 B 모 전략컨설팅 회사에서 잠깐 인턴을 했던 적이 있다. 그만 둘 날짜가 며칠 안 남은 상황이었는데, 우리 팀 Associate (말단 컨설턴트)이 HR팀 데스크에 잠깐 가서 산더미처럼 쌓여있는 Resume들을 휙휙휙휙휙휙~~~ 손으로 넘겨보더라. 최소한 2, 300장은 쌓여있었던거 같은데, 그 분이 스캔하는 시간은 1분이 채 지나지 않았다. (한 장에 1분이 아니라, 300장 전체에 1분..) 5장 정도를 뽑더니, HR 팀 담당자한테 전화 인터뷰 스케줄 잡아달라고 부탁하는 모습을 봤었다.

뱅킹 일하던 시절에 너무 심하게 개인 소개로 추천 받은 분들 중에서만 인턴을 뽑는 것 같아서 모교 게시판에 한번 Job Posting을 한 적이 있었는데, 정말 하룻밤만에 100명이 넘는 지원 메일을 받았었다.

그런 경험을 미뤄볼 때, Amazon같은 회사가 Job Posting을 하나 올리면, 아무리 요구 스킬을 맞추기 어려워도 1주일 안에 최소 몇 백명이 지원서를 날릴 것이라는데 의구심의 여지가 없다.

저런 Resume들을 하나하나 꼼꼼하게 봐주는게 지원자에 대한 예의겠지만, 다른 한편으로 회사 입장에서도 HR 프로세스를 최대한 효율적으로 해야할 필요가 있다.

이런 상황에서 당신이 오너라면 어떤 결정을 내리겠나? 연봉 15만불을 주고 있는 Associate에게 일하는 시간을 쪼개서 면접 보라고 하는 것도 돈 아까운 판국에, Resume screening 하고 있으라고 하고 싶은가? 면접은 몰라도 Resume screening 만큼은 돈 or 시간을 아끼고 싶은게 당연지사라고 본다. (자본주의 사회니까)

 

자동화 알고리즘 Recruiter 1 – 영문 이력서의 특징

아마존의 AI Recruiter 프로그램은 그런 이유 때문에 만들어졌을 것이다. 지원자의 Resume에 있는 단어들을 scrapping해서 연봉 협상 단계까지 간 그룹(1)과 면접 중에 탈락했던 그룹(0) 데이터로 or 일 잘해서 내부 성과 평점을 높게 받은 직원 그룹 (1)과 아닌 그룹 (0)으로 정리한 데이터로 모델을 만들었을 것 같다. 단어 처리를 어떻게 했을지는 구체적으로 알 수 없지만, 아마도 중요 단어 or 문장이 resume에 적혀있는지 여부에 따라서 0~1 사이의 특정 점수를 각각의 Resume에 부여했을 것이다. 챗봇도 아니고, Resume에 들어가는 단어의 종류가 많지 않으니 Natural Language Process (NLP) 치고 꽤나 가벼운 모델이었을 것이라고 짐작된다.

참고로, 영어권의 Resume는 우리나라 이력서처럼 생기지 않았다. 어느 직장에서 어떤 Role을 했는지를 쓰는게 아니라, 어떤 Project를 하면서 뭘 배웠고, 무슨 기여를 했는지를 짧은 2-3개 Bullet point로 정리해놓은게 일상이다. 학교 어디나왔다는 이야기 쓸 때도 마찬가지다. 우리나라처럼 X대 Y학과 몇 년도 졸업을 쓰고 끝내는게 아니라, 무슨 specialty로 공부했고, 어떤 부분에 특화된 공부를 했는지, 재학 중에 무슨 Project를 했는지 등등을 쓴다. 모든 걸 다 떠나서 한국처럼 사진 넣은 이력서는 진짜 아무도 안 쓴다 ㅋㅋ (평생 한국말로 이력서를 써 본적이 없어서 pabii 사람 뽑는데 가끔 그런 이력서 받으면 놀란다.  헉~)

우리나라처럼 여학교 출신 인력이 상당수를 차지하는 나라도 아니고, 전공 선택을 하는데 이슬람 국가처럼 남자들이 하는 전공이 따로 있다고 강제하지도 않는다. 그런데도 불구하고 남/녀 차별이 있었다면 그건 순전히 단어와 문장 구성의 차이에서 비롯된 것이라고 봐야한다.

(Source: itakeactions.org)

 

자동화 알고리즘 Recruiter 2 – 상관관계 vs. 인과관계

자기 Resume에 쓴 단어로 불합격자 or 합격자 스타일이라는 결론을 내리는 것과 성별로 차별하는 것과의 연관관계는 무엇일까? 둘의 상관관계 (Correlation)는 굉장히 높았을지 모른다. 저런 언론 기사를 보면 꽤나 높았나보다. 근데, 상관관계와 별개로 내가 선택한 단어와 성별간의 인과관계 (Causation)는 없어야 한다. 남녀간 능력의 차이가 없다면 말이다.

우리나라 사람들이 유학갈 때 유학원의 도움을 받은 Essay를 보면 천편일률적이고 비슷한 단어들 판박이다. 그런데 영어권에서는 그런 Cookie-cutter essay (틀에 박힌 구조의 에세이)를 심한경우에는 표절(Plagiarism)로 생각한다. 그런 문화권에서는 자기 이력서는 당연히 자기가 작성하고, 자기만의 스타일이 녹아날 수 밖에 없다.

자기 스타일이 녹아들어가 있는 이력서가 Amazon 기준에서 합격자들 스타일이 아니라고 판단을 내리는건데, 여성이 대부분 배제되었다는 이유로 여성 차별로 몰고 갈 수 있을까?

내가 이력서에 선택한 단어와 문장 구조는 내 능력을 보여주는 지표 중 하나다. 내 성별을 보여주는 지표가 아니라.

결과적으로 여성 인력이 배제되었다는 이유로 모델링 과정에서 여성을 차별했다고 판단해서는 안 된다.

 

자동화 알고리즘 Recruiter 3 – 데이터 Feeding / Classification

국X일보 사설에서 “여성차별하는 AI”라고 지적하신 분은 Amazon이 남성 인력을 잔뜩 보유한 회사이기 때문에, IT업계에 남성 인력이 압도적으로 많기 때문에, 그런 데이터만 이용해서 모델을 만들면 당연히 저런 결론이 나온다고 하셨다.

저 가정에 대한 대답을 하기 전에, IT회사들 인력 상황을 간단하게 살펴보자. IT업 특성상 “개발자”라고 불리는 직군의 비중이 크다. 어느 회사를 가나 개발 직군에 있는 여성 인력을 만나기는 쉽지 않다. 근데, UI/UX 담당팀, 세일즈 팀 같은데를 가 보면 정반대다. 여성 인력이 상당하다. IT업계도 사업하는 회사기 때문에 여러 직군의 일이 다 있고, 아마존이 최소한의 합리성을 갖고 저 AI Recruiter라는 걸 만들었다면 당연히 직군별로 다른 값을 넣거나, 다른 모델을 썼을 것이다.

IT업계에 남성 인력이 압도적으로 많기 때문에 남성 위주의 알고리즘이 만들어졌을 것이라는 주장이 맞으려면 팀 구분없이, 개발자들만 왕창있는 회사들 기준으로 모델이 만들어졌어야한다. 위에 링크를 건 Reuter 기사에 따르면 Amazon 전체로 보더라도 여성인력이 최소한 30%는 된다.

성차별적인 데이터를 입력했던 것이 아니라, 성별에 관계없이 문자열만 넣은 데이터에서 나온 결론이 하필이면 성차별적인 결론과 인과관계도 아니고 상관관계만 높았던 것에 불과하다.

 

나가며 – 모델링에 대한 잘못된 이해

한국에서 자연어처리 (NLP) 과정을 제대로 이해 못 하는 사람들이 저런 “Resume screener”를 만들었다면 어땠을까? 예전에 어느 인사팀에서 비슷한 일을 하는 걸 봤었는데, 인력의 신상명세에 해당하는 정보들을 전부 Column으로 만들어놨더라. 예를 들면 성별, 전공 종류, 학점, 입사 후 평가, 직급, 직책 등등의 정보들 몇년 치를 입력해놨었다. 아마 그 DB 만들었던 팀이 엄청나게 고생했을 것이다.

그렇게 구성한 데이터로 (Logistic) Regression 기반의 모델을 만들었다면 어떻게 되었을까?

성별 정보가 들어갔기 때문에 분명히 남, 여에 따라 결과값이 다르게 나왔을 때 모델의 성 차별적인 부분에 대한 지적이 가능할 것이다.

그런데, 위의 Amazon 모델은 단순하게 Resume에 쓴 단어들로 자연어처리만 했다. 영문 Resume 어디에도 성별을 구체적으로 써 놓거나, 심지어 짐작할 수도 없는데, 어떻게 남녀 차별적인 AI라고 할 수 있을까? 위에 언급했던대로 상관관계 (Correlation)가 있다는 이유로 인과관계 (Causation)가 있다는 결론을 내릴 수는 없다.

이 블로그에서 줄곧 이야기한대로, 저런 Resume screener가 “인공지능”이라고 생각하지는 않지만, 최소한 “남녀 차별적인”이라는 설명은 좀 억울한 설명일 것 같아 보인다.

어쩌다가 언론에 흘러나오게 되었는지, 또 무슨 이유로 더 이상 안 쓴다는 식으로 언론 플레이를 하고 있는지는 모르겠지만, 최소한 누명은 좀 벗겨 주고 싶었다. 데이터로 모델링하는 사람 입장에서 모델링 방식에 따라 충분히 편견을 배제한 모델링을 할 수 있는데, 너무 결과값만 놓고 상관관계와 인과관계를 혼동하며 누명을 씌우지는 말았으면 한다.

외부 프로젝트 수주로 인해 인력 부족이 심각해져 각 부분별 개발자를 채용합니다. 요구조건은 아래와 같습니다

 

Android 개발자:

기능, 서버, DB쪽 작업이 된 앱의 Front-end 작업

디테일한 요구사항들을 직접 구현하는 걸 즐길 수 있는 마인드

React Native, Flutter를 이용한 개발에 관심있는 분 (Not necessary at this stage)

2019년 내에 최소 앱 2개 출시

관련 로켓펀치 링크

 

iOS 개발자:

Android 앱의 일부 기능을 제외한 단촐한 but App Store 요구조건에 맞는 앱 개발

2019년 내에 최소 앱 2개 출시

관련 로켓펀치 링크

 

공통사항:

스타트업 마인드

개념 장착

프리랜서 X, 리모트 X

 

직원복지:

회사 앞 Gym 회원권 (센트리얼 휘트니스)

연봉: Competitive (딴 직장 알아보고 싶은 마음이 안 들도록)

 

지원방식:

이메일 지원 – [email protected]

1-2페이지 Resume 및 개인 포트폴리오

1 문단 정도의 블로그 감상평

채용시 글 삭제

외부 프로젝트 수주로 인해 인력 부족이 심각해져 각 부분별 개발자 & 디자이너를 채용합니다. 요구조건은 아래와 같습니다

 

Android 개발자:

기능, 서버, DB쪽 작업이 된 앱의 Front-end 작업

디테일한 요구사항들을 직접 구현하는 걸 즐길 수 있는 마인드

React Native, Flutter를 이용한 개발에 관심있는 분

2019년 내에 최소 앱 2개 출시

관련 로켓펀치 링크

 

iOS 개발자:

Android 앱의 일부 기능을 제외한 단촐한 but App Store 요구조건에 맞는 앱 개발

2019년 내에 최소 앱 2개 출시

관련 로켓펀치 링크

 

Web Front 개발자:

광고 관련 주요 Stat 관리자 페이지 개발

MarTech 관련 시장 지식 (Strictly preferred)

관련 로켓펀치 링크

 

UI / UX 디자이너:

앱 UI/UX 디자인 – 20-40대 여성향 UI 디자인 (주요 서비스 타겟층)

광고 관리자용 웹 페이지 디자인 – 정돈된 페이지 디자인

디자인 Agency 출신 우대

UX 디자인 감각 우대

MarTech 관련 시장 지식 선호

관련 로켓펀치 링크

 

기획자:

앱 2개, 광고 관리자용 웹 페이지 디자인에 대한 설명을 듣고 PPT로 계속 찍어낼 수 있는 능력

개발자, 디자이너와 지속적인 커뮤니케이션

MarTech 관련 시장 지식 필수

 

공통사항:

스타트업 마인드

개념 장착

프리랜서 X, 리모트 X

 

직원복지:

회사 앞 Gym 회원권 (센트리얼 휘트니스)

연봉: Competitive (딴 직장 알아보고 싶은 마음이 안 들도록)

 

지원방식:

이메일 지원 – [email protected]

1-2페이지 Resume 및 개인 포트폴리오

1 문단 정도의 블로그 감상평

채용시 글 삭제

외부 프로젝트 수주로 인해 인력 부족이 심각해져 데이터 사이언티스트 1인을 채용합니다. 요구조건은 아래와 같습니다

 

필수지식:

대학원 수준의 수리통계학

시계열 및 Sequence형 데이터 처리 (Autoregressive process, VAR, Kalman filtering, Fourier Transform 등)

패널 (Panel) 데이터 처리 (Bargava-Sargan, Arellano-Bond)

베이지안 통계학 (Thompson sampling 아이디어를 적용하는 모델들 ex. Bandit, Temporal-difference, Metropolis-Hasting 등)

계산통계학 (FFT, Finite Diff, Euler discretization, Stratified sampling, Importance sampling 등)

통상 머신러닝 or 데이터 마이닝

Predictive modeling (Online learning, FTRL 계열 모델들)

Multi-task learning

네트워크 이론 (eigen centrality를 활용한 Node별 ordering 경험 or 환상형 네트워크에서 propagation 효과를 풀어낸 경험)

게임이론 (Cho and Kreps, Trembling-Hand-Equilibrium 등 uncertainty case)

 

우대조건:

위의 필수지식과 관련된 논문

MarTech 관련 시장 지식

 

직원복지:

회사 앞 Gym 회원권

최소 연봉 12,000만원 (위의 조건 모두 만족시)

 

지원방식:

이메일 지원 – [email protected]

1-2페이지 Resume

필수지식을 갖춘 부분을 설명하는 one-pager essay

 

 

미국에 교수로 있는 친구 하나가 사무실에 놀러왔었다. 무슨 비트코인 어쩌고 하는 걸로 사업하는거 아니냐고 농담하길래, 내 성격 알면서, 사업을 안 했으면 안 했지 내가 그런 사기치겠냐고 웃고 넘어갔었다. 처음 코인 바람이 불었을 때부터 예상했던대로 코인에 대한 (투기적) 수요는 지난 1년간 빠르게 증발했고, 덕분에 “비트코인 가격 예측할 수 있는 인공지능 알고리즘 만드는 가격은 얼마냐?”고 묻는 무개념 전화를 안 받게 됐다ㅋㅋ

꼭 1년 전쯤에 코인 가격이 폭등했던 탓에 코인을 “캔다”고 하는 일단의 그룹이 생겨났고, 그래픽 카드 수천대를 투입한 “광산”도 생겼다. 코인 가격들이 줄줄이 폭락한 탓에 그런 광산들이 다 문을 닫았고, 전기세도 안 내고 도망간 사람들도 많단다. “광산”에서 “학대”를 당한 그래픽 카드들이 대거 중고로 풀렸는데, 얼마 쓰지도 못 하고 하드웨어가 고장나는 일이 잦은지 중고 그래픽 카드 구매할 때 테스트해야할 내용들도 인터넷에 돌아다니게 됐다.

그래픽 카드 업계의 선두주자로 저런 대용량 데이터 계산에 사업 역량을 집중했던 Nvidia의 주가는 2018년 9월 28일에 주당 $281까지 치솟았다가 연말에 $140로 반토막났다.  “광산”에 대규모로 투입되었던 그래픽 카드 중고 물량이 시장에 풀리면서 새로나온 제품이 안 팔리는 부분도 있을 것이고, “딥러닝” 혹은 “인공지능”으로 불렸던 Non-linear & Pattern recognition 계산이 가지는 한계를 업게에서 인지했기 때문이라고 생각된다.

(Source: CNBC 기사)

블록체인의 한계 – The Crypto Hangover

Nvidia의 CEO인 Jensen Huang은 대놓고 “The Crypto Hangover”라는 표현을 썼다. 코인 광산에 대한 시장의 반응이 차갑게 식어가고 있고, Nvidia 제품 판매에도 더 이상 영향을 주지 않을 것을 인지하고 있단다.

It’s hard to think that this crypto winter will be over anytime soon

코인이라는 가상화폐 자체의 활용 근거가 없고, 블록체인이 쓰일 수 있는 곳도 굉장히 제한적이라는 이야기를 하면서 줄곧 주장했던대로 암호화폐에 대한 (투기적) 수요에 겨울이 닥칠 것이라고 목소리를 높였는데 (Winter is coming), 이제 정말 겨울이 왔다. (Winter has come)

블록체인을 이용해 코인을 발행하고, 생태계가 구축되고 결국은 정부도 이 흐름을 받아들여야할 것이라고 주장하던 어느 “블록체인 전문 VC”도 떠오르고, 어느 스타트업이 데이터 팔아서 돈 벌 수 있다며 코인 발행을 하겠다고 사업 모델을 바꾸더니, 그걸로 돈을 “벌었다”고 주장하던 꼴불견도 생각난다. (스마트폰 기준으로 우리나라에서 유저 데이터를 제일 많이 보유한 SKT도 데이터 파는 사업으로는 직원 월급은 커녕 서버 유지도 힘들 것이다. 그런 사업 모델을 생각한 사업가들이나, 거기에 투자한 VC들이나, 그 코인을 구매한 투자자들이나….)

Crypto Winter가 끝날 것 같지 않다는 말은, Nvidia 주가 폭락이 상징하는 것처럼 가상화폐 발행을 위한 블록체인 시스템이 매력적인 사업 모델이 아니라는 사실을 (최소한 미국) 시장이 인지하고 있다는 뜻이다.

코인 가격 등락에 매일같이 투자자들 등쌀에 힘들다던 어느 블록체인 스타트업 대표의 다크 써클 가득한 눈이 떠오른다. 50원에 발행한 코인이 5원에도 거래가 안 되고, 거래량마저 없으니 돈 날렸다 -> 사기당했다로 생각이 바뀌는 투자자들이 가만있지 않을 것이다. 주식은 저런식으로 상장 폐지의 위험에 다다르면 투자자들이 회사 건물로 쳐들어가곤 하던데, 블록체인 투자자들 사이에서도 조만간 비슷한 일이 생기지 않을까? 모르긴 몰라도 법적 책임이 애매모호하다는 핑계로 도망가려는 코인 발행사들 & 관계자들 vs. 묻지마 투자자들 사이에 큰 분쟁이 머지않아 뉴스 지면에 오르내리게 될 것이다.

(Source: Nvidia)

 

딥러닝의 한계 – The AI Hangover

바둑계의 전설이라고 불리는 이세돌을 4승 1패로 물리친 알파고가 등장한 이래, 그 게임의 계산 모듈을 만든 Demis Hassabis와 그의 회사 “딥마인드”는 스티브 잡스나 엘론 머스크를 능가하는 IT업계 아이콘이었다. 전문가들 눈엔 “Neural Net 잘 짰네”라는 생각밖에 안 드는 그런 계산 알고리즘에 일반인들이 열광하면서, 단순히 게임만 잘하는 Artificial Intelligence (AI)가 아니라, 모든 일을 다 자동 습득하는 Artificial “General” Intelligence (AGI)가 곧 인류의 삶을 뒤바꿀 것이라는 장밋빛 전망이 언론을 뒤덮었다.

새로운 데이터가 필요한 부분을 시뮬레이션으로 대체한 “알파(고) 제로”가 등장하면서 더 그런 믿음이 한층 고조되었는데, 정작 전문가들의 눈엔 새로운 분야에 적용할 시뮬레이션 데이터 생성 부분이 당면 과제로 떠올랐고, 그걸 인간이 갖고 있는 계산 모듈로 해결할 수 있을지에 대한 의구심이 샘솟기 시작했다.

시뮬레이션으로 모든 가능성을 다 점검하는 작업은 고려해야하는 변수와 가능성의 숫자에 따라 무한대에 가까운 데이터 생성이 필요한데, 이걸 뭔가 적절한 수학 모델링을 풀어내는 방법으로 단순화 시키는게 아니라, 단순하게 시뮬레이션으로 모든 조합을 다 생성해내는 방식으로 접근하고 있으니 전문가들이 발전 가능성에 의구심을 품는 것은 당연한 일이었다.

요즘와서는 Demis Hassabis 본인도 (Deep) Neural Net이 적용되는 한계를 인지한 발언을 하고 있고, 실리콘 밸리에서도 수학, 통계학 잘 모르는 공대생들만 Deep Net에 얽매여 있다. (Deep Learning을 더 배우고 싶어요~ 라던 그 공대 석사 가시는 분, 다시 한번 자신의 커리어 Path를 생각해보시길 바란다.) Data Science 석사 프로그램들은 아예 대놓고 수학적으로 훈련을 많이 받은 사람들 위주로 학생 선발하겠다고 이야기를 하지, 그래픽 카드의 성능을 활용하는 오픈 소스 솔루션을 쓸 줄 아는 사람을 뽑겠다는 이야기는 찾아보기 어렵게 되어버렸다.

(Source: Nvidia)

 

NVidia의 갈림길

그동안 그래픽 카드 소비자들이 봤던 라벨은 일반 상업용 제품 (GTX 계열)과 캐드 계산을 지원하는 제품 (Quadro 계열) 밖에 없었다. 경쟁사인 AMD에서 내놓는 제품도 OpenGL이라고 캐드 계산을 비롯한 일부 3D 이미지 처리 전문 모듈에 대한 논의만 있었다. 그런 계산 모듈들을 셰이더 코어라고 부르고, 3D 그래픽 계산의 성능은 정수 유닛 계산 속도가 아니라 부동 소수점 유닛 계산 속도에 달린 바가 컸다.

Nvidia 주가가 그동안 폭등했던 이유 중 또 하나는 셰이더 코어 뿐만 아니라 Tensor 코어를 추가해놨기 때문이었다. 여러분들이 TensorFlow라는 구글의 오픈소스 계산 모듈 이름으로 한번쯤 들어봤을 그 3차 이상의 행렬 데이터 계산을 위한 모듈을 말한다. 어차피 그래픽 카드 자체가 행렬식으로 계산을 처리하기 용이하도록 구성되어 있기 때문에, Tensor 코어를 추가하는 것 자체는 기술적인 도전이 아니었지만, 그 계산 코어가 효율적으로 작동하도록 하드웨어용 설계 및 펌웨어를 구성하는 일은 절대로 쉬운 일은 아니었을 것이다.

그렇게 Tensor 코어에 집중하던 Nvidia가 이번에 GTX 계열 라인업을 업그레이드 시켰는데, 정작 Tensor 코어 성능 향상은 그렇게 크게 느껴지지 않는다.

이번에 출시되는 RTX 시리즈는 기존의 셰이더 코어를 정수 계산용과 부동 소수점 계산용으로 구분하고, Ray Tracing (RT)이라고, 이미지에 빛을 넣는 렌더링 방식을 광원 여러개를 가정하고 처리하는게 아니라 중심 광원 하나에 따르도록 바꿨다. 그럼 Tensor 코어도 뭔가 업그레이드가 있었을 것 같은데?

Tensor 계산을 한다는게, 결국은 고차원 행렬의 합연산과 곱연산을 수행하는걸로, 연산 총량(스루풋)을 몇 십배로 늘리기 위해서 행렬에만 집중한 코어를 만들었는데, 정작 행렬이 아닌 연산에는 아무런 쓸모가 없는 전기 식충이(!)가 되어버린다. RTX가 진화하는 방향은 Ray Tracing으로 이미지를 좀 더 게임하는 사람에게 실제감각이 느껴지도록 렌더링하는데 포커스가 맞춰져 있는데, 행렬 계산은 거기에 아무런 관련이 없기 때문에 무작정 많은 코어를 넣을 수도 없다. RTX 그래픽 카드를 딥러닝 알고리즘에 활용하는 사람들 비율이 얼마나 되겠는가?

결국엔 여러 데이터 포인트를 하나의 곡선으로 연결해 묶은 Interpolation을 하는 계산에 Tensor 코어를 활용하는 방식으로 타협했다는데, 아무래도 데이터 포인트가 모자라서 빈칸이 생긴 경우를 메워넣는 쪽으로 쓴다는 뜻일 것이다. (결국 머신러닝의 가장 기본형 포맷인 Non-linear function matching으로 돌아갔다는 뜻이기도 하다.)

분명히 TensorFlow 덕분에 주가 폭등이 있었는데, 왜 새로운 그래픽 카드 시리즈를 내면서 Tensor 계산 지원해주는 스루풋 처리 부분을 더 늘리지 않고 Interpolation으로만 갖다쓰는 타협을 했을까?

답은 윗 섹션에 있다. Deep Neural Net이 더 복잡한 계산을 해야하는 도전에 직면한게 아니라는 사실을 Nvidia가 인지 했기 때문이다. 말을 바꾸면, AI가 AGI로 나아가는 방향에서 DNN이 더 이상 큰 역할을 못한다는 사실, TensorFlow 계산 지원이 더 이상 큰 도움이 되지 않는 사실을 인지했기 때문이다.

 

나가며 – 하드웨어 장치 산업

90년대 초중반부터 우리나라의 주력 수출품목은 반도체였다. 반도체 가격이 폭락한 90년대 중반에 금융위기를 맞았고, 모든 산업이 쇠퇴하고 있는 2010년대에도 경제성장율이 +를 유지하는 가장 큰 이유는 삼성전자와 SK하이닉스의 반도체 수출덕분이라고 해도 과언이 아니다. 그리고, 지난 몇 년사이에 인공지능(?), 클라우드 컴퓨팅 등을 비롯한 IT산업의 혁명이 있었기 때문에 반도체 수출이 장기간 호조였다. 그런 호조가 얼마나 지속될지, 메모리 분야의 세세한 내용을 잘 모르니 전망을 내놓고 싶진 않지만, 적어도 인공지능, 블록체인이라고 불리던 거품이 빠지면 하드웨어 투자를 위한 수요는 줄어들 것이라고 생각한다.

Nvidia도 시장의 흐름을 읽고 원래 돈 벌이가 됐던 분야인 게임쪽에 더 집중한 그래픽 카드 라인업을 내놓았다. Ray Tracing 방식의 렌더링이 어두운 영역은 더욱 어둡게 표현한다고, 오히려 쓰기 안 좋은거 같다고 불평하는 사람들에게 그건 디스플레이가 2^10 단계의 밝기 (10스톱)에 머물러 있기 때문에 색이 뭉쳐나와서 그렇다고, 인간의 눈 급인 2^20단계 (20스톱)를 지원할 수 있도록 모니터용 하드웨어 기술에다가 따져라고 하는 댓글을 봤었다.  Nvidia가 게임 시장에서 넘사벽의 그래픽 성능으로 게임사들과 모니터 제조사들까지 압박하는 모습과 DNN 기반의 Reinforcement learning은 한계가 있는 것 같다는 인터뷰를 하는 Demis Hassabis의 표정이 꽤나 대비된다.

섣부른 예측일지도 모르지만, AGI만든다는 도전은 컴퓨터 알고리즘보다 생물학에서 먼저 가시적인 성과를 볼 것 같다. 애시당초 지능은 컴퓨터를 이용한 2진법 방식 연산의 중첩이 아니라 진짜 “학습” 프로세스를 거치는 생명체에게서 찾을 수 있는 것 아니었나?

Telltale이라는 영어단어가 있다. 남기고 간 흔적이 다 이야기해 준다는 뜻을 가진 단어다.

추리소설에서 자주 볼 수 있는 단어다. 그리고 빅데이터에 인공지능을 적용한다…. 는 비지니스에서 자주 등장해야하는 단어이기도 하다. (불행히도 많은 사람들이 “신경망 모델이라는거에 넣으면 그냥 척척 가르쳐주는거 아니야?”에 머물러 있긴 하지만)

비슷한 예시로, 주가 대폭락을 예측한다는 “인공지능” 모델이라는 것도 결국에는 특이하게 움직이는 변수 k개의 특정 조합을 보고 대폭락이 있을 것이라고 판단하는 것이다. 말을 바꾸면, 데이터 변화 묶음 A를 보고 B가 나타날 것이라고 예측하는 작업이 선후 관계 뿐만 아니라 인과 관계를 갖고 있다면, B가 나타난 시점에 A를 Telltale이라고 이름 붙일 수 있다.

Pabii의 사업 모델이 최적 유저 타겟을 찾아주는 광고 플랫픔 (DSP, Demand Side Platform)이기 때문에, 온라인 광고 영역 안에서 Telltale로 잡아낼만한 여러 주제에 항상 관심을 갖고 일을 한다.

이 분야 안에 속칭 “인공지능”, 정확하게 말해서 Multi-pattern matching 작업이 쓰이는 곳이 참 많지만, 요즘 흥미를 끄는 구석이 하나 있다. 바로 사기 클릭 (Fraudulent click 또는 Fraud click)이다.

(Source: BusinessWeek)

 

사기 클릭 (Fraud Click)

비슷한 상품을 같은 시장에서 팔며 경쟁하는 두 개의 온라인 쇼핑몰을 생각해보자. 선의의 경쟁을 한다면 가격을 낮추고, 상품 품질이 높은 셀러를 많이 노출시켜주고, 원하는 상품을 쉽게 찾을 수 있도록 도와주는 등의 서비스를 생각하겠지만, 제로섬 게임을 하고 있다보면 경쟁사 사이트에서 구매하려는 유저를 구매 직전에라도 뺏어오고 싶은 욕구가 강하게 생긴다.  여러가지 방법이 있겠지만, 그 유저가 보고 있는 여러 화면에 광고를 뿌려대서 경쟁사 사이트로 흘러들어가지 않도록 하는 것도 시도해 볼 만하다.

보통 온라인 쇼핑몰들은 하루 예산을 정하고, 각각의 플랫폼 별로 광고 단가를 정해서, “단가 x 횟수 = 예산”이 되도록 광고 노출을 한다. 온라인 광고시장에서 흔히 광고비를 Click당으로 산정하는데, 업계 짬밥이 굵은 마케터 친구의 표현에 따르면 경쟁사 광고가 보이면 일단 꾸욱~ 눌러주는게 이 동네의 암묵적인 룰이란다. 말을 바꾸면, 경쟁사가 광고 비용을 쓰도록 만들라는 뜻이다.

근데, 경쟁사 광고만 뜨면 조직적으로 클릭을 하는 “클릭 농장 (Click Farm)”이 있다면 어떻게 될까? 우리 회사 광고는 아침에 하루 예산을 싹 소진해버렸는데, 경쟁사 광고는 사람들이 광고에 관심을 갖는 오후, 저녁 시간대에 노출되고 있다면? 우리 회사 입장에서는 “피꺼솟”한 상황이 아닐까?ㅋㅋㅋ

관련 조사 업체들에 따르면 전세계적으로 이런 Fraud Click이 전체 클릭의 1/3 정도나 된다고 한다. (참고로 한국의 2018년 온라인 광고비는 대략 5조원으로 추산된다.) 비단 클릭뿐 아니라, 앱 인스톨 같은 광고 단가가 높은 경우에도 “사기꾼”들이 많아서 광고주들이 선뜻 광고비 쓰기가 힘들다고 불평하는 일이 적지 않다.

 

(매우 조잡한) 해결책

누군가는 그런 “클릭 농장”들을 싹 잡아들이면 되지 않냐고 하는데, 이게 쉬운 일이 아니다. 실제로 우리나라의 수도권 근교에 나가면 그런 “농장”에서 매크로를 돌리고, 클릭과 인스톨을 만들어내서 “뒷돈”을 받는 사람들이 꽤나 많고, 워낙 음성적으로 이뤄지다보니 쉽게 공권력이 개입되기도 힘들다 (얼마전 언론에 크게 나왔던 드X킹 이라는 분이 좋은 예시가 될 것 같다). IT인프라가 겨우 갖춰져있고 임금이 저렴한 국가들에가면 수백, 수천명을 모아놓은 그런 “매크로 농장”들도 볼 수 있다.

얼마전엔 어느 영어권 서비스에서 나름대로의 해결책을 내 놨던데, 읽다보니 참 어이가 없더라.

  • 페이스북 / 트위터의 광고만 써라 – 다른 지면을 하나도 안 쓰니까, 지면으로 하는 사기는 방지할 수 있지않나?
  • IP를 막아버려라 – 사기꾼이 아예 접속 못 하도록 IP를 블록해버려라?
  • 구글의 리마케팅 광고 캠페인을 써라 – 일단 우리 홈페이지에 방문했던 유저에게만 광고가 나가니까, 사기 방지 되겠지?
  • 광고의 타겟을 구체적으로 정해라 – 언어, 위치 같은 걸 구체적으로 정한다면 클릭 농장을 피할 수 있지 않나?

저렇게 쉽게 막을 수 있었던 시절이 있었는지는 모르겠는데, 필자가 경험하는 DSP의 현실은 그렇게 녹록치 않다. 어차피 클릭 농장에 있는 “일꾼”들도 기본적인 사항을 다 전달받기 때문에, 페이스북, 트위터의 가짜 아이디를 여러개 생성해서 광고를 계속 찍어댄다. 광고 지면을 한정해봐야 아무런 소용이 없는 것이다. IP 블록은? VPN쓰면 그만이다. 구글의 리마케팅 캠페인보다 더 타게팅이 정교하게 된다던 Criteo의 리타게팅 서비스에서 Senior Data Scientist로 있었던 사람 입장에서, 알고리즘이 광고 노출하게끔 적당히 쇼핑몰 홈페이지를 들락날락거리는 유저 프로필을 만드는 건 식은죽 먹기 처럼 보인다. 저런 Fraud 유저를 걸러내는게 알고리즘 Optimization에서 “머리 터지는” 일이었기 때문에 꽤나 자신있게 이야기 할 수 있다. VPN도 쓰고, 자동화된 알고리즘 머리 위에 노는 클릭 농장이 단순히 언어, 위치 같은 명백하게 보이는 값들로 배제되는데도 가만히 맥 놓고 있을까?

쉽게 말해서, 클릭 농장도 바보 아니다. 그들도 진화한다.

(Source: S4M)

 

구글도 당하는 Fraud Click

AdTrader라는 DSP회사 하나가 2017년 12월에 구글에 소송을 걸었다. 자기네가 구글 더블클릭의 광고지면을 구매해서 광고주들의 광고를 태웠는데, 정작 Fraud Click에 대한 보상을 구글이 다 챙기고, 광고주들한테는 돈을 안 돌려줬단다. Wall Street Journal이 곧 이 문제로 기사를 냈고, 구글은 신문기사가 나간지 6일만에 자기들의 서치광고 서비스인 AdWords의 이용 약관을 업데이트 했다. 광고주들이 Fraud Click에 대한 보상을 해달라고 할 수 없다.

그나마 약관이 바뀌기 전에 먼저 소송을 걸었던 AdTrader는 2017년 5월부터 구글에게 “팽”당했던 내용을 꽤나 자세하게 외부 공개했다.

꽤나 긴 법정 분쟁 끝에 구글은 지난 2018년 12월 5일에 캘리포니아 연방 법원에서 정보 공개 요구를 받았고 (하단 스크린샷 참조), 이것 때문에 최근 Fraud Click에 대해서 말들이 많아졌다.

소송이 진행되고, 법원의 행정명령이 떨어지기까지 자세한 과정을 다 담을 수는 없지만, 구글이 Fraud Click을 찾아낸 다음 그 부분에 대한 광고비를 환불해주지 않은 점이 크게 지적되어 있는데, AdTrader가 사기 클릭 부분에 대한 환불 요청하려는 상황이 백분 이해되고, 또 사기 클릭을 만들어내는 IP와 웹페이지를 꾸준히 걸러내는 구글의 Fraud 팀 관리 비용, 처리 비용도 눈에 선하게 보여서 딱히 한쪽 편을 들지는 못하겠다. 여기서는  그들의 비지니스적인 문제, 법적인 분쟁은 약간 논외로 하고, Fraud Click에만 초점을 맞춰보자.

구글이 어떤 종류의 알고리즘들을 이용해서 Fraud Click을 잡아내고 있는지는 잘 모르지만 (대충 짐작할 수 있는 부분은 많다), 내부적으로도 엄청나게 복잡한 고민이 있을 것이다. 첫째, 알고리즘의 정확성에 대한 의구심이 내부에 항상 존재할 것이고 (“인공지능”이면 척척척 다 되는건 없다..), 또 광고 지면 판매해서 매출액 끌어올린 매체세일즈 팀 입장에서는 Fraud Click으로 돈 벌었으니 환불해줘야한다는 Product Team의 메세지가 아니꼬울 수 밖에 없는 내부 정치적인 구조도 있을 것이다. (법적 분쟁의 소지가 있으므로 자세하게 말해줄 수는 없지만 필자도 비슷한 일을 겪었다.)

 

누가 관심이 있을까?

내부 정치적인 구조라는 문구에서 눈치를 챈 분도 있겠지만, 사실 많은 DSP들이 Fraud Click이 있어도 모르는체하고 넘어가는 경우가 많다. 저런 Click들이 좀 있어줘야 자기네들도 돈을 벌 수 있으니까.

실제로 Fraud Click으로 이득을 보는 집단을 생각해보면, 경쟁사와 광고업 Value Chain에 있는 거의 모든 업체가 해당된다. DSP는 광고 클릭이 많아서 과금을 많이 받을 수 있고, DSP를 소개하는 광고대행사들도 덩달아 이득을 보고, 광고 지면 판매하는 측은 (CTR기준으로) 광고 효율이 좋은 지면이라고 높은 평가를 받아 지면 판매 단가를 올릴 수 있다. 클릭 농장 덕분에 손해를 보는 집단은 오직 광고주 뿐이다. 이런 이해상충관계 (Conflict of Interest)가 있기 때문에, 광고주들은 DSP가 제시한 광고 효율이라는 숫자를 불신하고, 광고비를 깎으려들고, DSP는 광고비를 더 받으려고 호가를 올리거나, 다른 상품 끼워팔기를 하는 등의 악순환 고리가 생길 수 밖에 없다.

 

Ad Fraud Rings

개발도상국에 저가 인력을 잔뜩 모아놓은 클릭 농장만 작동하고 있는 것도 아니다. 인력 비용이 비싼 선진국들에 가면 트로이 목마나 Bot들을 이용한 멀웨어(Malware)도 엄청나게 많은 숫자가 있다. Ad Fraud에 관심있을 사람들이면 한번쯤 들어봤을 회사들을 보면, 2006년에 적발된 Clickbot.A나 DNSChanger부터, 각각 2011년, 2013년에 경찰 조사가 들어갔던 ZeroAccess, Chameleon 등의 음지의 서비스들이 있다. 공통적인 특징은 중요한 보안 프로그램인 것처럼 사용자를 속인다음, 설치되자마자 가짜 광고 노출, 클릭, 인스톨 신호를 서버에 송출하는 것인데, ZeroAccess 같은 경우에는 심지어 Bitcoin을 캐내는 용도로 개인PC의 시스템 자원을 몰래 쓰기도 했다.

이런 멀웨어들 중에 가장 유명(?)한 것이 Methbot (백서 참조)이라고, 85만개가 넘는 “정상적인” (통신사, 가정집 등등) IP를 보유하고 있는 탓에 광고용 서버에서 IP를 차단하는 방법으로 해결하기 어려운 구조를 갖고 있다. 알려진 바에 따르면 미국 안에서만 하루에 4억개의 광고 노출을 가짜로 만들어 낼 수 있고, 그걸로 하루에 최소 3백만 달러 (대략 30억)를 벌고 있단다.

근데, 알려지지 않은 멀웨어들도 헤아릴 수 없이 많고, 새로운 멀웨어가 지금도 계속 만들어지고 있다.

아래의 동영상은 정상폰과 멀웨어에 오염된 폰이 앱 인스톨 후에 어떤 메세지들을 보여주는지 log를 본 것이다. 정상폰이었으면 생성되지 않았어야하는 메세지들이 오염된 폰에서는 엄청나게 생성된 걸 볼 수 있는데, 이게 전부 가짜 광고 노출, 클릭, 인스톨을 만들어냈기 때문이다.

(멀웨어에 오염된 스마트폰은 정상폰보다 더 많은 광고 노출, 클릭, 인스톨 메세지를 만들어 내고 있다)

 

시스템 기반의 시도 – ads.txt

2010년대 초반부터 구글의 주도하에 광고 지면 판매 방식을 자동화된 2차가격 경매로 판매하면서, 광고 지면을 갖고 있는 매체사들의 인력 비용은 줄었을지 모르지만, 자동화된 시스템을 악용한 멀웨어들의 숫자도 덩달아 늘어났다. 이쪽 분야를 보면 말그대로 끊임없이 진화하는 창과 방패의 싸움이 느껴지는데, 자동화 지면에 한정해서 멀웨어들의 준동(?)을 막는 새로운 시도를 하나 소개해보려고 한다.

보통의 홈페이지들은 sitemap.txt 파일을 갖고 있다. 구글같은 검색 서비스들이 그 파일을 읽어서 홈페이지의 구조도 이해하고, 특정 페이지는 노출하지 말라고 지정하고, 또 어떤 페이지들은 중요 페이지라고 서치 엔진에게 노출 우선순위를 높여라고 지정할 수도 있다. 자동화 광고 지면 판매에 많은 노력을 기울이는 IAB에서 비슷한 맥락으로 ads.txt 파일을 만들어서, 자동화 광고 판매처들이 제대로된 웹사이트인지 확인할 수 있도록 해주는 정보를 입력하자는 제안을 내놓았다. NY Times 예시, Wall Street Journal 예시

google.com, pub-951234556, DIRECT #Display

그 파일에 일반적으로 들어갈 만한 여러개의 라인 중 하나인데, 첫번째는 광고 판매 대행사 (속칭 SSP), 두번째는 매체사 ID, 셋째는 판매 관계 (Direct, Reseller 등등), 마지막으로는 광고 표현 방식이다. 이 txt파일을 하나 추가해놓으면, 일단 지면을 모아서 팔아주는 SSP 입장에서 가짜 웹사이트가 아니라는 걸 확인할 수 있고, 정보를 추적하기도 용이하다. 물론 저런 파일 하나 만들어서 웹 서버에 올리는게 어려운 일도 아니다.

좋은 해결책이라고 생각하는데, 굳이 고민이 된다면 Ad Fraud 때문에 제일 피해를 볼 광고주가 할 일이 아니라, 광고 지면을 팔아서 이득을 보는 매체사들이 해야할 일이라는것 정도일까? 좀 더 넓게 생각하면, 앞으로 ads.txt 파일이 없는 광고 지면에 광고를 하는 DSP와는 거래하지 않겠다고 광고주들이 단합행동을 하고, DSP는 SSP에게, SSP는 실제 지면을 갖고 있는 매체사들에게 압박을 넣는 방식으로 시장 선순환 구조가 만들어지면 좋을 것 같다.

 

데이터 기반의 시도 – Fraud detection algorithm

시스템을 잘 설정해서 완전히 Fraud를 없앨 수 있다면 얼마나 좋을까? 그러나, 저런 방식으로는 멀웨어나 가짜 웹사이트는 쫓아낼 수 있어도, Click Farm의 저가 노동력과 매크로들을 배제하기는 어렵다. 실제로 업무 중에 가짜 웹사이트들을 흔히 보는데, 똑같이 생긴 웹페이지가 이름만 다른 상태로 Copy & Paste 한 티가 팍팍나게 만들어져 있고, 그런 웹페이지 하나에 광고가 10개씩, 20개씩 붙어있다. 가짜 페이지 10개 만들고, 한 페이지당 광고 섹션이 10개씩 있으면 Click Farm의 매크로가 한번 돌 때마다 100번의 광고 노출이 이뤄진다. 하루종일 몇 만번의 광고 노출을 만들어내는건 정말 “식은 죽 먹기”인 셈이다.

Data Scientist는 언제나 시스템 기반의 해결책에 냉소적이다. 시스템은 머물러 있지만 인간은 끊임없이 진화한다는걸 알고 있으니까. 그 진화하는 인간을 추적하는 Data에서 Solution을 찾는 사람들이니까.

보통 Data Scientist가 이런 문제에 접근하는 방법은 Anomaly Detection과 유사하다. 보통의 인간이 만들어 낼 수 있는 클릭, 인스톨 같은 행동 패턴이 있고, 인간이 만들어냈다고 믿기 어려운 행동 패턴은 Click Farm과 매크로가 만들어 낸 경우가 대부분이기 때문에, 해당 서비스에서 Human Behavior라고 판단되는 패턴 N개를 찾아내고, 그 패턴과 매칭율이 k% 미만인 데이터들을 Fraud라고 잡아내는 방식이다.

무슨 데이터를 쓰고, 구체적으로 어떤 알고리즘이 있냐고 물으면, 여기에 써 놓은 걸 보고 클릭 농장 사람들이 새로운 “꼼수”를 찾아내지 않을까?ㅋㅋ  이해를 돕기위해 Macro하게 의구심이 들만한 부분을 간단하게 찾아내는 예시를 하나 들면, 하나의 Publisher ID를 기준으로, 평소에 Click log들이 있을텐데, 필터 알고리즘(such as Kalman)을 이용해 Outlier 부분을 제거하고 Cycle에 해당하는 부분만을 뽑아내본다. 이 때 주기함수를 Frequency domain으로 옮겨서, High frequency 한쪽으로만 One-side detection을 하면 최소한 의구심이 생기는 부분을 잡아내볼 수 있다. 여기에 클릭 다음의 유저 액션을 유저별로 볼 수 있다던가, 한 웹/앱페이지에 동시에 뜨는 광고들을 묶어서 볼 수 있다던가하면 찾아낼 수 있는 방법은 기하급수적으로 늘어난다.

위의 기본 예시를 모든 사이트에 적용할 수 있을지는 잘 모르겠다. 여느 Data Science 프로젝트나 마찬가지로 Fraud Detection도 One-size-fits-all solution을 찾기란 매우 힘들다. 어차피 데이터 전처리를 하고, 각각의 가설에 입각해서 모델을 만들고 테스트 하는 답답하고 괴로운 과정을 겪어야 하나씩 둘씩 알고리즘이 업데이트 되는거라, 광고 지면마다, 주어진 상황별로 적용 알고리즘은 다를 수 밖에 없을 것이다.

현업에 계신 분께 두 가지 사례를 들어 충고를 하고 싶은데, 첫째, 해외 솔루션 중에 있는 특정 IP를 차단해준다는 식의 서비스를 쓰는건 비추한다. Click Farm 입장에선 IP 차단은 VPN만 써도 금방 해결이 된다. 한번은 특정 IP가 장난을 치는 것 같아서 주소 추적을 해 봤었는데, 나중에 알고보니 어느 커피숍 매장의 IP를 해외에 있는 클릭 농장에서 VPN으로 끌어와서 썼더라. 우리나라에 그렇게 가져다 쓸 IP를 제공할만한 커피숍 매장이 몇 개일까? 수천개가 넘을 것이다.

둘째, 어느 글로벌 Top-tier의 앱 트래커 (App Tracker) 서비스가 주장하는 바에 따르면 평균적인 클릭/인스톨보다 많은 숫자가 나오면 무조건 Fraud Click/Install로 잡아준다던데, 이런 단순한 로직이 틀렸다는건 굳이 설명 안 해도 잘 알 것이다. 어떤 업체건 Fraud Click/Install을 찾을 수 있다고 주장하면, 아무리 회사 기밀이라고해도 무슨 로직을 쓰는지 최소한 합리적인 근거는 요청하자. 저 위에 쓴 간단한 예시만큼의 수학/통계학도 안 들어가있으면, 솔직히 말해서 “사짜”라고 생각한다. (그리고 다른 설명은 하나도 없이 다짜고짜 “딥러닝을 이용한” 그러면 무조건 걸러야 한다. 아무것도 모르고 그냥 단순 데이터 입력하는 사람들이나 이 주제에 딥러닝을 쓸 확률이 매우매우매우 높다.)

(Source: S4M)

 

나가며 – Data Science 프로젝트는 “늪”이다

어느 In-house DSP를 운영하는 회사에서 Ad Fraud를 잡아낼 수 있냐는 연락이 왔다. 이런 종류의 컨설팅 프로젝트 요청에 여러 안 좋은 경험들을 겪고 나서부터 일반적인 (Read 몽상적인) 외주 컨설팅 프로젝트들은 일언지하에 거절하는데, 주제 자체가 우리 DSP의 핵심 서비스 중 하나인지라 맘을 바꿔먹고 긍정적으로 답변을 드렸다.

아마도 DSP를 운영하는 회사라면 상황은 비슷할 것이다. 광고주들은 언제나 내가 태운 광고비만큼 효과가 안 나오는 것 같다고 효율 높은 광고 지면을 찾고, 효율 높은 광고 대행사를 찾고, 효율 높은 광고 타게팅 서비스 (DSP)를 찾는다. 외부인의 시선으로 봤을 때는 유저를 잘 찾아주면 되는거 아니냐는 관점으로 타게팅 알고리즘 연구에만 초점이 맞추겠지만, 정작 DSP를 운영하는 입장에서 많은 고민이 되는 부분은 우리 광고 지면을 Clean하게 만들고, 유저 풀을 Clean하게 만드는데 들어가는 노력과 그걸 광고주들에게 인식시키는 비용이다.

여느 보안 서비스와 마찬가지로, 범죄자들의 창끝은 끊임없이 진화한다. 데이터 속의 패턴으로 방패를 만들어 내고 있는 Pabii 입장에서도 매우 Human 스러운 패턴을 복제해내는 매크로를 찾아낼 수 있을 것이라고 단정할 수 없다. 새로운 적이 나타날 때마다 새로운 반응을 해 줘야하는 업무, 그래서 어느 전문가 분은 이런 업무를 “늪”이라고 부르더라.

지난 주 공지사항에 대한 대응으로 어제 저희는 내부 시장 데이터 배포 구성 요소의 재구독 로직을 성공적으로 개선했습니다. 이는 당시 사용된 거래 엔진에 미치는 영향을 막기 위한 추가적인 안전 메커니즘과 더불어 이전 주에 발생한 문제의 근본적인 원인을 다루고 있으므로 저희는 지난 주에 발생한 문제의 재발 가능성은 없다고 예상하고 있습니다.

.

요약: 이번 보고서는 ICO에 관한 저희의 세 번째 주요 보고서입니다. 2017년 9월 첫 보고서에서 저희는 ICO 팀 구성원 간의 상호 관계에 중점을 두었습니다. 2018년 10월 두 번째 보고서에서는 ICO 재무 계정 내의 이더리움 보유고를 추적했습니다. 본 보고서는 암호화폐 분석 전문 업체인 TokenAnalyst와 함께 이더리움 네트워크 상 ICO 토큰 자체의 보유고에 중점을 두었습니다. 해당 보고서는 팀이 보유고를 관리하는 토큰을 기반으로 한 것으로 토큰 발행은 미화 2백 4십 2억 달러의 엄청난 가치가 있었습니다 (실제로 유동성이 너무 낮아 이 수치는 실현되지 못했습니다). 현재 이 수치는 미화 약 5십억 달러로 떨어졌으며, 주 원인은 토큰의 시장 가치 하락과 팀 주소 클러스터 (처분 가능성 있음)로부터의 미화 15억 달러 송금으로 인한 것입니다.

(출처: BitMEX Research)

(공지사항: 2017년 9월 양방향 그래픽을 통한 ICO 팀 구성원 간의 다양한 상호 연결 확인)

팀 제어 토큰 보유량 (자체 토큰) – 요약 데이터

미화 10억 달러 기준
토큰 팀에 분배된 ICO 코인의 가치 21.5
팀의 포스트 ICO에 대한 발행량 2.7
팀 제어 지갑에 대한 총 발행량
24.2
팀 주소 클러스터에서 사라진 코인 (판매량일 가능성 있음) (1.5)
토큰 가격 변화로 인한 수익/(손실) (12.0)
Noah의 최종 영향 (토큰 소각) (4.4)
EOS의 최종 영향 (1.2)
현재 팀 보유량 5.0

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 108개의 토큰 데이터에 기반한 2019년 1월까지의 가격 데이터 및 2018년 12월까지의 토큰 데이터)

ICO 프로젝트 팀들이 자체적으로 발행한 미화 240억 달러 규모의 토큰 중 코인 가격 하락으로 인해 전체 가치의 54%가 손실되었습니다. 각 코인의 역대 최고 가격을 기반으로 한 자체 토큰을 가진 팀들의 토큰 보유고의 최고 가치평가액은 미화 800억 달러가 넘습니다. 미화 240억 달러보다 큰 이 수치는 최고치에서 미화 700억 달러가 “손실”되었음을 의미합니다. 유동성 부족으로 인해 최고 가치평가액이 매우 불확실하여 대부분의 토큰이 기본적으로 팀에게 무상 분배되었기 때문에 위와 같은 가격 변동을 손실로 분류하는 것은 부적절할 수도 있습니다. ICO 투자자들과 달리 팀들에게는 매출 가격 (offering price) 혹은 초기 투자액 (initial investment)이 없었습니다. 그러나 위 같은 터무니없이 높은 가치평가액 수준에서 거래 활동이 이루어졌기 때문에 저희는 이러한 주의사항을 염두에 두고 위의 수치를 자세히 살펴보는 것이 여전히 흥미롭다고 생각합니다.

현재의 비유동성 현물 가격을 기준으로 ICO 팀은 여전히 자체 발행 토큰 중 미화 약 50억 달러를 보유하고 있는 것으로 추측되는데, 보기에 따라 다르지만 이는 본질적으로 무에서 얻은 불로소득과 같은 돈입니다. 동시에 팀들은 팀 주소 클러스터에서 빠져나가는 코인을 기반으로 토큰을 판매하여 미화 15억 달러의 수익을 창출했을 가능성이 있습니다. 코인들은 여러 가지 이유로 팀 주소 클러스터에서 빠져나갈 수 있었기 때문에 이 수치는 과도한 추산일 수도 있습니다.

데이터 주의사항과 연산 방법론의 맹점

  • 이러한 토큰 중 대부분은 유동성이 낮기 때문에 미화 달러의 가치는 전체적으로 과대 평가될 수 있습니다. 이는 초기 할당량, 현재 가치 및 손실 가치에 모두 적용됩니다. 몇몇 경우에는 Veritaseum 혹은 Noah 같은 프로젝트처럼 팀에 주어진 토큰의 가치가 코인의 실제 거래량에 비해 턱없이 커졌습니다. 따라서 토큰의 교환 가격을 기준으로 팀의 토큰 보유량을 평가하는 것은 현실성 없는 발상일 수 있습니다.
  • 팀 주소 클러스터에 대한 토큰 배분은 해당 데이터 집합 생성에 관련된 어려움과 불확실성으로 둘러싸여 있습니다. 암호화폐 분석 업체 TokenAnalyst가 해당 배분을 시행했습니다. 당시 사용된 방법론은 불완전했으며 저희는 개별 프로젝트를 꼼꼼히 살펴보지 않았습니다. 해당 데이터는 각 프로젝트 팀의 팀 제어 주소 클러스터 설정을 위해 이더리움 블록체인 상의 토큰 스마트 계약 및 거래 패턴을 분석하고 머신 러닝 유형의 기술을 적용하여 얻어낸 것입니다. 따라서 본 데이터는 확률론적 추정치이며 개별 프로젝트 수준에서는 부정확할 가능성이 높습니다. 그러나 이 보고서의 주요 제작 동기는 이더리움 블록체인 상에서 팀의 ICO 토큰 보유량에 대한 대규모 데이터를 생성하는 것이었습니다. 이 분석은 완벽하지 않은 결과를 낳았지만, 저희는 이러한 분석에서 합리적인 거시적 결론을 도출할 수 있다고 생각합니다.
  • 위에서 언급했듯 저희의 분석은 개별 프로젝트의 관련 문서와 정책이 아닌 스마트 컨트랙트 데이터와 거래 패턴 관찰을 기반으로 합니다. 따라서 저희는 토큰을 팀 잔고의 일부로 포함시켰을 가능성이 있습니다. 비록 실제로 토큰은 또 다른 형태의 예비금, 에스크로 또는 다른 카테고리의 일부로 보관되고 있어 코인을 팀 자체 자금의 결과물로 취급하는 것은 정확하지 않을 수도 있지만 말입니다.
  • 이 데이터는 발행 날짜와 Coinmarketcap에 첫 번째 가격 데이터가 표시된 날짜가 동일하다고 가정한 것이며, 이는 신뢰할 수 있는 가정이 아닐 수도 있습니다.

요약 데이터

팀 제어 주소 클러스터 (자체 토큰)에 발행된 코인의 가치 – 미화 1백만 달러 기준 – 상위 10개

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2018년 12월까지의 토큰 데이터이며, 이는 발행 시점의 가격을 기반으로 한 데이터임)

팀 제어 보유량 (자체 토큰)의 가치 손실 – 미화 1백만 달러 기준 – 상위 10개

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2019년 1월까지의 가격 데이터, 2018년 12월까지의 토큰 데이터)

팀 제어 주소 클러스터 (자체 토큰) 상에서 코인 가치의 비례 손실 – 상위 10개

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2019년 1월까지의 가격 데이터 및 2018년 12월까지의 토큰 데이터)

팀 제어 주소 클러스터 (자체 토큰)에서 송금된 코인의 가치 – 미화 1백만 달러 기준 – 상위 10개

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2019년 1월까지의 가격 데이터 및 2018년 12월까지의 토큰 데이터. Huobi 및 Qash는 거래소이며, 토큰들은 각각의 플랫폼으로 보내진 것으로 추측됩니다. 송금에 대한 다른 이유들이 있을 수 있지만, 위의 수치들은 판매/”현금 인출”을 나타낼 수 있습니다)

팀 제어 주소 클러스터 (자체 토큰)에서 코인의 현재 가치 – 미화 1백만 달러 기준 – 상위 10개

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2019년 1월까지의 가격 데이터 및 2018년 12월까지의 토큰 데이터)

원본 데이터 – 팀의 자체 토큰 보유량 – 미화 1백만 달러 기준

토큰 ICO 가치 포스트 ICO
발행량
팀 클러스터로 부터의 송금 가치 손실 현재 가치
VERI 4,762 0 (15) (3,196) 1,552
NOAH 4,478 0 (4,423) 55
KIN 980 0 (0) (703) 277
AGI 863 0 (27) (814) 22
POLY 842 0 (17) (727) 99
HT 643 0 (366) (29) 248
GNO 636 0 0 (533) 103
QASH 617 0 (177) (300) 140
MKR 596 0 (46) (445) 105
TEL 452 0 (8) (408) 36
ITC 334 0 (7) (323) 4
ZRX 333 0 (9) (155) 169
ZIP 266 0 0 (226) 41
BLZ 256 0 (32) (207) 17
GTO 241 0 (67) (157) 17
BNB 219 110 0 118 447
BTO 198 0 (28) (165) 5
ICX 160 0 (79) (67) 14
ETHOS 153 0 (15) (123) 16
TNT 152 0 (10) (133) 9
CENNZ 143 0 (6) (121) 15
AST 141 0 (24) (104) 13
KEY 132 0 (2) (124) 6
BIX 118 2 0 (85) 35
CVC 117 0 (1) (75) 41
FSN 100 0 (6) (75) 19
OCN 100 0 (31) (64) 5
DEW 95 0 (1) (87) 7
SRN 89 0 (15) (69) 4
MDS 88 0 (8) (75) 5
EDO 83 0 (11) (58) 15
ABT 76 0 0 (71) 5
WTC 69 0 (50) 17 37
INS 68 0 0 (66) 2
PPT 65 0 (55) (5) 5
IHT 65 0 (2) (58) 5
CPT 65 0 (0) (43) 21
SPHTX 64 0 0 (60) 4
DRGN 58 0 (47) (2) 8
MCO 54 0 (89) 72 37
XYO 54 0 (6) (23) 25
RCN 54 0 0 (48) 6
DPY 47 0 (23) (22) 2
THETA 45 0 0 (30) 16
MANA 41 0 (95) 127 73
R 40 0 0 35 75
APPC 35 0 (24) (9) 2
CMT 33 0 (1) (25) 8
FUEL 32 2 0 (29) 5
CREDO 31 0 (0) (6) 25
DMT 31 0 (17) (12) 2
POWR 30 166 0 (154) 42
LRC 30 8 0 (21) 17
WPR 26 0 0 (24) 2
AMB 24 0 0 (17) 7
RNT 22 0 (1) (15) 7
ENG 22 0 0 (12) 10
COB 22 0 (10) (5) 7
GTC 20 126 0 (141) 6
REN 19 0 (3) (13) 3
DENT 19 635 0 (564) 90
UTT 19 0 (0) (11) 8
AE 13 0 (19) 6 0
DATA 11 0 (3) (6) 3
BRD 10 17 0 (21) 7
SNGLS 8 0 0 (3) 6
LEND 6 0 (7) 3 2
RLC 6 0 (5) 2 3
PLR 6 3 0 (4) 5
HVN 5 0 (5) 0 1
CVT 5 11 0 (8) 9
LYM 5 0 (4) 0 2
SAN 5 0 (7) 5 4
GNT 4 0 (12) 31 23
KICK 3 2 0 (4) 1
DGD 2 0 (5) 5 3
EDG 2 0 (29) 28 1
ENJ 2 0 (0) 1 2
RHOC 1 14 0 (13) 1
ARN 0 6 0 (6) 1
ELF 0 45 0 (40) 6
PAY 0 142 0 (132) 11
DAI 0 1 0 0 1
HPB 0 134 0 (119) 15
CRPT 0 3 0 (2) 1
HOT 0 7 0 0 7
SALT 0 95 0 (92) 3
NAS 0 71 0 (50) 21
NGC 0 12 0 (11) 1
CPC 0 12 0 (9) 3
GVT 0 3 0 (2) 2
SNM 0 14 0 (11) 2
BTM 0 9 0 (1) 8
QRL 0 7 0 (6) 2
NULS 0 71 0 (52) 19
POE 0 58 0 (54) 4
TEN 0 29 0 (15) 13
MTL 0 188 0 (177) 11
WINGS 0 18 0 (15) 3
SPANK 0 106 0 (93) 13
OMG 0 195 0 (154) 41
STORJ 0 133 0 (85) 48
BAT 0 38 0 14 52
VIBE 0 10 0 (8) 2
IOST 0 218 0 (185) 34
총계 21,513 2,723 (14,805) (4,396) 5,035

(총계: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2019년 1월까지의 가격 데이터 및 2018년 12월까지의 토큰 데이터)

결론 및 요약 데이터

위 분석은 창립팀의 지갑에 토큰을 할당할 때, ICO 시장 내의 기준과 투명성이 부족하다는 점을 잘 보여줍니다. 어떠한 일이 발생하고 있는지에 대해 쉽게 추적할 수 없는 분석가들을 피해 팀들은 (자체적인) 토큰을 마음대로 주조, 소각, 구매 및 판매할 수 있었습니다. 저희는 종종 거래소 클러스터에서 토큰을 발견할 수 있었고, 토큰 프로젝트가 토큰 상장을 위해 거래소에 “지불”을 했는지 혹은 단순히 그들의 재정을 현금화하기 위해 거래소로 송금했는지의 여부는 구별하기 어려웠습니다.

좀 더 공정해지자면, 저희가 개별 프로젝트의 특정 문서를 읽고 관련된 팀과 대화하는 데에 더 많은 시간을 투자함으로써 분석 내용을 개선할 수 있었을 것이며, 이를 통해 더 탄탄한 데이터 세트가 탄생했을 것입니다.

하지만 많은 사람들이 종종 간과하는 ICO에 대한 한 가지 사실은 ICO 팀들이 보통 발행 과정에서 다음의 두 가지 방법으로 수익을 창출한다는 것입니다:

  1. 첫째, 새로 발행된 토큰 (보통의 경우 이더리움 기반)을 판매함으로써 그리고
  2. 둘째, 자체적인 토큰 발행입니다.

저희의 2018년 10월 보고서가 전자에 초점을 맞춘 반면, 이번 보고서는 후자에 초점을 맞추었습니다. 아래 요약표는 두 보고서의 수치를 합산한 것입니다.

ICO 팀 수익 미화 1십억 달러 기준
ICO 과정
이더리움 모금액 5.4
창립팀에 발행된 자체 토큰 24.2
총 모금액 29.6
코인 가격 변화
이더리움 수익/(손실) – 대부분 실현 0.8
자체 토큰 수익/(실현) – 대부분 미실현 (17.6)
총 수익/(손실) 사후 발행 (16.8)
총 ICO 팀 수익 12.8

(출처: BitMEX Research, TokenAnalyst, the Ethereum blockchain, Coinmarketcap – 토큰 가격 참고)
(공지사항: 2018년 10월까지의 이더리움 가격 데이터 및 2019년 1월까지의 자체 토큰 가격 데이터)

앞서 반복적으로 설명했듯 데이터 생성에는 많은 부정확성과 가정이 따르지만, 저희의 방법론에 기반하면 ICO 팀들은 해당 ICO 과정에서 미화 130억 달러에 달하는 수익을 얻은 것으로 보입니다. 저희는 ICO 팀들이 이 자금을 노력과 책임감 혹은 투명성이 거의 없이 아주 쉽게 얻었다고 생각합니다. 이에 따라 ICO는 프로젝트 창립자의 입장에서 자금 조성을 위한 매우 매력적인 방법임을 입증해보였습니다. 물론 투자자들의 결과는 그다지 매력적이지 못했지만 말입니다.

ICO 열풍의 주기는 이제 어느 정도 사그라들고 있는 것으로 보이며, 2017년 말보다 자금을 모금하는 것이 훨씬 더 어려워졌습니다. 그러나 이렇게 많은 자금이 만들어지고 사라진 2017년과 2018년 초의 사건들이 금방 잊혀지지는 않을 것입니다. 기업가들은 그 때의 성공을 기억 (그리고 계속해서 자금 모금을 위해 노력)할 것이고 투자자들은 그 때의 고통을 기억할 것입니다. 따라서 이 주기는 몇 년 안에 많은 사람들이 생각하는 것 만큼 쉽게 돌아오지 않을 것입니다.