LLM은 어떻게 동작할까?

Jay·2025년 10월 26일
post-thumbnail

"ChatGPT가 알려줬어요."

동료의 PR 리뷰 중, Next.js 동작 관련 오류를 발견했다. 출처는 ChatGPT였다.

틀린 내용보다 신경 쓰인 것은, 동료가 ChatGPT의 답변을 검증 없이 수용했다는 점이다. ChatGPT는 유용하지만 환각이라는 근본적인 한계가 있어 맹신할 수 없다. 이 특성을 이해하지 못하면, 개인의 오류가 잘못된 정보로 팀 내에 확산될 수 있다.

나는 이 상황을 AI 리터러시 부족으로 정의하고, 해결을 위해 "LLM은 어떻게 동작하는가"라는 사내 세션을 기획했다. 이 글은 발표 내용의 일부다.

ChatGPT 가 뭐지?

안드레 카파시의 소프트웨어 패러다임에 따르면 우리는 소프트웨어 2.0에서 3.0으로 전환하는 시기에 있다. 1.0부터의 발전 과정으로 ChatGPT가 무엇인지 설명하려 한다.

프로그램은 데이터와 알고리즘 두 가지 구성요소로 이루어져 있다. 소프트웨어 1.0은 인간이 Python, C++ 같은 언어로 명령어를 작성하는 전통적 프로그래밍 방식이다. 인간이 알고리즘을 설계하기에 결정론적이고 예측 가능하다. 대부분의 프로그램이 이에 해당한다.

다음으로 머신러닝이 급부상하면서 소프트웨어 2.0이 등장한다. 특정 데이터를 학습시킨 머신러닝 모델을 만들고, 해당 모델을 통해 결과를 도출하는 방식이다. 머신러닝 모델도 프로그램이라 할 수 있는데, 학습시킨 머신러닝 모델에 데이터를 넣으면 머신러닝 모델이 알고리즘을 생성하여 데이터로부터 원하는 결과를 만들기 때문이다.

소프트웨어 2.0은 머신러닝 모델이 상황에 맞게 알고리즘을 생성하는 방식이다. 따라서 비결정론적인 방법이다. 여러 상황이나 숨겨진 조건에 의해 같은 입력에 다른 결과를 낼 수 있다. 이러한 특성으로 인해 소프트웨어 1.0과 비교하면 더 많은 작업 범위를 해결할 수 있고 창의적으로 작업을 수행할 수 있다.

지금은 소프트웨어 3.0의 시대라고 할 수 있다. 소프트웨어 3.0이란 머신러닝 모델을 프롬프트로 제어하는 방식을 말한다. 프롬프트 자체도 프로그램이라 할 수 있다. 왜냐하면 프로그램이 데이터와 알고리즘으로 구성되어 있듯이, 프롬프트도 컨텍스트와 사용자가 지시하는 인스트럭션으로 구성되어 있기 때문이다.

GPT 모델 기반의 ChatGPT는 소프트웨어 3.0 패러다임을 대표하는 사례다.

LLM 이 뭐지?

AI는 크게 규칙 기반 AI와 머신러닝, 두 가지로 구분할 수 있다. AI에게 바나나가 무엇인지 설명하는 예시를 들어보자면 규칙 기반 AI는 사람이 바나나의 특징을 알려줘야 한다. "바나나는 노랗다", "바나나는 휘었다."

반면에 머신러닝은 바나나의 사진을 전달하며 이것이 바나나임을 알린다. 그러면 AI 스스로 "바나나는 노랗다.", "바나나는 휘었다." 등의 특징을 직접 추출하여 기억한다. 여기서 바나나임을 알리는 행위를 '레이블링'이라 하고 레이블링한 데이터를 AI가 학습하는 행위를 '지도 학습'이라 일컫는다.

딥러닝은 머신러닝의 일종이다. 인공 신경망을 통해 학습하는데, 이는 사람의 뇌가 작동하는 방식을 모방해 만든 기술이다. 전통적인 머신러닝보다 인간의 개입이 적고 더 많은 데이터를 기반으로 AI 모델을 만들 수 있다.

