Skip to main content
Summary

처음에는 숫자 몇 개에서 시작했다

이 책의 출발점은 거창하지 않았다. 우리는 신경망을 마법처럼 바라보지 않기로 했다. 대신 아주 작은 계산부터 들여다보았다. 입력값이 들어오고, 가중치가 곱해지고, 편향이 더해지고, 활성화 함수를 지나 다음 층으로 전달되는 흐름을 하나씩 따라갔다.

처음에는 그저 숫자의 이동처럼 보였다. 하지만 그 숫자들이 손실 함수 앞에 섰을 때 이야기는 달라졌다. 모델은 예측하고, 틀린 정도를 계산하고, 그 오차가 어디에서 비롯되었는지 거꾸로 추적했다. 그리고 가중치를 아주 조금 고쳤다.

딥러닝의 핵심은 이 반복 안에 있다.

모델이 예측한다. 틀린 정도를 손실로 계산한다. 어느 가중치가 오차에 얼마나 영향을 주었는지 본다. 조금씩 수정한다. 다시 예측한다. 이 단순한 리듬이 충분히 많은 데이터, 충분히 큰 모델, 충분히 정교한 구조와 만나면 숫자 분류기가 되고, 이미지 인식기가 되고, 문장을 읽는 모델이 되고, 마침내 언어를 생성하는 LLM이 된다.

이제 우리는 안다. 딥러닝 모델은 처음부터 똑똑하지 않다. 모델은 틀리면서 배운다. 그리고 그 틀림을 수학적으로 다루는 방법이 손실 함수, 경사하강법, 역전파다.

에필로그: 이제 모델은 언어를 배운다

모든 딥러닝 모델 아래에는 같은 뼈대가 있다

이 책에서 만난 모델들은 겉모습이 서로 달랐다. MLP는 입력을 한 줄의 숫자로 받아 층을 통과시켰고, CNN은 이미지의 공간 구조를 살펴보았다. RNN은 순서가 있는 데이터를 앞에서 뒤로 읽었고, Transformer는 문장 안의 토큰들이 서로를 직접 바라보게 했다.

하지만 그 아래에는 같은 뼈대가 있었다.

가중치는 모델이 배워야 할 숫자다. 편향은 계산의 기준점을 움직인다. 손실 함수는 모델이 얼마나 틀렸는지 알려 준다. 경사하강법은 손실을 줄이는 방향으로 파라미터를 이동시킨다. 역전파는 출력 쪽에서 생긴 오차를 입력 쪽으로 거슬러 보내며 각 가중치가 얼마나 책임이 있는지 계산한다.

이 구조는 작은 신경망에서도, 거대한 언어 모델에서도 사라지지 않는다. 모델의 크기가 커지고, 층이 깊어지고, 데이터가 방대해져도 학습의 중심에는 여전히 같은 질문이 있다.

"어떤 예측을 했는가?"

"얼마나 틀렸는가?"

"무엇을 얼마나 고쳐야 하는가?"

딥러닝을 이해한다는 것은 이 세 질문이 어떻게 연결되는지 이해하는 일이다. 이 책을 끝까지 따라왔다면, 이제 독자는 이 질문에 막연한 감이 아니라 자신의 언어로 답할 수 있다.

이미지에서 텍스트로, 그리고 Transformer로

우리는 먼저 숫자와 이미지를 다루었다. 손글씨 숫자 분류기는 딥러닝 실습의 좋은 첫 무대였다. 28×28 픽셀로 이루어진 작은 이미지도 모델에게는 숫자의 묶음이었다. MLP는 이 숫자들을 펼쳐서 보았고, CNN은 가까운 픽셀 사이의 관계를 이용해 선, 모서리, 곡선 같은 패턴을 더 잘 잡아냈다.

