LM(Language Model)의 종류
- SLM(Statistical Language Model): 말뭉치 데이터에서 통계적으로 많이 등장하는 단어 횟수를 바탕으로 확률 계산
- 네이버에서 검색 시 '안녕' 뒤에 추천 검색어로 '안녕하세요'로 자동완성 문구가 생성되는 것
- 통계적 추천 기능
- Sparsity(희소성) 문제 - 희소한 문장은 통계적으로 생성이 불가한 구조
- NLM(Neural Language Model):
- Apple이 뭐냐고 물어보면 맥락에 따라 사과인지 회사인지를 구분할 수 있는데, 앞 뒤 데이터를 보고 현재 상태의 데이터의 의미가 달라지는 (Sequence 데이터) 이런 경우에 취약
- RNN(Recurrent neural network)
: 자연어의 흐름(문맥) 파악에 적합
- RNN은 NLM의 특정 유형을 구현하는 데 사용되는 아키텍처 중 하나

출처: https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%8B%A0%EA%B2%BD%EB%A7%9D - 뒤로 갈수록 앞에 있던 x0의 영향이 약해지면서 패턴 파악이 어려워지는 문제 (기울기 소실 Vanishing Gradient)
- 그래서 LSTM, GRU 같은 개념이 등장
- 장기기억을 두고, 중요한 개념으로 보이면 장기기억으로 보내고, 아닌 것 같으면 단기기억으로 보내면서 망각되게 함
- Prime 기억으로 보낼지에 대한 판단이 포함된 LSTM
- GRU는 국내에서 제안된 모델
- RNN의 한계 (특히, LSTM의 한계)
- 언어 번역 시 한계가 있었음
- LSTM을 구조적으로 현명히 쓰고자 Seq2Seq(Sequence to Sequence) 아이디어 도입
- 원문에 대한 [이해] 담당 Sequence / [통역] 담당 Sequence로 구분됨을 의미하는 구조
- Transformer에 대한 핵심 아키텍처

출처: https://www.davidsbatista.net/blog/2020/01/25/Attention-seq2seq/ - 두 개의 RNN 구조: Encoder + Decoder
- 인코더: 입력 시퀀스로 문장을 이해
- 컨텍스트 벡터: 전체 문장을 축약한 고정 크기 벡터, 디코더가 문장 생성 시 참고
- 디코더: 입력 문장에 대응되는 문장 생성
- 그냥 매 순간마다 가장 그럴듯한 단어 하나를 예측하는 것을 반복하는 구조.
- 다만 한계로, 번역 직전에 마지막으로 들어온 단어의 영향이 가장 크다는 것이 문제(의존성 문제). 해결 방안은 컨텍스트 벡터의 크기를 매우 늘리는 것(모든 정보를 담기 위해)
- Attention Mechanism
- Seq2Seq 모델의 한계: 컨텍스트 벡터의 고정된 크기, 마지막 단어에 지나치게 높은 의존성, Vanishing Gradient-긴 입력 시퀀스에서 정보 손실 발생 가능성
- 그리고 RNN 기반 모델의 한계: 각 단어의 영향력을 정확히 반영할 수 없음
- 기본 아이디어:
- 입력 시퀀스의 각 부분의 중요성이 다름
- 디코더가 출력 생성 시 입력 시퀀스의 특정 부분에 주목함 (가중치)
- 임베딩해서 벡터 뽑아서 행렬 계산
- 각 입력 단어에 대한 hidden state(key)가 생성됨
- 디코더는 문장을 구성하는 단어(Query) 생성 시, 입력된 여러 단어 Hidden state의 기여도(Value)를 참고함
- Attention score: 인코더의 모든 Hidden State에 대해, 디코더의 Hidden State와 얼마나 유사한지 측정한 점수 값 (주로 행렬 내적으로 계산)
- Attention Distribution: 앞의 Attention Score를 확률의 분포로 변환하면서 모든 인코더의 Hidden State의 기여도가 확률값으로 반환됨(각 기여도는 Attention Weight라고 함)
- Attention의 장점: 긴 입력 시퀀스에서도 정보 손실 최소화, 디코딩 시 입력의 특정 부분에 집중 가능. 시각화 가능
- Transformer: "Attention is All You Need" 논문의 핵심 인공지능 모델
- RNN 없이 Attention만 사용
- LSTM이 없기 때문에
- sin/cos는 보통 주기 관련 개념에 사용됨 - 아주 작은, 차이가 거의 없는 값을 넣고 싶어서 순서 정보를 계산하기 위해 Positional Encoding을 함

출처: Attention is all you need 논문 - Self-Attention: 시퀀스 내 모든 토큰 간의 관계를 파악해 (attention 점수 계산) 새로운 표현 생성

