- "우리의 미래는 날로 커져만 가는 기술의 힘과 그 기술을 사용하는 우리의 지혜 사이에서의 줄타기가 될 것이다." (스티븐 호킹)
- 세계 디지털 산업은 너무도 많은 물과 자재, 에너지를 소비하기 때문에 이것이 남기는 생 태발자국은 프랑스나 영국 같은 나라가 남기는 생태발자국의 세 배에 이른다. 오늘날 디지털 기술은 전 세계에서 생산되는 전기의 10퍼센트 를 끌어다 쓰며, 이산화탄소 배출량의 거의 4퍼센트를 차지하는데, 이는 세계 민간 항공업 분야 배출량의 두 배에 약간 못 미치는 양이 다." "디지털 기업들이 그들을 규제하는 공권력보다 더 힘이 세질 경우, 그들이 생태에 끼치는 영향을 우리가 더는 통제하지 못할 위험이 있다"고, 스카이프 공동 창업자이자, 기술의 윤리 문제를 연구하는 생 명의미래연구소Future of Life Institute 창립자인 얀 탈린은 경고한다. 2 우리 는 확신한다. 디지털 오염은 녹색 전환을 위험으로 몰아가고 있으며, 향후 30년을 뜨겁게 달굴 도전들 가운데 하나가 될 것이다.
- 사랑스러운 직장 동료의 마음을 사기 위해 당신은 그 동료가 페이스북 에 올린 한 사진에 '좋아요'를 눌렀다. 사랑하는 이의 휴대폰에 도달하 기까지 이 '좋아요'는 인터넷의 일곱 개 층을 거치는데, 그중 일곱 번 째, 그러니까 제일 꼭대기에 있는 층이 당신이 작동시키는 디지털 기 기(가령 컴퓨터)이다. 당신의 애정 어린 '좋아요'는 이제 중간층들(전송 층과 네트워크 층 등. 여기에 관해서는 부록 1을 보라) 속을 파내려가며, 마침내 인터넷의 가장 첫 번째 층인 물리적 층, 즉 해저케이블로 이루어 진층에 닿는다. 다시 말해, 꼭대기 층과 바닥 층 사이에서 '좋아요'는 이동통신 사업자나 인터넷 모뎀의 4G 안테나를 거쳐 건물의 공유기 를 따라가다 당신이 밟고 다니는 인도 표면에서 약 80센티미터 아래 묻혀 있는 구리 관에 닿는다. 그런 다음 대규모 이동 경로(고속도로, 하 천, 선박 예인曳引로, 철도...)를 따라가며 설치된 전선을 타고서 통신 사 업자의 여러 기술적 공간 속에 쌓여 있는 다른 '좋아요'들과 합류한다. 여기서 모인 '좋아요'들은 바다를 가로질러 다른 데이터센터로 운반된 다. 그러다 마침내 인터넷의 가장 깊은 층에 도달한 당신의 '좋아요'는 이제 가장 위층인 일곱 번째 층, 그러니까 당신이 연모하는 동료의 휴 대폰을 향해 지금까지의 여정을 거꾸로 거슬러 올라간다. 이 동료가 당신과 고작 10미터 떨어진 곳에 있더라도 당신의 '좋아요'는 수천 킬 로미터를 여행하는 것이다." 그러니 '좋아요'의 지리학이란 말이 나오 는게 괜한 호들갑은 아니다.
- 스티브 잡스가 추구했던 간결함은 극도의 단순함과 절제를 미덕으로 삼는 불교 의 선사상에 그 뿌리를 두고 있다.  선에 입각한 미학은 필연적 으로 장식이나 군더더기라고는 찾아볼 수 없는 형태의 사원과 연관 된다. "스티브 잡스는 불교 신자는 아니었으나, 선이 추구하는 단순함에서 큰 영감을 얻었으며, 애플의 디자인도 그와 무관하지 않다"고, 명상을 실천하는 투자 전문가 에릭 린너는 평가한다. 잡스 자신도 기회 있을 때마다 선불교가 "미학적으로 경이롭다"고 인정 하곤 했다. 1977년, 애플사가 내놓은 최초의 마케팅 브로슈어에서 이미 "간결함이야말로 궁극의 세련됨"이라고 선언하지 않았던 가? 스티브 잡스의 영향으로 "점점 더 복잡해져가는 기술의 세계를 단순 소박하게 만드는 것이 유행처럼 번져나갔다"고 린너는 말을 이어간다. "디지털 세계에서는 모든 것이 좋고, 완벽하며, 고정되어 있습니다. 부정적인 감각이라고는 찾아볼 수 없는데, 사실 이런 방식은 상당히 위험해요. 실제 우리의 삶은 그렇지 않으니까요!"
요컨대, 기술적 정밀화와 미학적 조화에 대한 스티브 잡스의 추구가 수십억 소비자들에게 지구에 전혀 무해한 디지털이라는 환상을 심어주는 데 기여했다는 말이다.
- 예를 들어 NF3의 경우, 이 기체는 이산화탄소에 비 해 대기 중에 열을 잡아두는 힘이 1만 7000배나 세다. SF6는 그 비율 이 무려 2만 3500배나 되므로, 지구상에서 만들어진 가장 강력한 온실가스로 손꼽힌다. "SF6, 1킬로그램은 24명이 런던에서 뉴욕을 비행 할 때만큼이나 지구의 온도를 올린다"고, 영국 출신 맷 맥그래스 기자 는 정확한 숫자를 인용한다." 그러니 기후 온난화 방지를 위해서는 이 러한 기체들의 사용을 제한해야 한다는 논리가 설득력을 갖는다. 그런 데도 이 기체들의 사용은 뚜렷한 증가세를 보이는데, 그건 우리가 머 무는 건물이나 자동차에 냉방장치가 갖추어지기를 원하며, 5G 휴대폰 이 복잡한 연산과 데이터의 축적을 필요로 하기 때문이다. 전 세계적 으로 이 기체들의 사용을 제한하는 규정이 늘어나고는 있으나, 네덜란 드 국립 보건환경연구소의 거스 벨더스 연구원은 "현재의 추세를 바꿀 수 있는 획기적인 다른 무엇이 없다면, 2050년에 이러한 기체들은 전체 온실가스 발생량의 10퍼센트를 차지하게 될 것"이라고 경고한다. 
- 익명성의 종말
2014년, 오스트레일리아 출신 연구원 앤서니 토카는 마음대로 접근 가능한 데이터를 이용하여 한 스트립 클럽 앞을 오가는 뉴욕 택시들의 움직임을 추적하던 중에 이 클럽의 단골 고객들이 사는 곳을 너무도 정확하게 콕콕 집어내는 데 성공했다." 같은 시기, 벨기에 출신의 한 연구원은 증거까지 제시하면서 "시공간 좌표상의 점 네 개만 알면 개 인들의 95퍼센트는 신원 확인이 가능하다!"고 주장했다. 28 이 말에 대 해 당신은 아마도 모든 데이터는 익명으로 작성되지 않느냐고 이의를 제기할 테지만, 어떤 한 개인의 신원을 밝혀내기 위해 거치는 경로는 생각보다 매우 짧다. 사실 "데이터를 익명 상태로 유지한다는 건 현실 적으로 불가능하며, 그렇기에 따지고 보면 데이터를 바람직하지 않은 방식으로 사용하지 않는 가장 좋은 방법은 아예 데이터를 수집하지 않는 것"이라고 이 문제에 정통한 캘리포니아 출신 엔지니어가 결론짓는다.  독일의 토르슈텐 스트루페 교수는 한발 더 나아가 "익명의 데이터라고 하는 건 그저 거대한 속임수에 불과하다"고 덧붙인다.
- 어쨌거나 습관화된 화석연료 사용은, 지구에서 생산된 총전기량의 약 10퍼센트를 소비하는" 디지털 산업이 온실가스 배출량의 3.7퍼센트 (이 숫자는 2025년이면 두 배로 늘어날 것으로 추정된다)를 차지하는 석연치 않은 상황을 설명해준다. 따라서 우리의 디지 털 행위는, 심지어 가장 평범한 것일지라도, 탄소와 연계된 영향력을 갖게 된다는 사실을 모두 인식해야 한다. 이메일 한 통은 최소 0.5그램 에서 용량이 큰 첨부파일을 동반하는 경우 20그램까지의 탄소를 발생 시킨다. 이는 1시간 내내 켜둔 전구로 인하여 발생하는 탄소의 양과 맞먹는다." 매일 이러한 메일 3190억 통이 전 세계로 발송된다. 그런데 이메일의 탄소 영향력이란 데이터 흐름의 60퍼센트를 차지하는 온라인 동영상에 비하면 무시해도 좋을 정도다." 한 데이터 사업자가 이 숫자들을 우리들 개개인의 척도로 환산해보았는데, 그러기 위해서 그 는 한국의 가수 싸이가 불러 세계적으로 유명해진 <강남스타일> 클립 을 대상으로 삼았다. 이 영상은 온라인에서 한 해에 17억 조회 수라는 어마어마한 기록을 썼는데, 이는 297기가와트시의 전력 소비에 해당 되는 양으로, 이시레물리노, 캥페르 또는 트루아 같은 도시의 연간 전력 소비량에 버금간다! 
- 5G: 생태 관련 문제점은 대체로 알려지지 않은 상태
크기가 수십 센티미터 정도 되는 안테나는 갈륨,2" 스칸듐 등의 희귀금속들로 꽉 채워진 장치로 거의 100미터마다.23 그러니까 버스 정류장이며 가로등 혹은 광고판 등마다 하나씩 설치되어야 할 판이다. 그렇다면 그 안테나는 어떤 식으로 재활용될 것인가? 게다가 데이터 를 전송하기 위해서는 그것들을 광섬유로 된 추가 네트워크에 연결 해야 할 것이다. 미국에서 고속광섬유연합은 자국 내 규모 면에서 상위 25위까지의 도시를 커버하려면 220만 킬로미터의 광섬유(지구 둘레의 55배에 해당하는 길이)를 뽑아내야 할 것이라고 추산했다!  이 숫자는 2026년 세계 인구의 60퍼센트가 이 새로운 세대 휴대폰 네트워크 를 쓰게 될 때면 몇 배나 더 늘어나야 할까?  그뿐 아니라, 5G를 사용 하기 위해서는, 거의 모든 경우에, 전화기를 교체해야 하는 문제가 발 생한다. 2020년 한 해에 5G 사용 가능 단말기 2억 7800만 대가 팔렸 을 것으로 집계되는데, 26 이러한 구매는 고장 난 휴대폰을 교체해야만 하는 실제적인 필요성에 의한 것이었을까, 아니면 디지털 세계를 한층 더 효과적으로 즐길 수 있으리라는 장담에 대한 맹신 및 사용의 편리함 추구가 동기로 작용한 것이었을까? 어찌되었든 궁극적으로 이러한 기술적 모험으로 야기되는 생태 비용은 어느 정도나 될까? 안타깝지만 이 질문에 대해서는 아무도 정확한 답변을 제시할 수 없다! "환경에 미치는 영향에 대한 연구 따위는 없었다"고 한 유럽의회 의원은 불 만을 토로한다. 때문에 5G 서비스를 전개하는 데 '신중성 부재 원칙' 이 작용한 건 아닌지 의문을 가질 수밖에 없다. 정확한 정보가 없다 보 니 비합리적인 공포심이 만연한다. 사람들은 예를 들어, 아무런 증거 도 없이 새로운 안테나가 건강에 치명적인 전자기파를 방출할까 봐 두 려워한다.  늦은 감이 없지 않지만, 그래도 결국 환경 영향 평가 연구가 산발적으로나마 시작되었다. 유럽 전역을 통해서 여러 시의회가 5G 사용을 유예하기로 발표했으며, 시민들이 주축이 되어 공권력이 꽁꽁 묶어두었던 공개 토론회를 열기 위해 위원회를 구성했다.
- 5G 서비스 제공업자들은 그럼에도 부인할 수 없는 5G의 이점을 강조한다. 같은 양의 데이터를 소비한다고 할 때, 이 서비스를 통하면 이전 세대 네트워크를 사용할 때보다 에너지 효율이 10배나 상승한다 는 것이다. 그런데 이는 5G로 인하여 우리의 인터넷 소비와 데이터 소 비가 폭발적으로 늘어날 수 있다는 개연성을 망각하는 것이다. 사실상 신기술은 우리의 소비를 줄이는 것이 아니라 오히려 늘어나게 한다는 데에 모두가 동의할 것이다! 이는 자명한 사실로, 그 구체적인 효과는 1865년에 이미 영국 출신 경제학자 윌리엄 스탠리 제번스에 의해 처 음으로 연구되었다. 당시, 증기기계의 성능이 올라가게 되면 석탄 활 용량이 감소될 것으로 예상되었다. 그러나 제번스는 기술 발전이 제공 하는 에너지 절감 효과가 기계 활용의 증가로 상쇄됨으로써 결국 석탄 연료의 소비가 증가하게 된다는 사실을 입증했다. 
- 디지털은 현재 경제와 기술의 발전을 놀랍도록 가속화하는 촉매제 역할을 한다. 그 같 은 간접 효과가 정확하게 계산된 적은 없지만, 한 가지 확실한 건 그것 이 우리의 실존을 가상화하는 데 절대적으로 일조하지는 않는다는 점 이다. 1930년대부터 자재, 디지털 및 에너지 관련 학문 분야에서 이루 어진 57가지 발명을 분석한 결과 연구자들은 그 57가지 가운데 어느 것도 자원 사용을 전반적으로 감소하지 못했다고 결론 내렸다. 물리 적인 모든 제약으로부터 해방된 에테르적 세계 속으로 무모하게 돌진 했던 우리는 이제 피할 수 없이 우리의 발목을 잡는 명백한 사실, 즉 탈물질화된 세계란 알고 보면 훨씬 더 물질적인 세계라는 자명함 앞에 서 도망치고 싶어진다.
이 대목에서 논쟁은 이념적인 색채를 띠기 시작한다. 리바운드 효 과는 부의 성장을, 무역의 세계화를, 문화 간의 결합을 지지하는지 아 닌지 여부에 따라 두려움을 안겨줄 수도 축하를 받을 수도 있다. 마찬 가지로 디지털 세계의 확장 또한 우리로 하여금 우리 자신의 내밀한 소신이나 확신과 대면하게 만든다. 디지털 세계의 확장은 그 자체로는 좋을 것도 나쁠 것도 없다. 우리가 그걸 가지고 어떻게 하느냐에 따라 달라지기 때문이다. 인터넷은 세계의 오지에 사는 어린이들에게 원 격 수업을 통한 교육의 기회를 제공할 수도 있지만, 음모론의 확산을 부추김으로써 우리의 민주주의를 좀먹을 수도 있다. 희귀 질병 치료에 도움을 줄 수도 있지만, 라이언 카지(미국 텍사스에 사는 이 어린이는 카 메라 앞에서 선물 상자를 개봉해서 유명해졌다)가 계속해서 세계에서 가장 돈을 많이 버는 유튜버로 살게 해주기도 한다. 어찌되었든, 디지털 의 경제적·사회적·심리적 반향을 그것의 생태적 기능과 혼동해서는 안 된다. 디지털 네트워크가 기후와 생명다양성을 보호하기 위한 다양 한 시도를 싹 틔운다고 할지라도 그것은 본래 지구를 구하기 위해 고 안된 것이 아니며, 우리가 보기에 지구의 회복탄력성을 디지털 도구의 역량과 연결시키는 모든 담론은 순전히 집단 기만 내지는 터무니없는 우화에 불과하다. 더구나 우리는 "정보통신기술이 진정으로 세상을 더 나은 곳으로 만들었으나, 환경에 미치는 영향 면에서는 우리에게 닥칠 수 있는 최악의 것이었다"는 탄식의 말까지 듣지 않았던가.
- 1990년대 말부터 블랙록은 "위험에 대한 복잡한 분석들을 자산 관리, 협상, 금융 거래 도구들과 완벽하게 결합해주는 정보화 플랫폼" 알 라딘Aladdin 20을 통해 각종 전망을 내놓고 있다.21 알라딘은 약 15조 달 러에 해당하는 자산(세계 총자산의 7퍼센트)을 운용하고 있는데, 양적분 석을 가히 예외적이라 할 만큼 정교하고 위력 있는 수준까지 끌어올린 것으로 유명하다. 기계는 시장을 움직이는 다양한 요인 간 상관관계를
누구보다도 더 상세하고 정확하게 감지할 수 있으며, 그럼으로써 승리하는 투자 전략을 제안할 수 있다." "블랙록에게는 기계에 돈을 투자하는 편이 분석가들의 인건비(더 비싸면서 효율이 떨어진다)를 지불하는 쪽보다 훨씬 남는 장사"라고, 후안 파블로 파르도구에라 교수는 냉정 하게 평가한다. 
금융의 세계에서는 그러므로 나은 수익을 위해서 대결하는 인간들 이 점점 줄어들고 있으며  "개인들은 이 세계에서 기껏해야 부분적인 역할을 하는 데 지나지 않는다"고, 이 교수는 최근 출간한 저서에서 밝 힌다. 필연적으로, 2020년 블랙록은 직원 수십 명을 해고한다고 발표했다. 이들이 알고리즘의 역량에 비해 너무 뒤처졌다는 것이 그 이유였다. "퀀트펀드의 절대적 환상은, 모든 것이 원활하게 작동하도록 이따금 버튼이나 누르는 직원을 거의 한 명도 남겨두지 않는 것"이라고 한 전직 분석가는 씁쓸하게 말한다. 그러니 그다음은 쉽게 짐작 할 수 있다. "이런 식의 인프라가 전부 가동하게 되면, 별반 상상력이 없는 사람조차도 '아마 컴퓨터가 잘 알아서 [투자] 결정을 내릴 거야' 라고 생각할 것"이라고 정보이론 전문가 마이클 컨스 교수는 예상한 다. 28 투시그마와 르네상스테크놀로지 같은 펀드의 경우가 거기 해당 되는데, 이 두 펀드는 이미 대단히 강력한 도구들이 도구들이 어찌나 막 강한지 여기엔 흔히, 너무 두루뭉술한 감이 없진 않지만, '인공지능'이라는 용어가 붙어 다닌다)과 더불어 자동화 논리를 한층 더 밀고 나갔다.
- 거두절미하고 기술적인 관점에서 볼 때, 우리는 기하급수적으로 팽창하면서 생산, 교환, 저장, 처리되는 데이터를 감당할 수 있을 것인가? 디지털 인프라가 요구하는 엄청난 양의 에너지와 천연자원을 고려할 때, 네트워크는 5G와 모든 것의 인터넷이 예고하는 비물질의 쓰나미를 흡 수할 수 있을 것인가? 과잉 연결된 우리 사회는 실제로 패러다임의 급 진적인 전복을 낳는다. 풍요에 중독된 세계에 예정된 위협은 희소성에 의해 통제되는 세계가 겪는 시련보다 훨씬 막강하다. 축적이 결핍보다 훨씬 치명적인 것이 되어가고 있는 중이다. 그런데 다행스럽게도 인간 의 뇌는 수십 년 전에 네트워크의 한계, 빨강과 파랑으로 향하는 우리 주의력의 한계, 자율주행 자동차의 한계, 수동적 펀드와 인공지능의 한계를 점점 더 멀리 물러나게 해주는 천재적인 발명품을 만들어냈다. 이 혁신적인 발명품의 이름은 바로 해저케이블이다.
- 인터넷은 거대한 수륙양용 네트워크다. 오늘날 전 세계 데이터 트래픽의 거의 99퍼센트가 공중이 아닌 지하, 그리고 바닷속에 펼쳐진 벨트를 통해서 이루어진다. 그러므로 우리의 위치 정보를 비롯하여 줌 회의는 헤이룽장성의 광산이나 스칸디나비아 하천, 대만의 하늘에만 흔적을 남기는 것이 아니다. 그 데이터들은 심연을 건너고 해협을 지나 고 삼각주 지역을 고루 누비고 다닌다. 날이면 날마다 우리는 수천 킬 로미터에 걸쳐 산재해 있는 케이블 수백 개의 도움을 받는다. 하지만 우리 중 압도적 대다수는 우리가 하는 통화며 우리가 주고받는 사진, 동영상 등이 우리 머리 위로 날아다닌다고 철석같이 믿고 있다. 왜냐하면 아마 우리의 디지털 행위로 인한 데이터가 처음엔 안테나(3G, 4G, 5G)로 전달되고, 그런 다음에야 광섬유 네트워크 속으로 들어가기 때 문일 것이다. 올리비에 세갈라르는 아마도 "이륙 순간의 로켓이 연기 를 뿜어내는 배보다 훨씬 인상적이기 때문! "일 수도 있다고 말한다. 그리고 또 한 가지 이유를 덧붙이자면, 1970년대엔 아직 초기 단계였던 데이터 송신을 위해 케이블과 위성이 경쟁을 벌이는 상황이었기 때 문일 것이다. "당시엔 어떤 기술이 다른 기술을 능가하게 될 것인지를 두고 열띤 토론이 벌어지기도 했다"고 한 전직 정보통신 케이블 엔지 니어는 떠올린다. 
- 인터넷 DNA 안에는 환경에 대한 염려라는 부분이 들어 있지 않다. 환경을 염려했다면 네트워크는 아예 존재하지도 않았을 것 이고, 존재한다 한들 최소한 현재와 같은 형태로는 아니었을 것이다. 현실은 이보다 훨씬 세속적이다. 인터넷은 권력과 돈을 쟁취하기 위 한 새로운 도구이다. 베이징 정부는 21세기에 디지털이 주는 오락이 란 결국 다른 수단을 이용한 전쟁의 지속이라는 점을 일찌감치 깨달았 다. 우리는 항상 더 많은 디지털 콘텐츠를 소비하게 될 것이다. 케이블 은 점점 더 팽창할 것이고, 데이터센터는 한층 더 업그레이드된 역량 을 자랑할 것이다. 왜냐하면 데이터야말로 우리가 힘과 명예, 영향력 과 번영의 추구라고 부르는 것, 다시 말해서 역사를 전진하게 만드는 영원한 동력 기관의 새로운 연료이기 때문이다. 그리고 중국과 중국의 경쟁국들은 이것을 탐한다. 결과적으로, 인터넷의 지정학과 이 네트워크가 결정짓는 새로운 역학 관계는 디지털 산업의 활력을 강화할 것이며, 그에 따라 생태계에 미치는 영향력 또한 커질 것이다.








'IT' 카테고리의 다른 글

AI 지도책  (0) 2023.07.06
챗GPT 질문이 돈이 되는 세상  (0) 2023.06.04
AI 혁명의 미래  (3) 2023.05.25
인공지능 파운데이션  (4) 2023.05.13
프로덕트 매니저는 무슨 일을 하고 있을까  (1) 2023.04.08
Posted by dalai
,

AI 혁명의 미래

IT 2023. 5. 25. 11:15

