wsl이 나온지 꽤 오랜 시간이 지났지만 사실 그 동안은 쓸만한 APP(사실 뭐로 불러야 할지 모르겠다.)은 아니었다. 작년에는 노트북에 깔았다가 바로 지워버렸다. 전체 시스템이 무거워지고 알 수 없는 여러 오류들. 첨 MS STORE에서 우분투를 보았을 때는 CGYWIN이랑은 완전히 다른 느낌이었다. minix와도 완전히 다른 느낌이었다. 이제는 로컬에서 개발해서 테스트한 다음 서버에 적용하면 되겠네. '야 후' 였었지만 최 5분도 안돼서 그냥 지웠다. 욕도 하지 않았다. 그러다 불과 몇일전 윈도우10으로 머쉰런닝을 개발하다. Nvidia가 윈도우에 모든 기능을 넣지는 않은 것을 알았다. pytorch의 cnn이 상당히 무거운 엔진인 것을 안것도 사실 몇일이 지나지 않았다. torch의 CNN은 CPU로 돌릴 수 없다는 것도 마찬가지였다. 대안을 생각하다. 스토어에 있는 우분투가 생각이 났다. 나는 LTS의 의미가 무엇을 의미하는지 너무나도 잘 안다. 당근 우분투 LTS 버젼을 선택했다. 너무도 당연한 일이다. 그리고 CUDA를 설치하고 드디어 NCCL을 설치했다. 너무도 당연히 너무 탈 없이 잘 깔렸다. 이 의미를 이해하시는 분들은 상당히 많을 것으로 생각이 된다. 우리는 그냥 시간을 워퍼(웜홀 같은 곳을 지나거나 차원을 접어서 건너 뛰는 개념)한 것은 아니다. WINE를 와인으로 읽지 않는 분들 부터 VM이 무었인지 안는 사람들 windows 에 도커를 올려 보겠다고 삽질하던 그 수 많은 세월을 지나서 지금의 WSL을 만난 것이다. 프로그램을 하다보면 근원적 근본적으로 해결되지 않는 수 많은 문제와 개발만 하고 도망나온 수 많은 프로젝트가 있다는 것을 우리 또는 미래의 우리들은 알아야 한다. 그 많은 것들이 크로스 플랫폼 또는 유저가 원하는 그 간단하지 않은 간단한 포팅들을 간단하다고 거짓말하며 지금에 왔다. 서론이 너무도 길었다. 너무 감동 먹었다는 이야기이다. 참고로 지금 현재 원도우 환경에서 개발하던 수 많은 프로젝트를 WSL로 옮기는 작업을 하거나 고려 중이다. 그 이유를 설명하고저 이 글을 쓴다. 그리고 현재는 완전히 불가능한 WSL의 문제점도 같이 고민해보고자 한다. WSL1과 WSL2는 과연 무엇이 다르기에 내가 5분만에 지운 옛날의 그것에 흥분하고 있는지 이 글을 읽는 분들에게 알리고 싶다. 드디어 우리는 로컬에서 리눅스 프로그램을 개발하고 git이나 svn에 커밋을 하고 리모트에서 컴파일을 하고 리모트에서 배포가 되는 환경을 리소스에 전혀 구애받지 않고 할 수 있다는 말임을 이것이 무엇을 말하는지 알아 주었으면 한다. 필자는 수 많은 기간 동안 수 많은 솔류션 회사를 다니면서 이 어려운 환경에서 개발 또는 유지보수를 하기위해서 주말과 휴가를 반납하고 심지어는 명절을 반납해야 했다. WSL2는 완벽한 커널을 가지고 있다. 그리고 부팅하지 않는다. wsl --list를 실행하면 내가 실행할 수 있는 리눅스 배포판가 디폴트로 실행될 os가 어떤것 인지 보여준다 그리고 wsl을 커맨드 창에 실행하는 즉시 구질구질한 리눅스 부팅 메세지 없이 바로 진짜 눈을 깜을 시간도 없이 즉시 실행된다. 그리고 apt(이젠 더이상 apt-get이라고 타이핑할 필요가 없다) update를 실행하면 업데이트 대상에 커널이 떡하니 보인다. 완벽한이란 말은 거짓말이 아니었다. 이 감동을 잠시만 진정한 다음 다음 차에 WSL을 까발려 보자. 한가지 아쉬움은 WSL은 아직 많은 것이 필요하다. 그 이야기를 해보고 싶다.
암튼 2014년에 극장에서 이 영화를 봤습니다. 전반부에는 CG와 엑스트라수로 대충 투자를 많이 받았군 했지만 사막의 데이터센터로 간 다음부터는 이야기가 산으로 가기 시작하더니 자폭하고 끝나는 영화라 그렇게 추천하는 영화는 아닙니다. 지금쯤이면 왓차에 공짜로 볼 수 있을 겁니다. 최근 머쉰러닝을 공부하고 프로그램을 몇 개 짜보고 나니 이 영화가 갑자기 생각나더군요. 그래서 여러분의 리뷰를 읽어 봤습니다. 아쉽게도 유튜브 리뷰는 거의 찾을 수 없더군요. 그렇게 잘 만든 영화는 아니고 절반 보면 거의 반 수면상태에 빠지다 보니 그런가 봅니다. 지금 ChatGPT 때문에 세상이 시끄럽습니다. ChatGPT는 OpenAI작품이고 사실 구글은 이미 전 세계 1위의 챗봇인공지능을 가지고 있습니다. 뭐 구글을 걱정해줄 정도는 아니라는 말을 하고 싶습니다. 그리고 진짜 이야기는 지금부터인데요. 그 영화에는 PINN이라는 H/W와 OS(이름은 모름)가 있고 윌박사는 그 컴퓨터의 데이터 + APP의 존재로 업로드됩니다. 알파고나 ChatGPT랑 구조가 같지만 윌박사가 알파고가 되는 거고 업로드된 후에는 자기가 만든 OS의 잘 못 만든 버그부터 빠르게 수정합니다. 문제는 어느 시점부터인가(아마도 사막 마을 사람들을 무료로 치료해주는 시점부터인 것 같습니다) 윌은 인간성을 잃어버립니다. 모건 프리먼과 수많은 철학적 이야기를 하다가 자신이 이미 인간성을 잃었다는 것을 자각하고는 자폭합니다. 자폭하면서 덴마의 고드처럼 네트워크 속을 숨었는지 완전히 소멸했는지는 의문으로 하고 열린 결말로 영화는 끝이 납니다. 거의 모든 리뷰가 특이점 또는 초월성을 중점으로 하다 보니 제가 생각하는 이야기의 본질과는 달라지더라고요. 인간의 뇌 속에는 인간성을 관장하는 부분이 있어서 사이코패스나 소시오패스는 그 부분이 정상인보다 상당히 작거나 덜 발전해 있다고 합니다. 영화에서는 스스로 소스를 고치면서 점점 인간성을 잃고 자신의 여인도 컴퓨터 속의 APP로 만들려 합니다. 아마도 영화를 찍다가 투자자가 망했다고 판단하고 손절한 것처럼 보이더군요. 무대가 사막마을로 간 이후는 아마도 그 투자자가 빤스런한 이후인 것 같아 보이더라고요. 마지막 장면은 아마도 빤스런하기 전에 미리 찍어둔 장면이 아닐까 생각이 들더라고요. 며칠 전 읽은 기사에 말이 생각이 납니다. 현재의 기술로는 돼지의 IQ도 만들 수 없어서 금붕어를 수만 마리 엮어서 만든 게 지금의 인공지능이라는 기사를 본 것 같습니다.
현재 강화학습 모델은 과거 데이터로 히스토리를 만든 다음 주가차트와 보조지표가 다 있는 이미지로 env의 상태 tensor를 만들어 프로세싱한 모델이 강제로 3가지로 라벨링을 하기 때문에 비슷한 결과에도 어떤때는 보유 또는 관망이 되고 어떤때는 매매가 되므로 optimizer가 하이퍼 파라메트를 결정하기가 쉽지 않게 됩니다. 그래서 loss가 충분히 소멸하지 않고 계속 널뛰기를 하는 현상이 있습니다. DQN 내부의 CNN의 outputs값은 분류 총 값이지만 실제 비지도 학습으로 분류된 값은 약 500~800개 정도로 넓은 범위를 가지고 있습니다. 이것을 최종 nn.Linear함수를 거치면서 모든 값이 소멸하고 3가지로 축소 됩니다. 만약에 차트가 조금 상승할때 팔고 조금하락할때 사고를 반복하면 수익률은 점점 가파르게 감소하여 잔고가 0이 되게 됩니다. 실제 히스토리 함수가 매매를 자주 하지 않는 이유는 작은 변동에 매매가 발생할 경우 수익도 크지 않을뿐더러 낙폭이 크지는 경우 큰 손실이 발생한 다음은 손실을 복구하지 못하는 상황이 발생하게 됩니다. 그래서 매매를 자주 하지 않게 설계되어 있습니다. 이 부분은 실제로는 수학적 손실,손익과는 논리적으로 맞지 않기 때문에 이상적인 목표를 가진 CNN의 입장에서는 모두 loss로 인식이 되게 됩니다. 이 문제를 극복하기 위해서는 CNN자체를 upgrade하는 방법과 CNN과 RNN을 병합하는 방법을 연구해야 합니다. 저도 어느게 맞다고 말할 수 없습니다. 아직도 강화학습은 연구 대상이지 실용단계로 보기는 힘듭니다. RNN이란 말을 들어시고 뭔가 이상함을 느꼈다면 제가 앞에서 이야기한 인간이 개입한 데이터는 시계열 데이터로 보기 힘들다는 이야기 때문일 겁니다. 그러나 RNN은 주가분석같은 시계열 데이터 분석뿐만 아니라 자연어 학습에도 사용됩니다. 우리가 연구 중인 주식이나 코인의 매매 차트를 분류하면 조금 전에 말씀드린것처럼 약 800개의 패턴이 발생합니다. 그 이상을 넘어 가지는 않습니다. RNN 자연어 분석 예제를 보시면 입력값이 입력 글짜 수(여기에 차트의 비지도 학습 분류 패턴 수를 입력),hidden layer 갯수, 출력 글짜 수(여기에 매매프로그램이 사용할 행동갯수를 입력) 입니다. 이 부분을 잘 응용하면 CNN의 출력수(비지도 분류값 약 800개)를 RNN 의 입력값으로 hidden값은 init_hidden함수로 자동 계산되고 출력값은 우리가 구하려는 3가지(매도,매수,관망)일겁니다. 여기에 임베딩(GRU를 사용할 경우 encoding을 사용하여 자연어 분석시 학습률을 높일 수 있음)을 더하면 조금 더 복잡해지겠지만 단순히 차트만으로 분류하는게 아닌 순서적 흐름을 이용한 분류가 가능해 질것 입니다. 대부분의 값은 관망값을 가져야 합니다. 그렇다면 히든값은 무엇을 의미할까요? RNN에 들어갈 첫번째 값이 있다면 이 값은 시간적인 값t0의 값을 가질겁니다. 히든값은 그 다음에 올 수 있는 수 많은 가능성의 t1값의 tensor일 것입니다. 두 값의 연산에 의해서 t1이 결정되면 hidden은 가능성의값 t2의 텐서가 될것이고 그로 인해 실제 t2가 결정될것 입니다. 학습이 진행되면 정확도는 증가할 것으로 예상됩니다.
보람은 세 남매의 맏이로 어린 두 동생보다 아버지의 많은 것을 알고 있습니다. 두 동생의 눈에는 그저 아버지는 한심한 사람에 어머니를 죽음으로 내몬 사람으로만 기억할지도 모릅니다. 보람이 어렸을때는 보람의 집은 어느 정도 남 부럽지 않는 집이었습니다. 어머니가 아프신걸 안건 보람이 중학교에 들어 갈때 쯤입니다. 그 당시는 B형 간염 검사나 예방 주사를 맞는 것은 흔하지 않았습니다. 보람도 중학생이 되어서 B형 간염 검사를 했습니다. 검사결과 벌써 항원과 항체가 있었죠. 그건 이미 B형 간염에 걸려서 자연스럽게 치료가 되었다는 거죠. 그 당시는 B형간염에 대하여 무지에 가까운 수준이 었죠. 80년대가 되고 B형간염 백신이 보급되기 전에는 B형 간염은 간암의 원인 중 단연 1위였습니다. 보람이 중학교때 갑자기 어머니가 쓰러졌습니다. 병원에서는 B형간염에 의한 간경변이 진행하고 있으니 집에서 안정을 취해야 한다고 했습니다. 그 당시는 아버지가 하시는 사업이 잘 되어서 어머니는 치료를 잘 받고 하셔서 건강을 되찾을 수 있는 수준이 었습니다. 어머니는 몸이 괜찮아지는 것 같아 치료를 중단했습니다. 보람이 중학교를 졸업하고 고등학교를 올라갈 때 쯤 아버지 사업에 문제가 생겼습니다. 아버지는 무슨 일인지는 모르겠지만 하시던 공장을 파시고 다른 일자리를 알아보시러 이리 저리로 다니셨습니다. 그러기도 한 두달 쯤 아버지는 술을 드시기 시작하셨습니다. 보람에게 늘 다정하시던 아버지는 이젠 술에 빠져 늘 술만 먹는 그런 분이 되셨습니다. 가끔 어머니와도 다툼이 있으셨는데 외삼촌 이야기가 나왔습니다. 어른들의 일이라 자세히는 모르지만 외삼촌 사업이 힘들어 지면서 아버지에게도 문제가 생긴 것 같습니다. 술이 점점 늘던 아버지는 이제는 집에 오셔서 인사불성일 때가 많아 졌습니다. 아버지가 돈을 벌어 오시지 않자 어머니는 시장에서 이것 저것 식재료를 파시면서 돈을 벌어서 보람의 세 남매를 공부도 시키고 생활도 하게 되었습니다. 그 당시 아버지는 몇일식 먼 곳에 나가서 일을 하셨습니다. 집을 짓는 곳이나 공사장에서 막노동 인부로 일을 하시는 듯 합니다. 그 때 쯤이었습니다. 어머니는 버스를 타고 시장에서 팔 물건을 떼러 가시다가 버스가 급하게 출발하는 바람에 길바닥에 떨어지고 말았습니다. 때마침 뒤 따라 오던 차에 치여서 크게 다치셨습니다. 병원으로 실려갔지만 문제는 다른곳에서 생겼습니다. 어머니의 간 수치가 너무 높아서 응급 수술로 겨우 출혈만 막고서 수술을 중단해야 했습니다. 이미 어머니의 간은 간경화 상태였습니다. 의사 선생님의 설명으로는 이번 사고가 아니었어도 간경화로 돌아가신다고 해도 전혀 이상하지 않다고 하시며 일단 병원에 입원하라고 하셨습니다. 그때 아버지는 다른 곳에 일을 나가셔서 없었습니다. 당시는 휴대 전화도 없고 일반 전화가 겨우 보급되기 시작하던 때였습니다. 그리고 아버지가 일을 가시는 곳이 어딘지 알기에는 보람은 너무 어린 나이였습니다. 이미 어머니의 몸은 제기능을 하는 곳이 거의 없었습니다. 한 쪽 폐에 복수가 차서 등으로 굵은 주사기를 곱고 물을 빼내야 했습니다. 보람이 할 수 있는 일은 하나도 없었습니다. 그저 하염없이 흐러는 눈물을 속으로 삮혔습니다. 별써 몇일째 학교도 가지 않고 혼자서 어머니곁을 지켜야 했습니다. 밖으로 빠져 나오려는 울음소리를 감추고 하염없이 눈물을 삼켰습니다. 어머니는 아직 정신이 돌아 오지 않았습니다.
배와 모든 장기로 물이 차기 시작해서 계속 이뇨제를 맞으며 몰핀 주사로 겨우 겨우 생을 버티고 있었습니다. 보람에게나 어머니에게나 삶은 죽음보다 더 큰 고통이었습니다. 그렇게 어머니는 생명의 끈을 놓아 버렸습니다. 어머니가 돌아가시자 바로 장례식장으로 옮겨졌고 어머니는 차가운 시체실로 옮겨졌습니다. 동생들이 다니는 학교로 연락을 해서 동생들을 장례식장으로 오게 했습니다. 그리고 주위어른들과 어머니가 다니시던 교회에 연락을 했습니다. 교회를 같이 가시던 아주머니 몇분이 오셔서 일을 처리 해주시고 장례식에 오신 손님을 맞을 준비도 했습니다. 어머니 영정 사진이 없어서 집에 있는 어머니 사진을 뒤지고 뒤져서 겨우 사진관에서 영정 사진을 만들었습니다. 아버지 친구분들이 멀리 일하러 갔다가 술에 취한 아버지를 겨우 찾아서 업어 오셨습니다. 어떻게 보면 아버지는 정말 무능한 분이라 생각할 수 있지만 보람은 어느 정도는 아버지를 이해할 수 있을 것 같았습니다. 새벽이 되어서야 아버지가 갈증에 일어나셨고 아버지옆을 지켜 주시던 고향 친구분에게 아버지가 여쭈었습니다. "야 형식아 여기가 어디냐?" 그 아저씨는 아무런 대답도 없었습니다. 주위를 둘러보시던 아버지는 그래도 여기가 장례식장인것은 눈치챘습니다. 다시 친구에게 "여기가 누구 장례식장이고?" 그 때 그 고향 친구분이 아버지의 뺨을 힘껏 때렸습니다. 술에 취해 계셨던 아버지는 정신이 번쩍 들었습니다. 그 고향 친구분은 아버지의 죽마고우로 절대 그러실 분이 아니었기에 뭔가 잘못 되었다는 것을 아버지는 직감할 수 있었습니다. 아버지는 너무 늦게 어머니의 죽음을 아셨습니다. 장례식이 모두 끝나고 삼오제도 끝나갈 점에 아버지는 술을 끊었습니다. 그 이후로는 술을 절대 입에 대지는 않았습니다. 아버지는 일을 나가셔서 한달에 한번 정도 돌아오시고 꼬박꼬박 그 동안 번돈을 보람에게 맞겼습니다. 보람은 갑자기 소녀 가장이 되버렸습니다. 고3이 된 보람은 4년제 간호학과에 지원했지만 합격하지는 못했습니다. 그래서 2년제 임상병리과를 지원했습니다. 임상병리과는 학교 공부보다 매년 치러지는 임상병리사 자격 시험이 더 중요했습니다. 소녀 가장에게 공부란 쉬운일이 아니었습니다. 겨우 턱걸이로 시험에 붙을 수 있었습니다. 동생들이 어떻게 하고 있는 지는 신경 쓸 수가 없었습니다. 이제 보람은 어른으로 돈을 벌 수 있게 되었습니다. 다행스럽게 보람은 당시 꽤 큰 병원에 임상병리사로 들어 갈 수 있게 되었습니다. 몇일 동안 선배분들이 하는 것을 보면서 저녁에는 남아서 추가 교육도 받았습니다. 보람이 처음 한일은 번호표를 가지고 오시는 분의 이름을 확인하고 피를 뽑아서 작은 실험관에 넣고 원심 분리기에 이름표를 붙여서 올려 놓는 것입니다. 어머니가 아프실때 병원에서 자주 보는 관경이라 별로 이상하지도 않습니다. 피 뽑는 일이 어느 정도 익숙해질 쯤 보람은 새벽 6시에 병실을 돌면서 채혈 검사가 있는 환자분들의 채혈을 하고 실험관에 이름표를 붙이고 모아 오는 일을 하게 되었습니다. 채혈 창구에는 또 다른 후배가 배정 되었지만 보람이 창구업무에서 완전히 배제 된건 아니었습니다. 그래도 지금 병실을 도는게 훨씬 편합니다. 그러자 병원과 병원에 있는 사람들이 보이기 시작했습니다. 오늘은 월급날입니다. 그것도 밝은 대낫에 퇴근하는 월급날입니다. 매일 잠든 동생을 보다가 낮에 동생들을 볼 수 있습니다. 오늘은 특별히 반찬도 사고 고기도 조금 샀습니다. 동생들이 좋아할 반찬도 하고 벌써 대학생이 된 상식이는 집에서 학교 과제를 하고 있었습니다. 집안 형편때문에 대학교를 포기하려던 상식을 겨우 말려서 대학교를 보냈습니다. 아버지가 벌어 오는 돈과 보람의 월급을 합하면 정직은 어렵지 않게 대학교를 갈 수 있을 것 같았습니다. 정직은 그래도 학교에서 공부를 곧 잘하는 편이었습니다. 보람네 병리과에서는 직장을 병원이라고 하지 않았습니다. 다른 곳에서나 집에서는 항상 회사라고 합니다. 일종의 암묵적인 룰입니다. 병리과 전문의 선생님들은 'OO선생'으로 좀 오래된 병리과 선배님은 대리님으로 신입딱지를 땐 직원은 주임으로 신입 직원은 그냥 이름으로 불립니다. 신입들은 누구나에게 이름뒤에 샘을 붙입니다. 과장님들은 무조건 과장님으로 불리웁니다. 다른 과 분들은 병원에서는 보람을 부럴때는 '보람샘'으로 불립니다. "보람샘" 뒤에서 보람을 부러는 소리에 고개를 돌려 돌아 보니 얼마전 소화기내과에 새로 오신 인턴 선생님이었습니다. 과장 선생님의 오더가 내리면 병리과로 검사의뢰를 하시는 분입니다. 뭐 다른 잡일도 다하시지만 그래도 병리과와 인연이 있는 분이라는 뜻입니다. 이 인턴선생과는 어쩌다 보니 자주 어울리게 되었습니다. 보람이 당직일 경우나 새벽 채혈이 있는 경우 항상 있기에 새벽근무가 끝나면 김밥에 떡볶이도 같이 먹고 야간에 근무할 때 자판기 커피도 같이 하고 힘든 인턴생활의 넋두리도 보람이 들어 주었습니다. 그런데 오늘은 얼굴이 밝아 보입니다. 그냥 얼굴색이 하얗게 보이는게 아니라 정말 빛이 나는 것처럼 보입니다. 보람은 자기도 모르게 멍하게 그 선생의 얼굴을 빤히 보게 되었습니다. 오늘은 자기가 휴가를 받아서 하루 동안 맘껏 쉴 수 있다면 자기랑 같이 영화를 보자고 합니다. 보람도 새벽근무를 한 이후라 조금 있으면 퇴근입니다. 두 사람은 그 때쯤 유명한 영화표를 예매하고 근처 카페에서 커피를 마셨습니다. 두 사람은 어느듯 비슷한 처지에 친구가 된것 같습니다. 둘다 부르는 호칭만 'OO샘'이지 반말파입니다. 나이는 인턴샘이 나이가 훨씬 많지만 병원짬은 보람이 훨씬 많습니다. 의사고시를 합격하고 얼마전에 병원에 와서 아직은 모든게 서툴은 사람입니다. 살짝궁 모성애도 자극하는 타입이라 마치 보람이 누나같을 때도 많습니다. 영화를 보고 나오자 벌써 주위가 어뚝합니다. 저녁을 미리 예약 해두었다며 같이 가자고 합니다. 오늘따라 인턴샘이 좀 과한 것 같습니다. 보람은 오늘따라 달라 보이는 인턴샘을 말없이 따라 갔습니다.
국정원(그 당시는 안기분가?) 내부로 숨어던 북한의 간첩 동명 그 정체를 알고 있는 북한 동경 지부장을 구해서 간첩의 정체를 밝혀야 한다. 영화는 헐리우드 액션에서도 보기 힘든 근접 촬영으로 이정재와 정우성의 싸움과 동경에서의 총격전 등 시원한 볼거리를 보여준다. 사실 약간의 트릭이 스토리에 숨어 있다. 하나의 사건 같지만 전혀 다른 두 사건이 같은 목적을 바라보고 위선에서는 두팀을 경쟁시키지만 결국 두팀은 목표에 점점 접근한다. 이 트릭으로 인해 모두가 범인같고 모두가 또 안니것 같다. 우리 뽀빠이 정재형을 구해야 하는데 쓸데없이 인질이 죽고 동경지부장에게 무리한 조건을 걸다. 모든 단서는 다날간다. 이제는 증거고 뭐고 간에 무조건 상대가 범인이다. 인질을 무자비하거 살해한 정우성 동경작전을 무리해 실패한 정재형도 수상해. 그러나 감독의 트릭을 걷어 내고 보면 서로 다른 목표를 바라 보고 사건은 하나가 아닌 둘인것을 안다. 사건은 버어마 폭파 사건을 모티브로 하고 있기에 결말도 정해져 있다. 너무 잘 만든 영화이나 관객들의 외면이 나를 실망하게 한다. 그래도 OTT에 떴다. 정재형 한번 뛰워 주자 진짜. 정말 잘 만들었는데 이제는 우리도 OTT세대가 되었나 보다 영화관 성적은 그랬지만 OTT는 밀어 줘야지.
상식씨는 프리랜서 프로그램입니다. 나이는 50이 넘었지만 그는 미혼입니다. 딱히 결혼 생각을 하지 않았고 부모님 두분이 일찍 돌아가셔서 결혼하라는 푸시도 없고 또 직업상 수익이 적은 점은 아니지만 불규칙한 수익으로 누군가를 책임진다는 것은 너무 무책임해보였습니다. 스치는 여자나 만나는 여자들은 다 프로젝트와 관련된 분들이었고 여자들에게 인기가 없는 것은 아니었지만 딱히 결혼 생각없이 만나니 친구이상의 발전은 무리였습니다. 그저 여자 사람 친구일뿐 이성적 감정은 전혀 없었습니다. 결국 이제는 50이 넘은 나이에 누구를 만나 결혼을 말하는 것 자체가 민폐인 나이가 되었습니다. 지금은 얼마전 큰 프로젝트를 마치고 한 15일 정도를 쉬고 다음 프로젝트에 투입하기로 하고 맘껏 게으름을 즐기고 있습니다. 같은 동네에 상식씨보다 4살 동생이지만 갔다온 돌싱 노처녀 정민씨가 있습니다. 실력을 인정받은 웹디자이너인 정민씨는 컨셉회의때만 잠시 사무실로 출근 이후 작업은 집에서 합니다. 즉 대부분 집에 있다고 보면 됩니다. 오늘은 상식씨랑 시간을 보내며 광합성을 즐길 생각입니다. 상식씨는 옆집 꼬맹이 지원과 아주 친합니다. 지금은 펜데믹 상황이라 지원이는 일주일 학교가고 일주일은 집에서 원격 수업 또는 EBS방송 시청을 합니다. 또래들보다 정신적 성숙함을 자신하는 지원에게는 세상 모든게 한심해 보이는 좀 이른 사춘기입니다. 오늘 세사람은 놀이 동산에서 자유를 만끽하기로 했습니다. 상식씨는 미리 지원이 어머니에게 허락을 맞고 뭐 사실 직장을 다니는 지원이 어머니는 지원이와 같이 있어 주는 것만으로도 감사한 일이죠. 상식씨와 정민씨는 여자사람친구이구 정민씨는 첫 결혼 실패 후에는 결혼에 대한 부정론으로 부모님도 주위 사람도 정민씨 앞에서 결혼을 말하는 것이 금기가 된 그런 상태입니다. 4살 나이 차이에도 정민씨는 상식씨에게 반말파입니다. "잘 있었어. 오래만? 지원이도 오랜 만이다." 그런 터울없는 정민씨가 상식씨도 좋습니다. 어른이라는 것은 참 좋은 것 같습니다. 다른 결혼한 사람들은 책임의 굴레에서 헤매지만 상식씨는 누구를 케어하거나 또 누구에게 걱정의 존재가 되는 것 자체도 싫습니다. 혼자 경제활동을 하지만 혼자 쓰기에는 프리랜서의 월급은 오히려 많은 편이 었습니다. 딱히 별 다른 취미가 없는 관계로 돈은 통장에 꼬박꼬박 쌓이고 있습니다. 가끔 지원이와 정민씨와 같이 하는 외출은 그런 상식씨에게는 마음의 평화를 줍니다. 지원과의 만남은 원래 옆집아이라 자주 인사도 하고 지원이 어머니 부탁으로 가끔 케어도 해주고 해서 그렇게 알다가 이 번에 인터넷 수업을 하게 되어 컴퓨터를 봐주게 되었습니다. 컴퓨터는 아주 사용하기도 힘든 수준의 옛날 컴퓨터에 인터넷도 느렸습니다. 지원이 쓰는 방과 상식씨의 방은 가벽이 었습니다. 눈 쓸미 좋은 상식이 벽을 노크하듯 때려 보고는 금방 알았죠. 사실 오스피텔이나 투룸, 쓰리룸 형 빌라들은 옆집과 옆집사이에 석고로 된 가벽이 있습니다. 화재시 비상 대피 역할도 하고 콘트리드로 중앙 기둥을 만들고 방을 만들 때도 그렇게 하는 경우가 많죠. 상식씨는 약간의 쇼핑 중독끼가 있습니다. 왠만한 전기공구는 조금이라도 필요해보이거나 편리해보이면 사용 유무와 상관없이 구매를 하는 경우가 꽤 있습니다. 그 때 인터넷 광고를 보고 구매한 가벽 뚤는 전동 드릴이 생각났죠. 작은 구멍정도야 나중에 이사갈 때 막으면 깜쪽같이 막을 수 있으니 구멍을 하나 내기로 합니다. 구멍사이로 랜선을 하나 넣고 자신 집 공유기에 연결합니다. 그리고 전번 프로젝트할 때 사서 안쓰고 있는 노트북을 지원이 책상에 설치하고는 아까 연결한 랜선을 노트북에 연결합니다. 지원이에게는 "아저씨 애장품을 선물하는거니 공부 열심히 해야해"라면 함껏 어깨를 올립니다. 학교 홈페이지도 겨우 켜지던 옛날 컴퓨터에 비하면 이건 신세계입니다. 그날 이후 지원이에게 절친 옆집 고릴라 아저씨가 생겼습니다. 상식씨는 누가 봐도 2m가 넘는 거구에 얼굴은 미남형인데 지원이에게 거대 괴수처럼 보였나 봅니다. 사실 지원이와 어머니는 아버지를 피해 몰래 도망나와서 살고 있습니다. 심각한 수준의 가정 폭력으로 인해 어머니는 가정폭력 보호단체의 도움으로 지금의 집을 구하고 힘들게 겨우 겨우 살아 가고 있었습니다. 그렇게 세사람의 일광욕 타임은 끝나고 해가 늬엇늬엇 해지자 동네에 도착했습니다. 각자 싱글인 상식씨와 정민씨는 집에 가면 혼자 밥을 먹어야 하기에 저녁은 지원이까지 해서 외식을 하기로 했습니다. 고기집에서 삼겹살에 밥을 시키고 어른 들은 시원한 맥주도 한병시켰습니다. 정민씨를 보내고 지원이와 상식이는 손을 잡고 집으로 가고 있었습니다. 그 쯤에 둘은 모르는 사고가 있었습니다. 지원이 아버지가 드디어 지원이와 어머니가 숨어 살던 집을 찾아 낸 것입니다. 대부분의 가정 폭력을 행사하는 남자들은 데이트 폭력범과 비슷합니다. 정신 멀쩡할 때는 내가 잘못 했는니 어쩌니 하면서 싹싹 빌다가 그 분위기가 변하면 돌변합니다. 지원이 아버지도 그런 부류인거죠. 지원이 엄마는 문을 열어 주었고 문제는 그 때 발생했습니다. 또 폭력범으로 돌변을 한겁니다. 가정 폭력범들의 폭력은 폭력을 넘어서 위해에 더 가깝습니다. 일반적인 남자대 남자의 싸움을 하듯 사정없이 주먹을 날리고 발길질이 이어집니다. 대상자가 싹싹 빌어도 이미 소용이 없습니다. 거의 미친 사람으로 돌변해버립니다. 지원네 가족이 사는 투룸식 빌라는 거실도 없고 바로 주방이 붙어 있는 구조라 폭력에 정신이 혼미해진 지원이 엄마의 눈에 들어 온건 싱크대 문 뒤에 있을 식칼걸이 였습니다. 몰래 몸을 뒤로 물려서 드디어 식칼걸이가 있는 싱크대 문까지 도착했습니다. 지원이 아버지가 숨을 고르고 있는 사이를 노려 식칼로 뒤에서 오른쪽 갈비뼈 밑쪽을 찔렀습니다. 지원이 아버지는 허공에 대고 헛손짓을 해보았지만 힘없이 주저 않았습니다. 지원이 어머니는 한번 더 칼을 가슴아래로 깊숙히 찔렀습니다. 그리고 칼을 바닥에 떨어뜨리고 는 힘없이 울기 시작했습니다. 칼을 쓰지 않았다면 분명히 지원이 아버지에게 맞아 죽거나 병원에 실려 갔을 겁니다. 전에도 여러번 기절할 정도로 맞은 적이 한두번이 아니었으니 당연히 알 수 있었습니다. 그 때 상식씨가 지원이네 집에 도착했을 때입니다. 문이 열려 있어서 문을 열자 온 사방은 피가 튀어 있었습니다. 재빨리 지원의 눈을 가리고 지원에게는 상식씨 집에 가 있으라고 했습니다. 그 때 지원이 어머니가 극단적은 선택을 하려할 때 상식씨는 겨우 어머니를 말릴 수 있었습니다. 상식씨의 신고로 경찰과 함께 119구급차가 왔습니다. 지원의 아버지는 이미 목숨을 잃은 지 오래였고 지원의 어머니는 현장에서 체포되었습니다. 상식씨는 정민씨에게 전화를 해 지원이를 좀 봐달라고 하고 경찰아저씨에게 물어 지원이 어머니가 체포된 경찰서로 갔습니다. 상식씨는 동생 정직씨에 전화를 걸어 변호사를 소개받았습니다. 곧 바로 사건을 의뢰하고 변호사와 같이 해당 경찰서로 갔습니다. 변호사는 해당 검사에게 자수를 한점과 돌보아야 될 딸이 있다는 점. 주거가 일정하고 도주의 우려가 없음을 이야기 했습니다. 1심 재판은 불구속 상태에서 치러졌지만 감형없는 5년형이 선고되었습니다. 지원이 어머니는 상고하지 않아 형이 확정되었습니다. 지원이가 시설로 가게되는 것은 그전에 변호사의 설명으로 잘 알고 있었습니다. 상식씨는 정민씨에게 제안을 하나 했습니다. 계약 결혼이었습니다. 둘은 결혼은 하지만 일체 성생활은 없으며 오로지 지원이를 시설에 보내지 않기 위한 결혼이었습니다. 그리고 지원이 어머니에게는 사정을 말씀드리고 친권포기 각서를 받아서 지원이를 둘의 양녀로 입양했습니다. 둘은 서로 돈을 보태 상식씨의 동생 정직씨가 사는 아파트에 집을 구했습니다. 같은 동이지만 층만 다른 3층과 9층이었습니다. 상식씨는 얼마전 결혼한 정직씨가 아이가 셋이라는 이야기를 들었었습니다. 정직씨네 가족에게 지원이를 소개하기로 했습니다. 정직씨네 첫째와 둘째는 중학생과 고등학생이고 막내가 지원이와 나이가 같았습니다. 막내의 품에 우리의 냥이는 늘어지게 한숨을 자다가 지원이를 한번 보고는 관심없다는 듯 다시 고개를 숙입니다. 그러다 살짝 눈을 떠 지원이 얼굴을 봅니다. 지원이는 사실 한 인물합니다. 나중에 연예인을 해도 될 정도로 이뻐게 생겼죠. 막내와 지원이는 금방 친해졌죠. 사실 상식씨와 정직씨는 몇십년만의 만남입니다. 같은 하늘 아래 살아도 다시 볼 수 있을 거라고는 생각지 않았죠. 상식씨와 정민씨와 지원이는 같은 한집에 싸는 것 외에는 달라진게 없었습니다. 정민씨의 걸음 몇발짝 출근은 여전히 똑같았고 상식씨의 몇달일하고 몇일 쉬고 하는 프로젝트 패턴도 달라지지 않았습니다. 그러나 지원에게는 많은 것이 달라졌습니다. 친척 과 가족이 생겼고 공부를 봐주는 부모님이 생겼고 학교 선생님과 진로상담도 이제는 할 수 있게 되었습니다. 그렇게 5년이 지났습니다. 지원이 어머니가 형을 맞치고 나오는 날입니다. 상식씨의 제안으로 지원이 어머니도 같은 집에 살게 되었습니다. 그날의 일은 모든 사람에게는 지우고 싶은 고통일겁니다. 하지만 그날 이 후 새로운 가족이 생겼습니다. 이 가족을 설명하는 것은 참 쉽지않습니다. 그러나 어떤 가족보다 끈끈하게 연결 되어 있습니다.
'설 익은 밥에 재뿌리기'는 우리나라 5G를 빗대기 가장 좋은 말이 아닐까요? 아무런 쓸모 없는 전세계 최초 서비스라는 타이틀을 얻기 위해 되지도 않는 서비스를 오픈 후 고객들에게 기존 4G인 LTE모델보다 10배이상 빠른 속도를 지원한다는 과장 광고에 비싼 요금제를 사용하게 하면서도 서비스품질은 최악을 보여 주었습니다. 마침내 주무부서인 방통위에서는 저속밴드FR1에 투자하고 고속밴드인 FR2에는 투자를 하지않은 통신3사에 주파수 할당 취소와 과징금을 물린다는 발표가 나왔습니다. 그런데 이게 진짜 문제일까요? 사실 5G핸드폰이 접속하는 네트워크는 4G,5G FR1,5G FR2, 5G를 사용하는 고속WIFI, WIFI등 여러개의 망을 사용합니다 그러다 보니 골고루 설치되어 있지 않은 5G네트워크로 인해서 잦은 핸드OFF(망이 바뀌는 순간 데이트의 동기를 맞추기 위해 일순간 접속이 끊어지는 현상)이 계속 발생하게 되는거죠. 그러다 보니 5G통화품질이나 네트워크품질 불만을 표하는 고객에게 4G요금제로 변경해주거나(이것도 강력한 항의를 표하는 고객들에게는 해줍니다. 비공식적으로 거의 다 해줍니다. 다만 강력한 의사표기가 없는 사람이 대부분일뿐입니다.) 환경설정 메뉴에 4G망으로만 접속기능을 사용할 것을 가이드하고 있습니다. 요금제는 5G무제한 요금제지만 실제로는 기능 좋은 4G폰을 사용하는 사람이 대다수라는 사실입니다. 위의 방법을 사용하게 되면 안정적인 LTE망에만 접속하므로 핸드오프는 거의 발생하지 않습니다. 실제로 5G를 사용할 경우는 계속 네트워크가 계속해서 변경되기 때문에 한강을 지나는 2호선 당산철교 구간 또는 지하와 지상이 바뀌는 모든 전철 구간에서 네트워크 단락이 발생합니다. LTE는 전혀 발생하지 않는 일이 상위 레벨인 5G에서 발생하는 어처구니가 없는 일이 발생하는 것입니다. 사실 이 문제는 스마트폰이 처음 나올때는 방법이 없었지만 하드웨어와 네트워크를 조금 변경하면 해결할 수도 있지 않을까요? 리눅스나 유닉스 계열 시스템을 설치하고 운영하는 시스템 엔지니어에게는 이미 늘리 퍼져 있는 본딩이라는 기술이 있습니다. 본딩이란 여러 네트워크 카드를 하나로 보이는 일종의 가상네트워크를 만든 다음 하위레이어에서만 네트워크 단락이 발생하고 상위레이어에서는 끊김없이 넓은 네트워크 대역을 사용하는 방법입니다. 현재 5G는 5G FR1에 접속하고 있다가 FR2가 가능하면 FR2로 접속했다가 네트워크 품질이 나빠지면 LTE망으로 접속하면서 계속 연결을 유지합니다. 그때 마다 하드웨어인 모뎀이 계속 바뀌게 됩니다. 심지어 통신사 공개 WIFI망에 들어가면 이번엔 WIFI망에 접속합니다. 아직도 요금제에 묶인 네트워크 정책을 유지하느라 가장 요금이 적게 나오는 방법을 찾아 네트워크가 바쁘게 움직입니다. LTE만 사용하게 설정한 고객이 있다고 생각해 보면 어떨까요? 5G는 LTE보다 훨씬 떨어지는 네트워크 품질을 만들 수 밖에 없는 구조인거죠? 스마트폰의 5G마크(우측 상단에 있는)는 계속 나타났다 사라지고를 반복합니다. 사실 한곳에 가만히 있어도 네트워크 품질은 좋지 않습니다. 그것은 한 기지국에 최대 인원이 모인 경우 발생합니다. 딱 떠인 공간에서 조차 통신이 먹통이 될 때가 자주 발생합니다. 4G네트워크는 일본땅 대마도에서 통신이 되어서 감동한 사람들이 많습니다. 예전에 바다낚시를 간적이 있는데 서해바다 한가운데서 끊김없이 서비스가 되는 LTE서비스에 놀란 적이 있었습니다. 당연히 4G요금제를 사용하면서 소비자 불만을 제기한 분들은 많지 않았던 것으로 알고 있습니다. 지금 5G는 서비스 기초 개념 설계마저 의심이 들게하는 품질입니다. 5G FR1과 FR2를 왔다 갔다 하는 수준이라면 고속밴드가 안된다는 사실조차 고객들은 모른체 살지 않았을까요? 5G FR1서비스 마저 서비스가 제대로 않되기에 고객들이 이 사기 행각을 발견할 수 있었지 않을까요. 사실 예전에 LTE초기에도 4G와 3G를 왔다 갔다 하는 네트워크 구성을 사용했었습니다. 하지만 5G는 애초에 두개의 밴드를 가지고 5G FR1만으로도 기존 LTE의 6배의 속도를 내므로 5G FR1만이라도 제대로 서비스가 됬다면 이런 문제가 되었을까요?그리고 5G가 안된다고 4G까지 내려가는 건 좀 너무 하지 않나요? 그기다가 WIFI망까지 내려 가게 되면 이걸 서비스라고 할 수 있을까요? 기존의 방법을 답습하면 결국 같은 실수를 되풀이하고 언젠가는 소비자들의 외면을 싸지 않을까요?
벌써 며칠 째였는지 모르겠습니다. 기현 씨가 하루를 벗어나지 못하고 시간에 갇혀 버린 게... 기현 씨는 무엇을 잘못한 걸까요? 그는 지금 시간의 늪을 벗어나지 못하고 있습니다. '사랑의 블랙홀' 같은 영화는 자고 일어나면 다시 하루가 반복되지만 기현 씨의 하루의 반복은 그렇지 않습니다. 시간이 되면 암흑물질에 빠져 숨도 쉬지 못하고 정신을 잃어버리고 한참 후 다시 깨면 그 자리입니다. 며칠을 헤매다 자신이 시간에 갇힌 것이 딸의 죽음을 막지 못한것이 원인인 것을 알았습니다. 아니면 딸아이를 죽음으로 내 몬 범인들을 잡지 못한 게 이유일지도 모르겠네요. 시간에 갇힌 어느 하루 딸아이의 동선을 따라 움직였고 아참 기현 씨의 시간 루프는 기현 씨가 마치 유령 같은 존재라는 것을 미리 말씀드리지 않았네요. 암튼 딸은 지금 중3입니다. 그날은 수업을 일찍 맞히고 집에 있다가 전화를 받고 외출을 합니다. 전화를 건 아이는 기현 씨도 잘 아는 유치원 때부터 기현씨 애를 아는 남자애였습니다. 패스트푸드점에서 햄버거와 음료를 마시고 그 애와 어디론가 갑니다. 기현 씨 집은 새 아파트가 즐비한 곳이긴 하지만 반대편 동네는 전형적인 시골 동네입니다. 넓은 들판으로 아직은 고개를 숙이지 않은 벼들이 빼곡히 자라고 있습니다. 왜 이런 곳으로 기현 씨 딸을 데려가는지 또 왜 딸은 아무 의심 없이 따라 가는지 기현 씨는 알 수가 없었습니다. 도착한 곳에는 한 명은 고2 정도로 보이고 또 다른 한 명은 같은 또래로 보이는 애가 있습니다. 놀라운 것은 딸이 아무렇지 않게 큰 남자아이에게서 담배를 받아서 무는 것이었습니다. 자신이 아이에 대해서 자세히 몰랐다는 것에 충격을 받았지만 사건이 일어난 것은 그다음이었습니다. 큰 남자애가 몽둥이로 갑자기 기현 씨 딸을 공격합니다. 처음 그곳을 같이 간 아이는 공포에 질려 도망가고 다른 또래 아이는 낄낄대고 웃습니다. 이 것이 신이 내리는 벌이라면 가장 최악의 벌 일 겁니다. 아무것도 하지 못하는 몸으로 딸이 나쁜 놈들에게 윤간을 당하고 있지만 아무런 것도 할 수 없었습니다. 시간이 흘러 암흑에 갇히고 의식이 사라졌습니다. 그러고도 며칠을 계속 그 장면을 목격했습니다. 눈물이 계속해서 흘렀지만 아무것도 할 수 없었습니다. 이 이상한 현상이 끝나면 반듯이 놈을 죽여 버리겠다고 다짐에 다짐을 합니다. 그렇지만 계속 의문이 드는 것은 왜 딸이 아무 의심 없이 그 애들을 따라가고 도대체 그 애들은 누구인가 하는 것입니다. 하루는 공포에 질려 도망가는 딸아이의 어릴 적 친구 녀석을 따라갔습니다. 이 상황을 바꿀 수 없다면 다른 단서나 증거를 찾아야 합니다. 사실 지금처럼 이런 기 현상이 있기 전에 그의 딸은 사건 현장 근처에서 다 찢긴 교복을 입고 속옷도 입지 않은 채로 한 아파트 계단실에서 뛰어내려 자살했습니다. 딸을 잃은 슬픔에 실신을 했던 건지 그 이후는 지금과 같이 계속 같은 상태입니다. 그 애를 따라 막 지하철 사람들 사이를 가는데 분명 누군가가 자기를 쳐다보는 것을 느꼈습니다. 다른 곳을 보는 척하다가 다시 보니 그 사람과 눈이 마주쳤습니다. 그 사람은 기현 씨와 같은 유령과 같은 존재였습니다. 그 사람을 잡았습니다. 그렇습니다. 그 사람은 다른 사람과 달리 잡을 수도 느낄 수도 있었습니다. "도와주세요." 기현 씨는 미친 듯이 외쳤습니다. 그 사람은 기현 씨에게 말했습니다. "며칠이나 됐나?" "그게 왜 궁금하시죠?" 기현 씨의 말에 그 사람은 말을 이었습니다. "자네는 나와는 다른 존재라네. 생령이라 하지. 자네 몸은 아직 죽지 않았네. 빨리 자네 몸을 찾아야 한다네. 생령도 오래되면 몸은 생명을 잃고 비로소 죽게 된다네." "선생님 저에게는 이상한 일이 일어나고 있어요. 어느 순간이 되면 암흑에 쌓이게 되고 계속 같은 날이 반복됩니다. " 그 사람이 대답했습니다. "생령은 가끔 시간을 넘을 수 있는 능력이 생기기도 하지. 그렇다면 다음 번 시간으로 돌아 가면 자네는 무조건 자네 몸을 찾으려 가야 하네" "아뇨 안됩니다. 그 하루는 딸이 비참하게 나쁜 놈들에게 당하고 스스로 생을 마감하는 날입니다. 이건 신이 주는 벌이거나 아니면 딸을 다시 살릴 수 있는 기회일지도 모릅니다" "그렇지 않네. 자네가 생령에서 풀려 살아나게 된다면 이 시간을 뛰어 넘는 능력도 사라지게 되네. 살려면 어쩔 수 없는 선택이야" 거기까지 대화가 이어지고 또 암흑의 물질에 묻혀 의식을 잃었습니다. 기현 씨는 사실 코마 상태였던 거죠. 의사 선생님의 설명은 '결박 증후군' 즉 뇌는 멀쩡하지만 몸의 모든 부분과 신호가 끊어져 꼼작도 못하는 그런 상태로 일반적인 코마와는 다르다고 합니다. 즉 뇌는 정상적으로 살아 있기 때문에 뇌 내부의 신호는 정상이지만 몸은 전혀 반응이 없다고 합니다. 다시 시간이 돌아오고 기현 씨는 그 사람을 찾아서 지하철로 갔습니다. 그 사람은 아니지만 다른 존재를 만날 수 있었습니다. 소위 말하는 저승사자입니다. 그는 '저승사자'는 인간이 만든 말이고 자신은 기현 씨를 인도하여 이계로 갈 수 있게 하는 무형의 존재이며 기현 씨가 상상하는 모습으로 기현 씨의 앞에 나타났다고 합니다. 그 존재는 기현 씨에게 시간이 많지 않으니 빨리 본체로 돌아갈 것을 요구했습니다. 그리고 기현 씨가 있는 병원으로 그를 데려다 주었습니다. 기현 씨는 누구보다 평안한 모습으로 누워 있었습니다. 여기서 생령의 존재를 끝내고 다시 깨어나면 딸과는 영원히 이별입니다. 그 존재에게 기현 씨는 물어봤습니다. 지금보다 더 과거로 갈 수는 없냐고. 일상의 세계는 시간이 한 줄로 주욱 이어져 벗어날 수 없지만 영혼의 상태에서는 시간은 무의미하다고 합니다. 그리고 그가 코마를 끝내고 육체로 돌아가면 시간의 루프는 다시 한 줄로 연결되어 흐르게 된다고 합니다. 그래서 기현 씨는 더 과거로 가보기로 했습니다. 그날은 기현 씨 딸이 갑자기 고가의 블루투스 이어폰을 가지고 온날이었습니다. 기현 씨의 아내는 사주지 않은 이어폰이 어디서 낮는지 물었고 딸은 친구 것을 잠시 빌렸다고 합니다. 더 과거로 가봐야 할 것 같습니다. 딸의 학교입니다. 딸의 반에 청력을 거의 잃어버린 반의 친구가 있습니다. 그 아이에게는 핸드폰과 이어폰이 필요했습니다. 핸드폰은 그 아이의 잃어버린 청력의 역할과 부모님과 향시 연락하는 수단이었습니다. 그래서 그 아이의 휴대폰은 무제한 요금제였지만 기현 씨의 딸은 반에 가자마자 그 아이의 핸드폰을 뺐고 이어폰으로 고가의 음악 스트리밍 서비스를 듣고 있었습니다. 물론 처음으로 안 딸의 모습이었습니다. 원인은 기현 씨 자신에게 있는지도 모르겠습니다. 며칠 전 집에서는 대화도 없이 핸드폰만 보고 있는 모습에 화가 난 기현 씨가 아파트 베란다에서 밖으로 핸드폰을 버려버렸습니다. 아내는 다음날 딸에게 저가의 핸드폰을 사주었지만 기현 씨는 아이의 통신 요금제를 인터넷도 안 되는 기본요금제로 바꾸었습니다. 아내의 말류에도 기현 씨는 고집을 꺽지 않았습니다. 그 나비효과를 기현 씨는 지금 보고 있는 건지도 모르겠네요. 그 고등학생을 찾아봐야겠습니다. 기현 씨가 알게 된 것은 생령에게 시공간이 무의미하다는 것을 알게 되었습니다. 생각만으로 그 녀석이 있는 곳으로 갈 수 있었습니다. 그 녀석은 남들이 다 학교에 있는 시간에 당구장과 PC방을 돌아다니면 가끔 중2~3 정도의 남자아이들을 만나서 돈을 주고 있었습니다. 정말 말로도 들어보지 못한 청소년 사채입니다. 물주인 이 녀석은 돈을 빌려 주면서 수금을 하는 중학생 녀석들에게 꽤 많은 수당을 주고 있었습니다. 구조는 피해자가 가해자가 되고 다시 피해자는 새로운 피해자를 데려오는 그런 방식이었습니다. 딸에게 남 부럽지 않게 용돈을 주고 있다고 생각했었지만 기현 씨 생각이 맞는 것은 하나도 없었습니다. 이때까지 딸을 몰라도 너무 몰랐고 세상을 몰라도 너무 몰랐습니다. 눈물이 계속 났습니다. 정신이 멍해졌습니다. 잠시 눈에 불빛이 비쳤고 의식이 몽롱하다가 다시 암흑 속에 갇혔습니다. 또 하루가 지난 겁니다. 이번에는 암흑에 갇혀서도 생각이 가능했습니다. 잠시 생각을 해보았습니다. 이대로 생령에서 깨어난다면 딸의 복수는 가능하지만 딸은 영원히 살릴 수 없습니다. 만약에 딸이 죽기 전으로 돌아가서 자신이 깨어날 몸을 찾는 다면 어쩌면 딸의 운명을 바꿀 수 있지 않을까 생각했습니다. 의식이 암흑에 묻히자 그는 다음날을 기다렸습니다. 다시 새로운 날이 오자 모든 병원의 이곳 저곳을 뒤졌습니다. 그리고 코마에 빠져있는 고등학생으로 보이는 아이를 발견했습니다. 그리고 그는 결심했습니다. 그 아이의 몸에서 깨어나 딸의 운명을 바꿀 생각입니다. 그때 그 존재가 나타났습니다. 그 존재는 인간의 시간의 줄은 단순히 막는다고 달라지지 않는다고 했습니다. 그리고 지금 하는 행동은 엄연한 살인행위라고 말했습니다. 그러나 그 존재는 경고만을 하고 말리지는 않았습니다. 그리고 알았습니다. 지하철에서 만났던 그 사람은 이 아이의 아버지였습니다. 많은 고민 끝에 그는 그의 결심을 실천으로 옮겼습니다. 시간은 그의 딸이 죽기 일주일 전 바로 고가의 이어폰을 가지고 온날로 정했습니다. 병원에서 깨워 났을 때는 모두가 잠 던 새벽이었습니다. 시간은 새벽이었지만 의료진들이 야간 당직을 쓰고 있어서 시끌벅적합니다. 중환자실에는 보호자가 들어올 수 없어 지하철 사내는 밖에 불편한 의자에 앉아 잠이 들었습니다. 깨워 나자마자 조용히 나가서 CT실로 갔습니다. 탈의실로 몰래 가서 환자복을 갈아입고 아무 일도 없는 듯 조용히 밖으로 빠져나왔습니다. 아파트 아래 계단실에 숨어서 딸이 학교에 가는 시간까지 기다렸습니다. 딸이 집 문을 열고 나오는 것을 보고 계단실에서 나와 딸을 뒤에서 잡고 주머니 속에 뭔가 날카로운 것이 있는 것처럼 등에 대었습니다. 그리고 조용히 아이를 계단실로 데려갔습니다. 그리고 말했습니다. "지현아 내 말 잘 들어 소리 지러지 않으면 일단 입을 막은 손은 풀어 줄게 제발 소리 지러지마." 딸은 괴한이 자기 이름을 부러자 좀 놀랐는지 고개를 끄덕입니다. "믿기 힘들겠지만 나는 미래에서 온 아빠야. 내 이야기 잘 들어야 해 오늘 네가 한 행동으로 너는 일주일 후 죽게 돼 난 그걸 막으려고 모든 걸 포기하고 여기로 왔어" 딸은 전혀 믿을 수 없다는 눈치입니다. 그래서 우리 가족만 아는 딸의 어렸을 즉 병원에 입원했던 이야기를 했습니다. 그리고 딸의 이야기를 했습니다. 딸의 문제적인 행동과 오늘 청소년 사채에 손을 댄다는 것과 그것이 너를 죽음으로 몰게 된다는 이야기를 했습니다. 고등학생 사채업자 민재의 이야기와 그 피해자이자 유치원 친구 정우의 이야기도 했습니다. 청소년 사채는 피해자가 가해자가 되는 구조지만 너의 경우는 다를 거란 것과 민재가 딸을 몽둥이로 내리쳐 기절시킨 후 끔찍한 일을 하게 되고 그 일로 자살하게 되는 이유를 설명했습니다. 그때였습니다. 기현 씨가 차지한 아이의 주인인 의식이 깨어났습니다. 뇌는 두 명이 공유하는 것은 불가능한가 봅니다. 기현 씨는 어쩔 수 없이 몸의 주인에게 설명을 했습니다. 잠시 후 기현 씨는 몸을 지배하게 되고 딸에게 부탁에 부탁을 하고는 그 애가 누워있던 병원으로 갔습니다. 지하철 사내가 죽기 전의 시간대입니다. 사내의 아이가 죽자 지하철 사내는 극단적 선택을 한 것 같습니다. 어찌 된 일인지 코마 상태였던 그 아이가 깨어나고 기현 씨는 몸을 다시 돌려주어야 했습니다. 그리고 그 아이가 깨워 나면서 그의 아버지도 생명을 버리지 않게 되었습니다. 다시 그는 자신의 병원으로 갔지만 시간대는 그가 아직 병원에 입원하기도 전입니다. 그래서 그는 다시 그의 딸이 있을 학교로 갔습니다. 이제 시간은 다시 한 줄로 가게 되었습니다. 그의 딸이 자신의 말을 듣지 않는 다면 지금의 선택은 모두 물거품이 되는 것입니다. 이제 그는 시간도 공간도 바꿀 수 없는 그저 무능한 생령에 지나지 않았습니다. 그때 그 존재가 나타났습니다. 이제 기현 씨는 이 세상 사람이 아니고 이계인이라고 합니다. 모든 게 불안했습니다. 딸이 모든 것을 결정하게 되었습니다. 불량소녀로 사는 것이라도 살아만 주기를 바랬습니다. 그 미지의 존재에게 조금만 시간을 더 줄것을 부탁했습니다. 미지의 존재는 경고만 할 뿐 모든 것을 말리지는 않았습니다. 딸은 다행히 정우의 말을 따르지도 고가의 이어폰을 싸지도 않았습니다. 기현 씨는 직장에서 문제가 생겨 119구급차에 실려 병원으로 실려갔습니다. 기현 씨가 일하는 공장에서 불산가스 유출사고가 있었습니다. 그일로 그는 쓰러져 의식이 없게 되었습니다. 인간의 시간 줄이 한 줄을 유지하기 위해 기현 씨의 코마 상태가 당겨진 것입니다. 기현 씨는 잠시 동안 자신의 몸으로 돌아갔고 그때 잠깐 의식이 돌아왔습니다. 그리고 딸과 아내가 병실로 들어왔습니다. 딸의 손을 꼭 잡을 수는 있었지만 말은 할 수는 없었습니다. 그리고 그의 생명은 끝이 났습니다. 생명의 끝은 무엇인지 모르겠습니다. 그렇게 그 존재를 따라 그는 이계라 불리는 곳으로 갔습니다. 이제 딸의 삶과 인생은 올곧이 딸에게 달려 있었습니다. 또 나쁜 길로 간다 해도 기현 씨는 막을 수도 없습니다. 가만히 생각해보면 하루가 계속되던 그때와 달라진 건 하나도 없는 듯하네요. 맺은 말 당신은 당신의 자식에 대하여 얼마나 알고 있을까요? 애초에 자식을 안다는 것 자체가 모순이지 않을까요? 사회는 복잡해진 만큼 훨씬 무서워진 게 아닐까요? 불법이 점점 나이가 어려지고 어른들의 상상을 초월하는 범법이 발생하고 일어나고 있으며 아이들 사이의 교실에서도 정말 집에서 착한 아이들이 정글의 법칙을 배워 장애를 가진 아이들을 괴롭히고 또 자신도 모르게 악행을 쌓아 갑니다. 자신도 모르게 그 악행들은 낙인이 되어 그 자신들에게 씻을 수 없는 상처나 범죄의 대상이 되게합니다. 은행이나 공공기관 및 서비스 기관에는 KYC(know your customers)라는 말이 있습니다. 이제 부모님들도 KYC(know your children)을 해야 하지 않을까요?
windows환경에서의 강화학습에는 몇가지 문제점이 있습니다. 일단 NCCL이 적용되지 않습니다. NCCL이란 (저도 자세히는 몰라서...)NCCL The NVIDIA Collective Communication Library (NCCL). Nvidia 자원을 모두 연결하여 사용할 수 있는 기능을 말하는 것 같습니다. 일단, 현재 모듈을 돌리면 warning 정도의 에러가 잠깐 떠다가 사라집니다. 그래서 방법을 찾아 봤지만 결국 현재는 NCCL지원 불가 향후(언제 인지 공식적 언급없음) 지원 예정 그러면서 링크는 있어서 열심히 찾아 가면 속았지롱 입니다. 그런데 모자란 영어 열심히 읽어보면 wsl(ubuntu 20.04)이런 링크가 보입니다. 그래서 wsl 뭐냐? 끝에 l은 linux의 그 l이 맞습니다. 마이크로 소프트(이하 마소)는 이전까지는 철저히 win nt커널을 지키자 주의 였습니다. 유닉스는 이미 빗장을 열고 백기투항한 상태였죠. 그런데 최근에 사정이 좀 달라졌습니다. azure 클라우드 때문이죠 지금은 사실 마소를 먹여 살리는것이 windows도 office도 아니거든요. 클라우드 환경에서 windows는 너무 불편한 덩어리입니다. docker같은 툴도 적용이 쉽지 않고 터미널 프로그램을 실행해서 windows app를 다루는 것은 정말 어려운 일이죠. 그래서 gnu license 의 내용을 알고도 wsl을 도입합니다. 제가 알기로 마소는 이미 오래전에 nt커널을 공개했고 wsl은 그 산물인 거죠. 결론을 말씀드리면 저희 강화학습 소스를 한줄도 바꾸지 않고 wsl에 올렸을 때 성능이 두배정도 빨라 졌습니다. 그리고 이제 더이상 NCCL오류는 나타나지 않습니다. NCCL을 완벽히 지원하거든요. https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/#dism%EC%9C%BC%EB%A1%9C-wsl-%EA%B4%80%EB%A0%A8-%EA%B8%B0%EB%8A%A5-%ED%99%9C%EC%84%A4%ED%99%94 을 참조하시면 wsl설치 관련글이 있으나 다 무시하시고 ms store에 가면 ubuntu lts버젼을 설치하시면 됩니다. 그럼 20.04버젼이 설치 됩니다. 22.04버젼도 있지만 아직 안정화버젼은 아닙니다. 뭐 그래도 크게 상관 이 없는 것 같습니다. root암호를 지정해야 하는데 어차피 외부에서 해킹은 불가능하므로 괜히 어렵게 만들필요는 없습니다. wsl은 별도의 네트워크를 생성하고 windows와 NAT통신을 합니다. 즉 windows 터미널(파워셀 또는 도스셀)에서만 접속가능합니다. 그러면서 windows의 하드웨어를 공유합니다. 설치는 즉시 이루어지면 시작화면에 자동으로 실행아이콘이 만들어집니다. 실행이 되면 녹색과 회색이 섞인 까만 터미널화면이 떱니다. 자 이제 root셀로 가 볼까요? 'sudo su -'를 입력합니다. root password를 입력합니다. ubuntu root에 접속 되면 'apt update'실행합니다. apt의 repository를 업데이트하는 건데 windows 업데이트 검사와 같다고 보면 됩니다. 그리고 'apt upgrade'를 실행하면 최근 커널 파일을 업데이트합니다. nvidia download center로 가면 cuda다운로드 페이지가 있습니다. 젤위에서 부터 선택을 하다보면 맨마지막에 ubuntu 20.04(wsl)이 보입니다. click하면 명령어 리스트가 보입니다. 위에서 부터 한줄씩 copy해서 붙여 넣으면 됩니다. 이 때 주의할 것은 root셀로 설치할 경우 권한 문제가 발생할 수 있으니 유저셀로 이동해서 설치합니다. 설치가 끝났다면 nvcc --version을 실행해서 설치된 cuda version을 확인합니다. 이제 파이선을 설치합니다 사실 이미 파이션은 설치가 되어 있습니다. 파이션의 버전을 확인하여 우리가 사용할 버젼보다 너무 높은 건 아닌지 확인이 필요합니다. sudo apt install python37 이렇게 입력하면 python 3.7버젼이 설치 됩니다. 현재 파이션은 3.11까지 나와있지만 호환성을 위해 너무 최신 버젼을 사용하는 것은 자제해야 합니다. pytorch나 tensoflow는 아직 그기 까지는 가지 못 했습니다.
https://goyunji.tistory.com/m/7
위페이지를 참조하여 update-alternative를 조정합니다. torch와 torchvision을 설치합니다. conda install pytorch torchvision -c "cuda버젼"을 하면 자동으로 torch가 cuda버젼에 맞추어 설치가 됩니다. 다시 nvidia 로 가서 이번에는 NCCL을 설치합니다 설치방법은 CUDA설치와 동일합니다. 위에서 스무고개하듯이 click하다보면 마지막에 ubuntu 20.04(wsl)클릭하면 파일이 다운되는게 아니라 명령어가 화면에 나옵니다. 그대로 실행만 하면 설치 완료. 이제 최상위 난이도의 ta-lib설치 입니다. conda install ta-lib를 실행하면 설치는 되지만 beautiful soap에서 커서가 멈출겁니다 안 멈추고 지나가면 개이득. ctrl+c를 눌러서 종료한다음 python3 -m pip install ta-lib -U를 실행해서 설치에 성공하신다면 당신은 신의 아들로 추앙합니다. 이거 마저 실패한다면 ta-lib 홈피로 가서 ubuntu용 ta-lib.tar.gz파일을 받아서 압축을 풀고
cd ta-lib
configure.sh
make
sudo make install
실행합니다. 여기서도 실패한다면 conda로 다시 돌아가서 처음부터 다시하시면 100% 되실겁니다. 여기서 안되시는 분은 똥손이므로 프로그래머의 길을 잠시 고려해보시기 바랍니다. 나머지는 프로그램 실행시 pip로 충분히 설치 가능합니다. user 디렉토리 및에 src/rl_exam/ta-rl로 디렉토리를 만듭니다. 저는 vs code를 사용하고 있습니다. remote wsl모듈이 있으므로 설치합니다. 왼쪽 사이드 툴바에 보시면 remote wsl버튼이 생겼을 겁니다. 접속하여 작업디렉토리를 아까 생성한 디렉토리에 생성합니다. vs code창을 하나 더 열어서 기존 소스와 생성된 모든 디렉토리를 copy해서 wsl 작업 폴드로 붙여넣습니다. 자 이제 위쪽 메뉴에 터미널 을 선택하거나 보통은 터미날이 하나 정도 열려있으니 미리 만든 작업 디렉토리로 이동하여 main_buroto.py를 실행합니다. 실행하면 여러 모듈이 import는 되어 있지만 설치는 되어 있지 않다는 오류가 떱니다. pip로 하나씩 설치 해주면 됩니다. 이래서 실행되시는 분들은 성능이 향상된 강화학습 매매프로그램을 보시게 될겁니다. 설치가 안되시는 분들은 부담없이 댓글 달아 주세요. dqn실행시간도 제기준으로 9초에서 3.2초 정도로 줄었습니다. 딕덱션도 2.1초로 절반 이상 줄었습니다.