출처: Attention is all you need 논문 - attention score 계산을 하고자 함
- W*Q: I love you #가중치가 곱해졌는데, 가중치도 여러개로 곱해보면서 문장에 대해 다방면으로 분석해서 봄
- W* K: I love you
- I에 대한 점수: 10점, love: 70, you: 20
- V: I love you(사실 벡터값임)
- W* Q*K = [0.1 0.7 0.2]
- Q*K*V => V에 가중치가 적용된 결과를 얻게 됨
- [0.1*I 0.7*Love 0.2*You]
- 번역을 할 때 어디를 주의 집중해서 번역했는지를 계속 가중치를 바꿔가면서 학습하게 됨
- Multi-Head Attention
- 여러 개의 Attention 매커니즘 동시 사용
- 인코더: Self attention 연산으로 입력 문장의 정보를 학습
- 디코더: Masked Multi-Head Attention(디코더에만 있는 구조)
- 디코더는 LM(Language Model)의 역할을 수행해야 하기 때문에 앞 단어를 바탕으로 뒷 단어를 예측할 수 있어야 함
- 그래서, 문장을 입력받으면 self attention 계산 시에 문장의 뒷부분을 의도적으로 가려서
- 생성할 때는 강제로 답을 말할때마다 교정을 하면서 교사 강요 모델 방식으로 학습을 함
- Transformer의 성과로 vision, audio, rl 등 다양한 분야 전반에서 성능이 입증됨
- PLM(Pre-trained Language Model)
- 비지도학습을 통해 사전학습한 언어 모델 - 사실 LLM이 등장하면서 PLM이라는 용어로 불리게 된거라, 인위적인 용어임
- 각 도메인에서 적은 학습량으로 사전학습하는 과정에서 파인튜닝해서 모델을 만들 수 있음 (제조업 등)
- 모델 0에서 시작하는게 아니라 이미 완성된 모델에서 조금 변형하는 형식
- 번역기 모델을 파인튜닝해서 생성형 모델로 만들거나
- 감정 분류 모델을 파인튜닝해서 문장 분류 태스크로 만들거나 할 수 있음
- 문장에 빈칸을 만들어서(마스킹) 그 자리에 어울리는 것을 맞추는 문제를 계속 맞추는 구조
- 정답을 매핑하는 레이블링 자동화 가능해서 편리
- 자연어 이해도가 높은 범용적 모델을 만들 수 있었음
- PLM 중 하나가 Bert
- LLM(Large Language Model)
- PLM 중 크기가 큰 LM
- 주로 Transformer의 Decoder 기반 모델 활용
- PLM -> LLM으로 발전 (생성형 서비스의 발전 과정)
- GPT-2까지는 오픈소스였음
- GPT-3부터 사람과 같이 말하기 시작함. 하지만 성별,인종,종교 등에 대한 편향 문제가 대두
- GPT-3.5에 대해서 오픈AI가 공식적인 자료를 발표하지 않았는데, 아마 RLHF와 Instruction tuning이 추가되었을 것으로 추측됨. 사람들이 선호하는 답변을 선택받아서 그 피드백을 바탕으로 미세하게 조정하며 답변 스타일을 조정.
- 이어서
- Deep Research, GPT-5 ~
Prompt Engineering
- RAG 기법을 활용해 prompt engineering을 하는 것이 일반적임
- 일반 대중을 상대로 한 prompt engineering은 문장을 잘 쓰는 법을 의미
- 지금은 개발자 관점에서의 prompt engineering
- 페르소나를 줌. 일반적인 질답이 아니라 인격을 제시. - 너는 테슬라 전용 GPT이다.
- 모델 재학습, 구조적으로 복잡하게 하는 일 등을 할 필요 없어서 간편함
- 타사를 언급하지 말 것 - 같은 지시어로, 자사화 프로젝트에서 활용
- 하지만 점점 차별성이 부족해 더 자사화되고 더 복잡한 문제를 해결할 수 있는 방법을 찾게 됨
- 그래서, => DB에 LLM을 붙여서 답변을 할 수 있도록 하는 RAG 기법이 각광받게 됨
참고) 워드 임베딩
- I love you를 표현해보자
- 0 1 2로 표현
- [0,0,1] [0,1,0] [0,0,1]로 표현 - 한 언어에는 수만개의 단어가 있는데, 이를 고려하면 배열의 크기가 너무 커져서 수만개의 요소가 들어가는 배열이 될 수 있음. 메모리 용량 부하 발생 가능
- king - man + woman -> Queen : 이처럼 벡터값으로 표현하니, 의미가 계산이 되는 결과를 얻음
- 이처럼 언어를 처리하는 것과 + 여기에 추가로 모델을 만드는 식으로 / 언어모델을 다뤘었는데 transformer 모델이 제안되면서 두 작업을 한 번에 하는 것이 더 효과적일 수 있다는 시사점이 있음. 그래서 transformer 모델은 다방면으로 함의하는 바가 많음
머신러닝 기초 개념
Artificial Intelligence(인공지능 / 1910년도: 산업혁명) > Machine Learning > Deep Learning 순으로 발달
- 결국 AI를 만들기 위한 구체적인 접근 방식이 변화해온 것

딥러닝 기초 개념
신경 시스템(Neural Network)을 모방한 인공 신경망
인공 신경망: 입력층 - 은닉층 - 출력층 (각 층 사이의 연결 선은 가중치(Weight)라고 함)
- 가중치: 모델이 이해할 수 있는 값으로 정해줘야 함 (학습을 하면서 각 최적의 값을 찾아가는 것)

딥러닝 모델의 학습 방법
- 딥러닝 모델의 Weight 값을 조정할 수 있도록 Loss Function 또는 Optimization을 함
- Loss Function을 최소화 하기 위해 최적화 알고리즘을 적용
- 예측 값과 실제 값 간의 오차를 줄이기 위해 오차 값을 최소화하는 인자를 찾는 알고리즘을 적용
'컴퓨터공학 + HCI > AI' 카테고리의 다른 글
| AI Agent 개요 및 구조 (0) | 2026.01.06 |
|---|---|
| 논문 리뷰 - Graph Retrieval-Augmented Generation: A Survey (2024) (0) | 2026.01.06 |
| LangChain: RAG 구현에 사용되는 프레임워크 (3) | 2026.01.05 |
| RAG: 검색, 증강, 생성 (0) | 2026.01.05 |
| LM(언어모델) 기본 구조 - 다음 단어 예측(Next Word Prediction) (0) | 2026.01.05 |