- 2012년 알렉스넷의 승리는 단순히 이미지넷이라는 특정 대회에서 우승을 차지했다는 것 이상의 의의가 있었다. SVM과 같은 기존의 머신러닝 알고리즘은 성능을 높이려면 고민해야 할 것이 아주 많았다. 어떤 사진에서 특성이 잘 추출 안 되는지, 사물을 분류하기 위해 필요한 어떤 요소를 빼먹었는지 등에 대해 연구원들이 머리를 맞대고 고민해야 했다. 하지만 딥러닝 기반 인공신경망은 달랐다. 신경망 사이즈를 조금 더 키우거나 구조설계를 바꾼 뒤 학습 버튼을 누르고 기다리기만 하면 되었다. 수십 명의 숙련된 개발자가 하던 일을, 데 이터를 가진 한두 사람이 더 정확하게 해낼 수 있게 된 것이다. 2012 년 알렉스넷의 우승은 '이후에 인공신경망은 다른 알고리즘에게 절대 지지 않는다'는 메시지를 던진 것이나 다름없었다. 복잡한 전처리 방법들을 고민할 필요 없이 데이터를 신경망에 넣고 학습시키기만 하면 되는 엔드 투 엔드 인공신경망 방식을 택한 것 그리고 GPU를 통해 이를 실행 가능하게 만들어 준 것, 이런 요소들이 한데 모여 드 디어 인간처럼 배우는 인공지능이 세상에 데뷔할 수 있었다. 이 과정 에서 딥러닝이 어떤 식으로 사물을 인식하고 이해하는지에 대한 증 거도 발견되었다. [그림 1)는 학습된 인공신경망의 은닉층이 하는 일을 요약하여 설명한 것이다.
사람의 얼굴을 찾아내는 인공지능을 학습시키면 별 역할이 없던 특정 은닉층들이 서서히 [그림 1-1처럼 특정 도형-원, 가로선, 세로 선 등에 반응한다. 그리고 그 값을 넘겨받은 다음 은닉층들은 전 단계에서 얻은 이미지들을 강하게 (높은 가중치) 반영할지 약하게 낮은 가중치) 반영할지 등을 학습하며 눈, 코, 입 등에 반응하게 스스로 변 화해 간다. 인간의 눈을 발견하는 은닉층이라면 그림 속의 원이 가장 중요할 것이며, 반면 세로선은 별로 중요하지 않을 것이다. 만약 코 를 찾아야 한다면 세로선(날)과 원(구멍)이 중요할 것이다.
- IBM의 첫 도전은 순탄하지 않았다. 1989년 슈퍼컴퓨터 '딥 소트' 는 인간 체스 챔피언 가리 카스파로프에게 패했고, 이에 절치부심한 IBM은 이를 업그레이드한 '딥 블루'를 만들어 1997년 카스파로프에 게 재도전한 끝에 승리한다. 딥 블루는 최고 수준의 인간 체스 선수 보다 더 많은 수를 더 빠르게 계산할 능력이 있었으며, 내부에 수십 만 개의 기보까지 저장되어 있는 슈퍼컴퓨터였다. 딥 블루는 진짜 의 미로 체스를 학습한 것은 아니었다. 엄청난 연산력을 통해 모든 경우 의 수를 파악하는 것에 가까웠다. 하지만 그 원리가 어떠했든 간에 인공지능 암흑기에 컴퓨터가 인간 챔피언을 상대로 승리한 것은 사 람들을 흥분하게 만들기에 충분했다.
IBM은 여기에 그치지 않고 지속적으로 인공지능에 투자했고, 왓 슨이라는 인공지능을 개발하게 된다. 왓슨은 2011년에 미국의 인기 퀴즈 쇼인 <제퍼디>의 과거 우승자들을 상대로 퀴즈 대결을 펼쳐 승리하는 쾌거를 이뤘다. (수를 수학적으로 읽어 내는) 앞의 체스 인공지능과 비교했을 때 (문장을 입력받아 답을 찾아내는 등) 행동 면에서 좀 더 인간다웠던 왓슨 덕분에 IBM은 이번에도 큰 주목을 받았다. 이후에 도 꽤 오랫동안 사람들은 인공지능하면 IBM과 왓슨을 떠올렸다.
왓슨의 구조는 [그림 1-11과 같다. 그림의 맨 왼쪽이 질문Question이 들어오는 곳이다. 질문이 들어오면 질문에 대해 분석하는 부분과 가 설을 생성하는 부분, 답변과 답변에 대한 근거를 검색 Retrieval하는 구 조가 연이어 나타난다. 또한 여러 가설에서 도출된 답변에 대해서 심 사하고 랭킹을 매기는scoring 부분 등 다양한 기능이 보인다.
[그림 1-10]에서 각각의 네모 칸이 뭘 하는지 이해할 필요는 없다. 하지만 이 책을 꾸준히 따라온 독자들이라면 왓슨 내에 정의된 세밀 한 단계별 프로세스를 보면서 무엇이 잘못되어 있는지 정도는 감을 잡을 수 있을 것이다. 인위적으로 세세한 역할을 정해 둔 부분들이 보이지 않는가? 여기까지만 봐도 우리가 앞에서 설명한 사람의 뇌와 같은 엔드 투 엔드 방식과는 거리가 멀어 보인다.
왓슨과 같은 시스템을 한마디로 정리하자면 지식 검색 Retrieval 시스 템이다. 물론 지식 검색은 단순한 키워드 검색이 아니다. 예를 들어, 검색엔진에 '이순신 탄신일'로 검색을 해 보자. [그림 1-11]과 같은 이 해하기 쉬운 결과가 나올 것이다.
이번엔 조금 검색어를 바꿔 퀴즈쇼 형식으로 검색해 보자. '조선 시대의 장군으로 임진왜란에서 삼도수군통제사로서 수군을 이끌고 전투마다 승리를 거두어 왜군을 물리치는 데 큰 공을 세웠다. 이 사 람은 누구인가?"라고 검색해 보는 것이다. 왓슨과 같은 지식검색 시스템은 퀴즈 쇼 문장 형태로 질문이 들어왔을 때 우선 이 문장을 '조선 시대', '장군', '임진왜란', '삼도수군통제사' 등으로 잘게 쪼갠다. 그 다음 쪼개진 단어들을 하나씩 사용해 왓슨 내부의 지식 베이스를 검 색한다. 왓슨 내부의 지식 베이스는 매우 거대하기 때문에 키워드별 로 여러 개의 지식 문서가 나온다. 한 예로 왓슨의 지식 베이스 내에 서 '장군'을 검색하면 강감찬, 신립, 이순신, 을지문덕 등의 단어가 포 함된 수많은 문서가, 임진왜란을 치면 1592년, 이순신, 일본, 도요토 미, 선조 등의 단어가 포함된 수많은 문서가 나올 것이다. 왓슨은 여 기 나온 수많은 단어의 등장 빈도를 확인한다.
한편 입력 문장에 '누구'라는 단어가 있다. 이를 통해 왓슨은 답으 로 사람의 이름을 언급해야 한다고 파악하며, 앞서 찾은 수많은 키워 드 중 가장 많이 등장한 사람의 이름을 고르는 것이다. 여기서 알 수 있지만 왓슨은 진짜로 질문의 의도를 이해하고 답변한 것이 아니다.
실제로 대화가 가능한 인공지능이 아닌 것이다. 왓슨과 같은 AI는 '일반 상식에 대한 질의응답'이라는 한정된 분야에서만 작동할 수 있 었고, 반드시 지식 베이스에 색인해 놓은 문서에 포함된 내용만을 답 할 수 있었으며, 질문의 형태 역시 매우 구체적이어야 했다. 단어 숫 자를 카운팅함으로써 의도와 할 일을 파악하기 때문이다. 그리고 결 정적으로 인간이 만들어 준 규칙인 '검색 결과에서 가장 많이 중복된 단어를 답하라'에 묶여 있는 것이다. 답변 속도도 상당히 느려 상용 화하기에도 매우 어려웠다. 개별 단어 여러 개를 반복 검색한 뒤 검 색된 문장들 안에서 중복도 등을 확인해 점수를 매겨야 하니 당연한 일이다.
- 엔드 투 엔드 인공신경망이 성공하면서 인공지능 개발의 트렌드가 크게 바뀌었다. 개발 방법이 달라지고 응용처가 늘어나면서 세상의 모습도 크게 변했다. 가장 큰 변화는 누구나 인공지능을 만들어 볼 수 있었다는 것이다. 앞에서 소개한 IBM 왓슨은 프로그래머가 알 고리즘을 만들어 데이터를 순서에 맞춰 처리하는 형태였다. 이런 인공지능을 만들기 위해서는 각 부분을 개발하는 소프트웨어 개발자가 다수 필요하다. IBM 정도 되는 규모의 회사만이 만들 수 있는 인공 지능인 것이다. 왓슨에 문제가 생길 경우에도 IBM만이 해결할 수 있 다. 어떻게 보면 모든 힘과 주도권이 IBM에 쏠리는 방식인 것이다. 반면 엔드 투 엔드 인공신경망은 다르다. 자신이 실험해 보고 싶은 인공신경망 구조가 있다면 수백 줄에 불과한 인공신경망 코드를 구 현한 뒤 가지고 있는 데이터를 사용해 학습시켜 보면 그만이다. 학습 에 대한 노하우가 필요하긴 하지만 수백 명의 개발자를 필요로 하지 는 않는다. 이는 특히나 자신들만의 전문 도메인을 가진 회사들에게 큰 의미가 있다. IBM의 인공지능은 작은 시장에는 손을 뻗으려 하지 않을 것이기 때문이다. 하지만 엔드 투 엔드 인공신경망 기반이라면 작은 파트너를 끼고서라도 한 번 해 볼 수 있다.
또 한 가지 중대한 변화는 도메인 전문가 의존성의 감소이다. 기 존 방식에서는 인공지능을 만들기 위해 각 분야의 전문가를 무조건 채용해야 했다. 번역기를 만든다면 번역 전문가, 동물 분류기를 만든 다면 동물 전문가 등 각 분야 전문가가 깊이 관여하고 이에 맞춰 소 프트웨어를 구현해야만 했다. 문제는 이런 전문가들을 언제나 구할 수 없을 뿐 아니라 이들의 의견이 반드시 정답이라는 보장도 없다는 것이다. 인간의 두뇌가 하는 작업 중 태반은 인간 자신도 어떻게 해 내는지 잘 설명하지 못한다. 설명을 한다고 해도 언제나 사후약방문 死後藥方文식일 수밖에 없다. 직감적으로 하는 것을 말로 풀어 설명하는 것은 전문가에게도 매우 어렵다.
이런 변화 덕분에 인공지능으로 새로운 것을 시도하기 더욱 쉬워 졌다. 전문가가 필요 없으니 업종을 빠르게 바꿀 수 있게 된 것이다. 즉 수백 개의 작은 시장 Niche으로 쪼개져 있던 인공지능 기업들이 인 공지능 자체에 집중할 수 있게 되었다.
- AI 페인터와 같은 사례가 의미 있는 이유는 이 서비스는 네이버만이 할 수 있는 것이기 때문이다. 학술적으로 공개된 인공신경망을 사용해 개선판 논문을 쓰는 것은 상대적으로 쉽고 안전하다. 하지만 AI 페인터는 그 길을 가지 않았다. 네이버 웹툰이라는 경쟁력 있는 기존 서비스에서 자신들만이 가질 수 있는 데이터를 얻어 낸 뒤, 여기에 인공지능이라는 신기술을 접목하여 만들어진 것이다. AI 페인터는 기존에 영위하던 사업과 인공지능 기술 두 가지 모두를 잘 이해하는 회사가 어디까지 해낼 수 있는지를 보여 주는 매우 좋은 예이다.
- GPT-3는 '트랜스포머"라는 단위 인공신경망을 기반으로 만든 사전 학습된 생성 모델이다. 숫자 3에서 알 수 있듯 과거에 GPT-1과 GPT-2도 있었다. 이들의 경쟁자는 Google의 BERT였으나 그동안은 크게 두각을 나타내지 못했다. 하지만 GPT-3에서 큰 진전이 있었다. 단순한 트랜스포머 알고리즘을 쓰되 네트워크의 크기를 키우고, 학 습 데이터의 양을 늘리는 것에 최대한 집중했다. 특정 전문 분야에 집중하기보단 언어로 되어 있는 모든 다양한 데이터를 학습에 사용 했으며, 여기에 기존에 자연어 이해와 자연어 생성에서 사용하던 학 습 방식을 병행하여 사용했다. GPT-3의 성능은 충격적이었다. 일단 GPT-3로 생성한 뉴스는 인간이 구분할 수 없을 정도로 정교했다. 더 놀라운 점은 GPT-3가 '언어'의 범주에 들어가는 거의 모든 작업을 수 행할 수 있다는 것이다. 소설이나 수필을 작성할 수 있었고, 기존 기 술들보다 훨씬 자연스러운 대화 생성도 가능했다. 사용자가 원하는 대로 스토리를 즉석 생성하는 AI 던전Al Dungeon>이라는 게임에 사용 되었을 정도다. 심지어 일반적인 언어가 아닌 컴퓨터 프로그래밍 언 어나 수식도 다룰 수 있었다. GPT-3 자바나 파이썬 같은 프로그래 밍 언어로 코딩을 해 주는 경지에 이른 것이다. 기존의 개별 인공신 경망이 담당하던 인간과의 대화, 기사 분류 등의 작업도 당연히 가능하다.
Google 역시 초거대 언어 모델인 람다 LaMDA를 내놓았다. 람다는 아예 자신이 명왕성인 것처럼 가정하고 대화하기도 한다. 이와 같은 방식은 과거의 생성 모델로는 상상도 하기 힘든 일이다.
- 이 같은 성공 덕분에 수많은 기업이 초거대 언어 모델에 뛰어들겠 다고 선언하기 시작했다. Google, 네이버뿐만 아니라 LG전자 등인 공지능과 무관해 보였던 기업들 역시 진출을 선언했다. 하지만 이과 정에서 때때로 초거대 언어 모델의 본질과 멀어진 이야기들이 나오 고 있어 독자들의 주의가 필요하다. 하이퍼클로바는 오리지널 GPT-3 의 1250억 개 파라미터보다 큰 2000억 개의 파라미터를 사용하며, LG전자의 엑사원은 그보다 많은 3000억 개를 목표로 개발을 시작했 다고 한다. 하지만 초거대 언어 모델에서 중요한 것은 파라미터의 개 수만이 아니다. 앞서 언급했듯 본질은 더욱 인간에 가깝게, 다양한 경험을 인공신경망에게 제공하는 것이다. 파라미터의 개수 증가는 이 과정에서 지식이 저장될 공간을 늘려 주는 역할을 할 뿐이다.
현재 초거대 언어 모델은 넘어야만 하는 수많은 도전이 기다리고 있다. 거대 신경망을 학습시키는 것은 굉장한 모험이다. GPT-3는 기 사는 잘 작성하지만 덧셈의 경우 특정 자릿수 이상은 제대로 해내지 못하기도 한다. 이는 아직 초거대 신경망이 진짜 의미로 '이해'의 영 역에는 도달하지 못했기 때문인지도 모른다. 이 원인을 찾고 해결하 기 위해서는 인간을 모사하는 수많은 시도가 이뤄져야 한다. 예를 들 면 인간은 어릴 때부터 오감을 이용해 세상을 경험하는데, 어쩌면 초거대 신경망도 인간과 같이 글뿐만 아니라 이미지 등 다른 감각에 해당하는 정보까지 함께 학습하는, 멀티모달리티 Multi-modality를 구현해야 할지도 모른다.
초거대 언어 모델은 인공지능에서 현재 가장 거대한 인공신경망 이며, 가장 많은 종류의 일을 해낼 가능성이 있는 모델이다. 이후에 도 수많은 회사가 여기에 도전장을 던질 것이다. 이런 시대에 적응하 기 위해서는 독자들 역시 초거대 언어 모델이 무엇인지를 어느 정도 이해하고, 나아가 파라미터 숫자나 모델 크기 등의 정량 지표를 넘어 서는 평가 지표를 이해할 수 있어야 한다.
- 특정 작업을 하는 AI를 만들 수 있는지 여부를 알고자 하는 독자 라면 다음과 같이 생각해 보면 된다. 우선 그 일을 인간이 한다면 어 떨지 곰곰이 생각해 보라. 만약 의사결정을 하기 위해 자료들에서 특 정 정보들을 추출하고 싶은 것이라면 인식 분야의 인공지능이 필요 하다. 창의력을 발휘해서 뭔가를 만들고자 한다면 생성 분야가 필요 한 것이며, 매 순간 특정 행동을 하는 등 의사결정을 하려 한다면 강 화학습을 공부해 보면 된다. 대부분 문제는 이 범주 안에서 해결될 것이다. 단 여기서 '인간이 할 수 있는 일을 명확히 해야 한다. 날 부 자로 만들어 주는 인공지능'과 같은 형태보다 구체적이어야 한다. 한 예로 택배 회사를 운영하고 있다면 '외관만으로 택배 불량을 알아내 는 인공지능'을 통해 운수 효율을 높여 부자가 될 생각을 해야 한다.
- 과거에는 인공지능에게 시키고자 하는 작업에 맞는 단위 인공신 경망 구조를 사용했다. 사물인식에는 동물의 시각 피질을 흉내 낸 합성곱 신경망CNN, 자연어처리 (번역 등)에는 내부에 기억 Memory 이라 는 개념을 가진 순환신경망RNN을 사용하는 방식이었다. 예를 들어, Give him a present(그에게 선물을 전달해라)'를 번역해야 한다고 하면, present란 단어를 '선물'로 번역하기 위해서는 '주다'라는 뜻의 give 가 같은 문장에 있음을 알아야 한다. 과학자들은 RNN을 설계할 때 [그림 3-3]과 같이 과거에 지나간 단어들을 어렴풋이 기억할 공간을 만들어 두었다. Present를 번역해야 할 순간이 오면, 그 전에 give him이 있었음을 알고 있으니 제대로 번역이 되는 것이다. CNN에는 저런 기억 공간이 없으므로 번역 작업을 시킬 경우 효율이 떨어지는 것이다.
하지만 위와 같은 흐름은 Google이 2017년 「필요한 것은 어텐션 뿐Attention is All You Need」이라는 논문에 트랜스포머 Transformer라는 인공신 경망이 발표되면서 바뀌게 된다.
본래 트랜스포머는 RNN과 마찬가지로 자연어처리를 위해 만들어 졌다. 하지만 그 구조는 크게 변화했다. 일단 RNN과는 달리 트랜스 포머 기반 신경망에는 문장이 단어 단위로 순차적으로 들어가지 않 고 전체가 통째로 들어간다. 그리고 어텐션Attention 이라고 불리는, 단 어간 연관성을 지시하는 그 자체로 학습 가능한 구조를 추가했다.
트랜스포머는 [그림 3-4]와 같이 문장을 이해한다. Give him a present라는 문장의 각 단어를 번역할 때 언제나 전체 문장이 보이며, 어텐션은 Give를 번역할 때 present에 집중해야 함을 알려 준다. 나머지 세 단어를 번역할 때도 마찬가지다.
- 트랜스포머는 기존에 다른 분야라고 생각했던 것들이 실제로는 비슷한 특징이 있음을 보여 주었다. 이에 신경망 구조에 대해 연구하 던 사람들은 충격을 받았으며, 일부는 트랜스포머를 마치 만병통치 약처럼 생각하기도 했다. 엔드 투 엔드 인공지능은 인간의 의도적 데 이터 전처리를 줄이는 방향이다. 트랜스포머는 이런 흐름을 인공신 경망 구조 자체에까지 확산시킨 것이다. 트랜스포머로 모든 것이 해결된다면 인공지능 연구원들도 줄일 수 있지 않겠는가? 정말로 트랜스포머는 만능일까?
- 트랜스포머는 성능이 우월하고 범용성이 높은 대신 학습을 위해 대체로 더 많은 데이터를 필요로 한다. 기존 신경망은 연구원이 신 경망에게 '선후의 단어를 봐야 한다'는 정보를 암시적으로 주는 것과 도 같다. LSTM과 같은 단위 신경망은 이미 '기억'에 해당하는 값을 가 지고 있기 때문이다. 하지만 트랜스포머의 어텐션은 '기억'이란 개념 이 필요하단 것조차 학습해야 한다. 학습할 것이 더 많으므로 데이터 가 더 많이 필요한 것이다. 같은 이유로 트랜스포머 기반으로 인공신 경망을 만들면 RNN이나 CNN 기반 인공신경망보다 복잡도가 높아 진다. 연산 자원이 더 많이 필요하단 의미이다. CNN 기반의 인공신경망의 동시 사용 인원이 10명이라면, 트랜스포머 기반의 인공신경 망은 동시에 2명 사용도 벅찰 수 있다. 개발 인력과 관리 인력 숫자를 줄였으나 대신 인프라 운용비용이 증가해 버리는 것이다.
트랜스포머와 같이 정확도가 좋고 범용성이 높은 인공신경망은 대세가 될 수밖에 없다. 그러나 인공신경망은 정확도만으로 성립하 지 않는다. 비즈니스가 성립할 수준의 원가를 확보하는 것 역시 매우 중요하다.
산업 현장에서 인공지능을 개발할 때는 엔드 투 엔드 패러다임을 지키는 범위 내에서 범용성과 최적화를 저울질하고 절충해야 하는 일이 종종 발생할 것이다. 이 과정에서 올바른 의사결정을 내리고자 한다면 범용성을 일정 부분 포기하고 최적화를 할 때 필요한 비용과 최적화를 통한 이익을 정확하게 측정할 수 있어야 한다. 그리고 최소 의 비용으로 최대의 효과를 가져올 수 있는 최적화 방법을 알아내야 한다. 이를 위해서는 인공신경망의 구조를 보다 깊이, 세부적으로 이해하고 있어야 한다. 여전히 인공신경망의 구조를 이해하고 설계할줄 아는 전문가가 가치 있는 이유다.

- 가장 먼저 할 일은 인공지능이 창출할 것으로 예상되는 가치를 측 정하는 것이다. 너무나 당연한 이야기임에도 의외로 많은 인공지능 프로젝트가 가치 창출에 대한 진지한 고민 없이 시작되었다가 자리 잡지 못한 채 흐지부지된다. 특히 '인공지능을 도입하는 것 자체가 목적이 될 경우 프로젝트가 방향을 잃고 헤맬 수 있다. 무리하게 인 공지능 자체를 도입하려 할 경우 되레 인공지능이 업무 효율성을 낮 추고 구성원들이 인공지능을 불신하기도 한다.
그다음 할 일은 해당 업무가 인공지능을 통해 해결 가능한지, 가능하다면 어떤 정보들을 입력받아야 하는지를 확인하는 것이다. 이를 파악하는 가장 좋은 방법은 사람이 할 수 있는지를 상상해 보는 것이다. '기판에서 용접 불량인 저항을 찾아내라'와 같이 명확히 정의되는 업무는 인공지능도 해낼 수 있다.
- 최근 인공신경망 설계는 과거에 비해 매우 자유로워졌다. 이미지는 CNN, 자연어나 음성은 RNN을 기본으로 층수나 파라미터만 바꾸 던 과거와는 달리, 주어진 데이터에 따라 좀 더 유연하게 인공신경망 을 설계한다. 이 덕분에 단백질 구조 예측 등의 다양한 작업들도 인 공지능으로 할 수 있게 되었다. 또한 인공신경망 설계자의 역량에 따 라 같은 데이터셋으로 정확도에 더 중점을 둔 신경망을 만들거나 처 리 속도에 중점을 둔 신경망을 만들 수도 있다. 이해도가 더 높다면 상대적으로 적은 데이터로도 높은 정확도를 낼 수도 있다.
이와 같은 이유로 기업이 인공지능 개발을 내재화하려고 마음먹 었다면 숙련된 인공신경망 설계자를 확보하는 것은 거의 필수다. 일 반적으로 이러한 사람들은 인공신경망의 근간이 되는 선형대수학을 알아야 하므로 수학 기초가 강해야 하며, 여기에 신경망의 각 층과 구조를 이해하고 설계할 수 있는 공학적 사고방식을 함께 갖춰야 한 다. 만약 인공신경망 설계를 직접 해 보고 싶은 독자가 있다면 이 두 역량에 초점을 맞춰 공부해야 할 것이다.
- 더 난감한 점은 정확도를 높이는 데에 필요한 대가가 기하급수 적으로 불어난다는 것이다. 위 대회에서 Google은 정확도를 99.0% 에서 99.1%로 올리기 위해 무려 1억 2100만 개의 파라미터를 필요 로 했으며, 이는 용량으로 500MB 가까이 된다. 이보다 정확도가 더 높은 모델이자 현재 대회에서 1등을 차지한 모델은 ViT-H/14인데, 99.5%의 정확도를 달성하기 위해 6억 3200만 개의 파라미터, 3GB가 넘는 메모리를 사용해야 했다. 이러한 경향은 거의 모든 인공신경망 에서 나타난다. 신경망이 99.1%의 정확도를 가지기 위해서는 기존 99.0% 때는 신경 쓰지 않던 매우 사소한 요소도 구분하도록 학습되어야 한다. 사소한 요소까지 배우려면 더 거대한 인공신경망이 필요해지며, 더불어 사소한 요소들을 포함하고 있는 수많은 학습 데이터 도 필요해지는 것이다.
결과를 요약해 보면 다음과 같다. CIFAR-10과 비슷한 인식 작업 을 인공신경망으로 하려 하는데 사용자가 0.5%의 추가 정확도를 원 한다면 최대 동시 사용자 수가 1/15 가까이로 줄어 버린다는 것이다. 만약 특정 고객이 스마트 팩토리를 추진하는데 정확도가 99.998%(6 시그마) 정도여야만 하는 공정이 있다면 어떻게 할 것인가? 이런 비즈니스 모델에서도 인공신경망은 노동자를 직접 고용해서 일을 시키는 방식이나 기존의 프로그래밍을 통해 공장을 운영할 때와 비교해 비 용우위를 가질 수 있을까?
이렇게 연산력을 많이 사용하는 상황이라면 반응속도도 매우 나 뽈 가능성이 높다. 스마트 팩토리에서 물건이 컨베이어 벨트를 지나 초당 1개씩 지나가는데, 불량을 감지하고 처리하는 것에 2초가 걸리 는 상황이라면 매우 난감할 것이다. 불량 감지 카메라를 2개 설치하고 속도가 느린 컨베이어 벨트 2개를 설치하는 방법도 있겠으나 이렇게 되면 기존 공장의 구조를 고쳐야 한다. 사용자가 원치 않거나 상황에 따라서는 개선하기 힘들 수 있다.
그리고 이렇게 인공신경망의 크기가 커질 경우, 이를 재학습하고 배포해서 기능을 업데이트하는 것 역시 숙련된 인원들이 해야 한다. 학습 시간이 길어 학습 실패의 대가가 매우 클 뿐만 아니라 신경망의 구조가 복잡해 학습이 잘되지 않았을 경우 문제 지점을 찾기 힘들기 때문이다. 인공신경망 내부의 문제들은 원인이 직관적이지 않아서 숙련된 연구원과 프로그래머들에게도 큰 골칫거리이다.
- 기존 프로그램에 문제가 생길 경우 개발자들은 코드를 살펴보며 코드 내의 논리적 모순을 찾는 방식으로 문제를 해결했다. 대부분의 문제는 '덧셈, 곱셈의 순서가 틀렸다'와 같이 해결해야 할 부분이 직 관적이었다. 하지만 딥러닝에서 이러한 문제 발견은 쉽지 않다. 앞서 살펴봤듯 인간 뇌를 이해하지 못하듯 인공신경망의 각 뉴런이 각층에서 하는 일을 추정하는 것은 쉽지 않다. 신경망이 얕고 단순하다면 어느 정도는 시각화해서 역할을 알아낼 수 있지만, 99%에서 99.1% 로 개선된 신경망의 수백 개 층이 무슨 역할을 하는지 이해하기는 힘 들다. 많은 경우 능력이 뛰어난 연구원이 각종 통계적 방법과 직관을 동원해서야 문제의 원인을 '짐작' 정도나 해 볼 수 있으며, 그나마도 해당 신경망의 학습 히스토리를 알아야 제대로 해낼 수 있다.
- 사람의 '기억'을 어떻게 인공신경망으로 구현할 것인지에 대해서는 상대적으로 많이 연구되지 않았다. 현재의 일반적인 인공신경망은 개와 고양이를 잘 구분하고, 음성을 잘 인식해 문장으로 변환하는 등 매우 특정한 업무만을 반복적으로 수행한다. 이런 작업을 수행하는 인공신경망에 굳이 기억이라는 기제를 구현할 필요는 없다고 생각하 는 것이다. 그러나 개와 고양이를 구분하는 인공신경망을 개발할 때 도 기억을 하지 못하기 때문에 생기는 소소한 문제점이 존재한다. 개와 고양이를 거의 완벽하게 구분하도록 학습시킨 인공신경망이 있다고 하자. 이 신경망이 코끼리도 구분하게 만들기 위해 코끼리 데 이터만 추가로 학습시키면 어떻게 될까? 안타깝게도 이 인공신경망은 코끼리는 잘 인식하게 되는 대신 개와 고양이를 잘 인식하지 못하게 된다. 이런 문제를 피하려면 어떻게 해야 하는가? 코끼리를 추가 학습시킬 때 기존에 사용했던 개와 고양이 데이터까지 가져와야 한 다. 반면 사람의 경우 코끼리를 새로 학습했다고 해서 개와 고양이를 잊어버리는 일은 없을 것이다. 이렇듯 지식을 저장하고 기억하는 방 식에서 인공신경망은 아직 사람의 뇌와 차이가 있다.
혹자는 이 문제를 대수롭지 않게 생각할 수도 있다. 실제로 지금 까지 대부분의 인공지능 개발 현장에서 이 정도의 번거로움은 감수 했다. 그러나 최근 유행하는 초거대 언어 모델 같은 큰 인공신경망을 개발할 때는 이 문제가 매우 심각하게 다가온다. 거대 인공신경망은 학습에 많은 시간이 걸리고, 한 번에 매우 많은 데이터를 사용한다. 기존에 이해하지 못하던 한 줄의 공식만 더 이해할 수 있도록 재학습 시키고 싶어도 온 세상 문제집을 처음부터 다 풀어야 하는 상황이 생 기는 것이다.
네이버가 개발한 초거대 언어 모델 하이퍼클로바 사례를 들어 보 자. 하이퍼클로바는 한국어 뉴스와 블로그, 지식인, 카페, 웹문서 등 약 2TB 분량의 데이터를 학습했다고 한다. 그러나 웹상에는 오늘도 수많은 새로운 문서가 올라온다. 기존에 학습한 것만 가지고도 일상 적인 대화를 수행하는 데에는 문제가 없겠지만, 갱신된 정보는 학습 하지 않은 이상 알 방법이 없을 것이다. 예를 들어 하이퍼클로바를 명왕성의 행성 지정이 취소되기 전에 학습시켰다면 태양계의 행성이 몇 개인지 물어볼 경우 9개-현재는 8개라고 답할 것이다. 이 정보 를 갱신하기 위해 명왕성의 행성 지정이 취소되었다는 내용이 담긴 문서만 학습시키고 싶어도, 지금으로선 기존 데이터에 해당 문서를 추가해서 수개월간 재학습시킬 수밖에 없는 것이다.
딥마인드는 이런 문제를 극복하기 위한 대안으로 RETRO Trans former(이하 레트로)라는 인공신경망 구조를 제시했다. [그림 4-4]의 왼쪽 그림과 같이 일반적인 초거대 언어 모델은 하나의 인공신경망 이 언어적인 기능과 지식의 저장을 동시에 담당한다. 반면 레트로는 언어적인 기능을 담당하는 메인 인공신경망과 지식을 저장하는 데이 터베이스를 분리했다. 언어적인 기능이라는 것은 문장을 이해하고 생성하는 기본적인 기능을 의미한다. 예를 들어 나는 학교에' 다음에 들어올 동사로 '먹었다'는 어울리지 않고 갔다'는 어울린다는 것을 아는 능력은 언어적인 기능에 속한다. 이런 언어적인 기능은 특정 사실에 기반한 지식과 상관없는 공통적인 기능이므로 한 번 학습하면 특 별한 일이 없는 한 다시 학습하지 않아도 된다. 그러나 지식은 시간 이 지나면 갱신되기 때문에 수시로 업데이트를 해 줘야 한다. 레트로 는 자주 업데이트해 줘야 하는 지식 부분을 분리함으로써 GPT-3등 의 거대 신경망의 재사용성과 효율성을 높인 것이다. 딥마인드가 공 개한 바에 따르면 레트로는 GPT-3의 25분의 1밖에 안 되는 신경망 크기로 거의 동등한 성능을 발휘한다고 한다. 연산 자원의 최적화 측면이나 학습의 용이성 측면에서 매우 큰 강점을 가진 것이다.
그러나 레트로도 여전히 사람의 기억이 작동하는 기제를 완전히 구현했다고 보기는 어렵다. 레트로는 데이터베이스에 약 2조 개에 달하는 단어를 저장해 놓고 있다. 레트로의 메인 인공신경망이 문장 을 생성하다가 특정 사실관계나 지식이 필요할 때 데이터베이스에서 자료를 가져와 참조하는 것이다. 이런 방식은 인간의 뇌라기보다는 검색엔진에 가깝다. 어찌 보면 엔드 투 엔드 방식에서 약간 뒤로 물 러서는 모습으로 보이기도 한다.
아직 인간은 뇌에서 기억이라는 기제가 어떻게 동작하는지 정확 히 이해하지 못하고 있다. 향후 지속적인 연구를 통해 사람의 기억 은 어디에 어떻게 저장되는지, 어떻게 유지되는지 그리고 저장된 기 억을 어떻게 인출하는지 그 작동 원리를 이해해야 한다. 이렇게 할 때 비로소 인공신경망으로 기억을 구현할 수 있는 길이 열릴 것이다. 레트로와 같은 시도는 뇌 과학이 발전하는 데 있어 필요로 하는 시간 동안 인공지능의 성능을 유지해 줄 중간 다리가 될 수도 있다. 
- 인텔 CPU가 인공지능에서 전성비에 밀려 GPU에게 밀려났듯, GPU 역시 초저전력 영역에서는 소형 가 속기들에게 밀려날 수 있는 것이다. 어차피 대규모 학습이나 연산력 이 크게 필요한 인공신경망 기반의 추론은 NVIDIA 칩이 할 것이고, 소형가속기들은 스마트폰이나 각종 IoT 기기 등과 결합되어 인공지능 추론 가속이 필요한 경우에 사용되는 형태가 될 것이다.
- 스마트폰과 노트북은 이미 상용화되어 있다. 이 시장의 인공지능 반도체를 장악할 경우 스마트폰 기기뿐만 아니라 앱 시장까지 폭 넓은 영향력을 발휘할 수 있다. 하지만 이를 위해서는 일단 천하 통 일이 크게 이뤄질 필요가 있다. PC와 서버 기반 인공지능 학습에서 CUDA가 잘되는 이유는 CUDA가 천하를 통일했기 때문이다. 스마트 폰 AP 시장의 경우 플레이어들이 다들 생존할 만큼의 규모를 갖추고 있다. 인공지능 반도체 시장을 잘 예측하기 위해서는 이 시장에서의 교통정리가 향후 어떻게 이뤄질지를 주의 깊게 지켜봐야 할 것이다.
- 인공지능 기술은 소프트웨어 기반 위에서 동작한다. 그리고 소프 트웨어를 동작하는 데 있어서 반도체를 떼어 놓을 수 없다. 인공신경 망으로 의미 있는 일을 하기 위해서는 각종 입력이 중요한데, 이러한 입력은 대부분 음성, 사진 등이다. 입력을 받기 위해서는 각종 센서 와 통신수단이 필수적이다. 현재 인공지능을 적용하고 싶은데 적용 하지 못하는 영역들은 다들 이유가 있다. 겪고 있는 문제를 AI로 해 결할 준비가 되지 않은 경우도 있겠지만, 대부분은 단순히 연산력 부 족, 네트워크 대역폭 부족, 전원 부족 등 하드웨어적인 이유다. 예를 들어 스마트 팩토리에서 물건의 결함을 인공지능으로 찾아내려 한다- 공장의 구조상 가로세로 각 20cm 공간 안에 반드시 기기를 배치하고, 메모리는 2GB밖에 쓸 수 없는 환경이다. 그런데 인공신경망의 메모리 사용량이 3GB라면 어떻겠는가? 당연 히 현재의 인공신경망을 사용할 수 없을 것이다. 그런데 2년 뒤에 만 약 메모리 용량이 더 큰 기기가 등장한다면? 그렇다면 인공신경망은 바뀌지 않았지만, 해당 인공신경망이 진출 불가능하던 영역의 비즈 니스가 가능해지는 것이다. 하드웨어에 관심이 없던 회사들은 이기 회를 놓치겠지만, 관심이 있는 회사라면 자신들의 인공신경망이 어느 수준의 기기까지 탑재 가능한지 면밀히 추적하고 있을 것이다. 하드웨어 발전 덕분에 감춰 놓았던 비장의 인공신경망 카드를 꺼낼 수 있는 시기가 다가오는 것이다.
물론 하드웨어를 이해한다는 것은 단순히 메모리 용량이 얼마이 고 이론상 최대 연산 능력이 얼마나 되느냐를 넘어서는 문제이다. 하 드웨어 플랫폼을 교체한다는 것은 단순히 기계 하나 바꾸고 프로그 램을 다시 설치하는 것이 아니다. 플랫폼이 교체되면 기존에 돌아가 던 소프트웨어들은 어마어마한 호환성 문제를 겪는다. 예를 들어 나 의 인공신경망은 NVIDIA CUDA GPU 기반인데, 드문 경우겠으나 갑 자기 AMD GPU를 반드시 써야만 하는 상황이 온다면 많은 것이 달 라진다. 내 신경망을 운용하기 위해 도입한 다른 소프트웨어 중 하나 는 반드시 CUDA가 있어야만 돌아갈 수도 있다. 플랫폼을 교체하면 이런 부분들이 전부 에러를 띄우며 멈추게 된다. 이는 추가적인 자원 소모와 신뢰성 문제를 야기한다.
- 가상의 CCTV 감시 서비스의 예를 하나 보자. CCTV를 통해 24시간 모든 카메라를 능동적으로 감시하고 싶은 고객이 있다면 서비스 기업은 CCTV 수십 개당 1명 정도 감시 인원을 배치할 것이다. 문제 는 한 사람이 여러 화면을 보기 때문에 중요한 사건을 놓칠 가능성이 남는다는 데 있다. 하지만 그렇다고 CCTV 1개당 1명씩 배치하는 것 은 비효율적이다. 임금 지출도 클 뿐만 아니라 각 개인의 근무 태만 을 감시하기가 힘들다. 지루한 감시 업무의 특성상 종사자들의 책임 감을 불러일으키기도 쉽지 않을 것이다. 운이 좋은 감시 직원은 평생 CCTV를 보고 있지 않았음에도 사건이 일어나지 않아 아무 책임도지지 않을 것이다.
인공신경망은 이와 같은 특징을 가진 시장을 인공지능 기술 특성에 맞춰서 공략해야 한다. CCTV용 기반의 감시 솔루션을 만들되 ‘모든 것을 무인으로 운영하겠다!'와 같은 목표를 정해서는 안 된다는 것이다. 이런 일을 해낼 수 있는 인공신경망은 매우 무거우며, 추후 에 문제가 발생할 경우 개선하기 힘들고 시간도 오래 걸리기 때문이 다. 사람을 줄이려고 AI를 도입했는데 정작 한계효용 문제를 만나게 되는 것이다. COVID-19와 같은 전 세계적인 사건이 일어나서 빠르 게 대응해야 하는데, 비즈니스 핵심 영역에 있는 인공신경망 학습이 6개월 걸린다면 매우 난감할 것이다.
이와 같은 해결책 대신 가끔은 인공신경망이 틀리더라도 감시 인원을 줄일 수 있는 인공신경망을 도입하면 어떨까? 인공신경망을 만 들되 가끔은 침입이 없어도 침입이 일어났다고 잘못 보고하는 정도 의 정확도만 추구하는 것이다. 대신 인공신경망은 침입이 일어났다고 판단하면 자리에 있는 사람에게 경고만 보내 주는 것이다. 사람은 화면을 보고 이게 진짜 침입인지 아닌지 확인하면 된다. 이런 신 경망을 사용하면 많은 이점이 있다. 일단 구조가 간단해 문제 개선이 빠르다. 나중에 특정 날씨에서는 잘 인식되지 않더라' 등의 문제가 발생하더라도 빠르게 대응할 수 있다. 그리고 최종 판단하는 사람이 현장에 남아 있으므로 신고와 보고 등을 자동화하는 것에 대한 투자 와 번거로움을 줄일 수 있다. 도입한 고객 입장에서는 경고가 뜰 때 만 경고 앞뒤의 영상을 확인해 보는 소수의 인력만 남기면 되므로 인 건비 감소라는 원가 절감을 확실히 누릴 수 있다. CCTV 감시원은 AI 의 경고를 무시했을 경우 기록이 남으므로 AI의 경고는 반드시 확인 할 것이다.
- 인공신경망은 인공지능을 구현하는 방법 중 하나로, 생물의 신경망 구조의 일부를 본떠서 만든 인공적 구조다. 대부분의 인공신경망은 실체를 가진 물건이라기보다는 컴퓨터 프로그램의 형태로 구현 되어 있다. 컴퓨터를 통한 일종의 신경망 시뮬레이션인 셈이다. 흔히 듣는 합성곱 신경망CNN, 트랜스포머 Transformer 등이 모두 인공신경망이 며, 이들을 조합해 만든 더욱 거대한 신경망들도 인공신경망으로 불 리므로 헷갈릴 수 있다.
기계학습은 경험을 통해 스스로 학습하는 프로그램을 만드는 방법론으로, 인공지능의 하부 분야이다. 기계학습에 반드시 인공신경 망이란 개념이 들어갈 필요는 없다. 예를 들어 지난 1년간의 소비 패 턴을 분석해 이번 달 고객의 소비량을 분석하는 알고리즘을 만들었 다면, 그 뒤에 있는 것이 인공신경망이건 아니건 기계학습이 적용되 었다고 할 수 있다. 그저 요즘은 인공신경망 기반의 알고리즘들이 뛰 어날 뿐이다.
엔드 투 엔드는 투입된 데이터를 인위적으로 재가공하지 않고 원 하는 결과값을 뽑아내도록 만들겠다는 목표이자 사상이다.
즉 인공지능은 기계학습의 상위 범주이며, 기계학습은 스스로 개 선되는 알고리즘을 만드는 인공지능의 한 분야이다.












'IT' 카테고리의 다른 글

챗GPT 질문이 돈이 되는 세상  (0) 2023.06.04
좋아요는 어떻게 지구를 파괴하는가  (7) 2023.06.02
인공지능 파운데이션  (4) 2023.05.13
프로덕트 매니저는 무슨 일을 하고 있을까  (1) 2023.04.08
AI 2041  (0) 2023.03.23
Posted by dalai
,

인공지능 파운데이션

IT 2023. 5. 13. 17:50

- 레벨 1 지능은 소프트지능(soft intelligence)으로 부르는데 지식이 소프트웨어의 프로그램 코드 속에 들어 있기 때문이다. 즉 입력된 데이터를 원하는 출력으로 만드는 모든 절차와 지식이 알고리즘 속에 있다. 데이터가 가지는 모든 속성과 특징을 이해해야만 알고리즘을 만들 수 있으며 학습이 필요하지 않다. 오늘날 대부분의 SW들이 이에 속한다. 모든 지능이 코드 속에 알고리즘으로 구현되어 지식을 이해하려면 코드 전체를 이해해야 하므로 지식의 전달이 어렵다. 또한 '알고리즘 지능'이라고 부를. 도 있다. 프로그램 속에서도 일정한 크기의 데이터 처리는 가능하지만 주기억장치의 용량에 좌우되는 한계가 있고, 데이터가 고정되어 있어서 변경하는 경우는 새롭게 컴파일과 설치를 해야 한다.
레벨 2 지능은 데이터 지능(data intelligence)이라고 하며 대량의 질문과 답변 사전을 구축해서 질문 에 답을 주거나 데이터베이스를 검색한다. 알고리즘 속에 모든 지식을 표현하는데, 표현이 불가능한 경우는 컴퓨터 메모리 외부의 저장소(파일이나 데이터베이스 등)에 저장된 데이터를 활용하여 문제 를 해결하는 방법이 있다. 주로 변화하는 데이터의 경우는 알고리즘 속에 저장이 불가능하고 실행 시 점에 외부 데이터를 가져와야 하기 때문이다. 날씨, 현재의 위치에 따른 주변 센서 데이터, 방대한 과 거의 누적 데이터들을 기반으로 통계적 분석이 요구되는 것이나 순위 데이터와 같은 사례에 해당한 다. 기업의 판매량이나 영업실적과 같은 데이터 기반 의사결정에 알고리즘과 데이터의 결합으로 문제를 해결할 수 있다.
레벨 3 지능은 실질적으로 지능(intelligence)과 AI라고 부를 수 있는 레벨로 학습된 지식을 바탕으로 문제를 해결한다. 데이터 마이닝을 기반으로 한 솔루션으로 데이터에 대한 깊은 지식이 필수적이다. 그래서 데이터에서 필요한 특징 (feature)들을 추출해서 테이블로 만들 수 있어야 마이닝 알고리즘을 적용해서 지도 학습 또는 비지도 학습을 수행하여 학습 모델을 생성한다. 지식을 추출한다는 의미에 서 프로그래밍이 반자동화되어 있다고 볼 수 있다. 대신 충분한 양의 데이터가 필요하며 데이터는 많 을수록 성능이 향상된다. 인간이 모두 가르쳐야만 하며 제한된 영역에서만 활용이 된다는 측면에서 '약지능(weak intelligence)'이라고 부른다.
레벨 4 지능은 강지능(strong intelligence)으로 부르며 딥러닝과 빅데이터를 기반으로 학습하는 모 델을 뜻한다. 딥러닝을 통해서 인간보다 우수한 능력을 보유하여 '강'이라고 한다. 알파고가 대표적인 강지능 시스템으로 3만 개의 바둑 기보를 학습했다(인간은 3만 개의 바둑 기보를 학습할 수 없다). 인간이 감당할 수 없는 빅데이터 학습을 통해 만들어진 학습모델이므로 인간의 지능을 능가한다.
레벨 4 지능의 학습 모델은 마이닝과 같이 특징 추출이 필요 없어서 데이터에 대한 깊은 이해가 없어 도 된다. 즉 사진을 가지고 누구인지 식별할 때 눈, 코, 입의 특징을 가르쳐줄 필요가 없으며 시스템이 알아서 적절한 특징을 추출해서 학습한다. 그러므로 인간은 무슨 특징을 가지고 구별했는지 알 수가 없어서 결과가 어떻게 도출되었는지 모르는 블랙박스와 같다. 최근에 설명 가능한 딥러닝에 대한 연 구가 진행 중에 있다.
또한 언어 학습도 종단간 학습(end-to-end learning)이 가능하다. 즉 번역의 경우 입력문장과 출력 문장의 집합을 가지고 학습을 시키면 된다. 그러므로 레벨 3 학습을 위해서는 빅데이터가 필수적이 며 오늘날 수억 개의 번역 문장을 확보하면 번역 학습이 가능하다.
레벨 5 지능은 초지능(super intelligence)으로 빅데이터도 필요 없이 스스로 학습을 할 수 있는 것 을 의미한다. 제로 데이터 학습이라고 해서 체스 두는 기본 원칙만 알면 스스로 수많은 체스판을 생 성하면서 학습한다. 바둑도 바둑 두는 기본 원칙만 가르쳐주면 수만 개의 바둑판을 만들어가면서 바둑에 대해서 학습한다. 알파제로가 대표적인 레벨 5 지능이다.

- AI가 아닌 사례를 들어보면 다음과 같다.
•내비게이션: 알고리즘으로 구현된 것으로, 내비게이션은 AI가 아니다. 또 교통상황에 따라서 길 찾기를 다르게 하는 기능이 있어도 AI가 아니다.
•퍼지 냉장고, 퍼지 선풍기: 예전에 퍼지(fuzzy) 기능을 넣고 인공지능 가전제품으로 홍보한 적이 있다. 퍼지로직이 구현되었다고 AI는 아니다.
•AI 로봇청소기: 로봇청소기가 AI 기능이라고 홍보는 하지만 주변 환경에 적응하고 장애물을 회피한다 고 AI라고 볼 수 없다.
•AI 세탁기: 세탁할 의류의 오염도를 감지하여서 세제의 양과 세탁 방식을 조절한다고 해서 AI는 아니다.
음성인식과 통역, 사물인식 등 학습에 의한 AI의 핵심 기능을 활용해서 제품화한 것은 AI 제품으로 간주한다. AI 스피커, 자율주행 자동차 등이 이에 속한다. 그러나 같은 기능이라도 알고리즘에 의해서 만들어진 음성인식이나 자연어 번역의 경우는 AI라고 볼 수 없다.

- 지식에서 노하우(know how)는 실제로 어떻게 만드느냐에 해당하는 지식으로 이론에는 있지만 실 전의 경험에 의해서 숙련된 별도의 지식을 말한다. 기능(skill)은 반복에 의하여 숙달된 지식을 의미 한다. 과거에는 노하우를 중요하게 생각했지만 오늘날에는 필요로 하는 지식이 어디에 있는지, 그리 고 누구를 통해서 구할 수 있는가를 의미하는 노웨어(know where)가 중요하다. 그러나 검색 엔진은 필요한 지식을 모두 검색해준다. 인터넷에 없는 지식을 구하는 것은 어려우며 기업들은 영업 비밀의 형태로 특허로 등록하지 않고 보안을 유지하며 관리한다. 15
노와이(know why)는 노웨어(know where)도 알고 노하우도 알아서 실제로 제조하여 활용은 하지 만 실제 그 원리는 모르는 수가 있으며 지식을 완전히 이해하고 더 발전시키려면 노와이를 알아야만 한다. 근본 원리를 이해하는 것인데 노와이는 모르는 채 활용되는 지식들도 많다.
베스트 프랙티스(best practice)는 특정한 업무를 수행할 때 가장 최선의 방법을 의미한다. 최선의 문제해결 방법을 베스트 프랙티스라고 하며 누구나 자신이 맡고 있는 일에 대해서 이 방법을 알고 처 리하면 가장 경쟁력이 있다고 할 것이다.

- 온톨로지는 철학에서 존재론이란 뜻이지만, 지식 표현 분야에서는 단어와 단어 간의 모든 관계를 표 현하는 방식으로 추상화에서 살펴본 IS-A, PART-OF 관계 외의 모든 다른 관계를 표현할 수 있다. '호 랑이'와 '토끼'의 관계에는 '먹는다'는 관계가 가능하며 '사람'과 '자동차'에는 '교통수단'이란 관계가 있다. 또한 단어의 비슷한 말, 반대말, 유사어 등 모든 관계를 표현 가능하여 모든 단어 간의 관계를 DB로 만들어 놓은 워드넷(wordnet)은 단어들의 온톨로지 사전이다. 이 방식에서는 모든 지식을 개 념 1, 관계, 개념 2)의 트리플(triple) 형식으로 표현하기에 지식의 추가와 삭제 연산에 편리하고 단순 한 형식이라는 장점이 있으나 작은 지식의 양에도 방대한 트리플을 처리해야 하는 단점도 있다.
사람이 하나하나 모든 단어의 온톨로지를 만들어서 지식 처리를 하려는 노력이 오래전부터 시도되 어 왔으나 성공에 이르지 못하고 오늘날 딥러닝을 이용하여 모든 단어의 관계를 스스로 학습하여 신 경망에 저장하도록 하는 방식이 더 잘 처리한다. 그래서 지금 서비스로 제공하는 언어 번역 시스템이 모두 딥러닝을 기반으로 하고 있다.
- 딥러닝의 특징은 입력 데이터로부터 특징 추출을 할 필요가 없다는 것이다. 입력과 출력 사이의 종단 간 학습(end-to-end learning)이 가능하다는 것이 가장 큰 장점이다. 이 점은 언어 번역에서도 품사 분류와 문법의 구문 구조에 따른 파싱 트리를 만들지 않고 입력 문장과 번역 문장만 주고 학습하면 문법의 세부내용은 알 필요도 없이 종단간 번역 능력을 학습한다는 것이다.
딥러닝은 자동프로그래밍 SW를 가진 것과 같다. 프로그래머의 꿈은 프로그래밍을 컴퓨터가 자동으 로 해주는 것이다. 프로그래머는 단지 입출력 데이터만 주면 시스템이 해당하는 프로그램을 완성해 주는 것으로 딥러닝은 바로 이것을 가능하게 해주고 있다.
딥러닝의 문제는 완전한 프로그램을 얻기 위해서는 대량의 입력과 출력을 알려주어야 한다는 점이 다. 하나만 가르치면 열을 아는 딥러닝은 없다. 빅데이터와 딥러닝은 상호의존적인 관계라고 볼 수 있다. 오늘날 빅데이터 기술이 등장하면서 딥러닝도 가능해졌다. 45TB의 문장들을 학습해서 만들어진 GPT-3 언어 플랫폼은 빅데이터와 딥러닝의 완성이라고 볼 수 있다.
잘못된 데이터를 학습하면 잘못된 생각으로 이어진다. 역사 교육에 있어서 오류는 무척 많다. 중국 이나 소련, 일본 등이 대표적인 사례다. 일본의 청소년들은 아직도 한국전쟁을 항미원이라고 배우고, 대동아전쟁이 평화를 위한 것이라고 배우는 등 한일강제병합의 역사를 왜곡해서 한국이나 대만이 식민지를 통해서 발전되었다는 교육을 받는다.

