요즘 비약적인 기술 발전에 힘입어 전세계가 인공지능에 집중하고 있습니다. 인공지능에 대한 개인적인 관심과 호기심으로 틈날때면 챗gpt(Chat GPT)와 AI 그림에 관해 공부하고 있는데요, 최근 인공지능 발전사와 관련하여 잘 정리된 영상을 보고 잊기 전에 글로 짧게나마 남겨보고자 합니다.
📌 챗gpt의 등장과 인공지능 발전과정 요약
✅ 인공지능(1950s) > 머신러닝(1980s) > 딥러닝(2010s)
✅ 챗gpt : 인간이 사용하는 모든 문장의 확률지도를 기반으로 새로운 문장을 생성
✅ 관련 산업은 앞으로 더더욱 승승장구할 것 (NVIDIA)
📌 놓치면 후회하는 복지소식
Chat GPT의 등장
작년 11월 30일 Open AI에서 Chat GPT(챗gpt)라는 새로운 소프트웨어를 공개합니다. 사실 AI분야에서 오래 몸을 담고 계신 분들이나 학계에서 해당 분야를 연구하고 계신 분들은 당시 이 챗gpt의 등장이 그리 놀라운 일은 아니었다고 합니다. 직접 챗gpt와 대화를 하기 전까지만 해도 그냥 또다른 시시한 무언가가 개발되었나보다.. 하는 정도로 대화형 인공지능에 대한 기대가 크지 않았기 때문입니다.
인공지능의 발전사
그도 그럴것이 사실 인공지능이란 분야 자체가 이미 1950년대에 등장한 개념이고, 챗gpt 이전에도 인공지능으로 언어를 학습하는 시도는 여럿 있었지만, 번번히 자연스러운 언어 학습이 불가하다는 결론이었을 뿐입니다.
당시 인공지능은 현재의 딥러닝과 달리, 규칙기반 인공지능이었다고 합니다. 이는 즉, 컴퓨터에게 ‘규칙’을 설명해준 뒤 그런 규칙을 통해 무언가를 처리하도록 한 것입니다. 사람이 사용하는 언어에서는 이런 규칙이 바로 ‘문법’ 인데요, 챗gpt 이전에는 결국 인공지능에게 이 문법을 가르쳐준 뒤 언어를 구사하라고 한 것이죠.
그런데 1950년대부터 시작된 이 방식으로는 30년간 아무리 문법을 가르쳐주고 시도해봐도 기계가 자연스러운 언어를 구사하는데 실패하게 됩니다. 학계에서는 왜 안될까를 궁리하다가 실제 사람의 언어 능력 발달에 초점을 맞추게 됩니다.
머신 러닝의 등장
우리가 태어나서 처음 말을 배울 때 과연 문법을 배웠을까요? 예를 들어 우리 부모님이 우리에게 고양이를 설명하는데, “고양이는 포유류고 다리가 4개며 덩치는 사람보다 작다” 이렇게 설명하고, 그걸 받아드린 우리가, 현실에서 포유류 중에 다리가 4개며 덩치가 사람보다 작은 동물이면 고양이인가보다.. 하고 생각하지는 않는다는 것입니다. 이렇게 생각하는 경우라면 아마 고양이와 강아지를 구분하지 못했을 것입니다. 즉, 반대로 생각하면 이런 방식으로 인공지능에게 사람이 사용하는 언어와 개념을 가르쳐주면 인공지능이 이를 제대로 받아들일 수 없다는 것ㅇ비니다.
돌이켜보면 우리는 그냥 셀 수 없이 수많은 정보의 홍수 속에 노출되어있었을 뿐이며, 여기서 알아서 하나 둘 스스로 개념을 학습하다보니 고양이랑 개가 다르다는 것을 직관적으로 알게 됩니다. 우리 부모님이 일일이 설명하지 않아도 그냥 다르다는 건 알았는데, 그걸 그냥 언어적으로 ‘고양이’, ‘강아지’ 라고 구분해서 부른다는 사실을 배울 뿐입니다.
이에 인공지능 분야에서도 1980년대 들어서는 과거의 규칙 학습에서 벗어나 기계가 스스로 학습을 하도록 유도하는 머신 러닝(machine learning)이 주를 이루게 됩니다. 머신러닝은 데이터를 주고 인공지능이 알아서 스스로 데이터를 학습하는 방식입니다. 하지만 머신러닝이 한참 진행되어도 도대체 사람처럼 언어를 구사하는 인공지능은 나타나지 않았습니다.
딥 러닝의 등장
학자들은 그럼 어떤게 문제인지 궁리하기 시작했습니다. 기본적으로 머신러닝이 처음 등장했던 시대에는 컴퓨터로 처리할 수 있는 데이터의 양이 제한적이었다는 것과 데이터 처리 알고리즘도 병렬연산이 불가능했다는 것이 문제였습니다. 그런데 1980년대부터 시작된 머신러닝이 약 30년이상 지속되다보니 이론적인 부분과 기계적인 분야 모두에서 혁신이 일어나며 이른바 딥 러닝(deep learning)이 가능해지게 되며, 오늘날의 챗gpt가 등장하게 됩니다.
딥 러닝으로 급격한 발전을 이룬 인공지능의 중요한 알고리즘 두가지를 살펴보면 컨볼루션(convolution)과 트랜스포머(transformer)일 것입니다. 컨볼류션 알고리즘은 인공지능의 병렬연산에 관여하며, 구글에서 개발한 트랜스포머(transformer)라는 알고리즘은 수천억~조 단위의 막대한 양의 데이터를 학습할 수 있게 되었습니다.
간단하게 요약하자면 그냥 말 그대로 인간이 상상할 수도 없을만큼 방대한 데이터를 인공지능이 학습할 수 있게 되었다는 것입니다. 이렇게 대단한 학습능력을 가지게 된 인공지능에게 이번에는 세상의 모든 글을 학습시킨 것입니다. 이 때 문법을 알려준 것이 아니라 정말로 그냥 알아서 학습을 하도록, 데이터(예를 들면 인터넷 상 모든 글)를 집어넣고 문장 안에서 단어와 단어가 등장하는 확률을 계산하도록 한 것입니다.
예를 들어 “문장 안에서 단어와 단어가 등장하는 확률을 계산하도록 한 것입니다.” 라는 문장을 학습할 때, 인공지능은 첫 단어인 ‘문장’ 바로 다음에 ‘안에서’가 왔구나, 하고 학습합니다. 다른 문장들을 학습할 때는 ‘문장’ 다음에 다른 단어가 올 수도 있는데, 이렇게 인공지능은 자신이 학습한 모든 데이터 속에서 ‘문장’이라는 단어 뒤에 올 수 있는 모든 단어들의 확률을 기록해두는 것입니다. 즉, 누군가가 인공지능에게 ‘문장’이란 단어로 시작하는 글을 써줘~ 라고 한다면, ‘문장’ 뒤에 올 단어를 고르고, 또 그 단어 뒤에 올 단어를 고르는 식으로 작동하게 됩니다.
인공지능의 동작 원리
챗gpt
앞서 살펴본 것과 같이 결국 챗gpt의 동작원리를 한마디로 요약하면, “인간이 사용하는 모든 문장의 확률지도”라고 할 수 있습니다. 수천억~조 단위의 문장을 학습한 인공지능이 그 문장들 속 단어와 단어간의 확률, 단어와 문장사이의 확률을 미리 학습(pre-trained)한 것입니다.
마치 우리가 운전할 때 사용하는 네이게이션과 같은 것입니다. 네비게이션은 이미 지도 데이터를 다 가지고 있는 상태고 여기에 우리가 출발지, 목적지를 입력하면, 교통 상황에 따라 확률적으로 덜 막히는 길을 안내합니다. 출발지 목적지가 동일하더라도 미리 학습한 데이터를 기반으로 교통상황을 고려해 어떤 길이 빠른지 ‘확률’을 계산해 알려주는 것이죠.
챗gpt 또한 마찬가지입니다. 우리가 어떤 의도를 가진 문장을 구사하도록 요청하면 미리 학습된 문장 확률지도를 기반으로 어떤 말을 구사할 때 매번 다른 문장을 구사하지만 동일한 의도를 내포하도록 문장을 만들어 내는 것입니다.
AI 그림
마찬가지로 요즘 챗gpt와 더불어 인기가 굉장한 AI 그림도 미리 학습된 데이터를 기반으로 그림을 그려낸다고 볼 수 있습니다. 미리 학습된 어마어마한 양의 데이터들을 기반으로, 그림을 묘사하는 문장과 그림을 구성하는 픽셀간의 확률적 분포, 그리고 그림 내의 인접한 픽셀간의 확률적 배치 등을 고려해 요청한 그림을 그려내는 것입니다.