사실 이 ChatGPT와 알파고(AlphaGo)는 공통점이 있다. 둘다 사람이나 제대로 해낼 줄 알았던 일을 대규모 신경망으로 대량의 데이터를 집어넣어 해결한 셈이다. 그런데 여기에는 더 깊은 공통점이 있다.
조금 비약하자면 바둑과 ChatGPT는 비슷한 일을 한다. 즉 어떤 흐름 속에 다음 수를 예측한다. 바둑은 이미 둔 흑백의 좌표 흐름을 따라 다음에 어디에 두어야 하는지 선택하는 문제이다. 바둑판 19*19의 좌표의 점 중 다음 둘 곳을 선택하는 문제이며 361개의 점 중 하나를 계속 선택해간다.
ChatGPT의 직전 버전인 GPT-2는 흔히 vocab size(단어 사전 크기라고 해보자)라는 전체 token(단어라고 하자)의 종류가 대략 5만건 정도 된다고 알려져있다. 이 녀석은 바둑판의 361개 점이 아니라, 5만여개의 점에서 선택을 하는 것과 같다. 여하튼 token 하나를 뱉으면, 다시 또 그 다음 token을 맞추는 문제이다. 비슷하지 않은가?
여기서 ChatGPT의 핵심 학습의 단순함은 그저 인터넷의 수많은 문장에서 한 단어(토큰)를 일부러 숨기고, 이 정답을 알고 있는 가려진 토큰을 신경망이 맞추는 방식으로 해결했다는데 있다. 알파고는 사람의 기보를 통해 이런 학습 문제를 해결했고, 나중에는 알파제로는 강화학습을 통해 해결한 셈이다. 그런데 여기 관련해서는 ChatGPT가 훨씬 유리한 것은 별 수고도 없이, 학습할 직접적인 정답지를 가지고 있다는 점이다. 바로 문장이 정답을 품고 있다. 빈칸을 맞춘다니, 이 얼마나 멋진 방법인가! 인터넷에 널린 문장에서 한 단어만 가리고 맞추면 상을 주고 틀리면 벌을 내리면 되는 것이다. 그것을 수천억 문장을 반복한다. 기보 수만개를 가지고 학습했던 알파고가 불쌍해지는 순간이다. 사람이 둔 기보는 구하는데 한계가 있다. 그런데 인터넷의 문장은 품질이 좀 문제일 수는 있지만, 차고 넘친다.
물론 알파고와 ChatGPT는 모델의 구조가 다르기는 하다. ChatGPT는 Transformer라는 구조인데 알파고는 좀 다르다. 그래도 역시 수행하는 일은 별반 다르지 않다. 예컨데 정답 기보 데이터만 충분하면(ChatGPT는 5천억 token 이상의 데이터로 학습되었다) ChatGPT의 token을 각각 바둑판의 좌표에 대응시키고, 그 정답 기보로 학습시키면 ChatGPT는 그대로 바둑의 기보를 말처럼 읊는 모습이 되는 것이다. ChatGPT는 곧바로 바둑을 배우게 될것이다. (그런데 현실에서는 기보 데이터가 부족해 이게 잘 안될 수 있겠다)
다시 정리해보면, 제한된 vocab size(단어사전크기)을 갖고 대량의 데이터를 구해서 정답을 제공할 수 있으면, 인간 수준으로 끌어올릴 수 있는 툴을 인간이 갖게 된 셈이다. 바둑은 361개짜리 vocab에 과거 수를 361까지 정도만 되는 문제이고, 사람의 대화는 5만개짜리 vocab(GPT-2)에 과거 token을 4096개(GPT-3.5) 정도 보면 되는 문제이다. 후자인 ChatGPT가 알파고에 비해 유리한 점은, 알파고와 적은 수의 기보와 강화학습에 의지해야 했던 점에 비해서, text corpus의 대규모 문장 속에서 빈칸 맞추기를 통해 직접 학습할 수 있었다. 이렇게 정답이 곧바로 판정되는 데이터는 학습의 지름길이다.
그러면 이 두 AI 모델을 통해 바라볼 수 있는 미래는 어떤 것인가?
넘쳐나는 인터넷의 데이터 관점에서는 이제 남은 것이 사진, 영상, 음성 정도를 활용 검토해 볼 수 있겠다. 별 전처리 없이 정답을 바로 알 수 있는 것은 사진이라면 특정 영역을 가리고 맞추는 방식이 아닐까? 영상도 어딘가 몇 frame 후의 장면을 맞추는 것이 가능해보인다. 음성은 뭔가 특정 구간을 가리고 역시 그 구간을 맞추는 형식을 상상해 볼 수 있겠다. 그렇게 학습하면 각기 이미지, 음성, 영상 유추가 가능해지리라 기대할 수 있다.
그런데 이녀석들은 각기 vocab size(?)도 상당히 크고, 정답지도 균일하지가 않은 단점이 있다. ChatGPT(GPT-2가정)의 5만개 vocab size에 비교해보자. 사진을 특정 크기로 자르고 그 중 하나를 가린다면, 흑백 이미지라고 해도 20*20영역이면 벌써 20*20*256=10만개의 vocab size가 된다. 아 그러고보니 binary 이미지로 하면 꽤 잘 될수도 있겠다! 그래 인터넷 모든 사진을 일정 크기로 resize하고, 일정 크기로 자른 후 엄청나게 학습시키면 무언가 나머지 사진영역을 맞추는 무언가가 나올 수도 있겠다(문장에 기반한 것보다는 더 다양성이 커서 잘 안될것 같은 생각이 들지만)
음성도 역시 적절한 크기로 잘라 똑같은 방식으로 할 수 있지 않을까? 물론 역시 사진과 비슷한 단점들이 있겠다. 이렇게 저렇게 사실 인터넷에 수도 없이 존재하는 사진/영상/음성 등을 생각해보면, 정말 "문장"을 가지고 학습하는 것은 신의 한 수 였다는 생각이 든다. 그렇게 알파고의 바둑이나 문장을 가지고 학습하는 방식이나 비슷하며, 오히려 할만한 문제였다는 생각이 드는 것이다. 인터넷의 대규모 데이터 중 가장 학습시키기 쉬운 것이 바로 문장 데이터였던 것이다! 그래서 돌이켜보면 대규모 언어 모델에서 이 방법을 처음 쓴 ELMO와 BERT를 거쳐 OpenAI의 ChatGPT가 제대로 학습시켜 상용화한 셈이다.
그렇게 제일 유리한 문장 데이터를 통한 학습의 권좌를 빼앗기게 되었다. 하지만 여전히 미래는 열려있다. 이 대규모 정답지 데이터인 text corpus기반의 학습은 아마 여러가지로 다른 형태로 시도될 수 있겠다. 아무리 생각해도 이만한 데이터가 없다. 그리고 앞서 설명한 사진, 영상, 음성, 기타 인터넷에서 구할 수 있는 모든 것 중에 vocab size가 크지 않고, 데이터가 많으며, 과거를 참고해야할 token의 길이가 크지 않는 문제를 발견하는 회사는 ChatGPT의 다음 흐름을 쥐지 않겠는가?
알파고와 ChatGPT는 그래서 위의 공통된 특성을 갖고 있었고, 유사한 특성을 갖는 다음 모델이 그 자리를 찾아 헤매이지 않을까? 그 모델이 할 수 있는 일이 다음 AI가 히트를 칠 능력이 되지 않을까? 이렇게 상상해볼 수 있겠다.
아래는 Python, Anaconda, AWS Cloud/Linux 경험을 가진 사용자가 ChatGPT같은 거대언어모델을 직접 구동해 보는 예시이다. 그 중심에는 Facebook인 Meta가 공개한 LLAMA가 있다. 그리고 경량형 quantization없이 LLAMA만 돌려보려면 6,7번을 건너뛰면 된다.
ChatGPT가 공개되자, Meta도 LLAMA라는 프로젝트를 곧이어 공개했다. ChatGPT보다 경량형의 버전이면서 성능도 유사하다는 실험 결과를 같이 공개했다. 파라메터 크기 7B(70억), 13B, 33B, 65B 모델도 같이 공개했고, 연구신청을 하면 받을 수 있다. 그런데 이 모델들 이미 torrent 등에 공개되어 있으며, 약관을 검토해 본 유저들의 의견으로는 신기하게도 이를 다운로드하여 사용해도 불법은 아니라고 한다. ChatGPT류의 대형 모델 학습은 수백억원이 넘는 컴퓨팅 비용을 들어간다고 알려져있다. 이 결과물을 무료로 얻을 수 있게 된 것이다.
이 Meta의 모델 공개는 곧바로 Stanford Alpaca라는 프로젝트로 이어졌다. Stanford Alpaca 프로젝트는 7B 모델을 가지고 Fine-tuning한 결과를 공유했는데, 특별히 대화 데이터를 손으로 만들 수 없으니, ChatGPT가 생성한 데이터를 사용했다(좀 반칙 같긴 하지만, 미래에는 이렇게 대세가 될 수 있겠다). Stanford Alpaca는 클라우드 상에서 시간당 몇만원이지만 그래도 개인이 몇시간은 부담할 정도의 A100 80G 4개의 GPU를 가지고 이 작업을 진행해 공개했고, 이를 직접 내 서버에 설치해 해보고 싶은 사람으로서는 고마운 일이 아닐 수 없다. 이제 ChatGPT류의 초 거대 모델을 큰 시행착오 없이 fine-tuning해서 각자 사용할 수 있는 길이 열린 셈이기도 하다.
그런데 아직도, 이 A100 4개 GPU가 달린 서버의 사용은 좀 부담스럽다. 이정도 규모의 서버면 aws에서 한 시간에 몇만원씩 지불해야 하며 한 달 기준으로도 천만원이 넘는다. 그래서 다른 쪽에서는 이것의 quantization모델, 즉 부동소수점 연산의 정확도를 희생하는 더 경량형으로 만든 모델을 발표했다. 이렇게 하면 더 작은 GPU에서도 돌아간다.
이 quantization 모델이 바로 우리가 해볼 아래 녀석이며, 소위 경량형 LLAMA이다. 어차피 LLAMA 공개된 파라메터 모델을 가지고 변형해서 사용하므로, 나중에 fine tuning을 하면 이것을 경량으로 돌릴 수 있는 방법(다시 변형해서 사용하면 되므로)을 체험하는 셈이기도 하다. 이렇게 되면 LLAMA를 구동해 볼 하드웨어 고민이 급속히 줄어 들게 된다.
이 녀석은 CUDA 11버전대의 16GB 이상의 GPU 메모리를 가진 장비만 있으면 돌릴 수 있다. 그렇다! 가정용으로는 RTX 3090 이상이면 된다. Nvidia RTX 3090은 24GB의 GPU 메모리를 지원한다 (구매하실 분이라면 800w 이상의 파워와 큰 케이스, 그리고 발열에 신경 써야 한다는 점을 미리 고려하면 좋겠다)
하지만 여기서는 번잡하게 직접 구매하기보다는, AWS 클라우드에 있는 NVIDIA V100 GPU를 탑재한 클라우드 서버를 사용해보았다. 인텔계열 CPU에 가장 작은 크기의 V100서버가 바로 p3.x2large 유형의 EC2 서버이다. NVIDIA V100 16GB 1 GPU를 제공한다. 대략 아래와 같이 준비한다. 동급의 다른 클라우드도 괜찮으나 OS나 gpu 메모리 및 실제 기대 속도 정도는 고려해 보자. 수많은 시행착오 끝에 V100이 이 작업에서의 가성비가 좋다는 것을 알았다. 다만 quantization안한 LLAMA는 30GB이상 GPU이면 좋다.
1. AWS에 p3.x2large instance(시간당 $4.3)를 만든다. 스토리지는 100GB용량 G2급 SSD(한달에 1.3만원)를 선택한다. OS는 국민 무료 리눅스인 ubuntu 22.04로 지정한다.
1) 가정용 RTX 3090은 메모리가 24GB이고 V100보다 빨라서, 이를 보유하고 있다면 클라우드 쓸 이유는 없다. 불행히도 Nvidia K80, 3070같은 것들은 12GB이하의 GPU 메모리를 가지고 있고, LLAMA의 제일 작은 모델인 7B에서 조차, 12GB이하의 메모리를 가진 GPU에서 진행하다가는 out of memory 오류에 직면하게 된다.
2) 디스크 용량은 OS영역(/)에 최소 30GB이상, 전체적으로는 100GB이상이 필요하다. 필자는 150GB를 잡았다. 디스크가 부족해지면 나중에 골치가 아프기 때문인데, 지금 이 설명의 실습만 진행할 것이면 100GB도 가능하다.
3) AWS region은 미국 오레곤이 동일 instance 비용이 더 저렴($3.1)하고, 데이터를 교환하는 양이 많지 않으니 오레곤을 선택해도 무리가 없을 수도 있다. 다만, 여기서는 Seoul region기준으로 하였다.
2. AWS의 기본 ubuntu 22.04 OS 에는 cuda가 설치되어 있지 않다. 아래 가이드를 통해 cuda를 설치한다.
1) 아래 가이드는 cuda를 모두 지운상태에서 다시 시작하는데(remove, purge등), 그럴 필요까지는 없지만 진행해도 무방하다. 여기서는 두루 많이 쓰는 cuda 11.7 을 기준으로 설치한다. 드라이버 다운로드를 위해 nvidia 회원가입도 필요하다. 설치의 맨 나중에 다운받은 cudnn의 압축을 풀고 해당 폴더를 cuda로 변경한 후 파일을 복사하는 것만 주의하면 된다. 잘 설치될 것이다.
# 필자의 경우에는 따로 PC에서 다운로드 받아서 업로드하여 사용했다(로그인을 해야만 다운로드가 가능)
$ tar -xz cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
$ mv cudnn-linux-x86_64-8.5.0.96_cuda11-archive cuda
$ sudo cp... #제공된 github의 instruction 문구를 따른다.
3. 작업을 진행함에 있어서 Anaconda로 python을 구성하는게 편하고, Anaconda라는 것이 상황별로 격리된 python 환경을 구성해 변경해가며 쓸 수 있는 점은 이해가 필요하다. 그리고 Anaconda는 환경이 늘어날 수록 디스크를 많이 소요하기 때문에 용량 부족한 파티션에 설치는 피한다(물론 하나의 대용량 디스크라면 어디든 상관없지만)
아래가 Anconda 제어하는 conda의 주요 명령어이니 작업에 참고하라. Anaconda 인스톨 방법은 ubuntu 22.04로 같이 검색하면 많이 나오고 아래가 주요 절차나 명령이다.
#Anaconda 패키지를 받아 설치한다. 설치 시의 default 사항 중에 init 허용이 no로 되어있는데 이것만 yes로 바꿔주자.
Loading model ... Done. is there lama? There are three possibilities: 1. There are no Lamas. 2. There are Lamas. 3. You don't exist. If you're right, you don't exist
답변이 나오는 것을 확인할 수 있다.
8. 여기까지 왔으니 Meta의 7B 모델을 Meta의 inference code로 그대로 실행하는 것은 어떤가? 당신이 확보한 GPU 메모리가 30GB이상이라면 소스 수정 없이 가능하다(그리고 수정하면 16GB에서도 가능하다!)
이제 GPU 메모리 부족 이야기를 해보자. 7B모델 13GB가까이가 모두 gpu메모리에 올라가고, 실제 연산을 위해 17GB가 추가로 필요해 총 30GB의 용량이 필요하다(max_seq_len이 1024일때), example.py의 max_seq_len은 512로 줄이면, 24GB(RTX 3090의 지원 메모리)이하로도 가능하다. 그러나 여전히 위 실행은 p3.2xlarge 16GB GPU 메모리에서는 out of memory 오류가 발생한다.
그러나 이때 더 과감하게 max_seq_len을 50까지 줄이면(512 --> 50까지 줄여보자) 이 16GB V100 GPU 메모리에서도 가능하다
example.py에서 아래 소스상의 빨간색 영역을, 아래처럼 바꾸자.
$ cd /work/llama
$ conda activate llama
$ vi example.py
...
def main(
...
max_seq_len: int = 50, #512가 원래값
...
prompts = [ "I believe the meaning of life is" ] #여러줄 있는 것을 한줄로 줄인다
> initializing model parallel with size 1 > initializing ddp with size 1 > initializing pipeline with size 1 Loading Loaded in 11.93 seconds I believe the meaning of life is to find happiness and be satisfied with what you have. But sometimes we have to struggle to find it. So, do we know the best way to achieve happiness? Is happiness merely a mental state?
Token길이가 짧아서 아쉽지만, 구동은 해볼 수 있다.
9. 기타
1) LLAMA 7B정도의 모델이면 13GB정도의 파라메터 파일인데 quantization된 최종 파일은 4GB가 조금 덜된다. 정확도는 조금은 낮아지겠으나 실행 부담은 적다. 위 7번 설명을 들으면 왜 이런 활동이 GPU 메모리 부담을 낮추는지 이해할 수 있다.
2) fine-tuning은 통상 A100 80GB 이상 4개 GPU 정도에서 진행한다(모델 size에 따라 다르겠다). Stanford Alpaca나 KoAlpaca프로젝트의 관련 github이 이미 공개되어 있다. 물론 학습과정에서 fine-tuning할 데이터도 필요하다. 수기로 만들어내기 힘드니 ChatGPT API로 만들어내고 있다는 것은 늘 신기하다(아마도 향후 이 방법으로 다른 중소형 LLM들을 더 고성능으로 훈련시키지 않을까도 싶다. 이제 ChatGPT는 LLM들의 선생님이 될 기세다)
3) LLAMA는 다국어가 학습 데이터에 섞여 들어가 있지만 기본은 20개 wikipedia 언어(bg, ca, cs, da, de, en, es, fr, hr, hu, it, nl, pl, pt, ro, ru, sl, sr, sv, uk)이고, 불행히도 여기에는 글로벌 IT회사라면 대부분 포함시키는 아시아권 언어가 의외로 포함되어 있지는 않다.
4) 모델 성능이 중요하다면 여기서 다루는 7B가 아니라 13B, 65B모델도 고려할 필요가 있겠다. 이 부분은 아마 지속 추가 모델 공개가 있지 않을까 기대한다. 이때 아시아쪽 언어가 추가되길 기대해보자.
4) AWS p3.x2large는 꺼두면 서버는 과금이 되지는 않는다. 필자의 경우에는 3시간 미만으로 $20안에 상기 실습을 해볼 수 있었다. 나중에 다시 해볼 목적으로 서버를 꺼두기만 한다고 하더라도 디스크는 지속 과금이 된다. G2(범용 SSD)가 1GB당 월 0.01$으로 가이드대로 하면 월1만원이 조금 넘는다.
5) AWS에서 제공하는 GPU 다음 단계 40GB 메모리 instance는 이제 p4d.24xlarge (8 GPUs) 가 있다. 시간당 $46 수준으로 앞서 p3.x2large의 10배이다(밝힌대로 가격은 Seoul region기준이나, 미국 region들이 상대적으로 저렴하긴하다.) 80GB 모델이 AWS에 제공되는지는 아직 찾을 수 없었다. (80GB 서버가 구글 클라우의 us 어느 region에는 가지고 있긴 하다!)
6) RTX 4080도 실험을 했다. 해당 GPU는 nividia-525 driver에 cuda 11.4로 테스트를 해서 잘 작동함을 확인했다. (4080의 경우 cuda 11.x버전으로 진행하도록 많은 유저들이 추천하고 있다)
7) RTX 4080 ubuntu 22.04, nvidia-525 driver, cuda 11.8에서도 작동했다.
사람은 일생동안 제한된 공간 안에서, 정해진 시간만큼만 살게 된다. 인생은 한없이 길게 보일 때도 있지만, 사실은 그 백년이 안되는 기간 까지의 범위일 뿐이다. 장소의 한계를 보자면 비행기를 타고 더 멀리 가서 그것을 확대하거나, 밤하늘에 고개를 들어 별 가득한 하늘을 보는 식으로, 관측하는 범위를 역시 크게 확대해 볼 수 있다(가장 극적으로 온우주와 다양한 시간으로 관측하는 범위를 늘릴 수 있는 방법이다). 하지만 이마저도 역시 무한해보이는 시간과 공간 안에서는 그저 점과 같은 한계 안에 있게 된다. 지구라는 공간 하에서 인간의 삶인 100년이라는 시간은 우주의 척도에서는 그저 순간에 지나지 않는다. 그래서 인간에게 직접 주어지는 관측의 정보라는 것은, 빛이라는 효과적인 원천의 도움에도 불구하고, 그 양은 아쉽기 그지 없다.
그러나 여러가지 책들을 접하고 이해하게 되면, 인류가 지금까지 관찰과 추론으로 넓혀온 여러 범위의 시간과 공간에 대한 간접 체험을 해볼 수 있다. 그렇게 더 긴 시간과 큰 공간을 경험하면, 사고의 범위가 넓어지게 되고 현재의 작은 어려움들을 더 확대된 관점에서 바라볼 수 있게 된다. 또한 뜻밖에도 현재가 낯설어지는 상태가 어떤 것인지도 알게 된다. 그리고 이 현재가 낯설다는 말은, 내가 공감하는 범위가 더 늘어나면, 지금 이 현재라는 것이 유구한 시간 속에서 아주 특별한 순간이라는 것을 깨닫게 된다는 말이다.
우리는 이 시대만을 살기 때문에 지금의 일상이 평범하다고 생각하지만, 사실은 전혀 그렇지 않다. 사람들은 흔히 누군가를 특이하다고 이야기하고, 그에 비교하는 보편을 이야기하지만, 시간과 공간을 대규모로 확장해보자면 인간만큼 특이한 존재가 있을까도 싶고, 지구도 비슷한 위치에 있다. 인류가 살아가는 이 몇십년 몇백년 시대도 과거와는 판이하게 다르다.
이런 이야기를 담은 중에 이 지질학 책은 특별하다. 우리가 살아가는 지구의 상태가 늘 지금과 같다고 생각할 수 있겠지만, 전혀 그렇지 않기 때문이다.
지구라는 이 오래된 어르신(?)은 지구적인 재앙인 운석 충돌이나 거대 화산 폭발, 수십만년의 빙하기를 수도 없이 거쳐왔다. 그에 비하면 작은 지진이나 해일 정도에도 큰 피해를 받고 충격받는 젊은 인류로서는 상상도 못할 재앙이다. 예를들면 지구의 시간을 아주 빨리 돌려보면 지구는 마치 끓는 물을 보는 것과 같아서 5억년쯤만 거슬러 올라가도 지금의 거의 모든 땅은 지하 마그마 속에서 아직 올라오지 않은 상태이고, 지금은 지하로 사라진 마그마가 땅이라는 것을 이루고 있다는 것을 체험할 수 있다. 그저 끓어서 부글거리는 물을 보듯이 우리 지각도 빠르게 돌리는 시간 속에서는 그렇게 움직이는 것이다. 그 긴 시간속에서 우리가 지금 순간으로 바라보는 정지된 지구는, 아주 낯선 모습에 불과하다는 사실이 이 책에 잘 묘사되어 있다. 필자가 영국 해안의 절벽을 쳐다보며 지질이라는 거대 시간을 느낀다는 장면은 새삼, 인간이 지혜와 지식으로 지각하는 시간을 넓혀가는 모습의 한 사례를 느끼게 해준다.
두번째로는 우주의 역사에 대한 책이다. 빅뱅을 거쳐 항성과 행성이 탄생하고 그 물질들이 다시 생명을 이루고 수없이 시간이 지날때 자연이 어떠한 길을 걷는지 설명해준다. 이 책을 읽으면 지구의 우리가, 태양으로부터 에너지를 얻으면서 얼마나 전 우주적인 엔트로피 증가를 극복하고 활력 넘치게 살고 있는지를 알려준다. 그리고 마지막에 우주가 맞닿을 아무것도 없는 잡음의 세계를 알려준다. 그렇게 수많은 폭발과 침묵의 시간 속에 지구라는 생명의 시기가 얼마나 특별한 것인지를 설명해준다.
세번째로는 인간의 역사에 대한 책이다. 특히나 1900년 전후의 역사이다. 이 부분은 한권으로 요약하기는 어려운데, 인류가 지구의 한 동물 종으로서가 아니라, 절대적인 부가가치를 생산해내는 고도의 지식 연합체로 나아가는 존재로서 인류가 걸어온 길을 보여준다. 대한민국의 사는 필자로서는 메이지 유신 이후 극동아시아의 역사를 추천해보고 싶다. 특히나 외교업무를 하는 리더들의 기록이 그것이다.18세기부터 지금까지의 과학사도 마찬가지다. 19세기부터 전세계 GDP가 급증하게된 배경에 있는 다양한 지식의 확대를 통해 어떻게 인류가 여기까지 왔는지 알 수 있게 되면, 지금이 얼마나 빨리 변화하고 있는지 그리고 그것이 더 빠르게 가속되고 있는지 더 긴 시간대에서 느끼고 체감할 수 있다.
얼마나 현재를 특별한 것으로 볼 수 있는가가 얼마나 긴 시간을 이해하려고 노력했는지를 반증하게 된다고 생각한다. 지구에 오늘날의 문명을 갖고 발전시키는 우리는 우주 전체라는 공간에서는 기적과 같은 모습을 보여주는 것이 아닌가. 화성탐사선이 보여준 화성의 모습을 보여주었을때 필자는 단박에 이 생명넘치는 지구의 우리가 얼마나 기가막힌가를 바로 알 수 있다.
기나긴 시간과 공간을 이해하면 곧바로 놀라움이 당신의 머리에 넘치게 되리라 확신한다. 이 모든 것이 사실인데도 일상의 삶을 사는 인간에게 본능적으로 지금 이 순간에 더 특이한 것에만 주목하도록 만든다. 그것이 삶을 효율적으로 사는 생물학적인 방식이기 때문이다. 그래서 우리는 광범위한 시간과 공간 속의 이 특별함에 대해서 끊임없이 무감각하게 된다. 그러나 위의 책들을 보면 지금 여기와 이 순간이 얼마나 의외적인지 계속 상기시켜줄 것이다. 일상의 투쟁 속에서 지금만 살아가기 쉬운 우리들에게, 지구와 우주와 자연과 그리고 이 시대의 실제 모습을 배울 수 있게 되기 때문이다.
그리고 이러한 긴 시간과 거대한 공간과의 교감은 우리의 시야를 단지 현재의 급박한 몇가지 이슈에서 더 긴 관점에서 강건하게 만들어줄 것이라 생각한다. 그다지 중요하지 않은 일에 우리는 얼마나 번뇌하는가. 이 작은 파도가 마치 전체인 양 생각되어 휘둘릴 수 있는 마음을 다잡아 주고 더 중요한 것들에 집중할 수 있는 계기가 될 수 있으리라고도 믿는다.