- 인공 데이터를 만들어 학습하는 딥러닝: 알파 제로
딥러닝이 반드시 빅데이터를 필요로 하는 것은 아니다. 알파고는 대량의 바둑 기보를 토대로 학습했 다. 그러나 알파제로는 바둑기보를 가지고 학습하지 않고 스스로 바둑을 두면서 학습했다. 인간이 만 든 데이터를 필요로 하는 것이 아니면, 인공 데이터를 생성할 수 있는 분야의 경우는 데이터를 만들 어 학습하면 된다.
- 데이터가 필요 없는 학습: 제로샷(zero shot) 학습
빅데이터를 확보하는 일은 간단하지 않다. 또 데이터 자체가 희소한 분야가 있기도 하다. 이미 우리 는 실제 데이터가 없어도 데이터에 대한 개념적 설명을 가지고 인식할 수 있는 능력을 가지고 있다. 예를 들어 밤하늘에서 'W' 모양의 별자리를 카시오페아라고 알려주면 한 번도 본 적 없어도 찾을 수 있다. 이러한 학습을 제로샷 학습이라고 한다. 샷은 예제 데이터를 의미하여 데이터를 한 번도 주지 않고 학습하는 것으로 대신 충분한 데이터에 대한 메타데이터 설명이 주어져야 한다. 그래서 이 분야 를 전이학습의 한 사례로 구분하기도 한다.
오카피(okapi)라는 동물은 다리에 얼룩말 무늬가 그려져 있는 말과 비슷하게 생긴 동물이다. 우리는 오카피를 한 번도 본적이 없지만 설명만으로도 오카피를 보게 되면 알아볼 수 있다. 직접 본적 없지 만(동물을 보고 학습하지 않고) 설명만으로 맞출 수 있는 제로샷 학습의 또 다른 예이다.

- 데이터가 가지는 편견의 문제는 인간의 실제 생생한 모습 그 자체일 뿐이다. 여성차별, 인종차별에 따른 편견은 인간이 누적한 데이터가 그러하기 때문에 데이터를 모두 삭제하지 않는 한 해결 자체가 불가능하다. 인간의 생생한 데이터를 학습한 결과를 통해서 AI는 우리가 보고 싶지 않은 불편한 진실 을 알려주고 있다.
그러므로 편견 없는 AI를 만들기 위해서는 데이터에 대한 청소(cleansing)가 필요하다. 데이터 마사 지라고도 하며 개인정보 보호를 위해서 법원 판결문에서 개인정보에 해당하는 부분을 모두 제거하 는 익명화(anonymization) 기술과 같이 편견 부분을 모두 제거해야 한다. 이것은 사실 진실을 가리 는 작업이라고 볼 수도 있고 선의의 거짓말을 통해서 우리가 지향해야 할 방향을 제시하기 위함이라 고 볼 수 있다.25 성장기의 청소년에게는 현실의 생생한 모습 중에 목불인견의 장면을 보여주지 않는 것이 타당한 것과 같다고 여길 수 있다.26
AI의 공정성을 논하기 전에 우리는 먼저 알고리즘의 공정성을 생각해볼 수 있다. 특히 검색 알고리즘 의 경우 검색 결과를 보여주는 순서에서 인위적인 조작이 추가되는 경우가 문제가 된다. 조회수와 같 은 공정한 기준을 사용하지 않고, 광고비를 많이 낸 순서로 결과를 보여주는 것은 정보를 왜곡하는 것이다." 블로그의 기사를 광고비를 받아서 썼다고 명시하는 것은 가능하다. 문제는 광고비를 받고 서 마치 객관적인 의견인 양 기사를 쓰는 것이다.
- 분석에서 나아가 마이닝(mining)은 보다 고차원적인 정보의 분석 결과를 보여주며 우리는 이것을 지식 추출(knowledge extraction)이라고도 한다. 마이닝의 결과 지식은 다양한 방식에 따라서 여러 가지 형식으로 나타내며, 수준별로 다양하게 나타날 수 있다.
우선 설명 마이닝(descriptive mining)을 들어보면, 이는 데이터 전체에 대해 요약해서 설명하여 이 해하기 쉽게 만들어주는 마이닝이다. 책이나 논문의 요약문이 전체를 한 마디로 요약하는 것으로 문 서 마이닝에서 주요 응용의 하나다. 독서 감상문의 경우 책 전체를 얼마나 잘 이해해서 짧게 요약하 는지 능력을 파악할 수 있으며 자기소개서의 경우도 자신을 짧은 문장으로 어떻게 잘 표현하는지 알 수 있다.
설명 마이닝에는 특징 추출, 특징 요약(축소), 의사결정 트리, 연관규칙, 군집 등의 방법을 사용한다.
- 예측 마이닝(predictive mining)
데이터에 대한 전체를 이해하고 파악한다면, 미지의 데이터가 입력되었을 때 그 데이터의 특성을 통해서 분류와 미지의 값을 채워 넣을 수 있다. 
- 딥러닝은 역공학이다.
딥러닝은 알고리즘을 모르는 경우 역공학으로 파라메터를 가진 일반적인 신경망 모델을 만들고 파라 메터 값을 계산하는 과정이다. 딥러닝 알고리즘 하나로 오늘날 모든 문제를 푸는 데 필요한 알고리즘 을 학습하여 파라메터에 저장함으로써 문제를 해결한다. 문제를 푸는 알고리즘을 자동으로 만들어주 는 알고리즘이라고 볼 수도 있으며 프로그래머의 꿈인 자동 프로그래밍이 실현되었다고 볼 수 있다.
- 딥러닝은 메타알고리즘이다.
알고리즘이란 문제를 해결하는 방법을 의미한다. 알고리즘을 모르고도 문제를 해결할 수 있다. 

- 단어를 벡터로 표현하는 기법의 효용성으로 인해서 구문(phrase)을 벡터로 그리고 문장을 벡터로 표 현하는 모델도 등장하였다. 지금까지 단어들의 의미와 유사어, 반대어 등을 사전에 저장하는 방식으 로 자연어를 처리하는 방식에서 벗어나서 주어진 텍스트를 그대로 단어들의 연관 관계만을 가지고 벡터로 만드는 워드 임베딩은 단어의 의미를 처리하는 모든 문제를 해결해주었다.
즉 단어는 문장 내에서 함께 사용되는 단어에 따라서 의미가 결정된다는 사실이다. 우리가 영어학습 에서 단어의 뜻을 모를 때 문장 내에서 어떤 뜻인지 추측하는 학습을 하라는 것이 바로 이 때문이다. 오늘날 자연어 처리는 많은 문장을 단어와 단어 간의 연관성을 가지고 학습시키는 방식을 사용한다.