그다음에는 텍스트로 넘어갔다. 텍스트는 이미지와 달리 순서가 중요했다. "좋지 않다"와 "좋다"는 한 글자 차이처럼 보여도 의미는 크게 달라진다. 그래서 우리는 단어를 정수로 바꾸고, 정수를 다시 임베딩 벡터로 바꾸었다. 임베딩은 단어를 모델이 계산할 수 있는 공간으로 옮겨 놓는 장치였다. 비슷한 문맥에서 등장하는 단어들은 학습을 거치며 비슷한 방향의 벡터가 되었다.

RNN은 문장을 순서대로 읽으며 이전 정보를 다음 계산에 넘겼다. 이 방식은 자연스러웠지만, 긴 문장을 다룰 때 한계가 있었다. 중요한 단어가 멀리 떨어져 있으면 그 정보를 끝까지 붙잡기 어려웠다. 그래서 Attention이 등장했다. Attention은 필요한 정보를 멀리서도 직접 바라보게 했다.

Self-Attention은 한 문장 안의 각 토큰이 다른 토큰들과 관계를 맺게 한다. Query, Key, Value라는 세 가지 표현을 사용해 "나는 무엇을 찾고 있는가", "나는 어떤 정보를 가지고 있는가", "실제로 전달할 내용은 무엇인가"를 계산한다. 그리고 이 계산은 토큰과 토큰 사이의 연결 지도를 만든다.

Transformer는 이 Self-Attention 위에 잔차 연결, 정규화, 피드포워드 네트워크, 위치 정보 등을 쌓아 안정적이고 강력한 구조를 만든다. Attention만으로 끝나는 것이 아니라, Attention을 깊고 반복 가능한 블록으로 만든 것이 Transformer의 힘이다.

이 여정은 단순한 모델 나열이 아니었다. 이미지 모델에서 우리는 특징을 배웠고, 텍스트 모델에서 순서와 의미를 배웠고, Transformer에서 관계를 배웠다. 그리고 LLM은 이 모든 토대 위에 세워진다.

모델이 언어를 배운다는 말

이제 마지막 질문으로 돌아가 보자. 모델이 언어를 배운다는 말은 무엇일까?

LLM은 사람처럼 학교에 가서 문법책을 읽지 않는다. 모델은 엄청난 양의 텍스트를 보고, 주어진 문맥 다음에 어떤 토큰이 올 가능성이 높은지 예측하는 방식으로 학습한다. 처음에는 거의 맞히지 못한다. 하지만 예측과 손실 계산, 역전파와 파라미터 업데이트가 반복되면서 모델 내부의 가중치들은 점점 언어의 패턴을 담게 된다.

여기서 중요한 점은 모델이 단어를 단순히 외우는 것만으로는 충분하지 않다는 것이다. 좋은 언어 모델은 본 적 있는 문장을 그대로 반복하는 데서 멈추지 않는다. 비슷한 상황에서 어떤 표현이 자연스러운지, 질문과 답변이 어떻게 이어지는지, 문장 안에서 지시어가 무엇을 가리키는지, 어떤 형식으로 설명해야 하는지를 확률적으로 익힌다.

물론 이것이 인간의 이해와 완전히 같다는 뜻은 아니다. 모델은 경험을 통해 세계를 살아 본 존재가 아니다. 그러나 텍스트 속에 담긴 수많은 관계, 지식, 표현 방식, 추론 패턴을 가중치 안에 압축해 둔다. 그래서 우리는 LLM을 사용할 때 단순한 자동완성 이상의 능력을 보게 된다.

모델이 언어를 배운다는 말은, 결국 언어 속 패턴을 계산 가능한 표현으로 바꾸고, 그 표현을 이용해 다음 토큰을 예측하는 능력을 얻는다는 뜻이다. 이 책에서 배운 표현 학습, 임베딩, Attention, Transformer는 이 과정을 이해하기 위한 지도다.

다음으로 배워야 할 네 가지 길

이 책은 LLM으로 가는 입구까지 독자를 데려왔다. 이제 더 깊이 들어가려면 몇 가지 주제를 차례로 확장하면 된다.

