요즘 회사에서 Claude, Chat GPT 같은 AI 많이 쓰잖아요.
근데 쓰다 보면 한 번쯤 이런 생각 들지 않나요?
“이거 어떻게 알아서 해주는 거지?”
“얘가 진짜 내 말을 이해하는 건가?”
얼핏 보면 무슨 마법처럼 느껴지는데,
이 과정을 조금만 뜯어보면 생각보다 단순합니다!
AI?
AI, 인공지능, 이 단어는 다들 익숙하시죠?
AI는 과학자들이 사람처럼 생각하는 기계를 만들기 위해 정말 오래전부터 연구해 온 분야입니다.
그 중에서 대표적으로 아래와 같은 기술이 있어요
- 로보틱스 : 사람처럼 움직이는 기술 (= 육체🏋️)
- TTS : 사람처럼 음성을 만들어내는 기술 (= 목소리🗣️)
- OCR : 사람처럼 형상을 인식하는 기술 (= 눈👀)
- LLM : 사람처럼 말을 이해하고 문장을 생성하는 기술 (= 뇌🧠)
이 외에도 AI에는 정말 다양한 분야와 기술이 있습니다.
오늘은 그 중에서도 "사람처럼 말을 이해하고 문장을 생성하는 기술"인 LLM에 대해서 학습해보려고 합니다!
ChatGPT? LLM?
Apple이 만든 스마트폰의 이름은 iPhone이고,
삼성이 만든 스마트폰의 이름은 갤럭시입니다.
OpenAI가 만든 LLM 기반 서비스의 이름은 ChatGPT
Anthropic이 만든 LLM 기반 서비스의 이름은 Claude이고,
Google이 만든 LLM 기반 서비스의 이름은 Gemini입니다.
결국 ChatGPT, Claude는 LLM 기반 서비스의 이름입니다.
그렇다면 그 LLM이 뭔지 알아야겠죠?!
LLM(Large Language Model)을 쉽게 말해보자면
"엄청나게 많은 데이터를 읽고 / 패턴을 찾아서 / 다음 말을 예측하는 기술"입니다.
LLM은 인터넷, 책, 대화 같은 데이터를 분석하여
“이런 문장 다음에는 보통 이런 문장이 오더라”라는 패턴을 축적합니다.
그리고
(1) 사용자의 입력이 들어오면
(2) 과거의 패턴중에 가장 유사한 패턴을 찾아서
(3) 그 패턴에 맞는 다음 문장을 만들어 냅니다. (만들어낸 말은 실제 날씨와는 전혀 상관이 없어요!)

여기서 중요한 포인트는 “이해한다 / 생각한다”가 아니라 “패턴을 찾고 만들어 낸다”는 점입니다.
즉, 위의 예시처럼 LLM은 실제로 날씨를 보는 게 아니라,
학습된 데이터 중 유사한 문장 구조를 가진 패턴을 찾고 그다음에 올 말을 패턴에 맞게 생성하는 것이죠.
그리고 이 LLM에 사용자가 직접 입력값을 넣을 수 있게 만든 최초의 웹서비스가 ChatGPT입니다!
지금은 GPT를 고유 명사처럼 사용하고 있지만,
GPT는 원래 Generative Pre-trained Transformer의 축약어로
"데이터를 사전 학습하여(Pre-trained) 생성하는(Generate) 텍스트 특화 인공지능 모델(Transformer)"을 의미합니다.
과거에 멍청하다고 놀림받았던 ChatGPT ..
"LLM은 패턴에 따라서 말을 생성한다"는 것을 이해하면,
과거에 왜 ChatGPT에게 단순히 숫자를 더해달라는 요청에도 엉뚱한 답이 나왔었는지도 이해가 됩니다.

컴퓨터 계산기에서도 241-(-241)+1의 결괏값은 정확하게 483이라고 나오는데,
그 대단한 LLM이 왜 이 단순한 걸 계산하지 못하는 것인지 의문이었죠.🤔
계산기는 "수학"의 규칙에 따라 계산하여 100% 정확한 답을 찾지만,
LLM은 지금까지 쌓은 데이터를 기반으로 다음에 올 단어를 확률적으로 선택하는 구조이기 때문입니다.
즉, 실제로 계산을 하는 것이 아니라 그럴듯한 결과를 만들어내는 것에 가까워요.
실행할 때마다 다른 결괏값이 나오는 것도 그 이유입니다!
그런데 요즘은 계산도 잘해주고 날씨도 잘 알려주던데요?
앞서 알아본 LLM은 단순히 문장을 생성하는 것이 다였어요.
정말 많은 데이터를 통해서 패턴을 찾았지만 그 말은 학습되지 않은 데이터의 패턴은 모른다는 것과 같아요.
따라서 학습되지 않은 실시간 날씨 정보를 알 수 없으며,
심지어 과거의 데이터를 학습한 LLM의 "오늘"은 항상 과거일 수밖에 없어요.
그런데 최근에는 ChatGPT에게 날씨를 알려달라고 하면 아주 잘 알려주죠!
그 이유는 바로 ChatGPT에게 실제로 실행할 수 있는 권한이 주어졌기 때문이에요.
우선 과거의 ChatGPT에게 현재 날씨 정보를 물어봤을 때의 동작을 살펴봅시다.