LLM, 즉 대규모 언어 모델은 바로 이 딥러닝 기술로 만든다. LLM은 이 딥러닝 기술을 활용하여 무수한 자연어 데이터를 학습하고, 인간처럼 자연어를 이해하고 생성할 수 있도록 설계된 모델이다.

LLM 동작 원리가 뭐지?

LLM의 핵심 동작은 패턴 매칭과 다음 단어 예측이다.

"아버지가 방에"라는 문장을 입력하면, 모델은 단어들의 관계와 문맥을 파악하여 "들어가신다"라는 다음에 올 단어를 예측한다. 언어 모델은 기본적으로 다음에 올 수 있는 무수한 단어 중 가장 높은 확률의 단어를 선택하는 방식으로 동작한다. 이러한 확률 기반의 선택 과정 때문에 LLM은 입력이 같더라도 출력이 달라질 수 있는 비결정론적인 특성을 가진다.

LLM은 문장을 한 번에 생성하는 것이 아니라, 다음 단어 예측을 반복하는 방식으로 문장을 완성한다. 이때, 새로 생성된 단어는 이전 입력에 다시 포함되어 다음 단어를 예측하는 데 사용된다. 이처럼 이전의 예측 결과를 다음 단계의 입력으로 활용하여 반복적으로 결과를 도출하는 방식을 자기회귀 방식이라고 한다. 이러한 방식으로 LLM은 긴 문장이나 문맥에 맞는 대화를 이어나갈 수 있다.

LLM 구성 요소

토큰은 언어 모델이 텍스트를 이해하고 생성하는 기본 단위다. 토큰은 단순한 단어 단위가 아니라, 텍스트를 구성하는 더 작은 요소들로 이루어진다. 토큰화 과정에서 'apple'은 1개의 토큰이 될 수 있지만, 복수형인 'apples'는 'apple'과 's'로 나뉘어 2개의 토큰으로 취급될 수 있다. 띄어쓰기, 구두점 또한 별도의 토큰으로 분리될 수 있다. 토큰을 나누는 방식은 모델마다 사용하는 토크나이저의 동작 방식에 따라 다르다.

LLM은 내부적으로 모든 데이터를 숫자를 사용하여 계산하고 처리한다. 따라서 사람이 사용하는 언어 조각을 모델이 이해할 수 있도록 숫자 형태로 변환하는 과정이 필요하다. 이 변환을 위한 기본 단위가 바로 토큰이다.

OpenAI에서 제공하는 토크나이저를 통해 텍스트가 어떻게 토큰으로 분리되는지 직접 확인할 수 있다.
https://platform.openai.com/tokenizer

컨텍스트 윈도우는 언어 모델이 문맥을 판단하거나 다음 단어를 예측하기 위해 한 번에 참고할 수 있는 최대 토큰 수를 의미한다. 이 윈도우 크기가 클수록 모델은 더 길고 복잡한 문서나 대화의 흐름을 놓치지 않고 일관성 있게 이해하고 처리할 수 있다.

최근 출시된 Claude Sonnet 4.5 같은 고성능 모델은 200K 토큰에 달하는 컨텍스트 윈도우 크기를 지원하는데, 이는 책 한 권 분량을 통째로 분석할 수 있는 용량이다.

마치며

개발자들은 React의 동작 원리를 이해하고 IDE의 단축키를 익힌다. 매일 사용하는 도구를 잘 사용하면 업무 생산성을 높일 수 있기 때문이다. LLM 역시 마찬가지다. 현재 AI 도구는 소프트웨어 개발 과정의 필수 도구 중 하나가 되었으므로 이 도구의 원리를 올바르게 이해하고 활용하는 것이 중요하다.

참고 서적

개념 이해로 시작하기 좋은 최고의 프롬프트 엔지니어링 강의 🌟
2025 AI 대전환: 주도권을 선점하라

0개의 댓글