첫째는 토큰화다. LLM은 문장을 그대로 읽지 않는다. 문장을 토큰이라는 작은 단위로 나눈 뒤, 각 토큰을 숫자 ID로 바꾸고, 다시 임베딩 벡터로 변환한다. 토큰화 방식에 따라 모델이 보는 세계의 단위가 달라진다. "학습합니다"를 하나의 단위로 볼지, 더 작은 조각으로 나눌지에 따라 입력 길이와 표현 방식이 달라진다. LLM을 제대로 이해하려면 먼저 모델이 텍스트를 어떤 조각으로 읽는지 알아야 한다.

둘째는 사전학습이다. 사전학습은 모델이 대량의 텍스트를 통해 언어의 일반적인 패턴을 익히는 과정이다. 이 단계에서 모델은 문법, 표현, 지식, 문맥 연결, 코드 패턴 등 다양한 구조를 배운다. 우리가 책에서 다룬 손실 함수와 역전파는 이 거대한 학습에서도 여전히 중심 역할을 한다. 차이가 있다면 데이터와 모델의 규모가 훨씬 커진다는 점이다.

셋째는 파인튜닝이다. 사전학습된 모델은 넓은 언어 능력을 갖지만, 특정 목적에 바로 최적인 것은 아니다. 고객 문의 답변, 법률 문서 요약, 의료 기록 분류, 코드 리뷰, 사내 문서 검색처럼 구체적인 작업에 맞추려면 추가 학습이나 지시 조정이 필요하다. 파인튜닝은 이미 배운 넓은 표현 위에 특정 작업의 방향을 더하는 과정이라고 볼 수 있다.

넷째는 평가다. 생성 모델은 단순히 정확도 하나로 평가하기 어렵다. 답이 사실인지, 지시를 잘 따랐는지, 불필요한 내용을 만들지 않았는지, 위험한 답변을 하지 않는지, 특정 도메인에서 충분히 믿을 만한지 확인해야 한다. LLM을 공부하는 다음 단계에서는 모델을 만드는 것만큼 모델을 평가하는 법도 중요해진다.

이 네 가지 길은 서로 따로 떨어져 있지 않다. 토큰화는 입력을 만들고, 사전학습은 언어 능력의 바탕을 만들고, 파인튜닝은 목적에 맞는 행동을 만들고, 평가는 그 행동을 믿을 수 있는지 확인한다.

실습 결과물을 다음 프로젝트로 바꾸기

이 책에서 만든 실습은 연습용 코드로만 끝나지 않아도 된다. 조금만 다듬으면 훌륭한 포트폴리오가 된다. 중요한 것은 단순히 "실행했다"가 아니라 "무엇을 이해했고, 어떤 문제를 해결했으며, 어떤 개선을 시도했는가"를 보여 주는 것이다.

NumPy로 만든 작은 신경망은 역전파를 직접 이해했다는 증거가 된다. PyTorch로 만든 MLP와 손글씨 숫자 분류기는 데이터셋, 모델, 손실 함수, 옵티마이저, 학습 루프를 연결할 수 있다는 증거다. CNN 이미지 분류기는 구조 선택이 성능에 영향을 준다는 점을 보여 준다. 텍스트 분류 모델과 임베딩 시각화는 단어가 벡터 공간에서 의미 있는 관계를 가질 수 있음을 설명하는 좋은 자료가 된다. Attention 미니 구현과 Transformer 블록 맛보기는 LLM 내부 구조로 넘어갈 준비가 되어 있음을 보여 준다.

다음 프로젝트를 고른다면 너무 큰 것부터 시작하지 않아도 된다. 작은 문제를 끝까지 완성하는 편이 더 좋다. 예를 들어 영화 리뷰 감성 분류기를 만들고, 임베딩을 시각화하고, 잘못 분류된 문장을 분석해 볼 수 있다. 작은 이미지 분류기를 만든 뒤 데이터 증강과 드롭아웃을 적용해 검증 성능이 어떻게 달라지는지 비교할 수도 있다. 미니 Transformer를 구현해 짧은 문자열의 다음 글자를 예측하게 만들고, Attention 가중치가 어떻게 변하는지 관찰할 수도 있다.