- 인공지능이 인간보다 예술작품에서 이길 수밖에 없는 이유는 다음과 같다.
* 인류가 만든 모든 예술작품을 다 알고 있다.
* 인간이 좋아하는 모든 음악을 다 알고 있다.
* 인간이 좋아하는 모든 문학 표현과 스토리텔링 및 문체를 모두 학습했다.
* 색상의 수에서 압도적이다. 컴퓨터가 처리하는 색상 수는 현재 1억 개를 넘었다. 아무리 뛰어난 화가라도 컴퓨터가 다루는 색상의 수를 넘지 못한다.
* 음의 활용 개수에서 압도적이다.
* 캐릭터 제작에서 가장 아름다운 (인간이 좋아하는 모든 요소를 갖춘 캐릭터를 만들 수 있다.

- 현재 GPT-3의 문제점으로 알려진 것으로는 다음과 같은 것을 들 수 있다.
* 초거대 AI 모델이므로 막대한 학습 비용이 든다. 마이크로소프트사의 10억불 투자로 독점 사용권을 부여했으며 현재 유료로 서비스 중에 있다.
* 물리적인 상식을 모른다. “치즈를 냉장고 안에 넣으면 녹을까?"의 질문에 “그렇다.”로 답한다.
* 모든 분야에서 뛰어난 것은 아니며 두 가지 이상의 복합 연산 능력은 저조하다.
* 예제를 암기한 것인지 추론해서 얻어진 것인지 불분명하다.
* 새로운 정보를 수용하기 어렵다.
* 통계적으로 다음에 많이 나오는 단어를 예측하는 방식으로 학습한 것일 뿐 결코 '이해(understand)'한 것은 아니다. 그리고 상식도 매우 부족하다.
* 가짜 뉴스나 편견 등이 완전하게 제거되지 않아서 위험한 답변을 줄 수 있다. 특히 유대인이나 여성에 대해서 반유대, 여성혐오적 표현 생성이 가능하다.
* 일관된 한 사람으로서의 페르소나(persona)를 가지지 못한다.

- "자신을 기억할 만한 사람이라고 생각하기 시작하는 순간, 당신은 당신을 만난 것조차 기억하지 못하는 사람과 마주칠 것이다." (존 어빙)




'IT' 카테고리의 다른 글

좋아요는 어떻게 지구를 파괴하는가  (7) 2023.06.02
AI 혁명의 미래  (3) 2023.05.25
프로덕트 매니저는 무슨 일을 하고 있을까  (1) 2023.04.08
AI 2041  (0) 2023.03.23
웹 3.0 사용설명서  (2) 2023.03.17
Posted by dalai
,

- '애자일 소프트웨어 개발 선언" 
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:
공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

- 사용자 중심의 제품 구현이 힘을 얻은 것은 얼마 되지 않았다. 그전에는 이해관계자가 요 구하는 대로 제품을 만들고 제때 납품하면 되는 업무수행 방식이 주를 이루었다. 단계적 으로 업무가 진행되고 위에서 떨어진다는 수직적인 의사소통의 의미도 담아 이러한 개 발 방식을 워터폴 Waterfall 이라고 부른다. 워터폴 개발 방식은 모든 것이 사전에 계획되어 납기에 맞추어 결과물을 내는 것이 최고의 목표이다. 그렇기 때문에 계획이 옳고 그른지 를 생각하기보다는 제때 해내는 것이 가장 중요하다. 이와 같은 방식에 의문을 제기하고 가치 있는 제품을 빠르게 고객에게 전달하자는 기조를 세우게 된 것이 애자일 개발 방법론agile software development이다. 의미 있는 배경과 공감할 수 있는 내용과는 달리 현업에서 이를 적용하는 데에는 상당한 어려움이 있다.
제품의 특성에 따라 사용자에 전달하는 유의미한 가치뿐만 아니라 감안해야 하는 요소가 많은 제품이 있다. 법적인 규제 또는 재무적인 구성 등 정책을 정하면서 논의하고 점검해 야 할 부분이 많은 경우가 있다. 이 과정을 생략하고 사용자에게 제품을 출시한다면 사용 자는 행복할 수 있으나 기업은 건전성을 잃을 수 있다. 또한 이러한 정책 파악 과정을 애 자일 개발 방법론에 따라 프로덕트 매니저뿐만 아니라 제품팀 모두가 참여하게 된다면 유관부서와의 협업 내용을 모든 담당자가 숙지해야 한다. 이는 구현 담당자의 집중을 분산시키는 결정일 수 있다.
-  프로덕트 매니저는 사용자가 제품을 만났을 때의 경험에 대한 설계 책임을 진다. 사업적인 목표 달성을 위해 노력하고 마지막으로는 기술적으로 지속 가능하고 안정 적이며 효율적인 방식을 사용해야 한다. 벤다이어그램이 프로덕트 매니저의 이상적인 모 델을 대표한다면, 프로덕트 매니저의 현실적인 역할은 시멘트에 비유할 수 있다.
프로덕트 매니저는 제품이라는 집을 짓기 위해서 벽돌을 쌓아 올리고 연결하여 완성하고 자 한다. 아무리 뛰어난 능력을 갖춘 프로덕트 매니저라도 각각의 업무를 하나로 연결해 서 종합적인 사고를 할 수 없다면 의미가 없다. 예를 들어 마티 케이건의 벤다이어그램에 서 사용자 경험과 사업적 효용만 생각한 제품이라면 기술적인 결함으로 인해 결국 안정 적으로 운영될 수 없으며, 사용자 경험과 기술적인 결합만을 생각한 제품이라면 사업적 으로 영속이 불가능해서 실패할 수밖에 없다. 마지막으로 사업적인 목적이 뚜렷하게 반 영된 기술이라고 하더라도 사용자가 쓸 수 없다면 범용성을 띠지 않아 결국 아는 사람만 아는 서비스가 된다. 비단 이와 같은 업무 영역이 아니고도 프로덕트 매니저는 제품이 시 장에 안착하여 사용자 반응을 끌어내는 역할을 하게 된다. 조직마다 비어 있는 공간이 다 르기 때문에 각 조직의 프로덕트 매니저는 개개인의 특성을 가질 수밖에 없다.
- 요구사항 정의서가 방향을 정하는 것이라면 실제로 어떻게 그 방향으로 나아 갈지를 결정하는 것은 화면 설계서이다. 두 문서는 서로 영향을 주고받기 때문에 하나의 문서로 작성되는 경우가 잦다. 한 팀에 프로덕트 매니저, 화면, 사용자 경험 설계 전문가, 프로덕트 디자이너가 모두 있다면 프로덕트 매니저가 요구사항 정의서, 화면 설계 전문가 가 화면 설계서 그리고 실제로 이를 디자이너가 구현할 것이다. 하지만 앞서 말한 것과 같 이 프로덕트 매니저가 요구사항 정의서와 화면 설계서를 함께 작성하는 경우가 더 잦다. 이유는 화면 설계서가 기본적으로 상위 정책을 바탕으로 하고 이에 대한 충분한 이해로 작 성해야 하기 때문이다. 사용자 경험 자체에 집중하는 것이 디자이너 역량을 더 살릴 수 있 기 때문에 상위 정책이 복잡하고 이에 대한 정확한 반영이 필요한 경우에는 프로덕트 매니 저가 이 업무를 담당하는 것이 효율적이다. 이와 같은 경우는 담당자가 여럿이기 때문에 각자의 업무에 집중할 수 있는 만큼 반대로 서로가 같은 공감대를 이루기 위한 커뮤니케이 션 비용이 증가한다. 반면 화면 설계서를 별도로 작성하지 않고 요구사항 정의서를 보고 제품팀이 곧바로 제품을 구현하는 경우도 있다. 조직마다 문화가 다르고 이는 그 조직에서 효과적이라고 생각하는 커뮤니케이션 방식과 닿아있으므로 우선 지금 당장 벌어지고 있는 커뮤니케이션 방식과 문법을 파악하는 것이 중요하다.
주니어 프로덕트 매니저라면 당장 기획서를 작성해야 할 때 자신의 스타일이나 커뮤니케 이션 방식이 적립되어 있지 않기 때문에 두려울 수 있다. 그렇다면 가장 먼저 해야 하는 일은 속한 조직에서 사용하는 문서를 확인하는 것이다. 조직에서 통용되는 문서의 종류 와 기준은 회사의 조직문화가 강하게 연결되어 있다. 가장 효율적인 커뮤니케이션 방식 은 기존의 방식이다. 제 아무리 대단히 뛰어난 방식이라도 현재 조직에서의 학습 비용이 필요하고 적응 기간이 필요하기 때문에 근본적으로 변화의 필요성이 없을 때에는 구관 이 명관이라는 것이다. 물론 기존 업무 방식에 개선점은 있을 수 있다. 조직에서 작성하 는 문서에 익숙해진다면 이 장에서 다루는 내용을 자신의 업무에 적용하면서 나에게 가 장 잘 어울리는 스타일을 정하자. 물론 기본적인 조직의 기조는 있겠지만 조직에서 필요 한 부분을 찾아서 당신의 커뮤니케이션 스타일과 문서 작성에 녹일 수 있다면 그것이 당신의 경쟁력이 될 것이다.
- 최종 시안이 확정되고 나면 디자인 담당자는 해당 시안을 바탕으로 프런트 구현 작업을 진행할 수 있도록 디자인 리소스를 마크업 담당자에게 전달한다. 전달 방식은 조직별로 다르다. 디자인 작업 원본 파일 형태로 전달하거나 제플린, 피그마 등 협업 툴을 통해 전 달하기도 한다.
웹 제품에서 디자인 다음으로 진행되는 작업은 마크업 개발이다. 마크업은 간단히 말 하면 이미지로 된 디자인이 코드로 된 웹페이지로 만들어지기 위한 연결고리와 같은 작 업이다. 마크업 개발자는 디자인 리소스를 바탕으로 제품을 구성하는 페이지를 하나씩 html 형태로 구현해낸다. 이 마크업 페이지는 실제로 동작하는 것은 아니고 말 그대로 제품의 디자인을 고스란히 코드 형태로 옮긴 것으로 보면 된다. 브라우저에 띄워 놓으면 실제 제품 페이지로 보이지만 클릭을 한다고 해서 무언가가 바뀌지도 움직이지도 않는 껍데기뿐인 페이지라고 생각하면 쉽다. 그러나 마크업으로 구현된 이상 그것은 더 이상 단순한 이미지가 아닌, 코드로 짜여진 웹페이지이다. 그리고 이렇게 만들어진 마크업을 가지고 실제로 동작하는 페이지를 만들어내는 것이 바로 프런트 개발에서 진행하는 작업이다. 
마크업 담당자가 1차 마크업 결과물을 완성하면 우선 프로덕트 매니저에게 이를 공유하 고, 프로덕트 매니저는 마크업 결과물을 검토하면서 기획서와 다르게 구현된 부분이 있 는지 확인한다. 필요시 마크업 담당자에게 수정을 요청해서 결과물에 반영시킨다. 경우 에 따라서는 마크업에 굳이 반영할 필요 없이 프런트 개발에서 처리가 가능한 것도 있으니, 마크업 담당자의 의견을 참고하도록 하자.
프로덕트 매니저가 요청한 수정 사항이 마크업에 모두 반영되면 디자인 담당자에게 디자인 필터링을 요청한다. 디자인 필터링이란 마크업 결과물이 시각적으로 디자인을 정확하 게 반영하고 있는지 디자이너가 검수하는 작업을 말한다. 필터링 작업이 필요한 이유는 코드 영역에서 이루어지는 마크업 작업을 하다 보면 디자인과 완전하게 일치하지 않는 부분이 발생할 수 있기 때문이다. 비록 일반적인 사용자는 눈치채기 어려운 미세한 차이 일지라도 제품의 시각적인 모양새는 본질적으로 디자이너의 손에서 만들어진 디자인과 동일해야 한다. 디자인 담당자는 이러한 필터링 작업을 통해 이미지로 된 디자인 결과물 을 제작하는 것을 넘어서 실제로 구현된 제품의 디자인을 감독하는 역할 또한 수행하게 된다.
- 디자인 필터링에서 마크업에 수정이 필요한 부분이 발견되면 디자인 담당자가 이를 마크 업 담당자에게 전달하고 마크업 담당자는 다시 해당 사항을 수정 반영하여 마크업을 완 성한다. 다만 마크업은 이 시점에서 최종본이 완성되었다고 보기는 어렵다. 이후 마크업 을 전달받아 프런트 개발을 진행하는 과정에서 이번에는 프런트 개발 담당자가 마크업 담당자에게 수정을 요청할 수도 있기 때문이다. 디자인 필터링에서 전달되는 수정 요청 이 마크업이 시각적으로 구현한 부분에 대한 요청이라면 프런트 개발 과정에서 전달되는 수정 요청은 코드 레벨에서의 요청이다. 사실 이 중에서 프로덕트 매니저가 직접적으로 관여할 수 있는 부분은 없다. 그러나 현재 제품 구현이 어느 단계를 지나고 있으며 각담 당자가 어떠한 작업을 진행하고 있는지, 어떤 상황이 발생하고 있는지는 항시 파악하고 있어야 하므로 이러한 작업의 흐름은 반드시 이해하고 있어야 한다.
- 백엔드 개발은 디자인이나 마크업 등 별도 작업 없이 기획이 완성된 시점부터 바로 착수 할 수 있다. 물론 이는 백엔드 개발자가 바로 코딩을 통한 구현을 시작할 수 있다는 의미 는 아니다. 기획서를 만들 때 문서 자체를 작성하는 일보다 그 내용을 구상하고 결정하는 것이 본질적으로 더 중요하듯이 개발 작업 또한 직접적인 코딩 외에도 머릿속으로 전체 적인 설계를 잡는 것이 매우 중요한 부분이다. 특히 백엔드 개발이 맡은 것은 제품의 밑바탕을 이루는 데이터 흐름을 구현하는 것으로, 가장 눈에 보이지 않는 부분이지만 이것 에 문제가 생기면 제품 전체가 무너질 수밖에 없다.
제품을 상점에 비유한다면 프런트 개발에서 구현하는 것은 상점 내부를 가지런하게 꾸미고 쾌적하게 유지하는 것, 상점에 들어온 손님에게 전반적인 서비스 제공, 손님이 구매하 려는 상품을 전달하고 결제를 진행하는 부분일 것이다. 이에 비해 백엔드 개발에서 구현 하는 것은 상점에서 판매할 상품의 유통 및 재고관리, 회원제로 운영되는 상점이라면 고 객 정보 관리, 손님이 구매한 상품과 결제 정보를 받아서 장부를 기록하고 정산하는 부분 이라고 볼 수 있다. 백엔드에서 한번 잡아 놓은 구조를 나중에 가서 바꿔야 한다면 이는 제품의 모든 로직과 프런트 설계에까지 영향을 미치며, 그만큼 규모가 큰 작업이다. 그것 이 사용자 입장에서는 아무런 차이를 감지할 수 없는 변경이라 할지라도 말이다. 따라서 백엔드 개발자는 실제 구현 작업에 들어가기 전, 안정적으로 장기간 유지 운영이 가능하면서도 제품 오픈 이후 변경 요구사항이 발생할 수 있음을 고려하여 가급적 유연한 구조로 백엔드를 설계하는 데에 많은 공수를 들이게 된다. 
- 회고의 목적과 형식
제품을 신규로 오픈하거나 대대적 개편 이후 담당 실무자들이 모여서 지난 과정을 돌아 보면서 의견을 나누는 것을 회고라고 한다. 회고는 프로젝트 완료를 함께 자축하기 위함 도 있지만, 가장 중요한 목적은 지금까지의 업무 진행 방식과 내용에 대해 좋았던 점과 그렇지 못했던 점을 함께 짚어보면서 앞으로도 함께할 팀 내 협업 역량을 성장시키는 것 이라고 할 수 있다. 하나의 제품 프로젝트로 모인 실무자들은 별다른 특이사항이 없으면 대개 앞으로도 계속 해당 제품을 담당하게 되기 때문에 이후 협업을 더 매끄럽고 효율적 으로 진행하기 위해서도 회고는 필수적이다.
회고는 주로 프로젝트의 PMProject manager 역할을 담당했던 프로덕트 매니저가 준비하고 진행한다(경우에 따라 개발이나 디자인 등 프로젝트에 참여한 직군별로 회고를 준비할 수도 있다. 필요하다고 판단되면 직군별 리더에게 회고 준비를 요청하자). 정해진 형식 은 없지만 기본적으로 다음과 같은 내용을 정리하여 공유하고, 이후 모두가 함께 자유로 운 형태로 후기를 나누는 방식으로 진행된다고 생각하면 된다.
- 보고의 목적과 형식
제품 오픈 또는 개편 이후, 프로젝트 PM은 해당 프로젝트를 승인한 상위 의사결정권자 에게 프로젝트 완료 직후 성과에 대한 보고를 진행한다. 보고의 목적과 성격은 회고와는 전혀 다르다. 회고는 실무자들이 모여서 서로를 위한 피드백을 주고받는 자리라면, 보고 는 의사결정권자에게 인정받기 위한 자리다.
열심히 만들고 개선한 제품은 사용자들에게 평가받을 것이고 결과는 지표로 나타날 것이다. 프로덕트 매니저는 지표를 기반으로 의사결정권자에게 오픈 또는 개편의 성과를 어필하고 해당 조직에서 그 제품이 갖는 중요도와 의미를 각인시켜야 한다.
물론 제품 자체가 너무나 훌륭하고 제품팀의 역량도 뛰어나다면, 제품은 순조롭게 성장 할 것이다. 그러나 구성원이 열심히 하기만 하면 조직의 인정과 보상이 따라오는 것은 아 니다. 어필하지 않으면 성과가 존재하지 않게 되는 경우가 비일비재하다. 그뿐만 아니라 조직에서 인정받는 제품일수록 당연히 그것을 운영, 개선, 성장시켜 나가는 데 필요한 지 원도 우선적으로 받게 된다.
따라서 상위 보고를 할 때에는 겸손은 잠시 접어 두도록 하자. 프로젝트 성과 위주로, 마 땅히 인정받아야 하는 부분을 효과적으로 전달할 수 있어야 한다. 물론 제품을 오픈 또는 개편하자마자 바로 눈부신 성과가 나타나는 경우는 극히 드물다. 지표 수치 이외에도 객 관적으로 제시할 수 있는 사용자들의 긍정적인 반응, 제품의 핵심 가치와 성장 비전, 앞 으로의 마일스톤을 정리하여 제시할 수 있어야 한다. 또한 지금은 부족해 보이는 부분일지라도 어떤 방식으로 보완해 나갈 것인지에 대한 계획과 기대 성과에 대한 예상치에 대 해서도 설득력 있는 내용을 준비해야 한다.
이러한 보고와 어필을 어떻게 해내느냐에 따라서 본인은 물론 함께 협업하는 동료들의 성과에 대한 평가도 달라질 수 있음을 염두에 두고, 본업만큼 성실하게 보고를 준비하도 록 하자. 결국 상위 의사결정권자나 조직장과의 커뮤니케이션도, 유관부서와의 커뮤니케 이션과 마찬가지로 프로덕트 매니저의 주요 역할 중 하나이기 때문이다.

- CS 대응 가이드란 접수된 고객 문의/불만에 대한 답변을 어떤 내용과 방식으로 진행할 것인지 정의한 것을 말하며, 기본적으로 갖추어야 할 구성은 다음과 같다.
* 예상 문의/불만사항 항목과 그에 대한 답변 스크립트
* 예상 항목 이외의 내용이 인입되었을 경우 대처 가이드 (ex. 고객센터 담당자가 프로덕트 매니저에게 문의내용 이관)
* 강성 항의에 대한 대응 가이드 (ex. TO DO, NOT TO DO, 모범 답변 스크립트 등)
* 고객센터에서 제품팀으로 필수 공유가 필요한 대상 정의 (ex. 서비스 오류 제보, 고객에게 피해발생 사례 등)
* 답변 처리 기간 기준 (ex. 인입 후 영업일 기준 5일 이내 답변 처리)

 

'IT' 카테고리의 다른 글

AI 혁명의 미래  (3) 2023.05.25
인공지능 파운데이션  (4) 2023.05.13
AI 2041  (0) 2023.03.23
웹 3.0 사용설명서  (2) 2023.03.17
최소한의 IT언어  (2) 2023.02.24
Posted by dalai
,

AI 2041

IT 2023. 3. 23. 20:44

-  미국의 과학자이자 미래학자였던 로이 아마라Roy Amara가 주창한 '아마라 법칙'에 따르면 "우리는 기술의 단기 효과를 과대평가하고 장기 효 과는 과소평가하는 경향이 있다." 마찬가지로 대부분 사람이 인공지능 을 협소한 의미에서 생각한다. 이를테면 영화 <터미네이터>에 나오는 살 인 로봇, 재치라곤 전혀 없거나 인간의 존재를 위협하는 불완전한 알고 리즘, 인간이 세계를 인식하고 감정을 주고받으며 소통하고 제도를 관 리하고 삶의 다른 가능성을 탐색하는 방식과 무관한 삭막한 기술의 발 명을 떠올린다.
기원전 3세기 중국 춘추전국시대에 오늘날 휴머노이드에 해당하는 인간의 모습과 흡사한 거대 인형을 만들었던 공예기술자 얀스Yan Shi의 이야기나 그리스 신화에서 불의 신 헤파이스토스가 살아 있는 청동 거 인 탈로스Talos를 만들어 크레타섬의 왕에게 선물했다는 이야기에서 볼 수 있듯이, 인간은 컴퓨터과학이 등장하기 이전부터 혹은 인공지능이라 는 용어가 탄생하기 훨씬 전부터 집요하게 '인공지능'을 탐구해왔다. 오 늘날에도 인공지능은 인류 문명 전반에 걸쳐 혁명적인 변화를 일으키고 있으며, 앞으로도 그럴 것이다.

- 다른 누군가의 삶을 완벽하게 모방하기보다 당신 자신의 운명을 불완전하게 사는 게 낫다. (《바가바드 기타> 3장 35절)
- 인간의 뇌는 1,000억 개가 넘는 신경세포가 100조 개 이상의 시냅스를 통해 병렬적으로 연결된 구조로 되어 있다. 딥러닝은 이러한 인간 뇌의 복잡한 신경망을 모방한 인공신경망을 수학적으로 모델링한 것이라 볼 수 있다. 딥러닝은 입력층과 출력층을 포함한 수천 개의 신경망, 즉 소프 트웨어층으로 구성된다. 기존 인공신경망이 가졌던 한계를 뛰어넘은 딥 러닝은 풍부한 학습 데이터와 결합하면서 음성인식과 객체인식 등의 분 야에서 놀라운 발전을 가져왔다.
사람들은 흔히 인공지능이 "고양이는 귀와 수염이 뾰족하다"와 같은 일련의 패턴화된 규칙들을 통해 '학습한다고 생각한다. 하지만 딥러닝 은 인간이 만든 그러한 규칙들의 개입이 없을 때 더 잘 작동한다. 딥러닝은 특정 규칙이 아닌 다양한 현상들의 데이터가 입력되면 스스로 데이 터들의 패턴과 상관관계를 파악하고 계산하는데, 이 작업은 이미 출력 층에 설정된 '올바른 답과 연관되어 이루어진다. 딥러닝 신경망의 입력 층과 출력층 사이에 존재하는 무수한 소프트웨어층은 입력된 특정 데이 터들로부터 올바른 답을 얻을 가능성을 극대화하기 위해 스스로 훈련하 고 학습한다.
예컨대 연구자가 고양이를 찍은 사진과 고양이가 아닌 다른 동물을 찍은 사진을 구별하는 법을 딥러닝 신경망에 가르치려 한다고 가정해보 자. 우선 연구자는 출력층에 미리 '고양이' 또는 '고양이 아님'을 결괏값 으로 설정한다. 그리고 수백만 장의 샘플 사진을 입력층에 보낸다. 딥러 닝의 신경망은 수백만 개의 이미지에 나타난 특징들 가운데 어느 것이 고양이와 다른 동물을 식별하는 데 가장 유용한지 스스로 파악하도록 훈련된다. 이 훈련은 고양이 이미지를 입력하면 '고양이'가 출력되고 고 양이가 아닌 이미지를 입력하면 '고양이 아님'이 출력될 가능성을 극대 화하기 위해 딥러닝 신경망에 있는 수백만(때론 수십억 개의 매개변수를 조정하는 수학적 과정이다. 
- 딥러닝 신경망의 훈련은 '목적함수'의 값을 극대화하기 위한 수학 적 연산 과정이기도 하다. 고양이 인식 사례의 경우, 목적함수는 '고양 이' 또는 '고양이 아님을 올바르게 인식할 확률이다. 일단 '훈련된' 딥러 닝 신경망은 새로운 이미지를 입력해도 여전히 올바른 답을 얻을 수 있 는 거대한 수학 방정식이나 마찬가지다. 이 방정식에 따라 이미지에 고 양이가 있는지 없는지 판단하는 '추론'을 수행한다. 딥러닝의 등장은 이 전에는 불가능했던 많은 영역에서 인공지능을 적용할 수 있도록 해주었다. 
- 딥러닝이 아무리 강력하다 할지라도 만병통치약은 아니다. 인간은 인공지능처럼 동시에 수많은 데이터 포인트를 분석할 수는 없지만, 대신 의사결정을 위해 경험, 추상적 개념, 상식을 이용하는 고유한 능력을 지 니고 있다. 반면에 딥러닝이 잘 작동하려면 방대한 데이터, 한정된 범위, 최적화를 위한 구체적인 목적함수가 필요하다. 이 가운데 하나라도 부 족하면 제대로 작동하지 않을 수 있다. 데이터가 너무 적다면? 알고리즘은 데이터 간의 의미 있는 상관관계를 발견하기에 충분한 예시를 갖지 못할 것이다. 복수의 분야를 다뤄야 한다면? 알고리즘은 서로 다른 분야 간 상관관계를 설명할 수 없으며, 모든 순열을 포함할 만한 충분한 데이 터를 얻지 못할 것이다. 목적함수가 너무 광범위하다면? 알고리즘은 최 적화를 달성하는 데 필요한 명확한 지침을 얻지 못할 것이다.
- 시각은 인간의 여섯 가지 감각 가운데 가장 중요하다. 컴퓨터 비 전computer vision은 컴퓨터의 '보는' 능력에 관한 문제를 중점적으로 다루 는 인공지능의 하위 분야다. 여기서 '본다'라는 것은 '본 것을 이해하는 것'까지 포함한다. 컴퓨터 비전은 다음과 같은 기술을 포함하고 있으며, 이런 기술들은 점점 더 복잡해지고 있다.
* 이미지 포착 및 처리: 실제 세계의 3D 장면을 카메라와 다른 센서들을 이용해 동영상으로 구현한다. 각 동영상은 연속적인 이미지들로 구성되며, 각 이 미지는 2D로 배열되는 픽셀의 집합체로 만들어진다.
* 대상 감지 및 이미지 세분화: 이미지를 뚜렷한 부분들로 나누고 대상이 어디에 있는지 찾는다.
* 대상 인식: 대상을 인식하고 세부 정보를 이해한다. 가령 대상이 강아지임을 인식하고 그 강아지가 독일산 셰퍼드라는 것까지 이해한다.
* 대상 추적: 연속적인 이미지나 동영상에서 움직이는 대상을 추적한다.
* 몸짓과 움직임 인식: 엑스박스Xbox 댄싱 게임에서 캐릭터의 춤추는 동작과 같은 움직임을 인식한다.
* 장면 이해: 어떤 장면을 전체적으로 이해한다. 예를 들어, '뼈다귀를 바라보는 배고픈 강아지'처럼 장면 속의 여러 대상이 갖는 미묘한 연관성까지도 함께 파악한다.
- 우리는 이미 매일 컴퓨터 비전 기술을 사용하고 있다. 컴퓨터 비전은 교통부터 보안에 이르는 다양한 분야에서 실시간으로 사용될 수 있다. 이 미 사용되고 있는 예는 다음과 같다.
* 졸고 있는 운전자를 감지하도록 자동차에 설치된 운전자 보조 기능
* 아마존고Amazon Go와 같은 무인 매장(쇼핑 카트에 물건을 담을 때 카메라가 인식한다.)
* 공항 보안(사람들의 수를 세고, 테러리스트를 인식한다.)
* 몸짓 인식(엑스박스 댄싱 게임에서 각 캐릭터의 춤추는 동작을 인식하고 점수를 매긴다.)
* 얼굴 인식(스마트폰 잠금 해제를 위해 얼굴을 인식한다.)
* 스마트카메라(아이폰의 인물 사진 모드는 전경에 있는 사람들을 인식해 추출한 후 배경을 '아름답고 흐릿하게 처리해 DSLR과 같은 효과를 낸다.)
* 군사적 적용(적군과 민간인을 구별한다.)
* 드론과 자동차의 자동항법 시스템
- 컴퓨터 비전은 이미지와 동영상에도 적용할 수 있는데, 몇 가지 예를 살펴보자.
* 사진과 동영상의 스마트 편집(포토샵과 같은 도구들은 얼굴 윤곽을 따라 테두 리를 그릴 수 있고, 충혈된 눈을 없앨 수도 있다. 셀카 사진을 아름답게 업그레이 드하는 데 컴퓨터 비전이 광범위하게 사용된다.)
* 의료 영상 분석(폐 CT에서 악성 종양이 있는지 판단하기 위해 사용한다.) 콘텐츠 감시(소셜미디어에서 포르노와 폭력적인 콘텐츠를 감지한다.)
* 특정 동영상의 콘텐츠를 분석해 관련 광고가 보이도록 하는 시스템
* 스마트 이미지 검색(키워드나 다른 이미지를 검색창에 입력해 이미지를 찾는다.)
* 딥페이크 동영상 제작(동영상에서 하나의 얼굴을 다른 얼굴로 대체한다.)
- 장기적으로 가장 큰 문제는 GAN이 위조신경망을 '업그레이드'하는 메커니즘을 내장하고 있다는 점이다. 예를 들어, 당신이 GAN의 위조신 경망을 학습시켰고 누군가 당신의 딥페이크를 탐지하기 위한 새로운 탐 지 알고리즘을 내놓았다고 생각해보자. 당신은 그 탐지 알고리즘을 속 이려는 목표를 갖고 GAN의 위조신경망을 재훈련시킬 수 있다. 이는 결 국 어느 쪽이 더 우수한 컴퓨팅 성능을 지닌 장비를 갖추고 있느냐 하는 군비 경쟁이 될 수밖에 없다. 컴퓨팅 성능이 뛰어난 장비일수록 GAN을 더욱 잘 훈련시킬 수 있기 때문이다.
- 그렇다면 딥페이크를 100% 찾아내는 것은 불가능할까? 지금 당장은 어렵겠지만 장기적인 접근법이 한 가지 있다. 원본이 변경되지 않았 음을 보장해주는 블록체인 기술을 사용해 카메라나 스마트폰으로 찍히 는 모든 사진과 동영상의 진위를 촬영 시점에 확인하는 것이다. 그런 다 음 웹사이트에 올리는 모든 사진과 영상은 블록체인 기술로 인증되었 음을 보여주면 된다. 이렇게 하면 위조된 이미지나 동영상이 퍼져나가 는 것을 막을 수 있다. 하지만 그러려면 (현재 모든 오디오 수신기가 돌비 디지털을 사용하는 것처럼) 모든 장치가 블록체인 기술을 사용해야 하고, 블록체인이 이것을 대규모로 처리할 만큼 빨라져야 한다. 이는 아마도 2041년까지는 구현되기 어려울 듯하다.
- 기술이 발전하면서 어떤 컴퓨팅 플랫폼에서든 취약점과 보안상의 위험이 나타난다. 개인용 컴퓨터PC의 바이러스, 신용카드의 신원 도용, 이메일의 스팸 등이 그러한 예이다. 인공지능이 주류가 되면 인공지능 역시 취약점에 대한 공격을 받게 될 것이다. 딥페이크는 그러한 여러 취약점 가운데 하나일 뿐이다.
인공지능이 적대적인 공격을 받을 수 있는 또 하나의 취약점은 데이 터를 분류하는 기준값인 결정경계decision boundaries이다. 누군가 결정경 계를 추정해 입력 데이터를 위장하면 인공지능이 실수하도록 만들 수 있다. 가령 한 연구자는 인공지능이 그를 영화배우 밀라 요보비치 Milla Jovovich로 잘못 인식하게 하는 선글라스를 설계했다. 또 다른 연구자는 테슬라 모델S의 자율주행 기술인 오토파일럿Autopilot을 속이는 스티커" 를 도로에 붙여 차선을 바꾸고 다가오는 차들을 향해 돌진하도록 만들 었다. <가면 뒤의 신> 도입부에 아마카는 전철역에서 안면인식 시스템을 속이기 위해 마스크를 사용한다. 이런 종류의 위장술이 전쟁에서 이용 될 경우 극도로 위험하다. 적군에서 탱크를 구급차로 인식하도록 위장 했다고 상상해보라.
- 포이즈닝poisoning이라고 부르는 또 다른 공격은 의도적으로 악의적인 훈련 데이터 training data를 주입함으로써 인공지능의 학습 과정에 직접 관 여해 모델 자체를 공격한다. 이로 인해 인공지능 시스템 전체가 망가질 수 있으며 혹은 범법자에 의해 제어될 수도 있다. 군사용 드론이 테러리 스트에게 해킹당해 자국을 공격한다고 상상해보라. 이러한 공격은 기존 의 해킹보다 더 감지하기 어려운데, 인공지능 모델이 정해진 컴퓨터 코 드가 아니라 수천 개의 신경망에서 실행되는 극도로 복잡한 방정식이라 서 '디버그debug', 즉 오류를 수정하기가 쉽지 않기 때문이다.
이러한 난제들에도 불구하고 우리는 훈련과 실행 환경의 보안을 강화 하고, 포이즈닝 신호를 자동으로 찾는 도구를 개발하고, 조작된 데이터 나 회피 공격에 대항해 싸우는 기술을 개발하는 것과 같은 조치를 취할 수 있다. 기술 혁신으로 스팸과 바이러스를 극복한 것처럼 인공지능 보 안 기술도 충분히 발전하면 오직 간헐적인 공격만 받게 될 것이다(지금 도 가끔 스팸이나 바이러스의 공격을 받는 것처럼 말이다). 기술에 의한 취 약점은 항상 기술적 해법으로 해결되거나 개선되었다.

- 사랑하는 친구여, 우리 둘은 태양과 달이며 바다와 육지다. 우리의 목표는 나는 네가 되고 너는 내가 되는 게 아니라 서로를 인식하고 상대방을 있는 그대로 지켜보고 존중하는 것이다. 그렇게 해서 서로가 대립하면서도 보완하는 관계를 만드는 것이다. _헤르만 헤세, 《지와 사랑》 중
- 몇 년 전만 해도 사실상 모든 딥러닝 기반 NLP 신경망은 '지도학습'을 이용해 언어를 배웠다. '지도'라는 단어는 인공지능이 학습할 때 각 훈련 입력값에 대해 올바른 출력값이 주어져야 한다는 뜻이다(이 '지도'를 인 간이 인공지능에 규칙을 '프로그래밍'한다는 뜻으로 생각해선 안 된다. 1장 에서 봤듯이 그런 방식은 통하지 않는다). 인공지능은 한 쌍의 분류된 데이 터인 입력값과 올바른 출력값을 받는다. 그런 후 특정 입력값에 해당하 는 올바른 출력값을 제시하는 법을 배운다. 인공지능이 고양이 사진을 인식한 예를 기억하는가? 지도학습 방식의 딥러닝은 인공지능이 '고양 이'라는 단어를 제시하는 법을 배우는 훈련 과정이다.
인공지능이 자연어를 배우도록 지도학습을 적용하려면 우선 특정 목적에 맞게 분류된 데이터 세트가 있어야 한다. 가령 동일한 콘텐츠에 대 한 다국어 번역 데이터가 존재한다면, 이는 인공지능이 스스로 언어 번 역을 배우도록 하는 지도학습을 위한 데이터 세트가 될 수 있다. 이러한 데이터 세트가 있으면 인공지능은 영어로 된 수백만 개의 문장 하나하 나를 프랑스어로 전문적으로 번역된 문장 하나하나와 짝짓는 방식으로 스스로 훈련한다. 지도학습 방식의 NLP 응용프로그램은 사람의 말소리 를 글로 변환하는 음성인식, 손글씨나 이미지를 글로 번역하는 광학문 자인식OCR 혹은 글을 말소리로 변환하는 음성합성까지 확장될 수 있다. 이러한 지도학습이 가능한 종류의 자연어 인식 작업의 경우 이미 인공 지능이 대부분 인간보다 더 뛰어나다.
- 좀 더 복잡한 수준의 NLP 응용프로그램은 '인식recognition'에서 '이 해understanding'의 수준으로 넘어간다. 이 기술적 비약을 위해서는 말이 나 글이 가리키는 행동의 예시가 주어져야 한다. 가령 당신이 알렉사에 게 "바흐를 틀어줘"라고 말하면, 알렉사는 당신이 요한 제바스티안 바흐 가 작곡한 클래식 작품을 재생하길 원하는 것이라고 이해해야 한다. 혹 은 전자상거래 챗봇에게 "난 환불을 원해"라고 말하면 챗봇은 당신에게 해당 상품을 반품하는 방법을 안내한 뒤에 구매대금을 되돌려줄 수 있 어야 한다. 이러한 이해의 수준에서 지도학습 방식의 NLP 응용프로그램 을 개발하는 것은 매우 많은 시간이 걸리는 일이다. 인간은 한 가지 의도 나 명제를 정말 수많은 방식으로 표현하기 때문이다. 가령 당신은 "난 환 불을 원해"라고 말하는 대신 "나는 돈을 돌려받길 원해"라든가 "토스터 에 결함이 있어"라고 말할 수도 있다.
- 명료하고 구체적인 대화에서 상상할 수 있는 모든 다양한 표현이 NLP 훈련 데이터에 포함되어야 한다. 또 데이터는 인공지능이 스스로 학습 하는 데 필요한 단서를 제공하기 위해 인간의 목적에 맞게 '분류labeling' 되어야 한다. NLP 신경망의 지도학습을 위한 데이터 레이블링은 최근 20년간 거대 산업을 형성했다. 일례로 자동화된 항공사 고객 서비스 시 스템에서 언어 이해 훈련용으로 분류된 데이터는 다음과 같다.
[항공_예약_의향] 나는 [방법: 비행기를 타다]를 원합니다. [출발지: 보스턴]으로 부터 [출발 시간: 오전 838]에 출발하여 [목적지: 덴버]에 [도착 시간: 아침 1110] 에 도착하길 바랍니다.
이것은 아주 기초적인 예시다. 이 정도 상세한 수준에서 수십만 건의 인간 언어를 기록하고 분류하는 데 드는 비용을 상상해보라. 비행기 예 약이라는 협소한 분야에서조차 모든 가능한 표현을 다루려면 아직 가야 할 길이 한참 남은 상태다.
- 지난 수년 동안 '이해' 수준의 NLP 응용프로그램 개발은 협소한 특정 분야에 수많은 시간과 비용을 기꺼이 투자할 의향이 있을 때만 가능했 다. 이러한 한계로 인해 인공지능이 인간 수준으로 언어를 이해하고 처 리하는 단계로 나아간다는 원대한 비전을 달성하기가 어려웠다. 우리는 여전히 NLP 신경망의 지도학습을 위해 모든 입력값에 대한 올바른 출 력값을 제공하는 방법을 알지 못한다. 설령 그 방법을 안다 해도 세상에 존재하는 모든 언어 데이터 세트를 목적에 맞게 분류하는 것은 엄청나 게 많은 시간과 비용이 드는 일이 될 것이다
- 그런데 최근에 '자기지도학습'이라는 단순하면서도 우아한 새로운 접근법이 출현했다. 자기지도학습 방식에서는 방대한 데이터 분류 작업이 필요하지 않기 때문에 앞서 언급된 문제를 극복할 수 있다. 이 접근법은 '시퀀스-투-시퀀스'라고 불린다. 시퀀스-투-시퀀스는 순환신경망을 사용해 문장을 학습하는 기법으로 인공지능은 시퀀스로 이루어진 대화 의 말뭉치***를 학습함으로써 선행 발화가 후행 발화로 변환되는 확률을 계산해 대화를 생성해낸다. 가령 '87년 전에'라는 발화가 입력되면 RNN 이 다음에 올 내용을 예측해 '우리의 선조들이 이 땅에 나라를 세웠다'라는 발화를 출력할 수 있다. 사실 우리는 이 기술의 간단한 버전을 이미 매일 사용하고 있다. 지메일의 '스마트 완성' 기능이나 구글 검색의 '자 동 완성 기능이 바로 그 예다.
2017년에는 구글 연구진이 '트랜스포머transformer'라는 새로운 자기지 도학습 방식의 딥러닝 모델을 소개했다. 이 모델에서 인공지능은 문장 속 단어들의 관계를 추적해 맥락과 의미를 학습한다. 이 모델은 인공지 능이 대량의 텍스트를 바탕으로 훈련될 경우 과거에 있었던 '중요하고 의미상 관련 있는' 무엇이든 선별적으로 기억하는 '어텐션 메커니즘'**이 가능하다는 것을 보여준다. 이 메커니즘 덕분에 인공지능은 입력된 문장의 맥락을 훨씬 더 정교하게 파악해 출력값을 내보낸다.
- CNN이나 RNN에 비해 한층 강화된 딥러닝 모델인 트랜스포머는 처 음부터 스스로 언어를 가르칠 수 있다. 용언 활용이나 문법과 같이 인간 이 정한 규칙 대신 스스로 만든 규칙과 개념에 의존한다. 이러한 규칙과 개념은 방대한 데이터에서 자동으로 수집한 것으로 거대한 인공신경망 에 내장된다. 트랜스포머에 제공하는 데이터 역시 인간에 의한 분류 작 업을 하지 않아도 된다. 충분한 자연어 데이터와 처리 능력을 갖춘 트랜 스포머는 자기지도학습 방식의 딥러닝을 통해서 입력값과 출력값 사이 의 데이터에서 훨씬 많은 것을 탐지할 수 있다.
구글의 트랜스포머 뒤를 이은 것은 GPT-3 모델이다. 지금까지 가 장 뛰어난 자연어처리 기반 인공지능이라 할 수 있는 이 확장 버전은 2020년에 일론 머스크 등이 설립한 연구소 오픈에이아이에서 출시했다. 
- 토스터와 연필 중에 무엇이 더 무거울까?'라고 물으면, GPT-3는 '토스터'라고 올바르게 답한다. 첫 두 문장은 GPT- 3가 '더 무겁다'라는 표현의 구체적인 의미를 파악하는 데 도움을 주었 고, 마지막 문장은 답을 묻고 있다는 신호다. 마지막 문장만 입력해도 답 을 할 순 있지만, 아마도 오답을 제시할 가능성이 클 것이다.
GPT-3는 특정 산업, 분야, 영역 등에 특화된 언어인 DSLDomain Specif- ic Language을 사용하는 NLP 등 협소한 분야에 특화되었던 이전 모델과 달리 모든 분야의 다양한 과업들을 수행할 수 있다. 시를 짓고, 철학적 사색을 하고, 기사를 작성하고, 기술 매뉴얼을 제작하고 또는 특정 작가 의 스타일을 흉내 내서 글을 쓸 수도 있다.
- 우리 인간은 우리가 무엇을 알고 무엇을 모르는지 잘 안다. 하지만 GPT-3는 그렇지 않다. 이 결함 때문에 일종의 '가짜 뉴스'를 만들어낼 수도 있다.
GPT-3는 인과관계 추론, 추상적 사고, 설명식 문장, 상식, 의도적) 창 의성 부분에서도 취약하다. 또 인간에게서 나온 데이터를 너무 많이 학습하기 때문에 안타깝게도 인간의 편향, 편견과 악의까지도 흡수하게 되 는 치명적 약점이 있다. 사용자를 잘못 만날 경우에 GPT-3는 특정 그룹 의 사람들을 타깃으로 그들의 여론에 영향을 주기 위해 맞춤형 메시지 를 작성해 보내는 데 악용될 수도 있다. 이런 정치 단체가 있다면 2016년 미국 대선을 조작했다고 알려진 영국의 정치컨설팅업체인 케임브리지 애널리티카Cambridge Analytica보다 훨씬 더 위험할 것이다. 이러한 단점들 은 다가올 수십 년 동안 면밀하게 조사되고 해결되길 기대하고 있다.
- GPT-3의 잠재력 가운데 가장 흥미진진한 측면은 그것이 NLP 응용프 로그램을 빠르게 개발할 수 있는 새로운 플랫폼 역할을 할 수 있다는 것 이다. 실제로 GPT-3가 출시된 후 몇 달 만에 사람들은 많은 응용프로 그램을 개발했다. 가령 역사 인물과 대화할 수 있는 챗봇, 작성하기 시작 한 기타 악보를 마무리해주는 작곡 도구, 반쪽 이미지를 가지고 전체 이 미지를 완성할 수 있는 응용프로그램이 있다. 또 자연어 묘사(예: 발레 복을 입은 아기 무가 강아지를 산책시킨다)를 기초로 인물을 그릴 수 있는 달리 DALL.E라고 불리는 응용프로그램도 있다. 이러한 응용프로그램들은 현재로선 단순히 호기심을 유발하는 정도지만, 앞서 말한 결함이 해결 되면 GPT-3와 같은 플랫폼이 수만 명의 개발자가 더 많은 사용자를 끌 어들이는 멋진 응용프로그램을 만드는 선순환을 만들어낼 수 있다. 마 치 윈도와 안드로이드가 그런 것처럼 말이다.
- 대화형 인공지능 외에도 NLP 플랫폼은 어떤 질문에는 답할 수 있는 차세대 검색엔진이 될 수 있다. 질문을 던지면 NLP 검색엔진은 그 질문 과 관련된 모든 읽을거리를 읽고 소화해 해당 전문 분야 혹은 산업 특성 에 부합하는 맞춤형 답을 제공할 것이다. 가령 금융 인공지능 응용프로 그램은 '코로나19가 가을에 다시 확산된다면 투자 포트폴리오를 어떻게 조정해야 하나?'와 같은 질문에 답할 수 있다. 또 이 플랫폼은 스포츠 경 기나 주식시장 동향에 관한 기초적인 보고서를 작성할 수 있고, 아주 긴 보고서를 요약해줄 수도 있을 것이다. 그렇기에 기자, 투자분석가, 작가 등 언어를 가지고 작업하는 누구에게라도 훌륭한 동반자이자 도구가 될 수 있다.

- 산앵두나무꽃이 바람에 흩날리니 어찌 그대가 그립지 않으리오? 다만 그대 머무는 곳 멀어라. 
시를 읽고 공자께서 말씀하셨다.
"그리움이 부족하구나. 진정으로 그립다면 멀리 떨어진 것이 어찌 문제가 되겠는가?" 공자, <논어> 제9편 30장
- 딥마인드는 단백질 접힘 구조를 알아내기 위해(2단계) 2020년에 알파폴드AlphaFold2를 개발했다. 현재까지 인공지능이 과학을 위해 이룬 가장 위대한 업적이다. 단백질은 생명체의 구성 요소지만, 생 명 유지를 수행하기 위해 아미노산 배열이 어떻게 3차원 구조로 접히는 지는 수수께끼로 남아 있었다. 이는 심오한 과학적·의학적 함의를 가진 문제로 딥러닝에 매우 적합해 보였다. 딥마인드의 알파폴드는 기존에 발견된 단백질 접힘 구조의 거대한 데이터베이스를 바탕으로 훈련된 인 공지능이다. 알파폴드는 단백질 접힘 구조를 극저온 전자현미경과 같은 전통적인 방법들과 유사한 정확도로 파악해낼 수 있음을 증명했다. 전 통적인 방법들은 비용과 시간 때문에 모든 단백질의 0.1%도 해결하지 못했다. 알파폴드는 빠른 속도로 모든 단백질의 3차원 구조를 파악하는 방법을 제공했다. 알파폴드는 생물학계에서 '50년 묵은 대과제'를 해결 한 것으로 크게 환영받았다.
- 일단 단백질의 3차원 구조를 파악하고 나면 그다음 효과적인 치료법 을 발견하는 빠른 방법은 신약재창출drug repurposing, 즉 다른 질병에 효 과가 있는 것으로 증명된 모든 기존의 약을 대상으로 어떤 것이 해당 단 백질의 3차원 구조에 들어맞는지 확인하는 것이다. 신약재창출은 심각 한 팬데믹 확산을 초기에 막기 위한 응급처치가 될 수 있다. 기존의 약품 들은 이미 부작용 시험을 거쳤기 때문에 신약과 달리 광범위한 임상시험 없이도 사용될 수 있다.
- 인공지능 로봇은 앞 장들에서 설명한 인터넷과 금융, 인식 분야와 비교 해 완벽하게 구현하기가 훨씬 더 어렵다. 로봇의 문제는 딥러닝을 직접 적용해서 해결할 수 없기 때문이다. 게다가 로봇공학은 설계, 움직임, 조 작을 포함하므로 기계공학, 신체감각을 인식하는 인공지능, 소근육운동 조작 기술의 절묘한 상호작용이 필요하다. 이는 모두 해결할 수 있는 문 제들이긴 하지만, 미세 조정에 더 많은 시간이 걸리는 데다 학제적인 기 술의 통합이 필요하다.
로봇공학에서 인간의 시각, 움직임, 조작 능력은 정밀하게 복제돼야 한다. 로봇 기계는 자동화돼야 할 뿐만 아니라 자율성도 가져야 하는데, 이는 의사결정을 로봇에게 넘긴다는 뜻이다. 이렇게 되면 로봇은 계획 하고 피드백을 수집하고 환경 변화에 적응하거나 그에 따라 즉흥적으로 행동을 바꿀 수 있을 것이다. 로봇에 시각, 촉각, 이동 능력을 부여함으 로써 인공지능이 처리하는 과업의 수를 크게 늘릴 수 있다.
일반적인 인간 수준의 시각, 촉각, 조작, 움직임 및 조정은 향후 20년 이내에 인공지능 로봇으로 완벽하게 구현하기에는 대단히 까다로운 영 역이다. 각각의 능력은 제한된 환경에서 독립적으로 개발될 것이며, 시 간이 지남에 따라 차츰 제약 조건이 완화될 것이다. 현재 로봇의 컴퓨터 비전 능력은 노인들을 위한 안전장치(위험 상황을 경보로 알려주는 요양 보조 로봇), 조립공정에서 육안을 통한 검사, 에너지와 대중교통 산업에 서의 비정상행위 탐지 등에 적용될 수 있다. 한편 자율주행 로봇AMRs이 나 자율주행 무인지게차는 실내 공간을 자유롭게 이동할 수 있어서 스 스로 장애물을 '보고' 경로를 계획하며 화물을 옮길 수 있다. 현재 로봇 팔은 용접, 조립공정, 전자상거래 물류센터에서 이뤄지는 물품 피킹과 같은 분야에 적용되어 딱딱한 물체를 움켜잡고, 조작하고, 이동시킬 수 있다.

- 가상현실은 눈을 뜬 채 꿈을 꾸는 것과 같다. 브레넌 슈피겔 Brennan Spiegel
- 당신을 떠올리자..
이 늪의 반딧불이가
내 몸의 갈망에서 나온
영혼처럼 보이네. (이즈미 시키부 Izumi Shikibu)
- XR 글라스 외에도 XR 콘택트렌즈가 시장 대중화에 성공하는 최초의 확장현실 기술이 되지 않을까 싶다. 몇몇 스타트업은 이미 XR 콘택트렌 즈 개발에 착수했다. 그들이 내놓은 프로토타입 콘택트렌즈는 내장된 디스플레이와 센서를 통해 텍스트와 이미지를 보여준다. 이러한 콘택트 렌즈에는 여전히 외부 CPU가 필요한데 스마트폰이 그 역할을 할 수 있 다. 나는 2041년까지는 XR 콘택트렌즈의 시장 대중화가 이뤄지고 더 나 아가 사생활 보호와 각종 규제 및 가격 문제가 극복될 것으로 예상한다. 시각 정보가 글라스와 콘택트렌즈를 통해 입력된다면, 청각 정보는 이어셋을 통해 입력될 수 있다. 청각 정보를 처리하는 확장현실 기술 역시 해마다 발전하고 있다. 2030년이 되면 이어셋은 이머시브 사운드immersive sound 제작 기술을 비롯한 다른 음향 기술을 통해 거의 보이지 않을 만큼 소형화되고 덕분에 온종일 사용해도 전혀 불편하지 않을 것이다.
- 결론은 이렇다. 2041년까지 우리가 하는 일과 놀이의 많은 부분에 가상기술이 사용될 것이다. 이 불가피성을 받아들이고 적응해야 한다. 아 마도 확장현실 분야에서 거대한 기술적 비약이 일어날 것이며, 그것은 아마도 엔터테인먼트 산업에서부터 시작될 것이다. 현재 인공지능에 대 해 그러하듯이 모든 산업은 확장현실을 어떻게 사용할지 고민하고 결국 에는 수용하게 될 것이다. 인공지능이 데이터를 지능으로 전환하는 것 이라면, 확장현실은 인간의 눈, 귀, 팔다리 그리고 궁극적으로 뇌에서 더 많은 양질의 데이터를 모으게 될 것이다. 인공지능과 확장현실은 자신을 이해하고 더 발전하려는 인간의 꿈을 완성하고 그 과정에서 인간 경험의 가능성을 확장할 것이다.

- 그래서 두 가지 톤이 진행된다. 그건 마치 두 대의 기타를 동시에 치는 것과 같다. 자연스럽게 흐르도록 놔두면서도 제어해야 한다. 지미 헨드릭스, 레온 헨드릭스, 지미 헨드릭스: 형제의 이야기> 중

- 우리를 파괴하기 위해 굳이 인공지능이 필요하지 않다. 인간이 가진 오만함만으로도 충분하다. (영화 <엑스 마키나>)
- 모든 건 서로 얽혀 있으니 거미줄은 신성하다. (마르쿠스 아우렐리우스)
- 양자컴퓨터는 고전적인 컴퓨터보다 특정 종류의 전산 처리를 훨씬 더 효율적으로 수행하기 위해 양자역학을 이용하는 새로운 컴퓨터 아키텍처다. 고전적인 컴퓨터는 '비트bit'를 기반으로 한다. 비트는 스위치와 같 아서 (꺼지면) 0혹은 켜지면) 1이 된다. 모든 응용프로그램과 웹사이트 혹은 사진은 수백만 개의 비트로 구성된다. 이진법인 비트 덕분에 고전 적인 컴퓨터를 더 쉽게 만들고 제어하게 되었지만, 0과 1의 조합만으로 계산해야 하기에 정말 어려운 컴퓨터과학 문제를 해결할 잠재력은 제한 되었다.
양자컴퓨팅은 비트 대신 양자비트, 즉 전자나 광자와 같은 아원자 입 자인 큐비트를 사용한다. 큐비트는 원자 입자와 아원자 입자와 마찬가 지로 양자역학의 원리를 따름으로써 어마어마한 컴퓨팅 능력을 부여한 다. 그 첫 번째 특성은 중첩superposition으로 이는 각 큐비트가 언제든 복 수의 상태로 존재할 수 있는 능력이다. 0과 1의 값을 모두 보유한 중첩 상태에 있는 복수의 큐비트들은 방대한 수의 출력값을 동시에 처리할 수 있으며 다양한 상황에 대한 분석이 가능하다. 양자컴퓨팅을 기반으로 구축된 인공지능은 고도의 효율성을 바탕으로 작동하기 때문에 복잡성은 기하급수적으로 줄어든다.
두 번째 특성은 얽힘entanglement으로, 두 개의 큐비트가 서로 연결되어 멀리 떨어져 있을 때조차 하나의 큐비트에서 수행되는 행동이 다른 하 나에 영향을 주는 것을 말한다. 얽힘 덕분에 양자 기계에 하나의 큐비트 가 더해질 때마다 컴퓨팅 능력은 기하급수적으로 증가한다. 1억 달러의 기존 슈퍼컴퓨터가 컴퓨팅 능력을 2배로 늘리려면 1억 달러를 더 써야 한다. 하지만 양자컴퓨팅의 능력을 2배로 늘리려면 하나의 큐비트만 더 하면 된다.
이렇게 놀라운 특성에는 대가가 따른다. 양자컴퓨팅은 컴퓨터와 그 주변 환경의 작은 이상에도 매우 민감하게 반응한다. 작은 진동, 전기적 간섭, 온도 변화 혹은 자기장에도 중첩이 붕괴하거나 심지어 사라질 수 있다. 실용적이면서 확장 가능한 양자컴퓨팅을 위해서는 이전에 없던 진공실, 초전도체, 초냉각 냉장고를 개발해 환경에 의해 발생하는 양자의 '결어긋남decoherence'을 최소화해야 한다.
- 이러한 도전적 문제들로 인해 과학자들이 양자컴퓨팅에서 큐비트의 수를 늘리는 데 오랜 시간이 걸렸다. 1998년에 2개이던 것이 2020년 에 65개로 늘었는데 이는 실용적인 작업을 수행하기에는 아직 너무 적 은 수다. 그렇긴 해도 수십 개의 큐비트만으로 일부 컴퓨팅 작업은 기존 의 슈퍼컴퓨터보다 100만 배 더 빠르게 처리할 수 있다. 구글은 2019년 에 기존의 슈퍼컴퓨터라면 수년이 걸렸을 문제를 54큐비트의 양자컴퓨 터가 수십 분 만에 풀 수 있음을 보여주며 처음으로 '양자 우월성quantum supremacy'을 증명했다.
IBM의 로드맵에 따르면, 향후 3년간 해마다 큐비트의 수가 2배 이 상 늘어나 2023년에 1,000 큐비트 프로세서가 등장할 것으로 기대된다. 4,000개의 논리적 큐비트logical qubit는 비트코인 암호를 깨는 것을 포함 해 일부 분야에 적용되기에 충분하다. 이를 근거로 일부 낙관론자들은 양자컴퓨터가 5년에서 10년 후에 도래할 것으로 예측하기도 한다.
하지만 이러한 낙관론자들은 몇몇 도전을 간과했을지도 모른다. IBM 연구자들은 큐비트가 늘어날수록 결어긋남에 의한 오류를 통제하기가 더 어렵다는 것을 인정한다. 이 문제를 해결하려면 신기술과 정밀공학 을 이용해 복잡하면서도 섬세한 장비를 구축해야만 한다. 또 결어긋남 오류를 해결하려면 안정성, 오류 수정 및 내결함성 fault tolerance을 제공하 기 위해 각각의 논리적 큐비트를 다수의 물리적 큐비트physical qubit로 나 타내야 한다. 4,000개의 논리적 큐비트를 가진 양자컴퓨터가 작동하려 면 한 대당 100만 개가 넘는 물리적 큐비트가 필요할 것으로 추정된다. 게다가 유용한 양자컴퓨터가 성공적으로 시연된다고 해도 대량 생산은 또 다른 문제다. 마지막으로 양자컴퓨터는 고전적인 슈퍼컴퓨터와 완전 히 다르게 프로그래밍되므로 새로운 알고리즘이 발명되어야 하고 새로 운 소프트웨어 도구도 만들어져야 한다.
- 다음과 같은 궁금증이 생길 수 있다. 왜 사람들은 그들의 지갑 주소와 공개키를 세상에 공개하는가? 이것은 초기 설계가 가진 결함이었다. 비 트코인 전문가들은 공개가 불필요하고 위험하다는 사실을 뒤늦게 깨달 았다. 2010년에 사실상 모든 새로운 거래가 주소를 숨김으로써 훨씬 더 안전한 새로운 포맷으로 전환되었다(물론 전혀 공격을 당하지 않는다고 는 할 수 없다). 이 새로운 기준이 바로 P2PKH이다. 하지만 과거의 취약 한 포맷(P2PK)에 아직도 200만 개의 비트코인이 저장되어 있다. 그리 고 2021년 1월, 코인당 가격이 6만 달러에 달해 전체 비트코인의 가치는 1,200억 달러가 되었다. 이것이 바로 <양자 대학살>에서 도둑들이 노린 것이다. 만일 구식 P2PK 계정을 갖고 있다면 당장 이 책을 내려놓고 가서 지갑을 안전하게 바꾸길 바란다!
- 마크 루소는 왜 은행을 털지 않았을까? 우선 은행에는 공개키가 담긴 공개 장부가 없고 따라서 개인키를 계산할 수 없기 때문이다. 둘째, 은 행에는 거액의 이체와 같은 수상한 거래를 감시하는 시스템이 있기 때 문이다. 셋째, 계정 간 돈의 이동은 추적이 가능하며 불법일 경우 기소당 하기 때문이다. 마지막으로, 은행 거래는 암호 해독에 더 많은 애를 써야 하는 다른 암호화 알고리즘에 의해 보호되기 때문이다.
암호화를 '업그레이드하려면 어떻게 해야 할까? 양자 저항 알고리즘 이 존재한다. 실제로 피터 쇼어는 난공불락의 암호화를 양자컴퓨터에 구축할 수 있음을 보여주었다. 양자역학에 기초한 대칭적인 암호화 알 고리즘은 침입자들이 강력한 양자컴퓨터를 갖고 있다 해도 뚫을 수 없 다. 이 암호에 침투할 수 있는 유일한 방법은 양자역학의 원리가 잘못된 것으로 판명될 경우뿐이다.
하지만 양자 저항 알고리즘을 적용하는 것은 매우 비싸다는 이유로 현재로선 대부분 기업이나 비트코인 거래소에서 고려하지 않고 있다.

- 증기 드릴이 나를 쓰러트리기 전에 내 손에 망치를 쥐고 죽겠소. (미국 민요 ‘존 헨리John Henry' 중)
- 낙관론자들은 신기술에 의한 생산성 향상이 거의 항상 경제적 이익을 창출한다고 주장한다. 더 큰 성장과 번영은 항상 더 많은 일자리를 의미 한다는 것이다. 하지만 인공지능과 자동화는 다른 기술들과 다르다. 인 공지능은 범용 기술로서 화이트칼라와 블루칼라를 통틀어서 거의 모든 산업과 직무 분야에서 변화를 가져올 것이다. 대부분 기술은 일자리를 창출하기도 하고 앗아가기도 한다. 조립 라인의 등장으로 자동차 생산 공장에서 더 낮은 비용으로 수많은 노동자를 대체했던 것을 떠올려보 라. 인공지능이 표명하는 기술적 목표는 인간의 일을 수월하게 해주거 나 대신하는 것이다. 산업혁명이 유럽과 미국을 넘어 전 세계로 퍼져나 가는데 100년 이상이 걸렸던 반면 인공지능은 이미 전 세계에서 채택 되고 있다.
- 다음 세 가지 능력은 인공지능이 뒤처지는 분야로, 2041년까지 인공지능이 통달하기 어려울 것이다.
* 창의력: 인공지능은 무언가를 전략적으로 만들어내거나 개념화할 수 없으며 계획을 세우지도 못한다. 인공지능은 협소한 목표를 위한 최적화는 잘하지만 스스로 목표를 정하거나 창의적으로 생각할 수 없다. 인공지능은 서로 다른 영역들을 넘나들며 생각하거나 상식을 적용할 수도 없다.
* 공감: 인공지능은 공감이나 연민과 같은 감정을 느낄 수도 그런 감정을 바 탕으로 상호작용할 수도 없다. 인공지능은 다른 사람이 이해받고 있다거 나 보살핌을 받는다고 느끼게 할 수 없다. 이와 관련해 인공지능이 아무리 개선된다고 해도 배려와 공감이 요구되는 상황에서 혹은 '휴먼터치 서비 스human-touch service' 분야에서 인간과 로봇이 상호작용하며 편안하게 느낄 수 있는 수준에 도달하기란 매우 어렵다.
* 수작업: 인공지능과 로봇은 인간의 손재주나 정교한 손과 눈의 협업이 요구 되는 복잡한 신체적 노동을 할 수 없다. 인공지능은 알지 못하는 비구조화된 공간, 특히 이전에 관찰한 적이 없는 공간에 대처할 수 없다.
- 인공지능에 의한 일자리 이동의 물결 속 에 결국 비숙련 신규직원들이 주로 하는 모든 반복적인 일이 사실상 사 라질 것이다. 하지만 이런 초보적인 일을 해보지 못한다면 그들은 어떻 게 학습하고 성장하고 발전해 상급직의 업무를 맡을 수 있을까? 자동화 가 점점 더 확대되고 있지만 우리는 여전히 사람들이 모든 직업에 종사 하고, 업무를 직접 해보면서 배우고, 능력에 따라 승진할 수 있는 방법 이 있는지 확인해야 한다. 이를 구현하기 위해 가상현실 기술이 활용되 면서 '가짜 일', '실무 훈련', '진짜 일'의 구분이 분명 모호해질 것이다.

- 두려워 마세요. 이 섬은 온갖 소리와 달콤한 공기에 싸여 있으니 오직 기쁨만 줄 뿐 해롭지 않습니다. 꿈속에서는 구름이 걷혀서 금방이라도 온갖 보물이 내게 쏟아질 듯합니다. 그래서 잠에서 깨어나면 다시 꿈나라로 돌아가고 싶어서 웁니다. (윌리엄 셰익스피어, <템페스트> 중)
- 아직도 가장 소중한 데이터를 제삼자에게 맡기는 것이 터무니없는 생 각이라고 여긴다면, 우리 대부분이 은행 금고와 같이 확실한 제삼자에 게 가장 소중한 물리적 소지품을 맡겨 보관하는 관행에 대해 생각해보 라. 게다가 주식은 증권회사에 맡기고, 비트코인은 인터넷에 맡긴다. 데 이터에 대해서만 그렇게 할 수 없는 이유는 무엇인가? 모든 데이터를 우 리와 같은 이해관계를 가진 신뢰할 만한 주체에게 맡길 수 있다면 우리 는 가장 강력한 인공지능의 도움을 받아 지속 가능한 행복을 찾을 수 있 으며, 더 이상 수많은 애플리케이션의 데이터 사용에 동의할지 말지를 생각할 필요도, 데이터 도난이나 오용에 대해 걱정할 필요도 없을 것이 다. 이 신뢰할 만한 주체가 자애로운 군주이든 오픈소스 코뮌이든 아니 면 분산형 블록체인 시스템이든, 신기술의 발전이 계속해서 우리의 데 이터를 더 안전하게 지켜줄 것이라 기대하면서 동시에 이 강력한 인공 지능이 주는 전례 없는 혜택을 누릴 수 있을 것이다.

- 꿈을 잃은 자는 길을 잃은 것이다. (호주 원주민 속담)












'IT' 카테고리의 다른 글

인공지능 파운데이션  (4) 2023.05.13
프로덕트 매니저는 무슨 일을 하고 있을까  (1) 2023.04.08
웹 3.0 사용설명서  (2) 2023.03.17
최소한의 IT언어  (2) 2023.02.24
비전공자도 이해할 수 있는 AI지식  (3) 2022.12.29
Posted by dalai
,

웹 3.0 사용설명서

IT 2023. 3. 17. 12:16

- 웹 3.0은 플랫폼 기업들이 과도하게 독점하고 있는 데이터와 이익을 다시 사용자에게 돌려주려는 시도이다. 플랫폼에 종속 된 정보의 주권을 탈중앙화를 통해 사용자에게 돌려주고, 단순히 읽고 쓰는 기능이 전부였던 웹 2.0에 소유 기능까지 부여한 것이다.
- 비트코인은 처음에는 오로지 개인과 개인 간에 사용할 수 있 는 전자 현금 시스템을 만들기 위해 시작된 간단한 아이디어 였다. 물론 지금도 실생활에서 현금으로 결제하면 중개자 없이 거래할 수 있지만, 비트코인이 발명되기 전까지는 온라인에서 중개자 없이 돈을 지불할 방법이 없었다.
비트코인은 코드로 이루어진 소프트웨어이며, 비트코인 네트 워크는 해당 소프트웨어를 운영하는 컴퓨터 수백만 대로 구성 되어 있다. 이 코드, 즉 소프트웨어는 마치 프로토콜처럼 비트 코인 네트워크를 운영하는 데 필요한 기준과 규칙을 제공한다.
그리고 네트워크는 현재 비트코인이라고 불리는 디지털 토큰을 주고받을 수 있는 결제 시스템을 운영하고 있다.
몇 가지 규칙만 지킨다면 누구나 비트코인 네트워크에 참여 하거나 떠날 수 있다. 다만 다른 참여자와 충분히 합의하지 않 은 상태에서 멋대로 규칙을 바꾸려고 하면 네트워크에서 퇴출 당할 수 있다. 비트코인의 코드는 오픈소스이므로 누구든지 복 사하거나 수정할 수 있다. 그러나 이렇게 만든 '모조품'은 비트 코인과는 완전히 다른 네트워크이며, 원조 비트코인과의 호환 성도 '제로'이다.
토큰으로서 비트코인은 오로지 비트코인 네트워크에서만 쓸 수 있다. 다른 블록체인으로 옮기거나 비트코인 네트워크에서 없앨 수도 없다.
- 요즘 신문지상에 하루가 멀다 하고 등장하는 메타버스, NFT", DAO 기반 암호화폐 프로젝트들을 웹3.0이라고 보면 될까? 결론부터 말하자면 그렇지 않다.
사실 웹 3.0은 그 개념부터 어딘가 모호하다. 웹 3.0이 그리는 이상이 무엇인지, 무엇을 해결하려고 하는 것인지, 사용자에게 이득이 되는 게 도대체 무엇인지 정의하기조차 아직은 어렵다. 웹 1.0의 이상은 탈중앙화였다. 하지만 웹 2.0에선 모든 것의 플랫폼 중앙화가 이루어졌고, 웹 3.0은 다시 모든 것을 탈중앙화하려 한다. 정리해 보면 웹 3.0은 웹 2.0이 가진 풍요로움을 우 리에게 주는 동시에 탈중앙화하려는 것이다.
- '편리한 인터넷 세상
이쯤에서 애초에 왜 인터넷이 웹 1.0 에서 웹 2.0으로 넘어가 며 소수 플랫폼에 의해 중앙화되었는지 짚어볼 필요가 있다. 가 장 큰 이유는 사람들이 대부분 직접 자신의 서버를 운영하고 싶 어 하지 않는 데 있다. 웹 1.0의 전제는 인터넷상의 모든 사람 이 콘텐츠의 발행자이자 소비자이며, 인프라 제공자라는 것이 었다. 즉 모두가 나만의 웹 서버에 내가 만든 웹사이트를 호스트하고, 나만의 이메일을 위한 나만의 메일 서버를 운영할 것이라는 예상이었다.
그러나 사람들은 절대로 그런 걸 원하지 않는다. 다시 말하지만, 사람들은 자신이 직접 서버를 운영하는 것을 꺼린다. 요즘에는 심지어 노드들도 직접 하지 않으려 하고, 소프트웨어를 전 문적으로 만드는 조직들도 원하지 않는다.
그 결과 서버를 대신 운영해주겠다고 나선 회사들은 큰 성공 을 거뒀고, 그 회사들이 제공하는 네트워크를 기반으로 제품 판매에 집중해온 회사들은 더 큰 성공을 거뒀다. 서버를 대신 제공해줌으로써 큰 성공을 거둔 대표적인 회사로 AWS 아마존 웹 서
- 누구나 자신만의 NFT 거래소를 만들 수 있다. 하지만 사실상 오픈시가 대다수 웹 3.0 참여자가 사용하는 개인지갑 또는 기타 서비스에 NFT 정보를 제공해주지 않으면 사업을 확장시킬 수 없다. 물론 오픈시가 악의적으로 이런 구조를 만들었다고 생각 하지는 않는다. 그들은 단지 주어진 환경에서 좋은 사용자 경험 을 제공해주는 NFT 거래소를 만들고 싶었을 뿐일 것이다. 그렇다면 이제라도 웹 3.0 참여자들은 정말 그들이 원하는 탈 중앙, 탈독점 방식으로 생태계가 구성되도록 시스템을 다시 설 계해야 한다. 그러나 과연 지금 우리가 '웹 3.0'이라고 부르는 세 계에서 디파이를 쓰고 토큰과 NFT에 투자하는 사람들이 진정 으로 탈중앙화된 인터넷을 원하고 있는지는 생각해봐야 할 것 이다.
- 웹 3.0을 투기판으로 만드는 사람들
오픈시가 성공할 수 있었던 이유는 전 세계적으로 확산한 암 호화폐에 대한 거대한 투기 수요 때문이다. 많은 사람이 암호화 폐에 투자하여 큰돈을 벌었고, 이제는 모두가 그 돈을 재투자하 여 또다시 추가 수익을 얻는 데 혈안이 되어 있다. 즉 NFT로 대 변되는 현재 웹 3.0 세상은 이미 암호화폐로 돈번 사람들이 또 한몫 크게 챙겨보려는 투기판에 지나지 않는다.
플리핑 Flipping을 하는, 즉 NFT를 사고팔아 수익을 남기는 사 람들은 분산화된 신뢰모델이나 탈중앙화의 가치에는 관심이 없다. 그들은 오로지 돈이 어디로 흘러들고 있는지에만 관심을 둔다. 오픈시의 높은 거래량과 입이 떡 벌어지는 가격에 낙찰되는 NFT들은 이러한 투기꾼들을 오픈시로 끌어들이고, 이들은 점점 자신들에게 익숙하고 편한 기존의 웹 2.0 플랫폼 형식의 서비스를 요구하게 된다.
결국 자기 손으로 직접 스마트 계약을 만들어 NFT를 생성 민팅하기보다는 오픈시에서 제공해주는 편리한 기능을 이용해 NFT를 생성하는 것이 기준이 되어버린다. 그리고 여기에서 한 발짝 더 나아가 코인베이스 같은 중앙화 암호화폐 거래소가 만 든 NFT 마켓플레이스로 가서 코인베이스가 직접 선별한 NFT 작품을 신용카드로 구매하는 지경까지 가게 된다.
사용자가 코인베이스 계정에 보유한 코인이나 신용카드로 코인베이스에서 NFT를 사게 되면 코인베이스 입장에서는 사실 상 블록체인에 거래 데이터를 태울 필요도 없고, 따라서 가스비도 전혀 낼 필요가 없다. 결국 NFT 세상에서 웹 3.0의 모든 속성은 없어지고, 사용자에겐 그저 JPEG 파일을 신용카드로 사고팔 수 있는 웹사이트만 덩그러니 남게 되는 것이다. 이런 웹 사이트의 정체는 뭐라고 정의해야 할까? 투기꾼의 수요 때문에 어쩔 수 없이 웹 3.0 콘셉트로 시작했지만 같은 투기꾼의 요구에 따라 다시 웹 2.0의 플랫폼 사업모델로 돌아가버린 기업들 말이다.
- NFT 아티스트들은 투기 수요가 웹 3.0 세계의 발전을 이끄는 것에 큰 거부감이 없다. 왜냐하면 바뀐 것이라곤 그들이 창작한 예술작품에 대해 더 많은 투자가 일어나고 있다는 것뿐이기 때 문이다. 그러나 우리에게 웹3.0이 필요한 이유가 웹 2.0이 몰고 온 부작용을 극복하는 것이라면, 단순히 돈을 벌어서 좋다는 생 각에 안주해서는 안 된다.
지금은 디지털 사회로 전환이 가속화되는 시기이다. 원래 토 지와 노동이 지배했던 사회의 많은 영역이 구조적으로 사라지 고 디지털 경제가 점점 그 자리를 대체해가고 있다. 그러니 암 호화폐에 투입되는 자본의 양은 앞으로도 더욱 늘어날 것이다. NFT 시장에서 발생한 부가가치가 다시 암호화폐 시장에 재투 자되는 식으로 선순환 고리가 형성되면, 설령 지금의 웹 3.0이 무늬만 탈중앙 콘셉트이고 사실상 웹 2.5에 가깝더라도 호황은 오래 지속될 수 있다.
물론 경기침체 등 거시경제적 요인으로 인해 유동성이 빠져 나간다면 암호화폐나 NFT도 힘든 시기를 각오해야 할 것이다. 그러나 지금은 전 세계가 디지털 전환이라는 구조적인 사회 변 화의 한가운데 놓여 있기 때문에 빠져나간 유동성은 언젠가는 다시 돌아올 것이다. 만약 그렇다면 바로 지금, 웹 3.0이 탈중앙 화의 가치가 훨씬 덜 적용된 웹 2.5로 후퇴하는 것을 막을 방법을 긴급히 마련해야만 한다.
- 사람들은 보통 어떤 거대한 주체가 있어야 사회에 질서가 잡 히고, 내버려두면 혼란해질 뿐이라고 생각했다. 같은 맥락에서 국가가 경제를 간섭해야만 경제 혼란을 피할 수 있다고 여겼다. 그러나 하이에크는 그것을 '인위적 질서'라고 부르며 강력히 반 대했다. 인위적 질서는 인간 이성에 따라 사회질서를 임의로 만 들 수 있다는 생각인데, 이 사상의 문제점은 늘 인간의 이성을 과대평가하는 데 있다는 것이다.
우리에게 필요한 웹 3.0은 특정 집단의 인위적인 조종과 간섭이 끼어들 수 있는 영역을 최대한 배제하고 참여자 간에 형성된 자생적 질서를 제일의 가치로 여기는 프로토콜이다. 예를 들어 비트코인처럼 '총 발행량은 2,100만 개이고 4년마다 새로 채굴되는 양이 반으로 줄어든다' 같은 사전에 정한 규칙이 존재 할 뿐, 누구도 전체적인 시스템을 계획하거나 통제하지 않아야 한다.
노드가 자발적으로 활발하게 참여할 수 있는 인센티브 메커 니즘, 탈중앙화된 의사결정 구조를 통해 권력 생성을 방지할 수 있는 합의 메커니즘도 중요하다. 그리고 누구나 해당 프로토콜 의 코드를 가져가 자신만의 서비스를 만들 수 있는 쉬운 개발 언어의 존재도 중요하다.
- 클라이언트-서버 구성 요소
.
* 클라이언트: 서비스를 요청하는 시스템이다. 데스크톱, 노트북, 스마트폰, 태블릿 등이 있다.
.
* 서버: 서비스를 제공하는 시스템을 지칭한다. 데이터베이스 서버, 웹 애플리케이션 서버, 파일 서버, DNS 등이 있다.
* 네트워킹 장치: 클라이언트와 서버를 연결한다. 스위치, 라우터, 게이트웨이, 모뎀 등이 있다.
- P2P Peer to Peer는 정해진 클라이언트나 서버 없이 네트워크에 접속한 모든 컴퓨터가 서로 데이터를 주고받을 수 있는 구조를 의미한다. 이때 각 컴퓨터를 노드 또는 피어 Peer라고 부른다. 클 라이언트-서버 모델과 비교해 말하자면 모든 컴퓨터가 클라이 언트와 서버 역할을 할 수 있는 셈이다.
온디스크Ondisk, 토렌트 Torrent, 비트코인이 P2P 네트워크의 대 표적인 예시이다. 온디스크에서는 판매자가 자신의 컴퓨터에 저장되어 있는 영상 파일을 판매한다. 자신의 컴퓨터를 웹 서버 로 활용하는 셈이다. 온디스크 사이트는 판매자와 구매자 간 직 접 데이터 교환이 가능하도록 하는 프로그램을 제공할 뿐이다. '탈중앙화'를 강조하는 비트코인 역시 P2P 방식으로 코인을 주고받는다. 별도의 서버나 클라우드의 개입 없이 비트코인 네 트워크에 접속해 있는 두 컴퓨터가 직접 데이터를 거래하는 방
- P2P 네트워크 장단점
P2P 네트워크는 말 그대로 사용자 간 직접 데이터를 교환하 는 개념이기 때문에 단일 시스템에 의존하지 않아도 되고, 네트 워크를 구축하기 위한 많은 하드웨어가 필요하지도 않다. 반면 검증되지 않은 사용자와의 통신 과정에서 안전을 담보하기 어렵고, 조직적으로 파일을 유지·관리하는 것도 쉽지 않다는 단점이 있다.
- 웹 3.0 세상을 지지하는 사람들 중 일부는 익명성이야말로 2.0 기반 인터넷 세상의 문제를 바로잡을 수 있는 중요한 가치 라고 생각한다. 모든 사람이 인터넷에서 아예 신원을 공개하지 않고 블록체인상의 명성으로만 활동하는 세상이 웹 3.0이라고 주장한다. 그러나 이 주장에는 커다란 결함이 있다.
예를 들어 BAYC의 경우 초기부터 투자를 집행한 벤처캐피탈 등 내부자들은 창업자의 신원을 알고 있었을 것이다. 이는 정보 비대칭 문제이며, 전통 금융시장에서 이런 정보의 비대칭과 불 투명한 정보 문제는 종종 큰 문제를 일으킨다. 일반 투자자들이 기업을 제대로 실사할 방법이 없기 때문이다.
- 익명성의 위험성
원래 블록체인이 내세우는 가치는 익명성이 아닌 '가명성 Pseudonymity'이다. 최초의 암호화폐인 비트코인은 정부나 은행 의 중재 없이도 송금과 결제를 할 수 있는 P2P 네트워크를 목 표로 만들어졌다. 누구든지 차별받지 않고 사용할 수 있는 중립 적인 환경을 조성하는 것이 중요했다. 그래서 어느 나라에 살든 어떤 신분이든 인터넷만 연결되면 바로 사용할 수 있다. 따로 휴대전화 인증이나 계좌 인증 같은 고객 확인 절차를 거치지 않는다. 비트코인 창시자의 이름인 '나카모토 사토시'도 누군가 또 는 어떤 그룹이 사용한 가명일 뿐이다.
그렇다고 해서 보낸 사람과 받는 사람의 '익명성'까지 비트코 인이 보장해주지는 않는다. 비트코인은 처음부터 그런 기능을 제공하지 않았는데, 그 이유는 간단하다. 비트코인은 전 세계에 서 가장 많은 사람이 이용하는 안전한 자산 또는 화폐가 되는 것이 궁극적인 목표이다. 초기부터 비트코인 네트워크는 오직 이 한 가지 목표를 달성하고자 발전해왔다. 거래 당사자의 신분 을 감춰주는 '익명화' 또는 '비식별화 기술은 범죄 같은 특정 목 적을 가진 사용자에게만 유익할 뿐이다. 그래서 그동안 우선순 위에서 빠질 수밖에 없었다.
- 비트코인이 택한 방식은 '원죄 없는 잉태Immaculate Conception' 라고 불린다. 성모 마리아가 아무런 대가 없이 세상에 내려놓은 아기 예수처럼, 비트코인 창시자도 어떠한 금전적 이득을 취하 지 않은 채 사라졌기 때문이다. 누군가 이를 똑같이 따라 하는 일은 매우 어려운데, 크게 두 가지 이유가 있다.
첫째, 이제는 비트코인의 성공을 모두가 알고 있기 때문에 금 전적 보상이 더욱 강력한 동기가 된다.
둘째, 설령 설립자가 돈에 관심이 전혀 없는 사람이라고 해도 권력의 '위선'에서 자유롭지 못하다. 예를 들면 주변 사람들은 아무도 그렇게 생각하지 않는데 혼자서만 '앞으로 몇 년만 더하고 물러나자. 아직은 내가 있어야 해. 지금 떠나기엔 너무 일러'라고 생각하는 것이다.
DAO의 취약한 구조를 이해하려면 주식회사 제도와 비교해 보면 좋다. 주식회사는 기본적으로 무신뢰 기반 계약 시스템 이다. 조직의 모든 구성원은 사적 계약 관계로 묶여 있고, 모든 계약에는 성과에 대한 보상과 잘못했을 때의 책임이 명시된다. 주식회사에서는 주주와 이사회가 경영진을 주기적으로 견제 한다. 그래서 애플의 스티브 잡스도 자신이 세운 회사에서 쫓겨나기도 했다.
반면 DAO는 어떨까? 현존하는 조직 형태 중 협회, 재단, 협 동조합 등 신뢰 기반 조직들이 DAO와 비슷하다. 처음에는 신 뢰하는 동료들과 하나의 뜻을 이루고자 모였기에 문제가 없지 만, 시간이 지날수록 생각과 견해에 차이가 생기게 된다. 결국 힘 있는 몇 명 위주로 권력이 다시 집중된다. 만약 이들이 조직 을 엉망으로 운영한다면 견제할 방법도 없다.
구성원 간에 정기적으로 투표해서 경영진을 교체하는 등의 규칙을 미리 정할 수는 있다. DAO는 블록체인 위에서 조직되 기 때문에 아예 스마트 컨트랙트를 이용해 리더의 임기를 정해 놓기도 한다. 이를 약속집행 메커니즘Credible Commitment이라고 하는데, 이로써 조직의 규칙을 투명하게 공개하여 구성원의 조직 신뢰도를 높일 수 있다. 잘만 활용하면 블록체인 기반 DAO 의 큰 장점이 되는 셈이다.
문제는 그렇게 정해놓은 규칙조차 마음대로 바꾸는 권력의 출현이다. 어떤 조직이든 둘 이상이 모이면 반드시 위계가 생기 고, 위계는 곧 권력으로 이어진다. 주식회사는 이런 문제를 최 소화하려고 만든 계약 기반 유한책임 시스템이다. 협동조합이 나 길드 같은 신뢰 기반무한책임 또는 무책임 조직에서는 해결할 수 없었기 때문이다.
최근 급부상하는 DAO도 이러한 권력의 문제에서 자유로울 수 없다. 이 문제를 어떻게 해결하느냐가 DAO에 남겨진 숙제이다.
- 인터넷은 다음과 같은 특징을 지닌 글로벌 정보 시스템을 일
컫는다.
1. 인터넷 프로토콜IP 또는 IP의 확장이나 후속 프로토콜에 기 반을 둔, 세계적으로 유일한 주소 공간에 의해 논리적으로 연결되어 있다.
2. TCP/IP 프로토콜 또는 이의 확장이나 후속 프로토콜, 그리 고 다른 IP와 호환되는 프로토콜을 이용한 통신을 지원할 수 있어야 한다.
3. 위에 언급한 인프라 구조나 통신 계층 위의 공공 또는 사적 으로 고수준 서비스를 제공하거나 사용·접근할 수 있다.
- 이렇게 등장한 웹 1.0의 특징적 기능은 하이퍼링크와 북마크 라고 할 수 있다. 콘텐츠는 텍스트와 약간의 이미지가 주된 형 태였고, 음악이나 동영상 등 멀티미디어 사용은 극도로 제한되 어 있었다. 최종 사용자와 웹페이지 제작자 사이의 의사소통도 빠져 있었다. 주요 기능인 HTML을 사용한 이메일 전송이 전 부다시피 한 정적인 형태로 웹사이트가 운영되었다.
웹사이트에서는 운영자가 보여주는 것 외에 접할 수 있는 정 보가 거의 없었고, 동적인 데이터를 제공하는 서비스도 없었다. 컴퓨터가 아직 느렸고 하드디스크의 저장 공간도 충분치 않았으며 네트워크의 대역폭도 작았으므로 동영상이나 플래시같이
-  웹 1.0의 특징을 정 리하면 다음과 같다.
1. 웹은 인쇄물의 대체재나 보완재 정도로 생각되었고, 웹사 이트는 브로슈어 형태를 넘지 못했다.
2. 사용자가 할 수 있는 활동은 화면에 나타나는 정보를 읽는 것으로 제한되었다.
3. 콘텐츠는 대부분 텍스트와 하이퍼링크로 이루어져 있었다.
4. 웹사이트에 나타나는 정보는 운영자가 소유한 것을 보여주는 데 그쳤다.
- 대부분의 크고 강력한 인터넷 회사는 데이터베이스 제공자 이다. 페이스북은 사람들의 프로필, 그들의 친구 그래프, 상태 업데이트에 대한 데이터베이스이다. 페이팔은 사람들의 계좌잔액에 대한 데이터베이스, 아마존은 SKUStock Keeping Unit라고 불리는 물건 재고·결제 자격·구매 내역에 대한 데이터베이스이다.
구글은 웹페이지와 쿼리Query 히스토리에 대한 데이터베이스 이다.
물론 이 모든 회사의 성공 방정식에는 복합적인 요소가 들 어 있지만, 그들이 가진 권력의 핵심이 데이터베이스 운영에 있다는 사실에는 변함이 없다. 누가 데이터베이스를 읽고 쓸 수 있는지, 어느 정보까지 접근 가능한지는 오로지 해당 회사만 결 정할 수 있다.
만약 웹상에 존재하는 모든 데이터에 접근하는 데 대기업의 허가가 필요하다면, 우리는 대기업이 인터넷 세상에서 일어나 는 모든 일을 통제하도록 놔둘 수밖에 없다.
- 개인정보 문제는 지금 우리가 몸담고 있는 웹 2.0 시대의 종말 을 가져올 방아쇠가 될 수 있다. 웹 1.0이 단순히 보여주는 수단에 그쳤다면, 웹 2.0은 양방향 소통이 가능한 소셜미디어·전자 상거래 등 혁신 서비스를 만들어 세계를 연결했다. 데이터는 권 력이 됐다. 플랫폼 기업들은 사용자 기록을 기반으로 맞춤형 광 고를 내보내고 이들의 정보를 중앙화된 서버에 모았다. 사람들 의 행동까지 조종할 수 있는 '지식'을 알고리즘을 통해 대규모로 축적한 셈이다.
『21세기 권력』의 저자 제임스 볼은 “인류를 위한 최우선 과제는 인터넷을 누가 소유하고 어떻게 작동하는지 실체를 파악해 이를 바로잡는 일”이라고 강조했다. 빅테크가 데이터 통제권을 지니게 되면서 개인정보 침해·시장 독점·정보 손실 가능성 등 문제가 늘어나자 대안으로 웹 3.0을 모색했다. 웹 3.0은 소수가 데이터를 독점하는 형태가 아니라 개개인이 직접 데이터를 소 유하고 블록체인 기술을 통해 연결하는 것이 특징이다.
이렇듯 웹 3.0은 소수 기업에게 집중되는 데이터 독점 문제를 탈중앙화를 통해 해결하려는 시도라고 보면 된다. 예를 들어 사용하는 플랫폼마다 아이디와 비밀번호를 만들어 기업에 넘기는 대신, 인터넷 ID라는 공용 인터넷 신분증 같은 것을 만들어 모든 웹사이트에 로그인하는 것이다. 이게 실현되면 마치 집 안 모든 가전제품을 리모컨 하나로 켜고 끌 수 있는 것처럼 우리의 인터넷 생활도 더 편리해질 것이다.
- 비트코인이 앞으로 더 많은 사람에게 가치 있는 화폐 또는 통화로 받아들여질 수 있는 이유에 대한 단계별 논리는 다음과 같다.
1. 화폐는 설령 실생활에 쓸모가 없거나 소비 가치가 없는 물 건이어도 그것이 자연적으로 지닌 독자적인 특성 때문에 가치가 생성된다. 비트코인 네트워크는 중간자 없는 돈의 송금과 결제라는 기능만으로도 상당히 쓸모 있지만, 꼭 그 기능이 없다고 해도 사람들은 비트코인 자체에 높은 가치를 부여한다.
2. 투자자들이 비트코인에 높은 가치를 부여하는 주된 이유 중 하나는 바로 희소성이다. 비트코인은 미리 계획된 공급 스케줄과 제한된 공급량 덕분에 가치 저장 수단으로 기능할 수 있다.
3. 비트코인의 희소성은 탈중앙성과 검열 저항성이라는 특성 에 따라 뒷받침된다.
4. 이 특성들은 비트코인에 하드코딩되어 있으며 비트코인 네트워크 참여자와 비트코인 보유자가 자신들의 자산 가치를 깎아먹으면서까지 손을 댈 이유가 없기 때문에 결코 변하지 않을 것이다. 오히려 비트코인 네트워크 참여자라면 희소성과 불변성이라는 특성을 최대한 지키려고 할 확률이 높다.
- '바퀴의 발명'은 한 번 발명되고 나면 결코 다시 발명될 수 없 는 완전히 새로운 기술의 등장을 의미했다. 마찬가지로 비트코 인이 발명되기 전까지는 인류 역사상 디지털 재화에 희소성을 부여하는 문제, 그리고 제3자의 존재가 완전히 배제된 개인 간 금융거래를 가능케 하는 문제는 한 번도 해결된 적이 없었다. 비트코인이 해결한 위 두 가지 문제들은 단순한 인터넷 기술의 발전 수준이 아니다. 인터넷 세상에서 희소성이 어떻게 존재할 수 있는가에 대한 퍼즐을 최초로 풀어낸 역사적인 발견이라 할 수 있다.
비트코인은 현재 타 암호화폐에 비해 가장 탈중앙화되고 안 전한 암호화폐이다. 때문에 비트코인의 아성을 뛰어넘으려는 새로운 블록체인 네트워크와 암호화폐는 적어도 하나 이상의 특성을 희생하여 자신을 차별화해야 하는데, 이를 블록체인 트 릴레마Blockchain Trilemma라고 한다. 이에 대한 내용은 뒤에서 좀 더 자세히 다루도록 하겠다.
단순히 비트코인의 코드 전체를 복사해서 똑같은 특성을 지닌 네트워크를 만들려는 시도 역시 결국 실패할 수밖에 없다.
- 비트코인은 지금까지 100번이 넘도록 하드포크되었지만 결과적으로 모두 실패한 프로젝트로 남고 말았다. 이미 존재하는 가장 커다란 돈의 네트워크를 놔두고 그와 완전히 동일한 특성을 가졌지만 규모만 더 작을 뿐인 다른 네트워크로 전환할 이유가 없기 때문이다.
- 예를 들어 사람들은 특정 웹 3.0 서비스를 간편하게 이용하기 위해 해당 서비스가 발행한 별도 토큰을 구매하고 사용할 수 있다. 그 서비스 안에서 만큼은 해당 토큰이 재화나 서비스 를 이용하는 대가이며 가격도 모두 그 토큰으로 매겨져 있을 것 이기 때문이다. 그러나 해당 서비스를 벗어나면 그 토큰은 아무 짝에도 쓸모없어진다. 만약 다른 서비스 플랫폼으로 나의 부를 옮기고 싶다면 비트코인을 이용해야 한다. 비트코인은 지금도 암호화폐 세계에서 가장 궁극적인 통화로 인식되고 있기 때문이다.
- 반면 페이팔을 이용하여 돈을 보내면 마치 돈이 페이팔 안에서 즉각 보내진 것처럼 보이지만 사실상 옮겨진 것은 스크린에 보이는 숫자일 뿐이다. 실제 돈은 페이팔 VAN 사업자→ 신용카드사 → 은행을 거쳐 다시 수신자 국가의 페이팔 → VAN 사업자 신용카드사 → 수신자 은행으로 옮겨지는 복잡한 과 정을 거친다. 단계가 많으면 당연히 그만큼 수수료가 붙고 속도 도 느릴 수밖에 없다.
페이팔을 비롯한 해외송금 서비스의 최대 단점은 한계를 극복할 수 없다는 것이다. 사용자에게 건당 3~4%씩 수수료를 떼어갈 수밖에 없다. 사용자의 이름, 주소, 생년월일, 납세자 식별 번호 등을 모두 받아놓았다가 신원인증을 마친 사람에게만 인 출을 허락해야 하는 점도 불편하다. 이런 만성적인 불편함의 고 리를 끊을 수가 없다.
반면 알레나 보로비오바의 실험에서 보았듯이 비트코인과 라이트닝 네트워크를 통한 송금은 금액에 상관없이 거의 무료 이다. 3분도 기다릴 필요 없이 눈 깜짝할 새 송금이 완료된다. 복잡한 신원인증 과정과 신용카드 등록도 필요 없다. 송금 과정에 가득 들어찬 중간자가 없기 때문에 훨씬 깔끔하게 거래할 수 있다.
더욱 기대되는 점은 라이트닝 네트워크가 계속 진화하고 있다는 사실이다. 2022년 4월 5일 라이트닝 네트워크 개발사 라이트닝 랩스Lightning Labs는 라이트닝 네트워크 위에서 달러 기반 스테 이블 코인으로 거래할 수 있는 타로Taro: Taproot asset representation overlay 프로토콜을 개발 중이라고 발표했다. 간단히 말하면 비트 코인 네트워크를 통해 달러를 송금하는 기능이다. 달러가 은행 과 신용카드사를 거치지 않고 움직이는 세상이 성큼 다가왔다. 달러뿐만 아니라 모든 통화와 자산을 비트코인 네트워크에서 거래하는 세상이 온다면 어떨까? 우리는 생각보다 가까운 미래 에 브레턴우즈 체제 이후 70년 만에 달러 기축통화 체제가 막을 내리고 '비트코인 스탠더드Bitcoin Standard, 비트코인이 전 세계 기축통 화인 세상'가 도래한 세상을 목격하게 될 수도 있다.
- 요즘 소비자는 순종적이지 않다. 주위를 둘러보면 집 거실에 텔레비전이 없다는 사람이 많이 늘었다. 어차피 텔레비전 영상 은 유튜브에서 '짤'로 찾아서 보고, 영화는 넷플릭스에서 골라 보며, 라디오는 팟캐스트에서 골라 들으니 굳이 거실에 텔레비 전을 둘 필요가 없는 것이다. 게다가 컴퓨터에는 브레이브 브라우저를 설치해서 광고를 차단하고, 인터넷 활동 기록을 남기지 않는 토르 브라우저를 사용하여 개인 프라이버시까지 챙 긴다. 바야흐로 개인과 개성이 주목받는 시대인 셈이다.
웹 3.0은 바로 이런 사람들을 위한 세계이다. 참여자 개인 의 주권, 즉 시민권Citizenship을 무엇보다 중요한 가치로 받아들 인다. 정부기관이나 서비스 개발사가 사용자를 위해 귀찮은 과 정을 모두 대신해주는 곳은 웹 2.0 세상이다. 어느 세상에 더 발 을 깊이 들이고 살지는 개인의 가치판단에 따라 정하면 된다. 다만 웹 3.0을 이용하려면 불편할 수밖에 없다는 점을 받아들여 야 한다. 특히 암호화폐와 블록체인으로 이루어진 네트워크에 서는 '코드가 곧 법'이라는 독특한 룰이 존재한다.
- 만약 지금 웹 3.0을 테마로 영업 중인 서비스가 편한 사용성, 빠른 속도, 문제가 생겼을 때 해결해줄 운영진과 같은 플랫폼적 인 특성을 먼저 내세우고 있다면, 실제로는 웹3.0이 아니라 그 저 마케팅 수단으로 활용하고 있을 가능성이 크다. 플랫폼과 웹 3.0, 둘 중 하나를 선택하지 않고 중간에 애매하게 걸친 서비스 는 아마 오래 살아남지 못할 것이다.
웹 3.0의 기반이 되는 블록체인 네트워크는 보수적으로 발전 해야만 한다. 코드가 곧 법이기 때문에 밥 먹듯이 코드를 갈아 엎어서는 곤란하다. 누구나 쉽게 이해할 수 있는 간결한 코드여 야 하고, 그것을 바꾸기가 매우 어려워야 한다. 법학에 적용되 는 '법은 최소한이다'라는 기본 사상이 여기에도 적용되어야 하 는 것이다.
탈중앙성과 분산된 권력을 제일 가치로 삼고 보수적인 속도로 발전하는 프로토콜 가운데 으뜸은 단연 비트코인이다. 물론 비슷한 속성을 지닌 다른 것이 등장할 수 있다. 하지만 이미 비트코인이 지닌 네트워크 효과와 승자독식 메커니즘 때문에 제2, 제3 프로토콜의 존재가치는 점점 희미해질 것이다. 이것이 내 가 앞으로 비트코인 네트워크가 웹 3.0의 주역이 되리라 예상하 는 이유이다.
사실 하루가 멀다 하고 터지는 디파이, NFT, DAO 관련 해킹 뉴스를 보면 안타깝다. 거기에서 낭비되는 리소스를 비트코인 기반 웹 3.0을 구축하는 데 썼다면 훨씬 좋았을 것이다. 1990년 대닷컴 기업들이 너도나도 자체 인트라넷을 만들어 출시하며 자원을 낭비한 것과 비슷한 패턴으로 보인다.
약간 돌아가고 있지만 웹 3.0 세계는 곧 우리 곁에 다가올 것 이다. 비트코인, 라이트닝 네트워크, 탭루트Taproot, 타로를 미리 공부해놓기를 추천한다. '나'라는 개인의 주권을 유지하면서도 다른 이와 정보를 교류하고 조화롭게 살 수 있는 인터넷 세상을 남보다 먼저 맞이하게 될 것이다.
- 제베디
제베디Zebedee는 비트코인을 도입한 게임을 직접 개발하여 내놓기도 하고, 비트코인의 라이트닝 네트워크를 이용한 게임 플 랫폼 민트 곡스Mint Gox 등을 출시하는 등 게임과 비트코인을 결 합하는 새로운 플랫폼으로 주목받고 있는 서비스이다. 제베디 앱의 기본적인 기능은 평범한 비트코인 지갑과 유사하다. 다른 지갑과의 가장 큰 차이점은 게임 개발사들과 협업하여 게임 내 재화로 비트코인을 사용할 수 있게 환경을 만들어주고, 제베디 지갑을 연동하여 비트코인 입출금까지 지원한다는 것이다.
- NFT, 그중에서도 미술품 NFT는 그림의 품질이나 작가의 스 토리는 뒷전이고 사실상 고도의 마케팅 전략으로 허구의 가치 를 만들어낸 뒤 순진한 투자자를 유혹하는 수단으로 전락했다. BAYC와 크립토펑크의 성공을 보고 수많은 PFPProfile Picture, SNS 프로필에 쓰는 이미지 프로젝트가 지금도 만들어지고 있는데, 운영 진이 NFT 가격을 띄우는 활동을 해주지 않으면 거래조차 되지 않는 프로젝트가 부지기수이다.
트위터나 디스코드처럼 익명으로 활동하는 SNS에서 모집과 판매가 진행되다 보니 사기 행각도 빈번하다. 비단 판매대금을 가지고 잠적하는 것만 사기인 것은 아니다. 프로젝트 로드맵에 유명 연예인이나 대기업과 협업할 것처럼 적어놓고 정작 NFT 판매가 완료되면 아무것도 하지 않는 '배째라' 행각도 많다. 모 두 2017년 신규 코인 ICO가 성행할 때 흔히 보였던 패턴이다. 메타버스는 어떨까? 암호화폐 산업에서 지칭하는 메타버스는 P2E로 대변되는 'ᄋᄋ하며 돈 버는 세계'이다. 앞서 소개한 위메이드의 미르4와 스카이마비스의 엑시인피니티가 암호화 폐와 연동된 대표적인 P2E 게임이다. 한때 미르4에서 채굴한 흑철을 드레이코Draco라는 코인으로 바꾸고 이를 국내 거래소 에 상장되어 있는 위믹스 코인을 통해 현금화하는 방식이 게이머들 사이에서 큰 인기를 끌었다. 그런데 이는 흑철 채굴이라는 행위가 자체적으로 큰 수익을 발생시켰기 때문이 아니라 위믹스 코인 가격이 거래소 펌핑으로 크게 상승했기 때문이다.
2021년 초 메타버스가 '매달려서라도 잡아야 하는 버스'로크 게 주목받을 때 위믹스 코인이 가장 큰 수혜를 입어 가격이 올 랐을 뿐, 미르4 게임이 지속 가능한 경제를 만들어낸 것은 아니 었다. 하락장이 찾아오고 위믹스 코인 가격이 반 토막이 되자 미르4와 P2E에 대한 관심도 차갑게 식고 말았다.
게임에서 쓸 캐릭터를 NFT 형태로 분양받고 이를 키우다가 다른 캐릭터와 교배하는 방법 등으로 가치를 키워 되팔면 큰 수 익을 남길 수 있다는 콘셉트로 인기몰이를 한 엑시인피니티 역시 비슷한 길을 걸었다. 처음에는 실제로 큰 수익이 발생하기도 했다. 한때 열심히만 하면 월 100만 원은 기본으로 벌 수 있다는 인식이 퍼지며 필리핀에서는 20대 젊은이들이 대거 엑시인피 니티에 뛰어들었다는 언론 기사가 나올 정도였다.
그러나 점점 더 많은 사람이 캐릭터의 가치를 띄울 목적으로 만 게임에 들어왔고, 심지어 수수료를 받고 캐릭터를 대신 키워 주는 사업까지 성행하면서 자연스럽게 수익성이 감소했다. 전 부 캐릭터를 키워 되팔 목적으로만 게임을 하니 캐릭터를 사줄 사람이 없게 된 것이다.





'IT' 카테고리의 다른 글

프로덕트 매니저는 무슨 일을 하고 있을까  (1) 2023.04.08
AI 2041  (0) 2023.03.23
최소한의 IT언어  (2) 2023.02.24
비전공자도 이해할 수 있는 AI지식  (3) 2022.12.29
IT 잡학사전  (2) 2022.11.10
Posted by dalai
,

최소한의 IT언어

IT 2023. 2. 24. 17:32

- NIST가 정의한 클라우드 컴퓨팅의 5가지 기본적 특성은 다음과 같다.
* 즉시적이고 자율적인 이용: 고객이 언제든 클라우드의 자원과 소프트 웨어를 이용할 수 있다. 예를 들어 Salesforce.com은 인터넷에 연결된 컴퓨터와 아이디, 비밀번호만 있으면 바로 사용 가능하다.
* 폭넓은 네트워크 접근: 고객이 다양한 플랫폼(태블릿, 스마트폰, 노트북등)으로 자원과 소프트웨어를 이용할 수 있다.
* 자원 병합: 클라우드에 속한 컴퓨터들이 서로 연계해서 다수의 사용 자를 지원하고, 단일한 컴퓨터로는 해결할 수 없는 복잡한 문제를 해 결한다.
* 신속하고 탄력적인 성능 조정: 클라우드에 속한 컴퓨터들이 네트워크 에서 서로 통신하므로, 그중 일부 컴퓨터에 과도한 트래픽이 몰리면 다른 컴퓨터들이 트래픽을 분담할 수 있다. 다시 말해 상황에 맞춰 신 속하게 성능을 상향하거나 하향한다.
* 종량제: 종래의 소프트웨어 모델은 고객이 일정한 금액을 지불하고 프로그램을 설치해서 사용하는 방식이다. 그래서 어떤 프로그램을 시 험 삼아 써보려는 사람도 그 프로그램을 지속적으로 사용하는 사람과 동일한 요금을 지불해야 했다. 하지만 이제는 저장 공간, 연산 능력, 트래픽, 대역폭 등을 기준으로 고객의 사용량을 측정할 수 있다. 사용 량에 따라 요금을 차등적으로 부과할 수 있어서 더 효율적인 시장이 형성된다.
-  다음은 NIST에서 정의한 클라우드 컴퓨팅의 3가지 서비스 모델이다.
* 서비스형 소프트웨어SaaS, Software as a Service: 드롭박스처럼 사용자가 브라우저로 이용할 수 있는 애플리케이션은 모두 SaaS (사스)에 해당 한다. SaaS는 6장에서 살펴볼 API와도 관련이 있다. SaaS는 클라우드로 제공되기 때문에 사용자의 컴퓨터에 애플리케이션을 설치할 필요가 없다. 그래서 멀티테넌트 아키텍처 multi-tenant architecture (테넌트, 즉 사용자들이 애플리케이션을 각자 실행하지 않고 한 번 실행한 것을 다 수가 함께 사용하는 구조-옮긴이)라고 할 수 있다.
* 서비스형 플랫폼PaaS, Platform as a Service: 헤로쿠 같은 프래그래밍 용 클라우드 플랫폼을 이용해본 사람이라면 익숙한 개념일 것이다. PaaS(패스)는 사용자가 소프트웨어를 빌드(소스코드를 실행 가능한 형 태로 변환하는 것-옮긴이)할 수 있는 환경을 제공한다. 예를 들면 웹 애플리케이션을 빌드할 수 있는 웹 서버를 제공한다.
* 서비스형 인프라 IaaS, Infrastructure as a Service: 클라우드가 급속도로 성장하면서 클라우드에서 웹사이트를 호스팅하는 클라우드 인프라 사업이 부상했다. IaaS(이아스)를 이용하면 웹사이트를 훨씬 효율적으로 운영할 수 있다.
예를 들어 웹사이트에서 이벤트를 실시하면 갑작스럽게 트래픽이 많이 발생한다. 그러면 예전에는 접속자가 최고로 몰릴 때를 대비 해서 서버를 증설해야 했다. 하지만 접속자가 다시 평소 수준으로 줄어들면 증설한 서버가 노는데 운용 비용은 계속 나간다. 이 문제의 해법이 클라우드다. 클라우드를 이용하면 필요에 따라 쉽게 서버 사용량을 늘리거나 줄일 수 있기 때문에 사용한 만큼만 비용을 지불하면 된다.
- 자바스크립트
HTML과 CSS만 써서 만든 웹사이트는 보기에는 좋아도 상호작용성이 부족하다. 그래서 드롭다운 메뉴(화면에 표시된 주 메뉴를 선택하 면 아래에 하위 메뉴가 펼쳐지는 형태의 메뉴-옮긴이), 마우스 커서를 대면 나오는 설명문을 비롯해 많은 요소를 조작할 수 있게 해주는 자 바스크립트 JavaScript가 필요하다. 객체 지향 스크립트 언어 (3장)인 자 바스크립트는 HTML 문서 안에 존재하고 브라우저(사이트에 접속하 는 '클라이언트)에 의해 렌더링된다. 즉, 클라이언트 사이드client-side에 서 처리된다. 그래서 다른 스크립트 언어들과 달리 백엔드가 아닌 프 런트엔드로 취급된다. 서버에서 실행되지 않는 것이다.
- 어떤 작업을 구성하는 일련의 요청을 트랜잭션 transaction이라고 한다. 예를 들면 사용자와 반려동물을 등록하기 위해 필요한 요청들이 트랜잭 션이 될 수 있다. 트랜잭션에는 중요한 성질이 몇 가지 있는데 관계 형 시스템에만 국한된 내용은 아니지만 여기서 간단히 설명하고 넘 어가겠다. 첫째, 트랜잭션은 '원자성'이 있다. 처음부터 끝까지 완전 히 수행되지 않으면 무효화된다는 뜻이다. 예를 들어 사용자가 완전 히 등록되지 않으면 데이터베이스에는 아무 변화가 생기지 않는다. 그래서 어떤 프로세스가 어떤 이유로든 도중에 중단돼도 불완전한 행이 생기거나 레코드가 일부만 갱신되는 식으로 테이블이 변질되지 않는다. 둘째, 트랜잭션은 '지속성'이 있다. 트랜잭션이 완료되는 즉시 데이터베이스에 변화가 생기고 그 변화의 결과가 지속된다는 의미다. 만일 트랜잭션이 데이터베이스에 반영될 때 시간이 지연된 다면 UX에 악영향을 미칠 것이다. 간단한 예로 페이스북에서 친구 를 추가할 때마다 친구 목록이 갱신되기까지 일주일이 걸린다면 어 떻겠는가? 셋째, 트랜잭션은 '독립성'이 있다. DBMS에서 각각의 트 랜잭션이 별개로 취급된다는 뜻이다. 이런 성질을 모두 갖춘 데이터 베이스를 설계하기가 쉽진 않지만, 지금 설명한 내용을 잘 알아두면 DBMS가 요청을 취급하는 방식을 더 쉽게 이해할 수 있다.
마지막으로 설명할 용어는 정규화normalization다. 정규화는 데이 터베이스에서 중복을 없애는 것이다. 다시 사용자 테이블과 반려동 물 테이블을 생각해보자. 만약 개발자가 반려동물 테이블에 주인 주 소라는 열을 만든다면 어떻게 될까? 그것은 이미 사용자 테이블에 저장돼 있는 정보가 아닌가? 그렇다면 주인 주소 열은 중복되는 정 보로 공간을 낭비하는 셈이다. 정규화는 데이터베이스가 사용하는 메모리를 절약하는 효과가 있지만, 질의의 결과가 도출되는 시간을 늘리는 부작용을 낳을 수도 있다. 앞에서 비단뱀을 키우는 사람들의 주소를 묻는 질문을 예로 들었는데(JOIN 사용) 만일 그 질문을 자주 해야 한다면 또 상황이 달라질 것이다. JOIN 명령어로는 DBMS가 두 테이블을 합친 후 정보를 찾아야 하기 때문에 테이블의 크기에 따 라서 시간이 많이 소요되기도 한다. 그래서 차라리 중복되는 열을 만 드는 것이 더 간편하고 경제적일 수 있다. 이런 사안을 두고 결정을 내리는 주체는 데이터베이스에서 요청이 어떻게 처리되는지를 정확 히 이해하는 데이터베이스 관리자 DBA, DataBase Administrator다.
- 분산 시스템의 대표적인 특징은 로컬 자율성(각 서버가 독립돼 있다), 중앙 서버의 부재, 로컬 독립성(사용자는 데이터가 어디에 저장되는지 알 필요가 없다)이다. 그 외에도 많은 특성이 사용자에게 중앙집 중식 시스템과 똑같이 작동한다는 느낌을 준다.
IT업계에서 '분산'이라는 말이 인기인 데서 짐작할 수 있듯이 분산 데이터베이스도 인기가 많다. 다음과 같은 장점 때문이다.
* 우월한 합리성 : 대부분의 조직에서는 이미 데이터가 각 지역 사무소나 각 부서에 논리적으로 분산돼 있다. 그러니까 그 밖의 장점들도 매력적이라면 분산 데이터베이스를 굳이 거부할 이유가 있을까? 분산 데이터베이스를 구축하면 번거롭게 모든 데이터를 중앙 서버에 집중 할 필요가 없으며 각 집단이 자신들의 데이터만 잘 관리하면 된다. 예 를 들어 펩시 아시아에서는 일부 데이터를 아시아에 보관하는 것이 합리적이다.
* 효율과 성능 향상: 그냥 생각해봐도, 어떤 요청이 들어왔을 때 되도록 가까운 곳에서 데이터를 처리하는 게 효율이 좋다. 그래서 데이터는 그것을 가장 많이 사용하는 사람들과 가까운 장소에 보관돼야 한다. 분산 데이터베이스를 구축하면 전 조직의 데이터를 가장 효율적으로 분배할 수 있다. 그리고 질의가 여러 기기에 분산돼서 처리되기 때문에 속도가 빨라진다.
* 안정성 향상: 정보가 여러 컴퓨터에 저장되기 때문에(사본이 여러 개 만들어질 수도 있다) 중앙집중식에 비해 시스템이 일제히 다운될 확률이 훨씬 낮다.
* 탄력적 확장: 분산 데이터베이스는 수평 확장성이 있다. 즉, 데이터베 이스에 컴퓨터를 추가하기 쉽다. 예를 들어 현재 마이애폴리가 컴퓨 터 다섯 대에 정보를 저장한다고 해보자. 그중 한 대에 메모리를 추가 하는 등의 수직 확장보다는 컴퓨터를 한 대 늘리는 수평 확장이 훨씬 수월하다. AWS (2장) 같은 서비스는 고객이 그때그때 필요에 따라 서 버를 늘리고 줄이므로 엄청난 인기를 끈다. 그렇게 탄력적으로 서버 의 수를 조절하면 더 효율적으로 자원을 활용할 수 있다. 반대로 어쩌 다 한 번씩 서버 사용량이 급증하는 예외적 상황(예: 웹사이트 이벤트기간)에 대비해서 서버를 대량 구입하는 것은 비효율적이다.
- 분산 데이터베이스라고 단점이 전혀 없진 않다. 첫째, 데이터가 여러 곳에 저장되기 때문에 질의를 처리하기 위해 곳곳의 데이터를 종합해야 할 때는 시간이 더 걸릴 수 있다. 둘째, DBMS가 제공하는 다양한 기능(보안, 동시성 관리 등)을 사용하려면 중앙집중식에 비해 복잡한 기술이 필요하다.
- 당신이 방대하고 다양성이 큰 데이터를 보유했다고 해보자. 이 데이터를 그냥 보는 것만으로 뭔가 의미 있는 시사점을 얻을 확률 은 희박하다. 데이터에서 어떤 명백한 패턴이 보이지 않는다면 더 욱 그렇다. 당신이 빅데이터를 취급하다 보면 자연스럽게 접하게 되 는 용어가 하둡 Hadoop이다. 하둡은 어떤 질문의 답을 얻기 위해 데이 터를 테스트하게 해주는 소프트웨어 프레임워크(특정한 작업을 용이 하게 하는 요소들을 모아놓은 것옮긴이)다. 앞에서도 말했지만 방대 한 정보를 저장하고 처리할 때는 분산 시스템이 유용하다. 하둡은 다 수의 고성능 프로세서가 데이터를 분담해서 처리하도록 만든다. 하 둠에서 주로 사용되는 방식인 맵리듀스 MapReduce는 맵과 리듀스라는 두 단계로 구성된다. 당신이 데이터를 분석하여 어떤 질문의 답을 얻 기원하고, 그래서 엔지니어들이 이론상으로 봤을 때 정답을 구할 수 있을 것으로 보이는 함수를 작성한다고 가정해보자. '맵' 단계에서는 분석 작업이 여러 부분으로 분할돼 다수의 기계에 배정된다. 이어서 '리듀스' 단계에서는 각 기계에서 도출된 결과가 하나로 결합돼 분석 이 완료된다. 방대한 데이터를 기계 한 대로 분석하자면 오랜 시간이 걸리겠지만, 하둡은 분할정복 전략으로 시간을 단축한다. 하둡 외에 아파치 스파크Apache Spark도 인기를 끌고 있다.- 코드를 조직할 때 가장 흔하게 사용되는 구조는 다층 아키텍처다. 그중에서도 3계층 아키텍처3-tiered architecture가 제일 많이 쓰인다. 3계층 아키텍처는 3~5장의 내용에 부합한다. 3계층 중 한 층은 데이 터베이스와 관련된 부분을 처리하며 '모델'이라 불린다(5장), '컨트 롤러'라는 중간층은 백엔드, 즉 프로그램의 논리적 흐름을 처리한다 (3장). 그리고 사용자에게 표시되는 것을 담당하는 층을 '뷰' 또는 '프 레젠테이션'이라고 부른다(4장). 이 외에도 여러 가지 아키텍처가 존 재하지만 여기서는 각각의 차이점을 논하지 않고 애초에 그런 아키 텍처들이 왜 존재하는지를 설명하려고 한다.
아키텍처가 존재하는 이유는 첫째, 병렬 작업에 유리하기 때문 이다(이런 코드 설계 원리를 흔히 관심사 분리 separation of concerns라고 말 한다). 마이애폴리 팀에서 뷰, 컨트롤러, 모델을 전담하는 엔지니어가 따로 있다고 해보자. 그러면 컨트롤러 엔지니어는 모델 엔지니어에 게 "방법은 아무래도 좋으니까 내가 사용자 이름만 받을 수 있게 해 줘”라고 말할 수 있다. 다시 말해 뷰 엔지니어와 컨트롤러 엔지니어 는 데이터베이스에 들어가서 이름을 가져오는 코드를 고민할 필요 없이, 당연히 이름을 가져올 방법이 존재하리라 가정하고 자신의 코 드를 작성할 수 있다. 그리고 모델 엔지니어는 두 엔지니어에게 간단 한 방법만 알려주면 된다. "사용자 이름이 필요하면 getUserName 함 수를 호출해 사용자의 위치가 필요하면 getUserLocation을 호출하 고.” 구체적으로 데이터베이스를 조작하는 코드는 모델 엔지니어가 자유롭게 작성하면 된다. 이렇게 애플리케이션을 구성하는 세 영역의 엔지니어들이 다른 영역의 코드에 신경을 안 써도 되면 각 영역을 비교적 독립적으로 개발할 수 있다.
아키텍처가 필요한 이유는 둘째, 유지보수에 유리하기 때문이 다. 예를 들어, 컨트롤러 엔지니어가 모델 엔지니어에게 사용자의 이 름, 주소, 우편번호가 필요하다고 말했다고 하자. 모델 엔지니어는 데이터베이스에서 각각의 정보를 가져오는 함수를 하나씩 만들어 컨트롤러 엔지니어에게 알려준다. 그러면 컨트롤러 엔지니어는 그 함수로 얻은 정보를 활용한 결과물을 뷰 엔지니어에게 보내서 화면 에 표시되게 한다. 석 달 후 엔지니어들은 데이터베이스에서 정보를 가져오는 모델 코드가 비효율적이라고 판단한다. 하지만 뷰 엔지니 어와 컨트롤러 엔지니어는 아무것도 건드릴 필요가 없다. 모델 엔지 니어가 자신의 함수만 개선하면 된다. 이때 만일 명확한 아키텍처가 없다면 데이터베이스 코드가 아무 파일에나 들어갔을 수 있다. 그렇 다면 해당 코드를 찾아서 수정하기가 훨씬 어려울 것이다.
아키텍처의 존재 이유 중 세 번째는 코드 재사용에 유리하기 때문이다. 뷰 엔지니어가 모든 페이지에 사용자 이름을 표시하려 한다고 해보자. 만일 페이지마다 데이터베이스에서 이름을 가져오는 코 드가 따로 작성돼 있다면 일일이 다 수정하느라 애를 먹을 것이다. 하지만 이미 getUserName 함수가 존재하므로 그것을 쓰면 된다. 이 런 추상화를 통해 엔지니어들은 코드를 더 효율적이고 경제적으로 작성할 수 있다.
이 세 가지 장점이 합쳐져서 만들어내는 효과는 명확하다. 바로 개발 시간 단축이다. 제품의 개발과 보수에 들어가는 시간이 짧아지 면 그만큼 많은 시간을 더 수익성 좋은 활동에 투입할 수 있다.
- 자바스크립트 태깅
자바스크립트 태깅이 등장하면서 웹 애널리틱스의 성격이 바뀌었다. 앞에서 자바스크립트를 이용해 특정한 이벤트가 발생했을 때 정해진 코드를 실행할 수 있다고 했다. 예를 들면 사용자가 어떤 버튼을 클릭했을 때 팝업창을 띄우는 것이다. 마찬가지로 '페이지 로딩 완료' 이벤트가 발생했을 때 특정한 코드를 실행할 수 있다. 이 코드 로 사용자 정보, 시간, 웹페이지 설명을 수집한다면 자바스크립트를 애널리틱스 도구로 이용할 수 있을 것이다. 실제로 그렇다. 방법도 간단해서 페이지를 다 불러왔을 때 실행할 자바스크립트 코드만 넣 으면 끝이다. 혹시 캐시 페이지가 열린다고 해도 사용자에게 표시되 는 시점에 자바스크립트가 실행되므로 웹로그보다 좋다. 그리고 특 별한 태그를 넣은 자바스크립트 코드는 차후에 데이터를 필터링할 때 요긴하게 쓰인다.
이상이 간단한 설명이고 여기에 쿠키가 더해지면 이야기가 좀 더 복잡해진다. 웹사이트는 당신이 접속해서 무엇을 클릭했는지부터 시작해 당신과 관련된 정보를 브라우저에 저장하는데 이를 쿠키 cookie라고 부른다. 그래서 다음번에 다시 당신이 접속하면 웹사이트 는 브라우저에 쿠키가 있는지 확인한 후 쿠키가 있으면 당신이 이미 왔다갔던 사람임을 인지하고, 쿠키 내의 정보를 이용해 페이지를 당 신에게 맞춰 커스터마이징한다. 만일 쿠키에 당신이 알아보는 신발 에 대한 정보가 저장돼 있다면 다음번에 접속했을 때는 페이지 상단 에 그 신발이 표시될 수 있다. 다시 애널리틱스 이야기로 돌아가자면 자바스크립트 코드는 쿠키를 이용해서 사용자의 활동을 로그에 기 록한다. 브라우저에 쿠키를 저장한 후 코드의 나머지 부분이 다 실행 되면 그 정보를 서버에 보내서 저장한다. 이 서버는 웹사이트를 운영 하는 회사 혹은 별도의 애널리틱스 서비스 업체가 보유한 것이다.- 예전에는 사내의 IT 부서에서 애널리틱스를 전담했지만 요즘은 전문적인 애널리틱스 서비스가 존재한다. 이런 서비스에서 제공하 는 자바스크립트 코드만 웹사이트에 넣으면 나머지는 그쪽에서 다 알아서 한다. 애널리틱스 서비스에는 시각화 도구를 이용해 데이터 를 더 쉽게 이해하게 해준다는 장점도 있다. 대표적인 서비스가 구글 에서 무료로 제공하는 구글 애널리틱스Google Analytics다. 구글 애널 리틱스는 로그 파일에 데이터를 저장한다. 그리고 몇 시간마다 로그 파일을 분석해서 사용자가 볼 수 있는 데이터로 가공한다. 이 데이터 는 구글 애널리틱스 웹사이트에 접속해야 볼 수 있다.
이런 방식은 여러 가지 장점이 있는데 무엇보다 편의성이 좋다. 서비스 업체에서 제공하는 코드를 복사해 붙이기만 하면 바로 추적 및 시각화 시스템이 작동한다.
하지만 요즘은 자바스크립트를 차단하는 사용자들이 있기 때문 에 어느 정도는 데이터 손실을 감수해야 한다. 그리고 애널리틱스 서 비스를 이용하면, 다시 말해 직접 애널리틱스 정보를 수집해서 분석 하지 않으면 마이애폴리의 귀중한 데이터가 타인의 손에 들어간다 는 사실도 명심해야 한다.
- 패킷 스니핑
패킷 스니핑packet sniffing은 쉽게 말해 마이애폴리의 접속자와 마이애폴리를 호스팅하는 서버 사이에 중개인을 두는 것이다. 사용자가 마 이애폴리의 첫 화면을 요청하면 특수한 소프트웨어와 하드웨어의 결합체인 '패킷 스니퍼'를 거쳐서 요청이 전송된다. 패킷 스니퍼는 중간에서 사용자에 대한 정보를 저장한 후 다시 서버로 보낸다. 그리고 서버가 응답으로 보내는 웹페이지 파일도 패킷 스니퍼를 경유해 서 사용자에게 전달된다. 쉽게 말해 패킷 스니퍼는 사용자 데이터가 지나갈 때 그것을 저장하고 웹페이지 정보가 지나갈 때 또 그것을 저 장한다.
패킷 스니퍼의 장점은 웹사이트 소스코드에 별도의 코드를 추 가할 필요가 없고 서버에 전달되는 모든 요청을 가로채 웹사이트에 서 일어나는 활동 전반을 분석할 수 있다는 점이다. 하지만 초기에 설치하는 과정이 까다로울 수 있고 웹사이트의 캐시 버전으로 전달 되는 요청은 기록되지 않는다. 또 패킷 스니퍼는 사용자의 비밀번호 와 신용카드 번호 같은 민감한 데이터도 가로채므로 주의해야 한다. 이런 데이터를 취급할 때는 개인정보 보호에 각별히 신경써야 한다.
- 웹앱
모바일 웹 애플리케이션은 사용자가 사파리나 크롬 같은 웹브라우 저로 URL을 열어서 사용하는 웹 애플리케이션이기 때문에 세 유형 중에서 데스크톱 웹 애플리케이션과 가장 유사하다. 보통은 모바일 웹사이트라는 더 친숙한 이름으로 불린다. 그리고 많은 제품이 데스 크톱 웹 애플리케이션과 동일한 백엔드에 프런트엔드만 바꿔서 쓴 다. 아니면 아예 데스크톱과 모바일에서 모두 사용 가능한 반응형 웹 사이트를 만드는 경우도 있다. 반응형 웹사이트는 화면 크기에 따라 표시 방식이 달라지기 때문에 태블릿이나 가로로 돌린 화면에서도 잘 표시된다. 화면 크기에 맞춰 요소들이 자동으로 커지거나 줄어들고, 사라지고 이동함으로써 쾌적한 UX를 만든다.
- 모바일 웹사이트는 데스크톱 웹사이트를 토대로 비교적 쉽게 개발할 수 있지만 기기에서 바로 작동하지 않고 브라우저 안에서 작동하기 때문에 속도가 느리다. 더군다나 기기에 내장된 기능을 사용 하는데 제약이 있기 때문에 모바일 앱 특유의 강력한 기능을 구현하기 어렵다. 그래서 많은 기업이 독립된 모바일 애플리케이션을 개발 하는 쪽으로 방향을 전환했다.
- 네이티브 앱
네이티브 앱은 폰의 운영체제에서 바로 작동한다. 가장 많이 쓰이는 운영체제는 각각 구글과 애플이 개발하는 안드로이드와 iOS 다. 간혹 윈도우나 리눅스 기반 운영체제가 설치된 폰도 있지만 대다수는 안 드로이드 아니면 iOS다. 네이티브 애플리케이션은 대개 앱스토어에 서 다운받고 화면에 아이콘으로 표시된다. 굳이 브라우저를 거치지 않고 폰에서 바로 구동되기 때문에 모바일 웹 앱보다 속도가 빠르다. 개발자들이 네이티브 애플리케이션을 만드는 이유는 무엇보다 도 카메라와 GPS처럼 기기에 내장된 기능을 쉽게 활용할 수 있기 때 문이다. 이런 기능은 외부의 백엔드나 API와 달리 오프라인 상태에 서도 이용 가능하기 때문에 애플리케이션 역시 오프라인에서 구동된다. 네이티브 앱은 기기의 저장 공간에 전용 데이터베이스를 저장 해놓을 수 있다. 그러면 사용자의 상호작용을 추적하고 저장하며, 인 터넷에 접속하지 않아도 기기에 담긴 사진이나 메모 같은 콘텐츠를 제공할 수 있다. 갤러리 앱이나 음악 플레이어가 좋은 예다.
그리고 이런 로컬 데이터베이스는 개인 맞춤 콘텐츠를 제공할 때도 요긴하게 사용된다. 데스크톱 웹 애플리케이션도 개인화를 위 한 정보를 저장할 수 있지만 보통은 아이디를 기준으로 한다. 예를 들면 아이디에 구매 이력을 연결하는 식이다. 사람들이 브라우저나 컴퓨터를 하나만 쓰지 않기 때문에 어쩔 수 없는 조처다. 하지만 폰 은 보통 하나씩만 쓴다. 그러니까 모바일 애플리케이션은 번거로운 가입과 로그인 절차가 대부분 없다. 이는 신규 사용자를 유치하는 데 도움이 된다.
끝으로 네이티브 앱은 웹 앱보다 보안성이 강하다. 모바일 운영체제에서 모바일 웹사이트에는 제공하지 못하고 독립 앱에만 제공 할 수 있는 보안 기능을 갖추기 때문이다. 그리고 애초에 앱스토어에 등록되려면 심사를 거쳐야 하는 반면 모바일 웹사이트에는 그런 절 차가 없다." 하지만 또 한편으로는 네이티브 앱이 모바일 웹사이트 보다폰의 내장 기능을 더 많이 이용하기 때문에 공격자들에게 더욱 좋은 먹잇감이 될 수 있다. 물론 모바일 앱과 모바일 웹 앱 모두 해킹 의 위험성이 존재하므로 어느 쪽을 선택하든 보안에 각별히 신경써야 한다.
- 하이브리드 앱
모바일 애플리케이션의 마지막 유형은 네이티브 앱과 웹 앱을 혼합한 하이브리드 앱이다. 하이브리드 앱도 모바일 웹사이트처럼 웹브 라우저로 구동되지만 웹뷰web view를 통해 브라우저가 앱에 내장된 다는 차이점이 있다. 브라우저를 쓰기 때문에 네이티브 애플리케이 션만큼 빠르진 않아도 그와 비슷하게 카메라와 GPS 같은 내장 기능 을 사용할 수 있다. 그리고 앱스토어에 등록되고 폰 화면에 독립된 아이콘으로 표시된다. 하이브리드 앱은 데스크톱 웹 기술을 사용해 서 개발할 수도 있기 때문에 이미 데스크톱 웹 앱이 존재한다면 개발 이 용이하다.
이렇게 기기에 내장된 기능을 이용할 수 있고 개발이 수월하다 는 장점과 별개로 하이브리드 앱은 태생적 한계가 존재한다. 일단 웹 뷰를 이용하기 때문에 느리고 내장 기능을 전부 이용하진 못한다. 그리고 웹뷰가 웹 기술이기 때문에 기기 자체의 설계 원칙을 다 준수할 수도 없다. 설령 그 원칙을 모두 지키는 것이 가능하다고 해도 실천 하기는 어렵다. 그래서 많은 기업이 초기에 우선 가벼운 앱이라도 만 들기 위해 하이브리드 애플리케이션을 개발한 후 장기적으로 네이 티브 애플리케이션으로 전환하는 방식을 택한다. 그리고 웹 개발 경 험은 있지만 모바일 플랫폼 쪽으로는 전문성이 부족할 때나 속도를 좀 손해 봐도 되는 단순한 앱을 개발할 때도 하이브리드 앱이 좋은 선택이 될 수 있다.
- 크로스플랫폼 개발
완전한 네이티브 앱을 만들면 최고의 성능을 낼 수 있겠지만 안드로이드와 iOS 양 진영에 네이티브 앱을 내놓고 유지하려면 개발비가 꽤 많이 든다. 서로 개발 언어가 다르고 앱을 수정할 때마다 업데이 트와 테스트도 플랫폼별로 실시해야 하기 때문이다. 그래서 크로스 플랫폼 cross-platform 솔루션의 인기가 높아지고 있다. 크로스플랫폼 모바일 개발은 단일한 앱이 여러 모바일 운영체제에서 돌아가게 만 드는 것이다. 시중에 크로스플랫폼 모바일 개발을 지원하는 프레임 워크들이 나왔고 그중에는 자바스크립트 같은 웹 기술만으로 코드 를 작성할 수 있는 프레임워크도 많다. 이런 프레임워크를 이용해 네 이티브 앱이나 하이브리드 앱을 크로스플랫폼으로 만들 수 있다.
크로스플랫폼 네이티브 앱 개발을 위한 프레임워크를 사용하면 개발자는 프레임워크에서 제공하는 요소를 이용해 앱을 개발하고, 그 요소들은 다시 각 플랫폼의 네이티브 요소로 변환된다. 이방 면으로는 리액트 네이티브React Native, 플러터 Flutter, 자마린Xamarin 이 인기 있는 도구다. 각 프레임워크가 플랫폼 중립적인 코드를 네이티 브 코드로 변환하는 방식은 다르지만 그 결과물은 완전한 네이티브 앱에 필적할 만큼 빠르게 작동하는 모바일 앱이다. 단, 특정한 기능 을 구현하기 위해서는 각 플랫폼에 맞는 코드를 추가해야 할 수도 있 다. 그래도 코드베이스에서 플랫폼 중립적인 코드가 대부분을 차지 한다.
크로스플랫폼 하이브리드 앱 개발용 프레임워크로는 아이오닉Ionic, 아파치 코르도바 Apache Cordova, 온센UIonsen UI가 있다. 하이브리드 애플리케이션은 데스크톱 웹 애플리케이션의 개발 용이성과 네이티브 모바일 애플리케이션의 기능성을 겸비한다. 이 프레임워크들도 크로스플랫폼 네이티브 앱 개발용 프레임워크와 마 찬가지로 플랫폼 중립적인 코드를 하이브리드 코드로 전환한다. 그 리고 위에서 설명한 것처럼 기기의 내장 기능도 이용할 수 있다.
네이티브 개발과 비교해 크로스플랫폼 개발의 가장 큰 장점은 개발 효율이 극적으로 향상되는 것이다. 개발자가 단일한 코드베이 스만 작성하고 유지하면 되기 때문에 새 업데이트를 훨씬 빨리 내 놓을 수 있다. 웹 기술을 사용하는 것도 개발 시간을 단축하는 요인 이다. 네이티브 코드는 변경 사항이 있으면 다시 컴파일해야 하지만 웹 코드는 재시작 없이 바로 변경 사항이 적용된다(이를 '핫리로드hot reload'라고 한다). 네이티브 코드 컴파일에 수십 분이 아니라 단 몇 초 만 걸린다고 해도 장기적으로 보면 상당한 시간 손실이 발생한다. 
크로스플랫폼 개발은 웹 기술을 사용하기 때문에 개발자도 더 구하기 쉽다. 자바스크립트 같은 기본적인 웹 기술은 많은 개발자가 숙지하기 때문에 신규 개발자가 프로젝트에 빨리 적응할 수 있다. 그 리고 iOS와 안드로이드 전문가를 따로 영입할 필요도 없다.
끝으로 크로스플랫폼 개발은 사용자 유치에도 유리하다. 주력 플랫폼을 정할 필요 없이 처음부터 양 플랫폼 사용자를 동시에 공략할 수 있기 때문이다.
하지만 크로스플랫폼 개발도 단점이 있으므로 페이스북과 에어 비앤비처럼 유명한 기업이 크로스플랫폼에서 손을 뗀 사례도 많다. 크로스플랫폼 앱은 개발 속도가 빠른 대신 실행 속도가 떨어진다. 기 기에서 크로스플랫폼 코드를 네이티브 코드로 변환하는 시간이 필 요하기 때문이다. 그래서 분초가 중요할 만큼 실행 속도가 빨라야 하 는 앱이라면 UX가 나빠질 수 있다. 그리고 크로스플랫폼으로 개발 된 앱은 네이티브 코드 구조를 완전히 반영하지 못한다. 프레임워크 에서 대부분 알아서 처리한다고 해도 플랫폼의 특성을 모두 활용하 지는 못한다. 그래서 복잡한 제품을 개발할 때는 플랫폼 전용 코드가 적지 않게 필요해진다. 그러다 보면 결과적으로 두 개의 플랫폼이 아 니라 세 개의 플랫폼을 지원하는 격이 돼서 크로스플랫폼 개발의 장 점인 신속한 이터레이션이 어려워진다. 끝으로 크로스플랫폼 프레 임워크들의 역사가 아직 길지 않기 때문에 버그가 발생할 확률이 더 높다. 요컨대 크로스플랫폼 개발이 신생 앱을 개발할 때 요긴하긴 하지만 모바일 개발의 문제를 모두 해결해주는 만병통치약은 아니다.

 



'IT' 카테고리의 다른 글

AI 2041  (0) 2023.03.23
웹 3.0 사용설명서  (2) 2023.03.17
비전공자도 이해할 수 있는 AI지식  (3) 2022.12.29
IT 잡학사전  (2) 2022.11.10
인터넷 때문에  (0) 2022.08.20
Posted by dalai
,

- 딥러닝 언어 모델 중 하나인 GPT-3는 다이얼 역할을 하는 매개변수가 1,750억 개나 있습니다. 인간의 뇌는 약 1,000 억 개의 뉴런을 갖고 있다고 하니 단순히 개수로만 따지면 이미 인공 신경망이 인간의 두뇌보다 더 복잡한 셈입니다. 물론 인공 신경망의 매개변수와 인간 두뇌의 뉴런이 같은 역할을 한다고 보기는 어렵습 니다. 게다가 뉴런을 연결하는 접합부인 시냅스는 100조 개나 있습 니다. 이 때문에 일각에선 매개변수도 100조 개는 되어야 인간과 비슷한 성능을 갖출 것이라고 주장하는 학자들도 있습니다. 물론 언젠가는 이 수치에 도달하는 거대한 인공 신경망이 등장하겠지만 중요한 점은 수많은 매개변수 중에서 한두 개쯤 작동 원리를 알아낼 수 는 있어도 모든 매개변수의 작동 원리를 이해하는 것은 불가능에 가 깝다는 겁니다.
인공지능 연구 초기에는 시스템이 왜 그런 결정을 내리게 됐는지 이유를 설명할 수 있어야 한다는 해석 가능성 Interpretability을 매우 중 요하게 생각했습니다. 이 때문에 논리적인 절차를 분석해 결정한 이유를 알아낼 수 있는 if-then 규칙 기반 시스템이 대세를 이뤘죠. 그러나 마이크로소프트의 연구소장 크리스 비숍Chris Bishop, 1959~ 은능 숙한 엔지니어가 인공지능의 추론 과정을 분석한다 해도 이제 의미 없는 일일 가능성이 높다고 얘기합니다. 왜냐하면 지금의 인공지능은 더 이상 인간이 해석할 수 있는 규칙을 거쳐 결론에 도달하는 것 이 아니기 때문이죠. 과거에 규칙 기반은 이해가 쉬웠지만 성능은 실망스러웠습니다. 지금처럼 뛰어난 성능을 내기 위해서라면 해석이 어려운 약점 정도는 받아들일 수 있다는 거죠.
- 2009년 구글의 인공지능 연구 디렉터인 피터 노빅 Peter Norvig. 1956~도 <믿을 수 없는 데이터의 효과 The Unreasonable Effectiveness of Data> 라는 유명한 논문에서 “많은 데이터를 가진 간단한 모델이 적은 데 이터를 가진 정교한 모델보다 더 뛰어나다"라고 주장했습니다. 머신 러닝의 대가인 스탠퍼드대학교의 앤드루 응Andrew Ng, 1976~ 교수 또 한 이 점을 동일하게 강조합니다. 이제는 데이터 중심으로 접근해 야 훨씬 더 좋은 성능을 낼 수 있다는 거죠.
2012년에 빅데이터는 거품 논란이 일었고, 꿰지 못한 서 말의 구 슬에 가까웠지만 오늘날 인공지능이 주목받고 있는 데는 빅데이터의 역할이 매우 큽니다. 인공지능의 성공은 데이터 증가의 성공이라 해 도 과언이 아닐 정도죠. 데이터의 양이 증가하자 '믿을 수 없는 데이 터의 효과'가 나타나 놀랄 정도로 정확도를 높일 수 있었습니다. 빅 데이터가 아니었다면 이룰 수 없는 성과였죠.
- 2015년 가을에는 구글이 텐서플로TensorFlow라는 프로그램을 공개 했습니다. 구글 내부에서 사용하던 딥러닝 라이브러리를 오픈소스 로 공개한 것으로, 복잡한 신경망을 쉽게 구현할 수 있고 확장성도 뛰어나 공개 이후 폭발적인 인기를 끌게 됩니다. 뒤이어 페이스북에서 파이토치PyTorch라는 딥러닝 프로그램을 오픈소스로 공개했으며, 매우 직관적인 방식으로 복잡한 모델도 이해하기가 쉬워서 연구 자들이 논문을 쓸 때 가장 많이 활용하는 프로그램이 되었죠. 지금은 두 프로그램을 이용한 수많은 딥러닝 응용 서비스가 나와 있습니다. 이 책에서 살펴볼 알파고, 스마트 스피커, 기계번역, 챗봇 같은 서비 스 또한 모두 텐서플로 또는 파이토치로 구현합니다. 이 모든 것이 오픈소스의 힘이죠. 지금은 고등학생도 쉽게 딥러닝 애플리케이션을 만들 수 있을 정도로 쉽고 편리한 무료 오픈소스 프로그램들이 많이 나와 있습니다.
- 먼저 정책망을 살펴봅시다. 정책망은 사람이 만든 기보를 이용 해 학습합니다. 학습에 사용한 데이터는 KGS라는 바둑 사이트에서 가져왔으며, 6단 이상인 고수의 기보만 사용했습니다. 얼핏 생각하 기에 9단 기사의 데이터를 사용하면 가장 바람직하겠지만 그러기에 는 데이터의 수가 너무 부족했습니다. 알파고 개발팀은 데이터의 수 가 충분하면서 좋은 기보의 수준을 6단으로 정한 거죠. 각 데이터는 바둑판의 상태와 해당 상태에서 실제로 다음번 바둑알을 둔 곳의 위 치를 함께 쌍으로 구성되었고, 정책망은 약 16만 회의 게임에서 총 3,000만 수를 가져와 학습했습니다. 학습을 마친 정책망은 바둑판의 현재 상태 정보를 입력값으로 했을 때 361개의 바둑 칸 중 어디에 돌 을 내려놓을지 확률을 계산해 리턴합니다. 즉 361명의 후보 중 당첨 가능성이 가장 높은 후보를 골라내는 것과 비슷하죠.
- 이렇게 했을때 정확도는 57% 정도라고 합니다. 정답을 가려놓고 “상대는 어디에 둘 것 같니?"라고 물어봤을 때 정답을 맞힐 확률이 57% 정도 된다는 얘기죠? 아주 높은 수치는 아닌데, 이게 꼭 나쁜 것만은 아닙니다. 제아무리 고수라 할지라도 그가 두는 모든 수가 항 상 최고라고는 할 수 없기 때문입니다. 즉 알파고는 인간 고수의 방 법을 절반 정도 배운 셈이라 볼 수 있습니다. 이때 알파고의 수준은 5단 정도에 불과했습니다. 6단 이상의 데이터로 학습했는데 최종 결 과물은 오히려 5단인 이유는 바둑 기사들의 기풍 때문입니다.
예를 들면, 이창호 기사는 치밀한 계산에 기반한 수비 바둑을 구 사하는 반면, 이세돌 기사는 공격적이고 창의적으로 바둑을 둡니다. 이처럼 워낙 다양한 플레이어의 전략이 뒤섞이면 오히려 전체적인 실력은 더 떨어집니다. 게다가 바둑의 모든 국면을 학습할 수는 없기 때문에 학습하지 않은 국면을 마주했을 때는 실력이 현저히 떨어집 니다. 그래서 알파고는 이를 보완할 수 있는 다양한 방법을 찾아나섰 니다.
우선, 각각의 상황에 따라 정책망 3가지를 만들었습니다. 첫째 망 은 바로 앞서 살펴본 사람의 기보를 이용해 학습한 정책망(이하 '기보 학습 정책망)입니다. 둘째 망은 '롤아웃 정책망입니다. 롤아웃 정책 망은 기보학습 정책망과 비슷하지만 훨씬 작고 가벼운 망입니다. 훨 씬 작게 만들었기 때문에 첫 번째 망보다 약 1,500배 정도 빨리 수를 둘 수 있습니다. 즉 첫째 망이 한 번 착점할 시간에 롤아웃 정책망은 1,500번을 착점할 수 있는 거죠. 당연히 성능은 떨어집니다. 첫째 망 도 정확도가 57%로 높은 편이 아닌데, 롤아웃 정책망은 고작 24%에 불과합니다. 하지만 계산 속도가 빠르기 때문에 탐색을 빠르게 진행할 때 많은 도움이 됩니다. 뒤에서 몬테카를로 트리 탐색 알고 리즘을 적용할 때 롤아웃 정책망이 얼마나 유용한지 다시 한번 살펴 보도록 하겠습니다. 이제 마지막으로 남은 망은 바로 알파고의 핵심 인 스스로 대국하며 강화학습을 수행한 정책망(이하 '강화학습 정책망' 입니다.
이 망은 알파고끼리 대국을 치르면서 스스로 실력을 향상하는 망 입니다. 무작위로 바둑을 두게 되면 제대로 된 대국 경험을 쌓기 가 힘드므로 시작은 기보학습 정책망을 활용합니다. 즉 미리 사람 의 기보를 이용해 학습한 정책망을 이용해 어느 정도 기본 실력을 쌓게 한 다음 스스로 바둑을 두면서 계속해서 실력을 향상하는 거 죠. 실력을 향상하는 기준은 간단합니다. 경기에서 이기면 승리한 측의 모든 수의 점수가 더욱 강화되는 형태입니다. 그래서 강화학습 Reinforcement Learning- 으로 부르는 것이죠. 
- 또 다른 종류의 망은 바로 가치망입니다. 가치망은 앞서 살펴본 정책망과 구조가 조금 다릅니다. 훨씬 더 단순하죠. 가치망은 현재 국면에서 승패 여부를 예측하는 망입니다. 앞서 소개한 정책망들이 361개의 바둑 칸 중 수를 둬야 할 한 지점을 골라내는 신경망이라면 가치망은 오로지 승리할 가능성만을 계산합니다. 확률로 표현해서 50%가 넘는다면 승리할 가능성이 높은 국면이고, 50%가 넘지 않는다면 패배할 가능성이 높은 국면인 거죠. 알파고는 여러 정책망 중에서 가장 실력이 좋았던 강화학습 정책망끼리의 대국을 활용했 습니다. 서로 3,000만 번의 대국을 두게 하고, 각 경기에서 한 장면 씩 3,000만 장면을 추출해 해당 국면 이후에 누가 이겼는지를 학습 했습니다. 만약 74%라는 확률이 나왔다면 현재 국면에서 강화학습 정책망끼리 대국을 벌이면 승리할 확률이 74%라는 얘기입니다.
이처럼 승리할 가능성이 높은지, 패배할 가능성이 높은지를 확률 로 표현한 것이 바로 가치망이며, 이는 알파고의 가장 혁신적인 성 과 중 하나입니다. 알파고는 강화학습을 활용해 지금까지의 바둑 인 공지능이 감히 만들어내지 못한 게임의 판도를 판단할 수 있는 정교 한 방법을 마침내 찾아낸 거죠.
- 이제 레이더와 라이다의 장단점을 비교해서 정리해봅시다. 전 자파를 이용하는 레이더는 장거리 측정이 가능하고, 물체 내부까지 도 감지할 수 있습니다. 날씨의 영향도 거의 받지 않죠. 하지만 물체 의 거리나 방향, 모양이나 구조는 제대로 파악하기가 어렵습니다. 반면 빛을 이용하는 라이다는 정확하게 물체를 인식하고 밀도 있게 표 현해낼 수 있지만 거친 날씨에 영향을 받고, 장거리 측정은 정확도가 현저히 떨어집니다.
- GPS가 터널에 들어가면 작동하지 않는 것처럼 당시 라이다에도 치명적인 문제가 있었습니다. 불과 30m 앞까지만 감지할 수 있었던 거죠. 이 말은 스탠리가 고속으로 주행하기는 어렵다는 얘기였습니다. 당시 대회에는 지그재그 형태의 도로가 많았기 때문에 무턱대고 속도를 높일 수 없는 환경이었지만 그렇다고 항상 안전한 속도로만 주행하면 승리를 장담하기 어려웠죠. 스탠퍼드 레이싱팀 은 스탠리가 라이다의 범위를 넘어서는 구간을 파악할 방법을 찾기 시작합니다. 그리고 정답은 의외로 쉽게 찾을 수 있었습니다. 인간처럼 바라보면 되는 거였죠. 바로 카메라였습니다. 카메라는 라이다보다 훨씬 더 멀리 볼 수 있었습니다. 그래서 라이다가 주행 가능한 도로를 식별하고 카메라가 멀리까지 보면서 장애물이 없다고 판단하면 그 길은 안전한 거였죠. 이런 식으로 스탠리는 시야를 80m까지 확장 할 수 있었고, 주행 속도를 최대 72km까지 높일 수 있었습니다."
- 크롤러의 본래 목표는 색인을 만드는 것입니다. 색인은 문서를 검색에 적합하도록 만들어 검색을 빠르게 수행하는 역할을 한다고 했 죠. 그런데 크롤러의 뛰어난 성능 덕분에 여러 분야에서 크롤러를 활 용하고 있습니다. 다음과 같은 분야가 대표적이죠'
* 가격 비교 사이트에서 여러 제품에 대한 가격 정보를 제공할 수 있 도록 데이터를 수집합니다.
* 데이터 마이닝에 활용할 수 있도록 공개된 회사 메일 또는 주소를 수집합니다.
* 웹 분석 도구가 분석할 수 있도록 조회 수나 링크 정보 같은 웹 페이지의 다양한 메타 정보를 수집합니다.
* 정보 허브에 뉴스 사이트 등의 데이터를 수집하여 제공합니다.

- 2010년대 들어 드디어 딥러닝이 주목받기 시작합니다. 먼저 구문 기반으로 분석하는 방식에 딥러닝을 적용해봅니다. 그리고 우리나 라의 조경현 교수가 몬트리올대학교에서 박사 후 과정 중에 성공적 인 결과를 내죠. 이때부터 바야흐로 딥러닝을 본격적으로 기계번역 에 도입합니다. 이후에는 구문 단위를 넘어 아예 문장 전체에 딥러닝 을 적용하죠. 이를 신경망 기반 기계번역 Neural Machine Translation이라고 합니다.
그렇다면, 신경망 기반 기계번역은 어떻게 작동할까요? 앞서 단어 기반에서 구문 기반으로 확장하면 보다 자연스러운 문장이 나온다고 얘기한 바 있습니다. 신경망 기반은 한발 더 나아가 문장 전체를 마 치 하나의 단어처럼 통째로 번역해서 훨씬 더 자연스러운 번역이 가 능하게 했습니다. 인공 신경망이라는 풍부한 모델과 이를 견인할 수 있는 방대한 데이터를 확보하면서 이것이 가능해졌습니다. 사실 문 장을 통째로 번역해냈기 때문에 번역 과정 자체는 훨씬 더 단순해졌 습니다. 필요한 건 방대한 데이터뿐이었죠.
- 2004년 무렵 구글은 처음으로 번역 서비스를 제공했습니다. 이때 만 해도 직접 번역 엔진을 만들지 않고 시스트란의 제품을 사용했죠. 그러나 2006년에 통계 기반의 기계번역 서비스를 출시한 후부터는 직접 개발하면서 꾸준히 번역기의 성능을 높였습니다. 무엇보다 검색 서비스를 운영하며 엄청나게 많은 데이터를 수집한 구글은 이를 이용해 고품질의 번역 서비스를 단기간 내에 개발할 수 있었죠. 통계 기반을 도입하고부터는 문장이 많을수록 정교하게 확률을 계산할 수 있기 때문에 빅데이터 플랫폼을 갖추고 있는 구글에게 매우 유리했 습니다.
구글은 유엔과 유럽의회의 회의록을 활용했습니다. 유럽의회에만 10년 동안 23개 언어로 번역된 13억 7,000만 단어의 데이터가 있었 기 때문에 좋은 번역 엔진을 만들기에 충분했죠. 게다가 대용량 자 료를 저장하고 처리하는 일은 구글의 장기였습니다. 4장에서 살펴봤 듯이, 구글은 검색엔진을 구축하면서 수백 조개의 문서를 색인하는 등 대용량 데이터를 처리하는 데 풍부한 노하우가 있었죠. 이즈음부터 앞서 나가기 시작한 구글은 2016년 인공 신경망 기반 번역 서비스를 출시하고, 현재는 무려 109개 언어의 번역을 지원하는 세계 최대 규모의 번역 서비스로 성장했습니다. 
- GPT-2와 GPT-3의 연이은 성공에 힘입어 국내에서도 언어 생성 모델을 구축하려는 시도가 잇따르고 있습니다. 대표적으로 네이버에 서 구축한 하이퍼클로바 HyperCLOVA가 있죠. 하이퍼클로바는 GPT-3 보다도 더 많은 2,040억 개의 매개변수를 채택하고 GPT-3보다 6,500배 더 많은 한국어 데이터를 학습했습니다. 영어가 학습 데이터의 대부분을 차지하는 GPT-3와 달리, 하이퍼클로바의 학습 데이 터는 한국어 비중이 97%에 달하죠. 네이버는 한국 기업답게 한국어에 최적화한 언어 모델을 구축했고, GPT-3의 쓰임새가 다양한 것처럼 하이퍼클로바도 국내 서비스의 다양한 분야에 쓰일 채비를 하고 있습니다.
- 실제로 유튜브가 2016년에 공개한 추천 시스템 논문에 따르면, 유 튜브의 추천 시스템은 다양한 특징을 결합한 딥러닝 모델이었습니 다. 그전까지는 유튜브도 행렬 인수분해를 사용했는데 2016년을 전 후해 딥러닝 모델을 점차 도입한 거죠. 여기에는 평가 정보 외에도 고객의 성별, 거주국, 시청 기록, 이전 노출 목록, 마지막 시청 후 경 과 시간 같은 고객 정보를 비롯해 영상 길이, 조회수, 영상 제작 시 점 등 영상에 대한 다양한 정보까지 입력값으로 활용하여 최종 결과 를 예측해냈습니다. 뿐만 아니라 편향을 줄이기 위해 유튜브 이외의 영상을 시청한 이력도 확인했습니다. 앞서 사용자가 유튜브에서 시 청하는 영상 중 70%는 알고리즘이 추천한 영상이라고 했죠. 따라서 유튜브 영상만으로 시청 기록을 학습하면 70% 확률로 추천한 영상 을 다시 학습하는 문제가 생깁니다. 이 같은 편향을 줄이기 위해 유 튜브는 유튜브 밖에서 시청한 이력도 모두 활용한 거죠. 이처럼 유튜 브는 편향까지 없애기 위해 수많은 정보를 종합적으로 고려했고 그 결과가 우리에게 막 시청을 마친 영상 뒤에 올라옵니다.
유튜브는 초창기에 영상을 추천하는 데 어떤 가치를 극대화할지 고민을 거듭했다고 합니다. 초기에는 조회 수를 올리는 데만 방향 이 맞춰져 있었죠. 그러다 보니 크리에이터들이 유익한 영상보다는 온통 자극적인 섬네일을 만들어내는 데 치중했습니다. 영상을 클릭 한 사람들이 낚인 걸 알고 즉시 빠져나와도 이미 조회 수는 올라간 뒤였죠.
이후 유튜브는 사람들이 오래 시청하는 영상을 추천하도록 보상함수를 개선했다고 밝힙니다. 뿐만 아니라 이어 보기'에도 매우 높은 가중치를 부여했죠. 보상은 기존처럼 '많이 클릭' 하는 게 아니라 '덜 클릭하고, 더 오래 보는' 영상에 집중되었고, 실제로 영상의 품질 을 높이는 데 많은 도움이 되었습니다!
또한 유튜브는 신선도를 무척 강조합니다. 4장에서 '최신 문서'의 중요성을 강조한 것처럼 새로 올라온 영상일수록 고객의 관심이 높 기 때문이죠. 뉴스, 영화, 유튜브 모두 소위 '신상'이 매우 중요한 콘 텐츠입니다. 하지만 새로운 영상은 영상에 관한 아무런 정보가 없는 콜드 스타트Cold Start 문제에 봉착합니다. 콜드 스타트는 말 그대로 차갑게 시작한다는 건데요. 새로 올라온 영상일수록 조회 수도 없고 인기가 있을지 알아낼 만한 정보가 거의 없기 때문에 추천 영상에 올 라가기가 매우 어렵습니다. 올림픽에 육상 선수를 내보내야 하는데, 고객들은 무엇보다 새로운 영상을 좋아합니다. 하지만 새로울수록 정보가 부족하기 때문에 추천이 더 어려워지는 역설적인 상황에 놓입니다. 추천 시스템은 이 문제를 해결해야 하죠. 마치 점쟁이처럼 영상의 몇 가지 특징만 가지고 불특정 다수에게 추천할 수 있어야 합 니다. 정말 어려운 일이죠.
영상뿐만 아니라 고객도 마찬가지입니다. 신규 고객의 관심사를 예측하기도 정말 어려운 일이죠. 넷플릭스도 초창기에 그리고 왓챠 도 가입을 하면 굳이 선호하는 영화를 몇 가지 택하도록 합니다. 신 규 고객의 선호도를 미리 파악하여 정교한 추천을 시작하기 위해서 죠. 아무런 고객 정보가 없다면 무엇을 추천해야 좋을지 도무지 감을 잡기가 어렵습니다. 로맨스를 좋아하는 고객에게 갑자기 공포 영화 를 추천하면 그 서비스에 첫인상이 좋지 않을 겁니다.
- 이외에도 추천 시스템은 고객이 기존 취향의 울타리 안에만 갇히 지 않도록 노력합니다. 협업 필터링이 어느 정도 관심사를 확장하는 효과를 내긴 하지만 이 또한 성향이 비슷한 고객만 구독하게 된다면 다른 성향의 고객이 좋아하는 콘텐츠는 알 길이 사라지죠. 보수적인 성향의 사용자가, 보수적인 취향을 지닌 사람만 구독하면 항상 비슷한 우파 영상을 추천받게 되겠죠. 이는 진보적인 성향도 마찬가지입니다. 결국 서로가 단절되고, 우물 안 개구리처럼 편견을 강화할 뿐 입니다. 이는 사회적으로 매우 위험한 문제로 번질 수도 있습니다. 그래서 뜻밖의 발견serendipity 이 중요합니다. 멋진 영어 단어이자 설레는 표현이기도 하죠. 여기에는 2가지 조건이 충족되어야 합니 다. 지금까지 본 적 없는 것이지만 희한하게도 마음에 들어야 하죠. 다시 말해 나에게 편하고 익숙한 구역 바깥에 있어야 하지만 또 아예 엉뚱하지는 않아야 합니다. 참, 어렵죠. 하지만 사람들이 "알 수 없는 알고리즘이 여기로 이끌었다"라고 자주 감탄하는 것은 그래도 이 2가지 조건을 종종 만족하고 있다는 거겠죠?



'IT' 카테고리의 다른 글

웹 3.0 사용설명서  (2) 2023.03.17
최소한의 IT언어  (2) 2023.02.24
IT 잡학사전  (2) 2022.11.10
인터넷 때문에  (0) 2022.08.20
처음 읽는 양자컴퓨터 이야기  (0) 2022.07.07
Posted by dalai
,

IT 잡학사전

IT 2022. 11. 10. 16:06

- 시스템 유지·보수, 안드로이드 앱 개발을 하고 싶다면? 자바 
자바는 우리나라에서도 유명하고 실제로 많이 쓰는 언어야. 주로 정부나 은 행, 기업에서 많이 사용하지. 그래서 자바를 다룰 줄 알면 취업 시장에서 굉장 히 유리해. 아무래도 관련된 채용 공고가 다른 언어에 비해서 많은 편이거든. 그렇다면 자바는 취업 시장에서 완전 짱일까? 아니야. 스타트업에서는 자바 개발자를 많이 구하지 않아. 왜냐하면 자바는 역사가 아주 긴 언어여서 오래 된 프로그램을 보수하는 데 더 많이 쓰이거든. 스타트업에서는 최신 기술을 주로 사용하니까 자바 개발자를 많이 채용하지 않는 거야. 정리하자면 자바는 우리나라 대다수 회사에 취업할 때 유리한 언어야. 자바에 기반한 전자 정부 프레임워크를 사용하는 회사가 많거든.
물론 안드로이드 애플리케이션 개발에도 쓰이므로 안드로이드 개발자가 되고 싶다면 자바를 공부해야겠지. 안드로이드 개발 얘기가 나왔으니까 말인데, 요즘 이쪽 진영에서는 자바와 코틀린을 모두 사용해. 코틀린이 뭐냐고? 코틀린은 젯브레인즈(JetBrains)에서 개발했고, 그 이후에는 구글에서 안드로이 드 공식 언어로 채택했어. 그런데 코틀린은 프로그램을 실행하기 전에 자바로 완전히 변환되는 특징이 있어서 자바를 알면 코틀린도 빠르게 배울 수 있어. 코틀린은 자바에 비해 나중에 나온 언어라 개발자에게 비교적 편리한 문법이 많은 것도 특징이야.
- 웹 개발, 인공지능 개발 등 범용성이 매우 넓고 초보자에게 강추! 파이썬
이번에 설명할 언어는 그 유명한 파이썬이야. 파이썬은 프로그래밍 초보자가 입문하기에 가장 좋은 언어야. 왜냐고? 파이썬은 아주 다양한 용도로 사용할 수 있거든. 그리고 현재 가장 많이 사용하는 언어라서 일단 배워 두면 쓸모가 많을 거야. 물론 언어는 시대에 따라 인기가 달라지기는 해. 하지만 당분간은 파이썬이 가장 인기 있는 언어일거야. 파이썬은 머신러닝도 할 수 있고 데이 터 과학 분야에서 사용할 수도 있어. 그뿐일까? 웹 스크래핑, 웹 사이트 만들 기, 서버 만들기, 유용한 애플리케이션 만들기 등등 엄청나게 많아. 언어 하나 만 배워도 여러 가지를 만들어 볼 수 있으니 호기심에 언어를 배우려고 하는 사람에게는 파이썬이 딱이야. 간단한 프로그램을 만들기에도 적합해.
- 웹 개발을 하고 싶다면? 자바스크립트 
자바스크립트는 HTML과 CSS까지 합쳐서 생각하는 것이 좋아. 요 세 녀석은 세트 느낌이 있거든. 아무튼 이 녀석들을 줄여서 HCJ라고 할게. 웹 사이트나 웹 앱을 만들려면, 다시 말해 웹 프로그래밍을 하고 싶다면 HCJ를 배우도록 해. 물론 다른 언어로도 웹 프로그래밍 일부는 할 수 있지만 만약 웹 프로그래 머를 목표로 한다면 무조건 HCJ를 배워야 해. 특히 자바스크립트는 잘 다룰 수 있어야 해. 왜냐고? 자바스크립트는 버튼을 누르면 데이터를 전송하거나 메뉴를 접었다 폈다 할 수 있는 등 동적인 웹 사 이트를 만들 수 있게 해주거든. 심지어 서버 쪽의 코드, 백엔드 영역도 개발할 수 있어, 자바스크립트도 파이썬처럼 다양한 목적으로 코딩할 수 있는 언어이 기 때문이야. 만약 웹 프로그래밍 분야의 개발자가 될 생각이라면 HCJ를 공 부하되 자바스크립트는 특히 더 열심히 공부하기를 추천할게
- 가전 제품에 이식되는 프로그램을 만들고 싶다면? C 언어
우선 C 언어! C 언어는 제한된 상황에서 최대 성능을 내기 위해 만들어졌어. 그래서 개발자들은 C 언어를 '기계가 소통하는 방식에 매우 가까운 언어' 라고 이야기하기도 해. 주변에서 흔히 볼 수 있는 가전제품 있지? 에어컨이나 TV, 스마트 냉장고 같은 기기에 들어 있는 프로그램이 바로 C 언어로 프로그래밍 한 거야. 
- 컴퓨터의 자원을 효율적으로 쓰는 C 언어
C 언어는 1972년에 탄생했어. 무려 50년 이나 되었지! C는 자바, 자바스크립트, 파 이썬, PHP, 고와 같은 수많은 언어에 영향 을 준 중요한 언어야. 50년 전에 개발하다. 보니 C 언어만의 특징이 있어. C 언어가 처음 등장했을 때 컴퓨터는 어땠을까? 지금처럼 빠르지 않았지.
그래서 C 언어를 개발할 때에는 자원을 효율적으로 쓰면서도 최대 성능을 내 는 프로그램을 만들 수 있어야 한다는 것을 최우선으로 했어. 그리고 이 목적 을 달성하기 위해 C 언어는 메모리 자원을 정밀하게 조절할 수 있어야 했지. 쉽게 말해 C 언어는 자원이 열악한 상황에서 사용하기 좋은 언어야.
- 마이크로소프트에서 만든 C# 언어 
C#은 C, C++과 이름은 비슷하지만 완전히 다른 언어야. 심지어 C#은 C도 C++도 아닌 자바와 비슷한 언어야. 또, C# 언어는 개발자가 개발한 게 아니 라 기업에서 필요해 만들었다는 거야. 그래서 만약 누군가 나에게 “C#은 어 떤 언어인가요?”라고 묻는다면 한 줄로 이렇게 답할 거야.
"C# 언어는 마이크로소프트가 만든 자바 언어라고 생각해도 좋아!"
- C, C++, C# 언어 정리하기
* C 언어는 세 언어 가운데 가장 오래되었고, 메모리 자원을 효율적으로 사용하면서도 실행 속도가 빠르다. 
* C++은 C를 포함하는 언어로, 절차 지향이면서도 객체 지향이다. 실행 속도는 C 언 어와 비슷하다.
* C#은 마이크로소프트에서 만든 언어로, 다양한 분야에서 사용할 수 있다. 실행 속 도는 세 언어 가운데 가장 느리다.
- 파이썬으로 할 수 있는 개발 분야
* 인공지능 & 데이터 분야: 케라스, 텐서플로, 판다스 등
* 웹 개발 분야: 장고, 플라스크 등
* 업무 자동화 분야: 엑셀, 메일 보내기 등
* 이미지 처리 분야 · 게임 분야
* GUI 분야 등
- 그래서 대체 자바와 어떻게 완벽하게 호환될 수 있냐고? 100% 호환이란 게 뭔지 이야기를 안 했네. 호환이란 자바 코드에서 코틀린 코드를 부를 수도 있고, 반대로 코틀린 코드에서 자바 코드를 부를 수도 있어 야 한다는 뜻이야. 그리고 이 모든 것이 가능한 이유는 자바 가상 머신 때문이야. 여기서 조금 어려운 이야기를 할 텐데 그래도 최대한 쉽게 설명해 줄 테니까 들어 봐.
- 컴필레이션과 인터프리테이션의 차이 간단히 짚고 넘어가자
먼저 컴필레이션(compilation)과 인터프리테이션(interpretation)이라는 개 념을 알아야 해. 이건 [에피소드 08]에서도 설명했는데 한 번 더 설명해 줄게.
컴필레이션은 코드 전체를 받아서 한번에 기계어로 해석하는 것이고, 인터프리테이션은 코드를 실시간으로 기계어로 해석하는 것을 말해. 그래서 컴필레 이션 방식으로 동작하는 코드가 인터프리테이션 방식으로 동작하는 코드보다 빨라. 그런데! 컴필레이션은 플랫폼에 의존해. 무슨 말이냐면 코드가 실행될 환경(플랫폼)이 달라지면 컴필레이션은 그때마다 개발자가 컴파일 과정을 한 번씩 실행해 줘야 해. 왜냐고? 운영체제마다 각각 서로 다른 기계어를 쓰니까 말이지. 반대로 인터프리테이션은 인터프리터라는 녀석이 알아서 실시간 번역을 해주니 우리는 새로 컴파일을 실행해 줄 필요가 없어. 
- 컴필레이션과 인터프리테이션을 다 활용하는 자바
 그리고 자바는 앞에서 소개한 두 녀석을 다 사용해. 무슨 말이냐면 여러분이 자바로 코드를 작성하잖아? 그러면 컴파일을 해. 근데 컴파일해서 얻는 결과 물은 기계어가 아니야. 자바 바이트 코드라는 것이지. 그리고 이 자바 바이트 코드는 다시 윈도우, 리눅스, 맥OS에서 실행될 때 자바 가상 머신이라는 녀석 이 해석해서 각각의 기계어로 번역해 줘.
이런 자바의 특징 덕분에 코틀린이 자바와 100% 호환될 수 있어. 어떻게? 코 틀린을 자바 바이트 코드로 컴파일하기만 하면 되거든. 그러면 결국 실행에 쓰이는 것은 자바 바이트 코드니까 둘 사이에는 아무 문제가 없겠지!
- 브라우저는 이렇게 엔진이라는 것을 장착해서 HTML, CSS, 자바스크립트를 이해할 수 있는 거야. 좀 멀리 돌아왔지만 중요한 것은, 이 엔진의 성능이 바로 웹 브라우저의 성능을 결정한다는 거지. 그러니까 이 엔진이 최 신 표준안, 최신 기술을 지원한다면 최신 웹 브라우저가 되는 거야. 우리가 가 전제품을 살 때와 완전히 같아. 이제 '웹 브라우저가 ○○○을(를) 지원한다. 라는 말이 무슨 뜻인지 알겠지??
- 풀스택 간단 정리 
이렇게 프런트엔드, 백엔드 개발을 다 마치면 개발이 끝날까? 아니야! 그걸 서버에 올려야 해. 서버를 고르고, 설정하고, 서버에 소프트웨어도 설치하고, 데이터베이스 설정도 하고, 보안도 신경 써야 하고... 할 것이 엄청나게 많아. 이 모든 것을 데브옵스라 하고, 이런 일을 하는 사람을 데브옵스 개발자라고 하지. 프런트엔드, 백엔드, 데브옵스를 모두 다 할 수 있는 사람이라면? 풀스 택 개발자라고 하는 거야. 그래서 풀스택 개발자가 되기는 정말 어려워. 웹 페 이지의 화면도 만들어야 하고, 데이터베이스에 데이터를 저장하기도 해야 하 고, 완성된 프로그램을 서버에 올려야 하는 등 모든 과정을 전부 다! 그것도 자세히 알아야 해. 사실 조금 과장해서 풀스택 개발자는 1인 스타트업을 만들 수도 있어. 물론 기획도 할 줄 알아야겠지만,
- SQL과 데이터베이스 개념 제대로 짚기
SOL은 structured query language의 줄임말이야. 의미를 해석해 볼까?
structured는 구조화된이라는 뜻이고, query는 질문 또는 문의, language는 언어를 말하지. 즉, SQL은 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어라는 것을 알 수 있어. 즉, SQL은 한마디로 말해 데이터베이스를 다루는 언어야.





'IT' 카테고리의 다른 글

최소한의 IT언어  (2) 2023.02.24
비전공자도 이해할 수 있는 AI지식  (3) 2022.12.29
인터넷 때문에  (0) 2022.08.20
처음 읽는 양자컴퓨터 이야기  (0) 2022.07.07
웹 3.0 레볼루션  (0) 2022.07.03
Posted by dalai
,

인터넷 때문에

IT 2022. 8. 20. 22:28

- 인터넷 약어는 문어와 비격식성의 교차를 보여주는 완벽한 사 례다. 인터넷 약어는 문어에서 유래했다. 약어는 타자로 쳐야 할 글자 수를 줄여주지만, 반드시 발음하는 음절의 개수를 줄여주는 것은 아니다. 예컨대, 말할 때는 I dunno가 효율적인 반면 글을 쓸 때는 idk가 효율적이다 (우리말에서는 '안녕' 대신 ‘ᄋᄂ'을 쓰는 등이 이런 효율적 인터넷 약어의 예가 될 것이다). 이런 약어의 기능은 비격식적이다. idk (I don't know, 모름), wtf (what the fuck, ᄉᄇ 뭐냐), jsyk (just so you know, 그냥 알려주려고), afaik (as far as I know, 내가 알기로는), imo (in my opinion, 내 생각엔), til (today I learned, 오늘 알게 된 건데), tfw(that feeling when, ~할 때의 그 느낌) 처럼 개인의 감정과 생각을 표현하는 것이다. 전문용어의 약어는 그 용어와 동시에 만들어지고, 가끔은 어떤 약어가 될지를 고려하면서 용어가 만들어지기도 한다. 반면 사회적 약어는 이미 흔하게 사용되는 표현 으로부터 만들어진다. 하지만 우리가 효율성 극대화만을 위해 움직 이는 건 아니다. 가끔 우리는 글로 구어를 연상시키고 싶을 때 단어 의 철자를 바꾸어 쓰거나, 구어로 글을 연상시키고 싶을 때 약어를 말하기도 한다. 효율성은 그저 특정한 생략이 어디에서, 왜 발생했는지에 관한 한 가지 힌트일 뿐이다.
- 영어가 같은 기간에 아이슬란드어보다 빠르게 변화한 것은 분명하다. 레슬리 밀로이와 제임스 밀로이는 그 이유가 약한 유대라고 주장했다. 아이슬란드에 관해 알아야 할 한 가지는 정말로 밀접한 공동체라는 점이다. 아이슬란드인들의 성씨는 여전히 아버지의 이름, 혹은 간혹 어머니의 이름에서 따온다 (성이 와야 할 자리에 ~의 딸' 혹 은 ~의 아들'이라는 의미의 단어가 오는 형태다. 예컨대 Egil의 아들 Gunnar의 전체 이름은 Gunnar Egilson이 되는 식이다). 이런 방식은 만나는 사람 대부분이 이미 나의 가족을 아는 사회에서 훨씬 더 합리적이다. 광범위한 친인척 네트워크를 언급하면서 자신을 소개하는 경향은 사가가 쓰인 시대까지 거슬러 올라간다. 누군가가 아는 모든 사람이 이미 서로를 안 다면, 새로운 언어 형태는 무작위 변형을 통해서만 발생할 수 있다. 새 언어 형태를 빌려올 약한 유대가 없다.
반면 영어는, 역사가 흐르면서 약한 유대가 일어날 만한 유의미한 일들을 몇 차례 거쳤다. 덴마크와 노르만의 침략, 출세를 위해 고향을 떠나 런던으로, 이후에는 다른 도시로 이동하던 전통, 제국 주의적 팽창 등이 그 예다. 물론, 영어 사용자의 세계에도 나름대로 끈끈한 관계를 맺고 있는, 모두가 서로의 친척을 아는 작은 공동체들이 있다(나는 지금도 가족 모임에서는 부모님이나 조부모님이 누구인지 말하는 방식으로 자기소개를 한다). 하지만 영어 사용자 의 세계에는 군중 사이에서 익명을 유지하거나, 결코 서로를 만나는 일이 없는 친구 집단들을 둘 수 있는 대도시도 많다. 더욱이, 이 장의 첫머리에서 살펴본 지도 연구를 보면 영어 사용자의 세계에서 더 많은 언어학적 변화를 일으키는 곳은 비교적 크고 느슨하게 조직된 도시였다.
- '점점점’을 찍는 사람들과 행갈이를 하는 사람들은 문장부호의 시초를 생각하게 한다. 최초의 문장부호들은 발화 사이의 단절을 표시하는 것이었고, 이를 처음으로 사용한 사람은 중세의 필경사들 이었다. 중세 시대의 중요한 문장부호 중 하나는 푼크투스(punctus) 라는 점이다. 푼크투스는 현대의 쉼표가 들어갈 만한 자리에는 짧 은 호흡을 표시하기 위해서, 문장 중간에는 중간 정도의 호흡을 표 시하기 위해서, 글자 위쪽의 아포스트로피가 들어갈 만한 자리에는 긴 호흡을 표시하기 위해서 들어갔다. 그보다 전인 고대 그리스와 로마에서는 글이 숨은 단어 찾기 퍼즐과 같았다. 문장부호도 없고, 문장도 나누어지지 않았으며, 단어 사이에 띄어쓰기도 되지 않은 데다 전부 대문자이거나(조각된 경우) 전부 소문자였다(잉크로 쓴 경우), 독자는 퍼즐을 풀 때처럼 한 단어가 끝나고 다른 단어가 시작되는 곳이 어디인지 알아내야 했다. 역시 퍼즐을 풀 때처럼, 독 자들은 낮은 소리로 중얼거리는 방법을 써서 그런 일을 해냈다. 다행히도 단어 찾기 퍼즐에서와는 달리 단어가 대각선으로 적혀 있지는 않았으며, 헷갈리라고 일부러 집어넣은 글자도 없었다.
16~17세기에는 인쇄 기술과 사전이 발전하면서 철자법과 문장부호가 더욱 복잡해지고 표준화됐다. 필경사들은 저마다 특이 한 방식으로 철자와 문장부호를 썼지만, 인쇄공들은 조판 과정에서 자신들이 인쇄하는 다른 모든 것과 어우러지도록 상황을 바꿀 수 있었으며 실제로 그렇게 했다. 사람들이 개인적인 편지를 주고받을 때도 이처럼 정교한 지침을 완전히 따른 것은 아닐지 모른다. 제인 오스틴, 에밀리 디킨슨, 비틀스는 확실히 그렇게 하지 않았다. 하지 만 인쇄 기술이 더 많은 독자를 만나기 위한 가장 쉬운 방법이 되자, 사람들은 편집되고 표준화된 문장부호를 주로 보게 되었다. 반면,
인터넷은 우리가 개인적으로 선호하는 문장부호를 공개적인 공간에 내놓았다. 이에 따라 다른 우선순위가 생겨났다. 인터넷의 문어는 직관적이고 쉽게 생산할 수 있어야 하며 생각이나 말하기만큼이나 빨라야 했다. 우리는 이런 조건들을 모아, 활자로 표현된 어조라는 시스템을 만들어냈다.
- 메시지 전체를 진한 대문자로 써도 괜찮다는 생각은 어디에서 유래한 걸까? 어쨌거나 사람들 은 천 년 넘게 소문자 손글씨를 써왔고, 신파적인 빅토리아 시대 조기의 사람들조차 모든 것을 대문자로 쓰지는 않았다. 왜 컴퓨터를 사용하면서부터 갑자기 모든 글자를 대문자로 쓴단 말인가?
아마 어느 정도는 전보를 보내기 위해 쓰인, 대시와 점으로 가 득한 모스부호 때문에 그랬을 것이다. 모스부호는 모든 글자를 점 과 대시의 조합으로 나타낸다. 길거나 짧게 두드리는 신호로 전송하기에 적합하기 때문이다. A는 점 대시, B는 대시 점 점 점이다. 나머지 26개의 글자도 모두 최대 네 개의 점이나 대시, 혹은 그 둘의 조합으로 나타낼 수 있다. 하지만 소문자를 포함하고 싶었다면, 대여섯 개의 점이나 대시가 필요했을 것이다. 52개의 글자를 나타내 야 했을 테니 말이다. 그리고 전신 기사들은 두 배나 많은 부호를 암 기해야 했을 것이다. 당연하게도 사람들은 굳이 그럴 필요는 없다고 생각했다. 모든 문자를 대문자로 썼던 로마인들에게 별문제가 없었다면, 전보를 전부 대문자로 쓰는 것도 괜찮을 터였다.
초기 컴퓨터도 비슷했다. 초기 컴퓨터 일부는 정보를 전송하거 나 출력하기 위해 텔레타이프 기계(전신 기사의 기계 후손'이라고 할 수 있다)를 사용했다. 코딩을 시작할 때 배우는 고전적인 첫 명 령어는 PRINT("HELLO WORLD) 같은 것인데, 이 명령어는 컴 퓨터가 HELLO WORLD를 화면에 표시하도록 한다. 지금은 이 명령어를 사용하지 않지만 옛날에는 그랬다. 화면이 존재하기 전에, 텔레 타이프 기계에 단어를 입력함으로써 컴퓨터에 명령을 내리고 컴퓨터의 답이 두루마리 종이에 인쇄되어 나오던 시절에 말이다. 컴퓨터에 화면이 생긴 다음에도 저장공간은 여전히 비쌌고, 전신 기사 의 뇌세포만큼이나 소중했다. 그래서 애플II 등 아주 많은 컴퓨터가 모든 것을 오직 한 가지 형태의 문자, 즉 대문자로만 표현했다. 이런 설정의 흔적이 몇몇 상업용 컴퓨터 시스템에는 아직도 남아 있다. 텔레타이프는 흔하지 않지만, 식료품점의 영수증이나 은행 거래내 역서, 비행기표는 돌돌 말린 광택지에 전부 대문자로 인쇄되어 나온다.
컴퓨터가 소문자를 지원하기 시작하던 시점에 우리는 대립되는 두 가지 표준을 마주하게 되었다. 한쪽 사람들은 전부 대문자를 사용하는 것이 컴퓨터에 글을 쓰는 방식이라고 으레 생각했고, 다 른 쪽 사람들은 대문자만 사용하는 것이 고함을 의미한다며 물러 나지 않았다. 궁극적으로는 감정적 의미가 승리를 거두었다. 기능의 변화는 이름의 변화와 함께 일어났다. 구글 북스(Google Books)에 스캔된 수백만 권의 책에 따르면, 전부 대문자로 썼다는 뜻의 all caps와 all uppercase라는 단어 사용이 1990년대 초반부터 가파르게 증가했다. 반면, 이 세기 초반에 선호되던 용어는 block letters 혹은 block capitals였다. 사람들은 소리치는 글자에 관해 말할 때 all caps 라는 표현을 쓰는 경향이 있었다. 반면, block capitals는 표지판이나 서류 양식 등 공식적인 데 쓰이는 대문자를 가리키는 경우가 더 흔했다.
- 하지만 어조를 표현하는 대문자로만 쓰기가 추가되었다고 해 서 공식적임을 나타내는 대문자 사용이 사라진 건 아니었다. 이런 용도는 EXIT (출구) 표지판이나 CAUTION (주의) 테이프, CHAPTER ONE(1장) 등의 제목에 남아 있다. 이런 표현은 강조를 의미하는 것일 수는 있으나 시끄러운 것으로 해석되지는 않는다. 오히려 우 리의 해석은 해당 글자를 공식적인 것으로 읽느냐, 비공식적인 것 으로 읽느냐에 따라 달라지는 것으로 보인다. 웹사이트 메뉴의 HOME은 그냥 그래픽 디자인상의 선택일 뿐이지만, ugh I want to go HOME (집에 가고 싶어)” 같은 메시지의 HOME은 활자로 표현한 어조다.
- 문어에서의 예의가 전자식 의사소통에만 나타난다고 하기는 어렵겠지만, 인터넷 이전에는 유쾌하고 비공식적이며 일상적인 요 청이 보통 구어로 이루어지거나 종잇조각에 휘갈겨 쓴 쪽지로 전달 됐다(“전에 부탁했던 책이야!” “강아지 밥 줬어.”). 사람들이 포스 트잇 쪽지를 남길 대상과 어느 정도 친밀한 관계를 이미 형성했을 가능성이 큰 건 사실이지만(물리적 공간을 함께 쓰고 있으리라는 건 말할 필요도 없다), 그 점을 감안하더라도 그들이 가족이나 룸메 이트에게 남긴 수십 장의 스캔된 쪽지를 살펴보면 하트나 웃는 얼 굴, xo가 서명처럼 남겨져 있다. 보이지 않는 타인과 거의 실시간으 로 관계를 맺고 싶어 하는 바로 그 순간에 명랑하고 사교적인 글자 레퍼토리가 확장되는 것을 우연이라고 보기는 어렵다.
- 내부자 농담을 만드는 한 가지 방법은 컴퓨터 언어 자체를 사 용해 우스꽝스러운 유사 코드를 작성하는 것이다. 예컨대, HTML 에서 일련의 문자를 이탤릭체로 표시하고 싶다면 이탤릭체를 시작 하고 싶은 부분에 〈i)를 넣고 끝내고 싶은 부분에 </i>를 넣으면 된 다. 이런 형식은 자연스럽게 창의적인 활용으로 이어졌다. 예컨대, sarcasm (비아냥)이란 단어로 코드 모양을 만들어 <sarcasm〉난 뭐가 문 제인지 모르겠는데 </sarcasm)로 쓸 수 있다. 컴퓨터는 유머 감각이 라고는 없는 짐승인지라 명령어를 알아듣지 못한다. 하지만 컴퓨터와 대화하는 데 익숙한 동료 인간들은 당신이 꽤 영리하다고 생각할 수도 있다. 특히 당신이 이런 표현을 사용할 창의적인 방법을 찾아낸다면 말이다. 대단히 컴퓨터광다운 사례는 LISP라는 프로그래밍 언어에서 찾을 수 있다. LISP에서 예/아니오로 답할 수 있는 질문을 던지는 방법은 끝에 -P를 적는 것이다. 예를 들어, TRUE-P라고 적으면, “사실인가?” 라는 뜻이 된다. 전해오는 이야기에 따르면, 언젠가 LISP 프로그래머 몇 명이 외식을 하러 나갔는데 그중 한 명이 2인용 메뉴를 나눠 먹고 싶은 사람이 있는지 알고 싶어져서 "Split -p soup? (수프 나눔-P?)  라고 물었다고 한다.

'IT' 카테고리의 다른 글

비전공자도 이해할 수 있는 AI지식  (3) 2022.12.29
IT 잡학사전  (2) 2022.11.10
처음 읽는 양자컴퓨터 이야기  (0) 2022.07.07
웹 3.0 레볼루션  (0) 2022.07.03
1일 1로그 IT지식  (0) 2022.06.01
Posted by dalai
,