
입문서대로 CNN부터 배울 필요는 없다. 지금 생성 AI에 가장 빠르게 도달하기 위한 학습 로드맵
요약
본 글은 생성 AI에 빠르게 접근하기 위한 학습 로드맵을 제시하며, CNN보다 Transformer와 Diffusion Model 등 최신 구조 이해를 우선해야 한다고 조언합니다. 핵심적으로는 손실 함수, 최적화 기법, 평가 지표의 기본 원리를 먼저 파악하는 것이 중요하다고 강조합니다.
핵심 포인트
- AI 학습의 기본 흐름(손실-최적화)을 이해하는 것이 가장 중요하다.
- LLM의 근간은 Self-Attention 기반의 Transformer 구조를 이해하는 것이다.
- 이미지 생성 모델은 확산 모델(Diffusion Model) 학습이 연결하기 쉽다.
- 모델 성능 평가 시, 단순히 손실 값이나 Accuracy만 볼 것이 아니라 목적에 맞는 지표 설정이 필요하다.
AI를 배우려고 입문서를 펼치면, CNN부터 시작하는 경우가 많습니다.
합성곱 (Convolution), 풀링 (Pooling), 이미지 분류.
물론 중요합니다.
다만, 지금 LLM이나 이미지·동영상 생성 AI를 사용하며 그 메커니즘을 이해하고 싶은 사람에게, 첫 번째 고개가 CNN일 필요는 없다고 저는 생각합니다.
저라면 기초적인 학습 메커니즘을 파악한 후, Transformer, LLM, 확산 모델 (Diffusion Model) 순으로 나아갈 것입니다.
저는 AI 연구에 종사해 온 입장에서, 지금 AI를 배운다면 무엇을 우선해야 하는지 정리하겠습니다.
연구를 망라하기 위한 순서가 아니라, 현재의 AI에 빠르게 도달하기 위한 순서입니다.
참고로, 이는 AI를 연구했던 전직 석사의 개인적인 의견입니다.
- 우선, 손실 함수 (Loss Function) · 최적화 기법 (Optimization Method) · 평가 지표 (Evaluation Metric)를 배운다
- LLM을 이해하는 입구는
Transformer이다 - 이미지·동영상에서는
ViT나 Transformer 백본의 생성 모델이 큰 비중을 차지한다 - 이미지 생성은 다음에 확산 모델을 배우면 연결하기 쉽다
AI 학습이 무엇을 하고 있는지 이해했으면 합니다.
뉴럴 네트워크 (Neural Network)는 입력으로부터 예측을 만들고, 예측과 정답의 차이를 수치화하며, 그 차이가 작아지도록 가중치 (Weight)를 업데이트합니다.
이 일련의 흐름을 모르면, Transformer도 확산 모델도 이름만 외우게 됩니다.
손실 함수는 예측의 나쁨을 하나의 수치로 만드는 함수입니다.
분류라면 Cross Entropy, 연속값 예측이라면 MSE가 대표적인 예입니다.
이미지 생성의 확산 모델에서도 노이즈 예측의 오차를 MSE로 하여 최소화하는 형태가 자주 등장합니다.
중요한 것은 식을 암기하는 것이 아닙니다. 모델이 무엇을 정답으로 취급하고, 어떤 오차를 줄이려고 하는지를 읽어낼 수 있어야 합니다.
손실을 작게 만들기 위해 가중치를 움직이는 규칙이 최적화 기법입니다.
우선 경사 하강법 (Gradient Descent), 미니 배치 (Mini-batch), 학습률 (Learning Rate)을 이해합니다.
그 후에 Adam이나 AdamW를 봐도 충분합니다.
학습률이 너무 크면 불안정해지고, 너무 작으면 나아가지 않습니다. 이 감각은 LLM의 미세 조정 (Fine-tuning)에서도, 이미지 모델의 학습에서도 변하지 않습니다.
손실이 내려갔다고 해서 반드시 좋은 모델인 것은 아닙니다.
분류라면 Accuracy뿐만 아니라, 클래스의 편향이 있는 경우에는 Precision, Recall, F1-score를 볼 필요가 있습니다.
생성 모델이라면 학습 손실만으로는 이미지의 자연스러움이나 프롬프트 준수 여부를 완전히 결정할 수 없습니다.
무엇을 성공이라 부를 것인지를 모델보다 먼저 결정하는 습관이 필요합니다.
LLM을 배우고 싶다면 먼저 Transformer입니다.
Transformer는 입력 중의 각 요소가 다른 요소를 참조하는 Self-Attention을 중심으로 한 구조입니다.
문장이라면 토큰 (Token)끼리, 이미지라면 패치 (Patch)끼리의 관계를 다룰 수 있습니다.
Self-Attention에서는 각 토큰으로부터 Query, Key, Value라는 세 종류의 벡터를 만듭니다.
어떤 토큰의 Query와 다른 토큰의 Key 사이의 유사도를 통해 참조 강도를 결정하고, 그 가중치로 Value를 섞습니다.
이를 통해 단어나 이미지 패치가 멀리 떨어진 위치에 있는 요소와의 관계를取り込めます (취할 수 있습니다).
LLM은 일반적으로 Transformer를 기반으로 만들어집니다.
다음 토큰을 예측하는 학습을 반복하면 문장 이어 쓰기, 요약, 코드 완성 같은 처리로 이어집니다.
우선은 다음 단어를 자신의 언어로 설명할 수 있으면 된다고 생각합니다.
Tokenization- 임베딩 벡터 (Embedding Vector)
- 위치 인코딩 (Positional Encoding)
Self-Attention- 잔차 연결 (Residual Connection)과
Layer Normalization - 다음 토큰 예측과
Cross Entropy
이 부분을 건너뛰고 LLM만 사용하는 것은 조금 아쉬운 일입니다.
한편, 거대한 LLM을 처음부터 학습할 필요는 없습니다.
작은 Transformer를 구동하며 기존 모델을 미세 조정하는 편이 배울 점이 더 많습니다.
Attention Is All You Need는 Google Brain과 Google Research를 중심으로 하는 저자들이 2017년에 발표하여 Transformer를 제안한 논문입니다.
AI 연구 측면에서 보고 있으면 약간의 탄식도 듭니다.
확산 모델, RLHF, 선호도 최적화 (Preference Optimization)와 같이 모델을 어떻게 학습시킬 것인가라는 프레임워크에는 새로운 제안이 끊임없이 나옵니다.
양자화 (Quantization), 증류 (Distillation)를 포함하여 기존 모델을 가볍고, 빠르고, 저렴하게 구동하는 기법도 늘어났습니다.
Attention 자체에도 개선이 이루어지고 있습니다.
일반적인 Self-Attention은 토큰 수를 n이라고 할 때, 토큰 간의 쌍을 다루기 때문에 계산량과 메모리 사용량이 대략 n²으로 증가합니다.
긴 문맥을 다루기 위해 국소적 Attention (Local Attention), 희소 Attention (Sparse Attention), 선형 Transformer (Linear Transformer)와 같이 비교하는 쌍을 줄이려는 제안이 계속되고 있습니다.
FlashAttention처럼 계산 내용은 유지하면서 GPU 메모리에 대한 읽기/쓰기를 줄이는 구현상의 개선도 중요합니다.
KV 캐시 (KV Cache)도 이러한 흐름에 있습니다.
LLM이 한 번에 1토큰씩 문장을 생성할 때, 과거 토큰의 Key와 Value를 저장하는 메커니즘입니다.
과거 전체의 Key와 Value를 매번 다시 계산할 필요가 없으므로, 생성을 크게 가속화할 수 있습니다.
반면, 문맥이 길어질수록 캐시도 늘어나 GPU 메모리를 압박합니다.
KV 캐시 (KV Cache) 역시 새로운 모델이 아니라, Transformer를 실용적으로 추론하기 위한 고안입니다.
LoRA도 같은 흐름에 있습니다.
기반 모델 (Foundation Model)의 가중치를 통째로 업데이트하지 않고, 저차원 (Low-rank)의 작은 행렬만을 학습하여 미세 조정 (Fine-tuning)하는 방법입니다.
Transformer라는 모델을 다른 것으로 교체하는 것이 아니라, Transformer를 저렴하게 용도별로 재사용할 수 있도록 만든 기술이라고 할 수 있습니다.
한편, LLM이나 대규모 이미지·영상 모델의 중심에는 여전히 Transformer가 있습니다.
새로운 모델 종류가 전혀 나오지 않는 것은 아닙니다.
그럼에도 실무에서 크게 사용되는 모델을 보면, Transformer를 대체하기보다 Transformer를 더 크게 만들거나, 효율화하거나, 성능을 떨어뜨리지 않으면서 작게 만드는 방향이 두드러집니다.
이 상황을 보면, Attention Is All You Need라는 논문 제목이 그대로 현실이 되어버린 것 같다는 느낌도 듭니다.
물론 원 논문이 Attention 이외의 발상이 필요 없음을 증명한 것은 아닙니다.
Transformer 이외의 것을 탐구하는 연구도 계속되고 있습니다.
Transformer를 개선하는 연구가 멈춰야 한다고 말하려는 것이 아닙니다.
그럼에도 불구하고, 다음에 널리 쓰일 새로운 모델 패러다임이 시작되기를 연구를 지켜봐 온 사람으로서 내심 기대하고 있습니다.
이미지 처리에 CNN이 사용되지 않게 된 것은 아닙니다.
외관 검사, 의료 영상, 경량 에지 (Edge) 단말기, 기존 구현을 읽어야 하는 상황에서는 CNN을 알고 있으면 도움이 됩니다.
딥러닝을 제대로 공부하려면 CNN도 필요합니다.
합성곱 (Convolution)이 가진 국소성 (Locality)이나 가중치 공유 (Weight Sharing)의 개념은 이미지 모델 설계의 기초가 됩니다.
다만, 이미지와 영상을 다루는 현대 AI를 빠르게 따라잡기 위한 입구로서는 Vision Transformer (ViT)나 생성 모델로 나아가는 것이 더 연결성이 높다고 느낍니다.
ViT는 이미지를 작은 패치 (Patch)로 나누고, 이를 토큰 열처럼 Transformer에 전달합니다.
이미지를 다루기 위해 Transformer의 개념을 그대로 확장할 수 있습니다.
영상 또한 프레임이나 시공간 패치를 토큰으로 다루는 Transformer 계열의 방법이나 생성 모델이 중요합니다.
이미지·영상의 모든 것이 Transformer가 된 것은 아닙니다.
다만 ViT나 Transformer 계열의 생성 모델이 사용되는 경우가 많으므로, 첫 입구로서는 충분하다고 생각합니다.
다음에 배울 것이라면 확산 모델 (Diffusion Model)입니다.
학습 시에는 데이터에 조금씩 노이즈를 추가합니다.
모델은 특정 시점의 노이즈가 섞인 데이터로부터, 추가된 노이즈나 원본 데이터로 돌아가는 방향을 예측합니다.
생성 시에는 노이즈에서 시작하여, 그 예측을 반복적으로 사용하며 이미지에 가깝게 만듭니다.
이 흐름을 이해하면 텍스트로 이미지를 만드는 모델에서 조건부 생성 (Conditioning)이나 Classifier-Free Guidance가 무엇을 위해 존재하는지 추적하기 쉬워집니다.
이 부분은 혼동하기 쉽습니다.
확산 모델은 생성의 프레임워크(Framework)이며, Transformer라는 네트워크 구조가 아닙니다.
전통적인 확산 모델의 상당수는 U-Net을 사용합니다.
반면 DiT (Diffusion Transformer)는 이미지의 잠재 표현 (Latent Representation)을 패치로 다루는 Transformer를 확산 모델의 백본 (Backbone)으로 사용했습니다.
대규모 이미지 생성을 고려할 때, Transformer를 이해하는 가치는 여기서도 나타납니다.
확산 모델은 '생성의 개념·프레임워크'이며, Transformer나 U-Net 등의 네트워크는 그 구현으로서 조합되어 사용됩니다.
확산 모델은 Transformer 그 자체는 아닙니다. 하지만 현재 유력한 확산 모델 중에는 Transformer를 백본 (Backbone)으로 사용하는 것들이 있으며, Transformer에 대한 지식이 그대로 도움이 됩니다.
모델의 구조를 읽을 수 있더라도, 학습과 운용에 대한 지식이 없다면 실무에서는 사용하기 어렵습니다.
LLM에서는 사전 학습 (Pre-training), 지속 사전 학습 (Continual Pre-training), 파인튜닝 (Fine-tuning), 선호 데이터를 사용한 조정 (Alignment)을 구분합니다.
개인이 처음부터 거대 모델을 학습하는 상황은 거의 없습니다.
먼저 기존 모델을 추론하고, 소규모 데이터로 LoRA 등의 효율적인 미세 조정 (Fine-tuning)을 시도하며, 평가 세트 (Evaluation set)로 변화를 확인하는 것이 현실적입니다.
여기서도 손실 함수 (Loss function), 최적화 (Optimization), 평가 지표 (Evaluation metric)가 필요합니다.
양자화 (Quantization)는 가중치 (Weight)나 활성화 값 (Activation)을 더 적은 비트 수로 표현하여, 필요한 메모리와 계산량을 줄이는 방법입니다.
예를 들어 FP16에서 INT8이나 4비트 표현으로 바꾸면, 제한된 GPU 메모리로도 큰 모델을 구동할 수 있는 경우가 있습니다. 다만 정밀도, 속도, 대응하는 하드웨어 조건은 함께 확인해야 합니다.
양자화는 모델을 학습하기 전에 반드시 배워야 하는 것은 아닙니다. 수중에 모델이 올라가지 않거나, 추론이 느린 등의 제약에 부딪혔을 때 유효한 지식입니다.
증류 (Distillation)는 큰 교사 모델 (Teacher model)의 출력을 본보기로 삼아, 작은 학생 모델 (Student model)을 학습시키는 방법입니다.
양자화가 표현의 정밀도를 낮추어 가볍게 만드는 것이라면, 증류는 별도의 소형 모델을 키워내는 것입니다. 목적은 비슷하지만 작업 방식은 완전히 다릅니다. 레이턴시 (Latency)나 비용을 엄격하게 억제하고 싶다면 증류가 중요합니다.
저라면 다음과 같은 순서로 진행하겠습니다.
- Python, 행렬 계산, 미분, 확률의 최소한
- 손실 함수, 역전파 (Backpropagation), 최적화 기법, 평가 지표
- 작은 뉴럴 네트워크를
PyTorch로 학습시키기 - Transformer와 작은 LLM
- 기존 LLM의 추론, 미세 조정, 평가
- 양자화와 증류
- 확산 모델
이 순서는 어디까지나 생성 AI를 중심으로 두었을 경우입니다. 기본적으로는 인터넷에서 찾아보고, ChatGPT 등의 AI에게 질문하며 나아가는 방식만으로도 충분합니다. 모르는 용어, 논문의 한 구절, 에러, 코드의 동작을 그 자리에서 질문하십시오. 다만, AI의 설명을 그대로 믿기보다는 짧은 코드를 실제로 돌려보며 확인하는 것을 권장합니다.
AI에게는 답을 대신 쓰게 하는 것뿐만 아니라, 전제 조건에 대한 설명, 수식 풀이, 코드 리뷰, 이해도 확인 문제를 부탁하면 사용하기 좋습니다.
책이나 영상도 체계적인 이해를 쌓는 데 유효합니다. 책을 처음부터 끝까지 통독할 필요는 없습니다. 지금 관심 있는 장을 읽고, 막히는 부분은 AI에게 질문하고, 다시 책으로 돌아오는 방식으로 읽어도 좋습니다.
오카노하라 다이스케, 『대규모 언어 모델은 새로운 지능인가 — ChatGPT가 바꾼 세계』. LLM의 구조와 그 등장이 사회에 미친 영향을 설명하는 일반서입니다. 전문서에 들어가기 전, LLM이 무엇을 할 수 있고 어디에 과제가 있는지 파악하는 입문서로 추천합니다.
『최단 코스로 이해하는 PyTorch & 심층 학습 프로그래밍』. CNN을 주제로 하고 있지만, PyTorch를 사용하여 심층 학습의 기본을 이해하기 쉬운 책입니다. 손실 함수, 최적화, 학습 루프를 실제로 구동하고 싶은 단계에서 도움이 됩니다.
오쿠다 카츠미, 『구조부터 이해하는 대규모 언어 모델: 생성 AI 시대의 소프트웨어 개발 입문』. 수학적인 설명에 너무 치우치지 않고 실전에 무게를 둔 LLM 해설서입니다. 제4장 정도부터 구체적인 내용이 나오므로, 그 이후부터는 관심에 맞춰 읽으면 됩니다.
사이토 코키, 『제로에서 만드는 Deep Learning ❺ 생성 모델 편』. 확산 모델까지 자세히 다루는 양서입니다. 수학적 난이도가 조금 있지만, PyTorch 학습 코드가 포함되어 있어 직접 손을 움직이며 이해하기 쉬운 구성입니다.
사토 류마, 『심층 뉴럴 네트워크의 고속화』. 양자화, 증류, 저차원 근사 (Low-rank approximation) 등 모델을 빠르고 작게 만드는 기법을 설명합니다. 수학적 난이도가 다소 높으므로 처음부터 다 읽기보다는 자료집처럼 활용하며, 모르는 부분을 AI에게 질문하는 방식으로 읽기를 권합니다.
AI를 빨리 배우고 싶은 사람이 처음에 손을 대는 모델이 꼭 CNN일 필요는 없다고 생각합니다. 손실 함수, 최적화 기법, 평가 지표를 이해한 뒤 Transformer로 나아가십시오. 그러면 LLM, ViT, Transformer를 사용하는 생성 모델로 지식을 확장하기 쉬워집니다. 이미지 생성은 확산 모델까지 배우면 현재 접할 기회가 많은 생성 AI로 이어집니다.
Vaswani, A., et al. Attention Is All You Need.
Advances in Neural Information Processing Systems 30, 2017.
Dosovitskiy, A., et al.
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.
International Conference on Learning Representations, 2021.
Peebles, W. and Xie, S.
Scalable Diffusion Models with Transformers.
IEEE/CVF International Conference on Computer Vision, 2023.
Ho, J., Jain, A. and Abbeel, P.
Denoising Diffusion Probabilistic Models.
Advances in Neural Information Processing Systems 33, 2020.
Kingma, D. P. and Ba, J.
Adam: A Method for Stochastic Optimization.
International Conference on Learning Representations, 2015.
Hinton, G., Vinyals, O. and Dean, J.
Distilling the Knowledge in a Neural Network.
arXiv preprint arXiv:1503.02531, 2015.
Hu, E. J., et al.
LoRA: Low-Rank Adaptation of Large Language Models.
International Conference on Learning Representations, 2022.
Dao, T., et al.
FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness.
Advances in Neural Information Processing Systems 35, 2022.
Pope, R., et al.
Efficiently Scaling Transformer Inference.
Proceedings of Machine Learning and Systems 5, 2023.
Tay, Y., Dehghani, M., Bahri, D. and Metzler, D.
Efficient Transformers: A Survey.
ACM Computing Surveys 55(6), 2022.
Frantar, E., Ashkboos, S., Hoefler, T. and Alistarh, D.
GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers.
International Conference on Learning Representations, 2023.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기