(1) 사용자는 로봇(LLM)에게 현재 날씨를 알려달라고 요청합니다.
(2) 로봇은 "날씨 정보를 요청할 땐 기상청 웹사이트에 접속한다"는 패턴을 떠올립니다.
(3) 하지만 기상청 웹사이트에 접속하기 위해선 노트북이 필요한데, 로봇에게는 노트북이 없죠.
(4) 그래서 적절한 답을 찾지 못하고 다른 유사한 패턴을 찾아 엉뚱하게 응답하게 되어요. 😢
그렇다면 이 로봇에게 노트북(=실행권한)을 준다면 어떨까요?

(1) 사용자는 로봇(LLM)에게 현재 날씨를 알려달라고 요청합니다.
(2) 로봇은 학습한 데이터를 통해 "날씨 정보를 요청할 땐 기상청 웹사이트에 접속한다"는 패턴을 떠올립니다.
(3) 이제는 노트북이 있기 때문에, 로봇은 노트북으로 기상청 웹사이트에 접속하여 "현재 날씨 = 맑음"이라는 정보를 가져옵니다.
(4) 그리고 방금 가져온 정보를 토대로 "현재 날씨는 맑아요!"라고 사용자에게 정확한 정보를 알려줍니다.
우리는 (1)과 (4)의 모습만 알았기 때문에 마치 로봇이 현재 날씨를 직접 보았다고 착각하기 쉽습니다.
하지만 (2)와 (3)을 통해서 알 수 있듯 로봇은 패턴에 따라서 실행할 목록을 정하고, 실행한 결과물을 우리에게 알려주는 것뿐이죠.
이 실행 권한은 웹사이트 접속권한일 수 있고, 코드 실행 권한일 수 있고, 문서 작성 권한일 수 있습니다.
우리가 LLM에게 권한을 부여해 준다면 컴퓨터로 할 수 있는 모든 것들을 LLM은 할 수 있게 됩니다.
위에서 날씨를 물어봤을 땐 "엄마와 아들의 채팅 패턴"을 떠올렸는데 왜 이번엔 "기상청 사이트 접속 패턴"을 떠올렸을까요?
처음 ChatGPT가 나왔을 때는 인터넷에 있는 데이터만을 학습했기 때문에 "엄마와 아들의 채팅 패턴"이 가장 유사한 패턴이었습니다. 하지만 많은 사람들이 ChatGPT를 사용하면서 정확한 정보를 얻기 위해 "기상청 웹사이트에 접속해서 현재 날씨 알려줘"라는 프롬프트를 입력했고, 이 패턴 또한 다시 ChatGPT가 학습했습니다. 그리고 이 패턴이 "엄마와 아들의 채팅 패턴"보다 사용자에게 더 좋은 정보를 제공했다고 판단하여, 이제는 "기상청 사이트 접속 패턴"이 더 높은 확률로 나오게 되는 것이죠.
즉, 많은 사용자들의 사용 패턴을 바탕으로 LLM이 개선되어가고 있어요!
과거의 ChatGPT는 단순한 LLM으로 말을 생성해 내기밖에 못했으나,
사람들이 실제로 어떻게 행동하는지 패턴도 추가로 학습하고 다양한 실행권한을 부여받은
이 단계의 ChatGPT를 우리는 에이전트(Agent)라고 부르기로 했습니다!

TO BE CONTINUED...
지금까지 LLM와 Agent가 무엇인지, 어떻게 동작하는지에 대해 알아보았어요.
이 글의 제목처럼 우리는 AI가 내 말을 이해한다고 착각하기 쉬워요.
하지만 실은 많은 사람들이 ChatGPT를 사용함으로써 우리의 행동패턴을 AI가 다시 학습한 것이고,
사람의 실제 행동 패턴을 학습하다 보니"사람처럼 행동하는 패턴"을 더 많이 만들어내기 시작한 것뿐입니다.
그리고 그 행동을 직접 수행하도록 권한까지 주어서 마치 사람처럼 행동한다고 생각하게 되었죠.
사실 이 개념보다 중요한 질문은 따로 있어요.
"이 똑똑한 로봇을 우리는 어떻게 잘 부려먹을 것인가?"
다음 글에서는 AI에게 일을 시키는 방법, "지침"과 "Skill"에 대해 이야기해 보겠습니다.