좋은 포트폴리오는 화려한 모델 이름보다 선명한 학습 과정을 담고 있다. 어떤 데이터를 사용했는지, 입력과 출력의 shape은 무엇인지, 손실은 어떻게 변했는지, 과적합은 있었는지, 어떤 하이퍼파라미터를 바꾸었는지, 실패한 실험에서 무엇을 배웠는지 기록하자. 딥러닝 실력은 성공한 결과뿐 아니라 실패를 해석하는 능력에서도 드러난다.

이제 읽는 사람이 아니라 만드는 사람으로

LLM과 생성 AI의 세계는 빠르게 변한다. 새로운 모델 이름, 새로운 프레임워크, 새로운 추론 기법, 새로운 서비스가 계속 등장한다. 처음 보면 따라잡기 어려워 보인다. 하지만 이 책에서 만든 지도는 쉽게 낡지 않는다.

왜냐하면 최신 모델도 결국 입력을 숫자로 바꾸고, 층을 통과시키고, 손실을 계산하고, 기울기를 구하고, 파라미터를 수정하는 방식 위에 서 있기 때문이다. 새로운 논문을 읽을 때도, 새로운 모델 구조를 볼 때도, 먼저 물어보면 된다.

입력은 어떤 형태인가?

표현은 어디에서 만들어지는가?

손실 함수는 무엇을 줄이려 하는가?

기울기는 어떤 파라미터를 바꾸는가?

Attention은 어떤 정보에 집중하는가?

이 질문을 던질 수 있다면 더 이상 모델을 검은 상자로만 보지 않게 된다. 완전히 이해하지 못한 구조를 만나도 겁먹지 않는다. 모르는 부분을 쪼개고, shape을 확인하고, 작은 코드로 실험하고, 손실이 어떻게 움직이는지 보면 된다. 그것이 딥러닝을 배우는 가장 확실한 방법이다.

처음에는 신경망이 복잡한 기계처럼 보였을 것이다. 이제는 그 안에서 어떤 일이 벌어지는지 조금 더 또렷하게 보인다. 가중치는 아무렇게나 움직이지 않는다. 손실이 방향을 만들고, 역전파가 책임을 나누고, 옵티마이저가 한 걸음씩 조정한다. 층은 표현을 바꾸고, 임베딩은 의미를 숫자 공간에 놓고, Attention은 필요한 정보를 서로 연결한다.

그 연결의 끝에서 모델은 언어를 배운다. 그리고 독자는 이제 그 장면을 멀리서 바라보는 사람이 아니다. 직접 작은 모델을 만들고, 학습시키고, 고치고, 해석할 수 있는 사람이 되었다.

딥러닝은 한 번에 이해되는 분야가 아니다. 하지만 한 번 흐름을 잡으면, 다음 길은 훨씬 선명해진다. 이제 그 길 위에서 더 큰 모델을 만나도 좋다. 생성 AI를 실험해도 좋다. 논문을 읽어도 좋고, 자신만의 작은 언어 모델을 만들어도 좋다.

중요한 것은 계속 같은 질문으로 돌아오는 것이다.

모델은 무엇을 보았는가. 무엇을 예측했는가. 얼마나 틀렸는가. 어떻게 고쳤는가. 그리고 그 반복 끝에 어떤 표현을 배웠는가.

이 질문을 품고 있다면, 딥러닝은 더 이상 막연한 기술이 아니다. 그것은 데이터를 통해 표현을 만들고, 표현을 통해 세계를 조금씩 이해하려는 계산의 언어다. 이제 그 언어로, 다음 모델을 직접 만들어 볼 차례다.

책 목록

처음 만나는 딥러닝: 신경망에서 Transformer와 LLM까지

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기