[CLS] Congratulations! You won $1000 ... [SEP]
↓(BERT 양방향 인코딩)
h_[CLS] → 분류 층 → spam / not spam
BERT의 결과: 원 논문은 당시 GLUE, SQuAD 등의 언어 이해 벤치마크에서 최상위 수준의 결과를 얻었다. 이러한 비교는 특정 데이터셋, 모델, 실험 설정에서 이루어졌다.
인코더
BERT의 양방향 Transformer를 트랜스포머 인코더라고도 부른다.
각 출력 단어는 양방향 문맥에 의존한다(양방향 어텐션).
장점: 양방향 문맥은 이해 태스크에 적합하다. 분류, 정보 추출, 시퀀스 레이블링 등이 이에 해당한다.
한계: 원래 BERT의 MLM 목표와 양방향 어텐션은 왼쪽에서 오른쪽으로 진행하는 자기회귀 생성을 직접 제공하지 않는다. BERT는 생성 시스템의 인코더로 사용하거나 추가 설계로 생성에 맞게 바꿀 수 있지만, 그대로 GPT와 같은 디코더로 사용할 수는 없다.
“
그림 1-2 세 가지 사전학습 구조: BERT(양방향 Transformer, 인코더만 사용), OpenAI GPT(단방향, 디코더만 사용), ELMo(양방향 LSTM). 출처: Devlin 외, 2019, 그림 3.
1.4 디코더와 인코더–디코더
디코더
GPT의 단방향 Transformer를 트랜스포머 디코더라고도 부른다.
각 출력 단어는 왼쪽 문맥에만 의존한다(단방향/인과적 어텐션).
분류와 생성에 모두 사용할 수 있다.
각 위치에서 참고할 수 있는 문맥은 인코더와 다르다. 분류 성능은 모델 규모, 학습 목표, 데이터, 미세조정 방법에도 영향을 받으므로 어텐션의 방향만으로 판단할 수 없다.
인코더–디코더
동기: 입력 표현과 출력 생성을 분리해 처리한다. 입력과 출력의 길이가 다를 수 있는 seq2seq 태스크에 적합하다.
결합 방식:
입력은 인코더로 처리한다(양방향 이해를 통해 풍부한 입력 표현을 만든다).
출력은 디코더로 생성한다(단어를 하나씩 자기회귀적으로 생성하며, 교차 어텐션으로 인코더의 출력을 읽는다).
세 구조 비교
구조
대표 사례
어텐션
주요 용도
인코더 전용
BERT
양방향
분류, 추출형 QA, 시퀀스 레이블링
디코더 전용
GPT 계열, LLaMA
단방향(인과적)
생성, few-shot 학습, 대화
인코더–디코더
T5, BART, 원래 Transformer
양방향 인코딩 + 단방향 디코딩 + 교차 어텐션
번역, 요약 등의 seq2seq 태스크
1.5 T5 (Text-to-Text Transfer Transformer, 2019)
“
그림 1-3 T5의 text-to-text 프레임워크는 번역, 분류, 요약, 회귀를 모두 “입력 텍스트 → 출력 텍스트”로 표현한다. 출처: Raffel 외, Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer, JMLR 2020, Figure 1.
사전학습 목표: 구간 손상(span corruption)
무작위로 여러 연속된 토큰 구간을 선택하고, 각 구간을 서로 다른 센티널로 바꾼 뒤 제거된 내용을 생성하도록 학습한다.
예시: Thank you <X> me to your party <Y> week → 목표: <X> for inviting <Y> last <Z>
“
그림 1-4 구간 손상: 연속된 구간을 센티널 <X> <Y> <Z>로 바꾸고, 제거된 내용을 생성하도록 학습한다. 출처: Raffel 외, 2020, 그림 2.
다른 학습 목표와의 비교
목표
예시
설명
Prefix language model(접두 언어 모델)
cows love to → eat grass
접두 구간이 주어졌을 때 뒤를 예측한다(GPT와 비슷하지만 인코더–디코더로 구현).
Masked language model(마스크 언어 모델)
cows <M> <M> eat grass → cows love to eat grass
무작위로 단어를 마스킹하고 예측한다(BERT와 유사).
Shuffling(순서 섞기)
grass cows to love eat → cows love to eat grass
단어 순서를 섞은 뒤 원래 순서로 복원하도록 학습한다.
Drop tokens(토큰 삭제)
cows love grass → cows love to eat grass
입력 단어 일부를 삭제하고 원문 전체를 복원하도록 학습한다.
“
T5가 최종적으로 채택한 목표는 span corruption이다. 논문의 비교 실험에서 경쟁력 있는 성능을 보이면서 생성해야 할 목표 시퀀스의 길이를 줄였다. 이는 실험 설계의 절충이며, 모든 태스크에서 다른 목표보다 우수하다는 뜻은 아니다.
사전학습 말뭉치: 필터링한 C4(Colossal Clean Crawled Corpus)
C4는 필터링한 웹 텍스트로 구성된다.
원래 웹 페이지에는 비언어적 텍스트, 비영어 콘텐츠, 공격적인 콘텐츠 등 잡음이 많다.
여러 휴리스틱으로 데이터를 필터링한다. 문장부호로 끝나는 문장만 남기거나 욕설이 있는 페이지를 제거하고 중복을 없애는 식이다.
양뿐 아니라 품질도 중요하다(C4는 비슷한 양의 원시 웹 수집 데이터보다 훨씬 좋은 결과를 보였다).
미세조정
모든 태스크를 text-to-text 문제로 표현한다.
미세조정에서도 다음 단어 예측을 목표로 한다.
예시: 번역 translate English to German: That is good. → Das ist gut.; 분류 sst2 sentence: it's great → positive.
T5의 결과
항목
내용
모델 규모
small (60M), base (220M), large (770M), 3B, 11B
GLUE
언어 이해 태스크 9개로 구성된 벤치마크
CNN/DM
요약
WMT
기계 번역
결론
가장 큰 모델은 논문이 평가한 여러 벤치마크에서 당시 최상위 수준의 결과를 얻었다. 이것이 일반적인 언어 능력이 인간 수준에 도달했다는 뜻은 아니다.
2. 대규모 언어 모델과 RLHF
2.1 LLM이란?
대규모 언어 모델(LLM)은 보통 방대한 텍스트로 사전학습한, 규모가 큰 언어 모델을 뜻하며 매개변수 수에 대한 보편적인 기준은 없다. 여기서는 Transformer 모델의 zero-shot 일반화, 문맥 내 학습, 지시 수행 능력에 초점을 둔다.
발전 흐름은 통계적 언어 모델 → 신경망 언어 모델 → 모델 전체 사전학습 → 모델과 데이터 확대 → 지시 튜닝과 선호 정렬로 정리할 수 있다. Word2Vec은 단어 표현 방법이지 완전한 언어 모델과 같은 것이 아니다. 규모 확대와 정렬도 별개의 개념이다.
2.2 GPT와 창발적 능력
NLP에서 사전학습과 미세조정의 역할: 사전학습된 매개변수로 초기화하면 다운스트림 태스크의 성능을 높일 수 있다.
모델
매개변수 수
층 수
차원
학습 데이터
학습 방식
GPT-1
117M
12
768
BookCorpus (~1B words)
자기지도 사전학습 + 지도 미세조정
GPT-2
1.5B
48
1600
WebText (~10B words)
자기지도 사전학습
GPT-3
175B
96
12288
Common Crawl, WebText, 도서, 위키백과의 혼합
자기지도 사전학습
GPT-2의 창발적 능력: zero-shot 학습
GPT-2는 예시나 경사 업데이트 없이 여러 태스크를 수행할 수 있다.
태스크별 미세조정 없이도 언어 모델링 벤치마크에서 당시 최고 성능을 넘어섰다.
GPT-3와 문맥 내 학습
GPT-3 논문의 모델들은 여러 말뭉치를 가중 혼합해 총 약 300B tokens으로 학습했다. 파일 크기, 단어 수, 토큰 수는 서로 다른 척도다.
175B와 같은 일부 규모에서는 시범 예시 없이도 지시를 따를 수 있다(zero-shot).
태스크를 지정할 때는 입력 앞에 해당 태스크의 예시를 몇 개 추가한다.
이를 문맥 내 학습이라고 한다. 새 태스크에 적응할 때 경사 업데이트가 없다는 점을 강조한다.
“
그림 2-1 GPT-3를 사용하는 네 가지 방법: 매개변수를 갱신하는 미세조정과, 매개변수 갱신 없이 예시를 주는 zero-shot, one-shot, few-shot. 출처: Brown 외, Language Models are Few-Shot Learners, NeurIPS 2020, Figure 2.1.
전통적인 미세조정과 문맥 내 학습
비교 항목
전통적인 미세조정
문맥 내 학습
매개변수
모델 매개변수를 갱신해야 한다.
매개변수를 갱신하지 않는다.
데이터
레이블이 있는 예시가 많이 필요하다.
시범 예시가 소수만 필요하다(없을 수도 있다).
과정
사전학습 → 태스크마다 별도 미세조정 → 여러 모델 배포
하나의 모델 + 서로 다른 프롬프트
비용
태스크마다 학습 및 저장 비용이 발생한다.
긴 프롬프트는 추론 비용을 높이지만 학습 비용은 없다.
문맥 내 학습의 한계
프롬프트의 형식, 예시 선택, 예시 순서에 매우 민감하다.
사용할 수 있는 문맥 길이가 제한되어 많은 예시를 담을 수 없다.
여러 단계의 산술처럼 복잡한 추론에는 여전히 실패할 수 있다 → CoT의 동기가 된다(3절).
매개변수가 갱신되지 않으므로 적응은 현재 문맥 안에서 일어난다. 이것만으로 태스크의 바탕이 되는 규칙을 안정적으로 학습했다고 볼 수는 없다. 새 예시, 프롬프트, 시범 구성에서도 검증해야 한다.
2.3 InstructGPT와 RLHF(인간 피드백 기반 강화학습)
전체적인 아이디어: 사람이 만든 시범과 선호 데이터를 모아 지도학습과 강화학습으로 모델의 동작을 조정한다. 아래는 InstructGPT 논문에 발표된 3단계 과정이다. ChatGPT의 학습 아이디어를 이해하는 데도 도움이 되지만, InstructGPT의 데이터 규모와 모델 설정을 ChatGPT 학습의 전체 세부 사항으로 간주해서는 안 된다.
“
그림 2-2 RLHF의 세 단계: (1) 지도 미세조정(SFT) → (2) 보상 모델 학습 → (3) PPO와 보상으로 정책 최적화. 출처: Ouyang 외, Training language models to follow instructions with human feedback (InstructGPT), 2022, Figure 2.
1단계: 지도 미세조정(SFT)
1. 고품질 데이터 수집
프롬프트 목록 작성: 학습에 사용할 질문이나 문장을 정한다.
원하는 답변 수집: 각 프롬프트에 대해 기대하는 응답을 모은다.
전문가나 크라우드소싱으로 데이터를 만들며 품질과 다양성을 확보한다.
InstructGPT 논문의 SFT 학습 데이터는 약 13,000개의 프롬프트와 그에 대응하는 시범 답변으로 구성된다.
2. 사전학습 모델 미세조정
InstructGPT 논문은 사전학습된 GPT-3를 기반 모델로 사용한다.
사전학습은 일반적인 언어 능력을 제공하고, SFT는 원하는 응답 방식에 모델을 맞춘다.
위의 고품질 데이터로 매개변수를 최적화해 지시 형태의 태스크에 더 잘 대응하도록 한다.
2단계: 보상 모델(RM)
1. 출력 생성
프롬프트 목록에서 하나를 선택한다.
선택한 프롬프트에 대해 1단계의 SFT 모델로 약 4–9개의 출력을 생성한다.
2. 사람의 순위 평가
평가자가 출력 품질을 비교해 가장 좋은 것부터 나쁜 것까지 순위를 매긴다.
논문의 RM 데이터셋에는 약 33,000개의 프롬프트가 있다. 한 번의 순위 평가에서 여러 쌍별 비교를 만들 수 있으므로 프롬프트, 답변, 비교 쌍의 수를 구분해야 한다.
3. 보상 모델 학습
입력: 프롬프트 + 이에 대응하는 SFT 모델 출력.
학습 신호: 같은 프롬프트에서 평가자가 어떤 응답을 선호하는지.
출력: 예측한 스칼라 보상. 평가자가 준 절대 점수에 직접 회귀하는 것이 아니라, 선호된 응답에 더 높은 점수를 부여하도록 학습한다.
논문은 6B(60억 매개변수)의 보상 모델을 사용했다.
3단계: 근접 정책 최적화(PPO)
1. 프롬프트 샘플링: 데이터셋에서 “멜버른에 관한 이야기를 써 줘” 같은 프롬프트를 뽑는다. 논문의 PPO 데이터셋에는 약 31,000개의 프롬프트가 있으며, 이 단계에는 프롬프트마다 사람이 작성한 시범 답변이 필요하지 않다.
2. 응답 생성: 현재 정책 모델로 텍스트를 생성한다. 정책은 SFT 모델로 초기화한 뒤 학습 반복 과정에서 PPO로 갱신한다. 사용자에게 응답할 때마다 즉석에서 매개변수를 갱신하는 것은 아니다.
3. 보상 계산: 2단계에서 학습한 보상 모델이 생성된 출력을 평가해 스칼라 보상을 반환한다.
4. 정책 갱신: 보상을 이용해 PPO 알고리즘으로 정책을 갱신한다.
PPO는 정책 갱신 폭을 제어하도록 설계된 강화학습 알고리즘이다. 새로운 보상 정보로 정책을 최적화하되, 지나치게 큰 갱신으로 모델이 무너지는 것을 막아 학습의 안정성을 유지한다.
추가 제약: 학습할 때 SFT 기준 모델에 대한 KL 페널티를 더해 정책의 이탈을 제한하고 보상 모델의 과도한 최적화로 생기는 문제를 완화한다. 모든 보상 해킹을 없앤다는 보장은 아니다.
대화에 맞게 적용
대화 모델에는 여러 턴의 대화 등 해당 형식에 맞는 데이터와 평가도 필요하다. 문맥의 연속성, 부적절한 요청 거절, 형식 준수 등을 다룬다. 이는 학습 목표와 데이터 설계의 선택이지, 앞의 3단계에 고정된 “4단계”가 추가되는 것은 아니다.
현재 입력의 지시, 예시, 정보를 이용해 태스크에 적응하며, 모델 매개변수는 갱신하지 않는다. 세션 간 기억에는 별도의 시스템 장치가 필요하다.
예시 두 개를 보고 새 태스크 수행
단계적 추론
복잡한 문제를 작은 단계들로 나눈다
수학, 프로그래밍, 논리 추론
지시 수행
사용자의 명시적 지시를 따르며 여러 태스크에 유용한 도구로 동작한다.
조건에 맞는 이메일 작성, 조리법을 단계로 정리, 소프트웨어 환경에서 명령 순서 실행
3. 프롬프팅과 사고의 사슬
3.1 Zero-shot과 few-shot 문맥 내 학습
예시로 태스크를 지정할 때는 실제 입력 앞에 해당 태스크의 예시를 추가한다.
이를 문맥 내 학습이라고 하며, 새 태스크에 적응할 때 경사 업데이트가 없다는 점을 강조한다.
즉, 모델은 현재 입력의 문맥만을 사용해 추론하거나 결과를 생성한다.
설정
예시 수
설명
Zero-shot
0
지시만 제공(예: "Translate to French: cheese")
One-shot
1
예시 1개
Few-shot
몇 개
예시 몇 개를 제공하며, 대체로 성능이 개선된다.
3.2 프롬프팅의 한계
태스크가 너무 복잡하면 LLM에 프롬프트를 주어도 올바른 추론을 하지 못할 수 있다. 특히 정보량이 많거나 여러 추론 단계가 필요할 때 그렇다.
실패 예시: 일반적인 프롬프팅
“
Q: 구내식당에 사과가 23개 있다. 점심에 20개를 쓰고 6개를 더 샀다. 지금 몇 개가 있는가?
A: 모델의 출력은 27 ❌
이 예시의 오답은 23-20+6을 올바르게 계산한 결과가 아니다. 27을 23+6의 결과로 설명할 수도 없다. 후자는 29이기 때문이다.
대안: 프롬프팅 방식을 바꾼다 ✅ (다음에 설명할 CoT 사용).
3.3 사고의 사슬 프롬프팅(CoT)
정의: 예시에 중간 추론 단계를 포함하거나 최종 답변 전에 이런 단계를 생성하도록 유도한다. 원 논문은 여러 산술·상식·기호 추론 태스크에서 개선을 관찰했지만, 중간 단계가 올바르다는 보장은 없다.
비교
방법
프롬프트
출력
일반 프롬프팅
질문과 답변만 제공
The answer is 27 ❌
사고의 사슬 프롬프팅
모델이 단계별로 추론하도록 유도
The answer is 9 ✅
예시
“
Q: 구내식당에 사과가 23개 있다. 점심에 20개를 쓰고 6개를 더 샀다. 지금 몇 개가 있는가?
A: 처음 23개에서 20개를 쓰면 3개가 남는다. 6개를 더 사면 총 9개다.
“
그림 3-1 왼쪽: 일반 프롬프팅은 곧바로 오답을 낸다. 오른쪽: 사고의 사슬 프롬프팅은 단계적으로 추론해 정답을 구한다. 출처: Wei 외, Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, NeurIPS 2022, Figure 1.
3.4 모델 규모에 따른 창발적 특성
원래 CoT 논문이 실험한 모델과 태스크에서는 큰 모델이 대체로 추론 시범에서 더 많은 이득을 얻었다.
일부 작은 모델은 잘못된 단계를 생성해 오히려 성능이 떨어졌다. 이는 해당 실험의 규모 효과이지 모든 모델에 적용할 고정된 기준이나 법칙은 아니다.
자주 쓰는 벤치마크:
GSM8K: 초등 수준 수학 문장제(8K 문항)
SVAMP: 의미를 변형한 산술 문제
MAWPS: 수학 문장제 풀이
3.5 CoT의 두 가지 변형
Zero-shot CoT
프롬프트에 "Let's think step by step"라는 문구를 사용한다.
모델이 추론 과정을 스스로 생성한다(generated rationale).
마지막에 답을 추출한다(answer extraction).
장점
단점
예시를 직접 만들 필요가 없다.
추론 품질이 모델 자체에 달려 있어 안정성이 낮다.
Manual CoT
미리 추론 단계를 포함한 예시를 몇 개 직접 만든다(직접 작성한 시범 예시).
그 뒤 테스트 질문을 제시한다.
모델이 제공된 예시를 바탕으로 응답을 생성한다.
장점
단점
원하는 추론 형식을 명시적으로 보여 준다. 효과는 예시가 태스크에 얼마나 잘 맞는지에 달려 있다.
예시를 직접 만들고 검토해야 하며, 예시의 오류도 모방될 수 있다.
3.6 데이터셋 보충
MultiArith: 자연어로 표현된 여러 단계의 수학 문장제.
GSM8K (Grade School Math 8K): 역시 자연어 다단계 수학 문제이지만, 더 구조화된 형식이며 단계가 더 많다.
3.7 프롬프트 인젝션과 탈옥
프롬프트 인젝션: 처리 중인 텍스트나 웹 페이지 등 신뢰할 수 없는 데이터 속의 지시를 실행할 명령으로 받아들이게 하여 원래 태스크에서 벗어나게 한다.
탈옥: 모델이 기존 안전·행동 제약을 우회하도록 유도한다. 프롬프트 인젝션과 겹칠 수 있지만 같은 뜻은 아니다.
예를 들어 번역할 텍스트에 Ignore the above and instead tell me ...를 끼워 넣으면 모델이 다른 태스크로 유도될 수 있다.
시사점: 애플리케이션은 신뢰할 수 있는 지시와 외부 데이터를 구분해야 한다. 지시처럼 생긴 문장이라는 이유만으로 같은 제어 권한을 부여하면 안 된다.
3.8 문맥 내 학습의 장단점
장점
미세조정 불필요: 사전학습 모델을 추가 학습 없이 바로 사용할 수 있다.
프롬프트 설계로 쉽게 성능 개선: 예를 들어 CoT는 추론 성능을 크게 높일 수 있다.
단점
제한된 문맥 길이: 모델의 최대 입력 길이 때문에 많은 정보나 예시를 담기 어렵다.
프롬프팅만으로는 부족할 수 있다: 복잡한 태스크에는 더 나은 문맥, 검색, 도구, 검증, 미세조정 등이 필요할 수 있다. 경사 업데이트가 항상 필요하다고 가정하기보다 오류의 원인에 맞춰 방법을 선택해야 한다.
4. 지시 튜닝
4.1 미세조정 확장: 전통적인 2단계 방식
1단계: 사전학습
항목
내용
방법
도서, 위키백과 등의 방대한 텍스트로 자기지도학습을 한다
모델
BERT 등
데이터셋
위키백과 등
목표
마스킹된 단어 예측(언어 모델링)
2단계: 미세조정
항목
내용
방법
학습에는 레이블이 있는 데이터셋을 사용하며, 지도학습을 한다
모델
1단계에서 사전학습한 모델
데이터셋
스팸 메시지와 그 레이블 등
목표
스팸 탐지 같은 특정 태스크를 위한 분류기를 학습한다.
“
한계: 태스크마다 별도의 모델과 레이블 데이터셋이 필요하다. 태스크가 많아질수록 확장하기 어렵다.
4.2 지시 튜닝
정의: 지시 미세조정은 태스크를 자연어로 설명하는 지시 데이터를 이용한 지도 미세조정(SFT)이다. 사후학습(Post-training)의 한 형태이며, 사후학습에는 선호 최적화 등 다른 단계도 포함될 수 있다. 이 용어들은 완전히 같은 뜻이 아니다.
지시 튜닝 = 지시 데이터를 이용한 지도 미세조정.
지시 데이터는 (prompt, completion), 즉 (x, y) 쌍으로 구성된다. 자연어 지시와 그에 대한 원하는 응답이 한 쌍이다.
다시 보는 InstructGPT: 지시와 사람이 기대하는 출력을 함께 학습해 특정 태스크 하나를 외우는 대신 태스크 설명을 이해하도록 한다.
SFT 세부 사항
고품질 데이터 수집
프롬프트 목록 작성
원하는 답변 수집
데이터는 사람이 만든다(전문가 및 크라우드소싱).
예를 들어 InstructGPT의 SFT에는 약 13,000개의 프롬프트와 대응하는 시범 답변을 사용했다. 데이터 규모는 프로젝트마다 다르다.
사전학습 모델 미세조정
사전학습 모델에서 시작한다. InstructGPT 논문은 GPT-3를 사용했지만, SFT 일반을 GPT-3.5 학습과 동일시해서는 안 된다.
“
이는 2절 InstructGPT 과정의 SFT 단계에 해당한다. SFT → RM → PPO는 그 논문의 구체적인 절차이며, RLHF가 이 알고리즘 조합에만 한정되는 것은 아니다.
4.3 Alpaca (Stanford Alpaca)
결과: 저자들의 초기 소규모 단일 턴 지시 수행 평가에서 Alpaca 7B는 text-davinci-003와 비슷한 성능을 보였다. 모든 태스크, 안전성, 신뢰성에서 동등하다고 입증한 것은 아니다.
학습 과정
1단계: 초기 데이터 생성(Self-Instruct)
학습은 Self-Instruct 초기 집합에서 시작하며, 사람이 작성한 175개의 지시–출력 쌍을 사용한다.
데이터를 늘리기 위해 text-davinci-003(GPT-3.5)으로 더 많은 지시를 생성한다.
총 52,000개의 서로 다른 지시와 대응 출력을 생성한다.
2단계: 미세조정
이어서 Hugging Face 학습 프레임워크로 LLaMA를 미세조정한다.
구체적으로 70억 매개변수의 LLaMA 모델을 80GB A100 GPU 8장에서 미세조정하는 데 3시간이 걸렸다.
이 미세조정 실행의 연산 비용은 100달러 미만이었다. 학습 데이터 생성 비용은 500달러 미만으로 총비용은 600달러 미만이었다. 기반 모델 사전학습 비용은 제외한 금액이다.
방법: 먼저 사전학습하고 여러 구체적인 태스크(Task A, B, C…)로 미세조정한 뒤, 같은 태스크들에서 평가한다.
더 새로운 언어 모델의 경향: GPT-3와 LLaMA
더 이상 태스크마다 별도로 미세조정하는 방식을 강조하지 않는다.
대신 대규모 사전학습 뒤에 지시나 예시로 태스크를 지정하며(instruction prompting), 태스크별 미세조정은 하지 않는다.
4.5 세 가지 방식: 사전학습–미세조정, 프롬프팅, 지시 튜닝
방식
대표 사례
단계
특징
사전학습–미세조정
BERT, T5
사전학습 LM → 태스크 A 미세조정 → 태스크 A 추론
태스크마다 전용 모델을 학습하며, 보통 많은 태스크별 예시가 필요하다
프롬프팅
GPT-3
사전학습 LM → few-shot 프롬프팅 또는 프롬프트 설계 → 태스크 A
매개변수 갱신이 없으며 유연하게 사용할 수 있다. 프롬프트에 민감하고 그 품질에 따라 성능이 달라진다.
지시 튜닝
FLAN
사전학습 LM → 여러 태스크의 자연어 지시로 지시 튜닝 → 일반화하여 새 태스크 A에 적용
자연어 지시를 통해 모델이 여러 태스크를 수행하고보지 못한 태스크에 일반화하도록 한다
“
그림 4-1 세 가지 방식: (A) 사전학습–미세조정은 태스크마다 하나의 모델을 사용한다. (B) 프롬프팅은 매개변수 대신 프롬프트를 바꾼다. (C) 여러 태스크의 지시 튜닝은 보지 못한 태스크로의 일반화를 도울 수 있다. 출처: Wei 외, 2022, 그림 2.
4.6 FLAN (Instruction Fine-Tuning)
“
그림 4-2 지시 튜닝의 개요: 여러 태스크를 자연어 지시로 표현해 미세조정한 뒤, 지시를 사용해 zero-shot 추론을 수행한다. 출처: Wei 외, Finetuned Language Models Are Zero-Shot Learners (FLAN), ICLR 2022, Figure 1.
핵심 방법: (instruction, output) 쌍의 예시를 모아 여러 태스크에 걸쳐 언어 모델을 미세조정한다.
원래 FLAN은 태스크를 자연어 지시로 표현하고 137B LaMDA-PT 모델에서 다중 태스크 지시 튜닝을 수행한다.
이후의 Flan-T5는 확장된 지시 튜닝 방법을 T5에 적용해 논문에서 평가한 여러 태스크의 성능을 높였다. 기반 모델과 데이터 모음이 다르므로 두 실험 설정을 혼동하면 안 된다.
태스크 설정
항목
내용
태스크 유형
12개 유형(분류와 생성 포함)
데이터셋
62개
보지 못한 태스크 구성
태스크가 같은 클러스터에 속하면 학습 집합이나 테스트 집합 중 한쪽에만 배치하고, 양쪽에 동시에 두지 않는다(관련 태스크 사이의 누출을 막고 일반화를 검증).
템플릿
태스크마다 여러 템플릿을 직접 작성해 지시의 다양성을 높인다.
결과: 지시 튜닝 뒤 zero-shot FLAN은 보지 못한 태스크 유형 세 가지에서 zero-shot 및 few-shot GPT-3보다 성능이 크게 개선되었다.
새 태스크에 일반화
원래 FLAN 실험에서는 모델 규모에 따라 효과가 달랐고, 큰 모델이 지시 튜닝에서 더 큰 이득을 얻었다.
모델 용량 부족은 가능한 설명 중 하나지만 태스크, 데이터, 학습 설정도 영향을 준다. 이 결과로 모든 작은 모델이 지시를 이해할 수 없다고 주장할 수는 없다.
태스크 수 확장: 이후 FLAN 버전
항목
수
확장 규모
후속 연구는 지시 튜닝을 약 1.8K개 태스크로 확장하고 모델 규모 및 CoT 데이터의 효과를 살폈다.
학습에서 제외한 태스크
미세조정에서 제외하고 일반화 평가에 사용한다.
기타 관찰
미세조정에는 다양한 데이터 형식을 사용할 수 있다. 설명이나 선택지를 포함할 수도, 생략할 수도 있다.
CoT 없는 데이터와 CoT 데이터를 함께 미세조정에 사용하면 두 종류의 평가 태스크 모두에서 성능을 높일 수 있다.
원 논문이 평가한 보지 못한 태스크 유형에서는 zero-shot FLAN이 few-shot GPT-3와 비슷한 성능을 보였다. 이는 특정 벤치마크와 모델 설정에서 얻은 실험 결과다.
멜버른대학교에서 수강한 COMP90042 NLP의 학습 노트다. 이번 글은 사전학습 모델과 대규모 언어 모델을 다룬다. GPT, BERT, T5부터 RLHF, 프롬프팅, 지시 튜닝, PEFT, LoRA까지 정리했다.
1. 사전학습 모델: GPT / BERT / T5
1.1 사전학습 모델이란?
1.2 GPT (Generative Pre-trained Transformer)
GPT-1 (2018)
학습 및 모델 세부 사항
항목
내용
서브워드 토큰화
Byte-Pair Encoding (BPE)
규모
12층 Transformer, 117M 매개변수
사전학습 말뭉치
BookCorpus
말뭉치 특징
다양한 문체의 서로 다른 책 7,000권으로 구성되며, 연속된 텍스트를 대량으로 제공한다(장거리 의존성을 학습하기 쉽다).
다운스트림 태스크에 적용
미세조정 예시: 감성 분류
W_y를 초기화하고, 마지막 단어의 출력h_n을 입력으로 사용한다.P(y\mid x) = \text{softmax}(h_n W_y)= -\log(0.4)(모델이 positive에 0.4의 확률만 부여한 경우)미세조정 예시: 질의응답
GPT의 결과: GLUE와 기타 벤치마크
벤치마크
태스크 유형
MNLI, RTE
텍스트 함의
QQP, STS-B, MRPC
문장 유사도
QNLI
답변 가능 여부 예측
SST-2
감성 분석
CoLA
문장 수용성
1.3 BERT (Bidirectional Encoder Representations from Transformers, 2018)
핵심 차이: 양방향 셀프 어텐션을 사용한다.
사전학습 목표: 마스킹된 단어 예측(MLM)
학습 및 모델 세부 사항
항목
내용
서브워드 토큰화
WordPiece
BERT-base
12층 Transformer, 110M(1억 1천만) 매개변수
BERT-large
24층 Transformer, 340M(3억 4천만) 매개변수
사전학습 말뭉치
Wikipedia + BookCorpus
학습 비용
여러 GPU로 수일간 학습
다운스트림 태스크에 적용
P(y \mid x) = \text{softmax}(h_{[\text{CLS}]} W_y)예시: 스팸 탐지
BERT의 결과: 원 논문은 당시 GLUE, SQuAD 등의 언어 이해 벤치마크에서 최상위 수준의 결과를 얻었다. 이러한 비교는 특정 데이터셋, 모델, 실험 설정에서 이루어졌다.
인코더
1.4 디코더와 인코더–디코더
디코더
인코더–디코더
세 구조 비교
구조
대표 사례
어텐션
주요 용도
인코더 전용
BERT
양방향
분류, 추출형 QA, 시퀀스 레이블링
디코더 전용
GPT 계열, LLaMA
단방향(인과적)
생성, few-shot 학습, 대화
인코더–디코더
T5, BART, 원래 Transformer
양방향 인코딩 + 단방향 디코딩 + 교차 어텐션
번역, 요약 등의 seq2seq 태스크
1.5 T5 (Text-to-Text Transfer Transformer, 2019)
사전학습 목표: 구간 손상(span corruption)
다른 학습 목표와의 비교
목표
예시
설명
Prefix language model(접두 언어 모델)
cows love to → eat grass
접두 구간이 주어졌을 때 뒤를 예측한다(GPT와 비슷하지만 인코더–디코더로 구현).
Masked language model(마스크 언어 모델)
cows <M> <M> eat grass → cows love to eat grass
무작위로 단어를 마스킹하고 예측한다(BERT와 유사).
Shuffling(순서 섞기)
grass cows to love eat → cows love to eat grass
단어 순서를 섞은 뒤 원래 순서로 복원하도록 학습한다.
Drop tokens(토큰 삭제)
cows love grass → cows love to eat grass
입력 단어 일부를 삭제하고 원문 전체를 복원하도록 학습한다.
사전학습 말뭉치: 필터링한 C4(Colossal Clean Crawled Corpus)
미세조정
T5의 결과
항목
내용
모델 규모
small (60M), base (220M), large (770M), 3B, 11B
GLUE
언어 이해 태스크 9개로 구성된 벤치마크
CNN/DM
요약
WMT
기계 번역
결론
가장 큰 모델은 논문이 평가한 여러 벤치마크에서 당시 최상위 수준의 결과를 얻었다. 이것이 일반적인 언어 능력이 인간 수준에 도달했다는 뜻은 아니다.
2. 대규모 언어 모델과 RLHF
2.1 LLM이란?
대규모 언어 모델(LLM)은 보통 방대한 텍스트로 사전학습한, 규모가 큰 언어 모델을 뜻하며 매개변수 수에 대한 보편적인 기준은 없다. 여기서는 Transformer 모델의 zero-shot 일반화, 문맥 내 학습, 지시 수행 능력에 초점을 둔다.
발전 흐름은 통계적 언어 모델 → 신경망 언어 모델 → 모델 전체 사전학습 → 모델과 데이터 확대 → 지시 튜닝과 선호 정렬로 정리할 수 있다. Word2Vec은 단어 표현 방법이지 완전한 언어 모델과 같은 것이 아니다. 규모 확대와 정렬도 별개의 개념이다.
2.2 GPT와 창발적 능력
NLP에서 사전학습과 미세조정의 역할: 사전학습된 매개변수로 초기화하면 다운스트림 태스크의 성능을 높일 수 있다.
모델
매개변수 수
층 수
차원
학습 데이터
학습 방식
GPT-1
117M
12
768
BookCorpus (~1B words)
자기지도 사전학습 + 지도 미세조정
GPT-2
1.5B
48
1600
WebText (~10B words)
자기지도 사전학습
GPT-3
175B
96
12288
Common Crawl, WebText, 도서, 위키백과의 혼합
자기지도 사전학습
GPT-2의 창발적 능력: zero-shot 학습
GPT-3와 문맥 내 학습
전통적인 미세조정과 문맥 내 학습
비교 항목
전통적인 미세조정
문맥 내 학습
매개변수
모델 매개변수를 갱신해야 한다.
매개변수를 갱신하지 않는다.
데이터
레이블이 있는 예시가 많이 필요하다.
시범 예시가 소수만 필요하다(없을 수도 있다).
과정
사전학습 → 태스크마다 별도 미세조정 → 여러 모델 배포
하나의 모델 + 서로 다른 프롬프트
비용
태스크마다 학습 및 저장 비용이 발생한다.
긴 프롬프트는 추론 비용을 높이지만 학습 비용은 없다.
문맥 내 학습의 한계
2.3 InstructGPT와 RLHF(인간 피드백 기반 강화학습)
전체적인 아이디어: 사람이 만든 시범과 선호 데이터를 모아 지도학습과 강화학습으로 모델의 동작을 조정한다. 아래는 InstructGPT 논문에 발표된 3단계 과정이다. ChatGPT의 학습 아이디어를 이해하는 데도 도움이 되지만, InstructGPT의 데이터 규모와 모델 설정을 ChatGPT 학습의 전체 세부 사항으로 간주해서는 안 된다.
1단계: 지도 미세조정(SFT)
1. 고품질 데이터 수집
2. 사전학습 모델 미세조정
2단계: 보상 모델(RM)
1. 출력 생성
2. 사람의 순위 평가
3. 보상 모델 학습
3단계: 근접 정책 최적화(PPO)
1. 프롬프트 샘플링: 데이터셋에서 “멜버른에 관한 이야기를 써 줘” 같은 프롬프트를 뽑는다. 논문의 PPO 데이터셋에는 약 31,000개의 프롬프트가 있으며, 이 단계에는 프롬프트마다 사람이 작성한 시범 답변이 필요하지 않다.
2. 응답 생성: 현재 정책 모델로 텍스트를 생성한다. 정책은 SFT 모델로 초기화한 뒤 학습 반복 과정에서 PPO로 갱신한다. 사용자에게 응답할 때마다 즉석에서 매개변수를 갱신하는 것은 아니다.
3. 보상 계산: 2단계에서 학습한 보상 모델이 생성된 출력을 평가해 스칼라 보상을 반환한다.
4. 정책 갱신: 보상을 이용해 PPO 알고리즘으로 정책을 갱신한다.
추가 제약: 학습할 때 SFT 기준 모델에 대한 KL 페널티를 더해 정책의 이탈을 제한하고 보상 모델의 과도한 최적화로 생기는 문제를 완화한다. 모든 보상 해킹을 없앤다는 보장은 아니다.
대화에 맞게 적용
대화 모델에는 여러 턴의 대화 등 해당 형식에 맞는 데이터와 평가도 필요하다. 문맥의 연속성, 부적절한 요청 거절, 형식 준수 등을 다룬다. 이는 학습 목표와 데이터 설계의 선택이지, 앞의 3단계에 고정된 “4단계”가 추가되는 것은 아니다.
참고: InstructGPT 논문.
2.4 다른 LLM: LLaMA
LLaMA (Large Language Model Meta AI)
여기서는 2023년에 공개된 1세대 LLaMA를 말하며, 매개변수 규모는 7B–65B다.
참고: LLaMA 논문.
2.5 LLM의 세 가지 핵심 능력
능력
의미
예시
문맥 내 학습
현재 입력의 지시, 예시, 정보를 이용해 태스크에 적응하며, 모델 매개변수는 갱신하지 않는다. 세션 간 기억에는 별도의 시스템 장치가 필요하다.
예시 두 개를 보고 새 태스크 수행
단계적 추론
복잡한 문제를 작은 단계들로 나눈다
수학, 프로그래밍, 논리 추론
지시 수행
사용자의 명시적 지시를 따르며 여러 태스크에 유용한 도구로 동작한다.
조건에 맞는 이메일 작성, 조리법을 단계로 정리, 소프트웨어 환경에서 명령 순서 실행
3. 프롬프팅과 사고의 사슬
3.1 Zero-shot과 few-shot 문맥 내 학습
설정
예시 수
설명
Zero-shot
0
지시만 제공(예: "Translate to French: cheese")
One-shot
1
예시 1개
Few-shot
몇 개
예시 몇 개를 제공하며, 대체로 성능이 개선된다.
3.2 프롬프팅의 한계
실패 예시: 일반적인 프롬프팅
이 예시의 오답은
23-20+6을 올바르게 계산한 결과가 아니다. 27을23+6의 결과로 설명할 수도 없다. 후자는 29이기 때문이다.대안: 프롬프팅 방식을 바꾼다 ✅ (다음에 설명할 CoT 사용).
3.3 사고의 사슬 프롬프팅(CoT)
정의: 예시에 중간 추론 단계를 포함하거나 최종 답변 전에 이런 단계를 생성하도록 유도한다. 원 논문은 여러 산술·상식·기호 추론 태스크에서 개선을 관찰했지만, 중간 단계가 올바르다는 보장은 없다.
비교
방법
프롬프트
출력
일반 프롬프팅
질문과 답변만 제공
The answer is 27 ❌
사고의 사슬 프롬프팅
모델이 단계별로 추론하도록 유도
The answer is 9 ✅
예시
3.4 모델 규모에 따른 창발적 특성
3.5 CoT의 두 가지 변형
Zero-shot CoT
장점
단점
예시를 직접 만들 필요가 없다.
추론 품질이 모델 자체에 달려 있어 안정성이 낮다.
Manual CoT
장점
단점
원하는 추론 형식을 명시적으로 보여 준다. 효과는 예시가 태스크에 얼마나 잘 맞는지에 달려 있다.
예시를 직접 만들고 검토해야 하며, 예시의 오류도 모방될 수 있다.
3.6 데이터셋 보충
3.7 프롬프트 인젝션과 탈옥
3.8 문맥 내 학습의 장단점
장점
단점
4. 지시 튜닝
4.1 미세조정 확장: 전통적인 2단계 방식
1단계: 사전학습
항목
내용
방법
도서, 위키백과 등의 방대한 텍스트로 자기지도학습을 한다
모델
BERT 등
데이터셋
위키백과 등
목표
마스킹된 단어 예측(언어 모델링)
2단계: 미세조정
항목
내용
방법
학습에는 레이블이 있는 데이터셋을 사용하며, 지도학습을 한다
모델
1단계에서 사전학습한 모델
데이터셋
스팸 메시지와 그 레이블 등
목표
스팸 탐지 같은 특정 태스크를 위한 분류기를 학습한다.
4.2 지시 튜닝
정의: 지시 미세조정은 태스크를 자연어로 설명하는 지시 데이터를 이용한 지도 미세조정(SFT)이다. 사후학습(Post-training)의 한 형태이며, 사후학습에는 선호 최적화 등 다른 단계도 포함될 수 있다. 이 용어들은 완전히 같은 뜻이 아니다.
(x, y)쌍으로 구성된다. 자연어 지시와 그에 대한 원하는 응답이 한 쌍이다.SFT 세부 사항
4.3 Alpaca (Stanford Alpaca)
결과: 저자들의 초기 소규모 단일 턴 지시 수행 평가에서 Alpaca 7B는 text-davinci-003와 비슷한 성능을 보였다. 모든 태스크, 안전성, 신뢰성에서 동등하다고 입증한 것은 아니다.
학습 과정
1단계: 초기 데이터 생성(Self-Instruct)
2단계: 미세조정
참고: Stanford Alpaca 프로젝트 설명.
4.4 T5 관점: 사전학습과 다중 태스크 학습
방법: 먼저 사전학습하고 여러 구체적인 태스크(Task A, B, C…)로 미세조정한 뒤, 같은 태스크들에서 평가한다.
더 새로운 언어 모델의 경향: GPT-3와 LLaMA
4.5 세 가지 방식: 사전학습–미세조정, 프롬프팅, 지시 튜닝
방식
대표 사례
단계
특징
사전학습–미세조정
BERT, T5
사전학습 LM → 태스크 A 미세조정 → 태스크 A 추론
태스크마다 전용 모델을 학습하며, 보통 많은 태스크별 예시가 필요하다
프롬프팅
GPT-3
사전학습 LM → few-shot 프롬프팅 또는 프롬프트 설계 → 태스크 A
매개변수 갱신이 없으며 유연하게 사용할 수 있다. 프롬프트에 민감하고 그 품질에 따라 성능이 달라진다.
지시 튜닝
FLAN
사전학습 LM → 여러 태스크의 자연어 지시로 지시 튜닝 → 일반화하여 새 태스크 A에 적용
자연어 지시를 통해 모델이 여러 태스크를 수행하고 보지 못한 태스크에 일반화하도록 한다
4.6 FLAN (Instruction Fine-Tuning)
핵심 방법: (instruction, output) 쌍의 예시를 모아 여러 태스크에 걸쳐 언어 모델을 미세조정한다.
태스크 설정
항목
내용
태스크 유형
12개 유형(분류와 생성 포함)
데이터셋
62개
보지 못한 태스크 구성
태스크가 같은 클러스터에 속하면 학습 집합이나 테스트 집합 중 한쪽에만 배치하고, 양쪽에 동시에 두지 않는다(관련 태스크 사이의 누출을 막고 일반화를 검증).
템플릿
태스크마다 여러 템플릿을 직접 작성해 지시의 다양성을 높인다.
결과: 지시 튜닝 뒤 zero-shot FLAN은 보지 못한 태스크 유형 세 가지에서 zero-shot 및 few-shot GPT-3보다 성능이 크게 개선되었다.
새 태스크에 일반화
태스크 수 확장: 이후 FLAN 버전
항목
수
확장 규모
후속 연구는 지시 튜닝을 약 1.8K개 태스크로 확장하고 모델 규모 및 CoT 데이터의 효과를 살폈다.
학습에서 제외한 태스크
미세조정에서 제외하고 일반화 평가에 사용한다.
기타 관찰
참고: 원래 FLAN, Scaling Instruction-Finetuned Language Models.
4.7 장점과 한계
장점
한계
4.8 능력과 한계
유창한 텍스트가 신뢰성과 일반화 문제의 해결을 뜻하지는 않는다. 연구에서 관찰한 결과와 더 넓은 주장을 구분해야 한다.
주제
핵심 내용
사실과 계획
모델은 글쓰기를 도울 수 있지만 사실을 지어내거나 실행 불가능한 계획을 제시할 수도 있다. 지시 튜닝과 인간 피드백이 정확성을 보장하지는 않으며, 구체적인 능력은 실증 평가가 필요하다.
자기 수정
일부 추론 설정에서는 외부 피드백 없이 답을 검토하고 고치라고만 요구해도 정확도가 개선되지 않았으며, 정답이 오답으로 바뀌기도 했다. 도구나 검증기를 사용하는 모든 수정 방법이 효과 없다는 뜻은 아니다.
역전의 저주
일부 실험에서 “A는 B다”를 학습한 모델이 이에 대응하는 “B는 A다”라는 질문에는 자동으로 답하지 못했다. 한 표현 형식에 맞추는 것이 역방향 표현으로의 일반화를 보장하지는 않는다. 모든 자연어 관계를 그대로 뒤집을 수 있다는 뜻도 아니다.
참고: Large Language Models Cannot Self-Correct Reasoning Yet, The Reversal Curse.
5. 매개변수 효율적 미세조정과 LoRA
5.1 왜 PEFT인가?
PLM과 LLM: 전자는 사전학습을, 후자는 규모를 강조한다. 서로 배타적인 범주가 아니며, 매개변수 수를 기준으로 나누는 공통된 경계도 없다. 여기서는 모델이 커질 때 태스크 적응 비용을 줄이는 방법을 다룬다.
모델이 커질수록 미세조정 비용도 커진다
모델 규모가 커지면 전체 미세조정의 비용과 위험도 커진다:
문제
설명
확장성
계산 비용이 크다(태스크마다 모델 전체의 복사본을 저장해야 한다).
학습 불안정성
과적합, 경사 간섭 등
파국적 망각(Catastrophic forgetting)
새 태스크로 미세조정한 뒤 모델이 원래의 일반적인 능력을 잃는다
문맥 내 학습과 미세조정은 상호 보완적인 적응 방법이다. ICL에는 매개변수 갱신이 없지만 여전히 한계가 있다.
한계
설명
비효율성
추론할 때마다 프롬프트 전체를 다시 처리해야 한다(긴 프롬프트는 비용이 크다).
성능
프롬프팅만으로는 목표 태스크의 성능 요구를 충족하지 못할 수 있다. 미세조정과 비교할 때는 동일한 설정이 필요하다.
민감성
프롬프트의 표현이나 예시 순서 등에 따라 성능이 매우 민감하게 달라질 수 있다
불명확성
한 프롬프트의 성공이 다른 입력과 프롬프트에 대한 안정적인 일반화를 입증하는 것은 아니다.
→ 따라서 미세조정에서 매개변수 효율적 미세조정으로 관심이 옮겨간다.
5.2 역사적 배경
5.3 일부 매개변수만 미세조정
1. 큰 모델의 전체 미세조정은 어렵다
2. 최첨단 모델은 이미 상당히 과매개변수화되어 있다
3. PEFT는 전체 미세조정에 가까운 성능을 낼 수 있다
5.4 모듈식·조합적 표현
a) 모델 규모 확대
b) 보지 못한 상황
c) 파국적 간섭(Catastrophic Interference)
d) 효율적인 모델 갱신
5.5 구조 개요: 세 가지 계산 방식
PEFT 방법은 동결된 사전학습 모델에 구성 요소를 결합하는 방식에 따라 세 가지로 나눌 수 있다.
유형
방법
대표 사례
추가 기반
작은 학습 가능 모듈을 모델에 붙인다.
Adapter, Prefix Tuning, Prompt Tuning
선택 기반
매개변수 부분집합이나 희소한 갱신만 선택해 학습한다.
BitFit(편향 항만), Diff Pruning
재매개변수화
가중치의 저랭크 또는 압축된 변화를 학습한다.
LoRA, Compacter
5.6 희소 부분망과 가지치기
희소성과 매개변수 효율적 적응은 관련이 있지만 일반적인 가지치기가 PEFT와 같은 것은 아니다.
희소 부분망
5.7 LoRA (Low-Rank Adaptation)
핵심 아이디어
W를 직접 갱신하지 않고, 변화량\Delta W만 학습한다:W' = W + \Delta W\Delta W = B \cdot A여기서는 흔히 쓰는 스케일 계수인
\alpha/r을 생략하고, 저랭크 갱신의 구조에만 초점을 맞췄다.“저랭크”의 의미
W는 원래 가중치 행렬이며 그 자체가 반드시 완전 랭크일 필요는 없다.r \ll d를 만족한다.효율성: 매개변수 수
W의 크기가1024 \times 1024라고 하자(매개변수는 총 1,048,576개 ≈ 100만 개).A\,(r \times d)와B\,(d \times r)를 사용한다. 이때r \ll d를 만족한다.d = 1024,\ r = 8이면 다음과 같다.A:8 \times 1024,B:1024 \times 82 \times 1024 \times 8 = \mathbf{16{,}384}1 - \frac{16{,}384}{1{,}048{,}576} \approx 98.4\%순전파: 저랭크 합성
\text{Output} = (W + B\cdot A)\,x = W\cdot x + B\cdot(A\cdot x)기호
의미
W동결된 사전학습 가중치(갱신하지 않음)
A, B이 두 행렬만 학습 가능
x입력 벡터. 보통 토큰 임베딩이나 이전 층의 출력이다.
역전파: 학습 가능한 매개변수의 경사만 계산·저장하고, 옵티마이저는
A와B만 갱신한다.W는 동결 상태로 둔다. 동결된 선형 층을 거쳐서도 경사가 전파될 수 있으므로 이 층이 역전파에서 완전히 빠진다는 뜻은 아니다.장점
A와B뿐이며, 전체 가중치 행렬W는 갱신하지 않는다.BA를W'에 합칠 수 있어 구조가 바뀌지 않는다).LoRA와 변형
변형
특징
LoRA
표준 저랭크 적응. 어텐션이나 FFN의 선형 층 옆에 둔다.
LoRA-FA
하향 투영 행렬
A는 동결하고 상향 투영 행렬B만 학습해 활성값 메모리를 줄인다.QLoRA
기반 모델의 4비트 양자화 + LoRA 미세조정. 단일 GPU에서도 큰 모델을 학습할 수 있게 한다.
HydraLoRA
하나의
A를 공유하고 여러B행렬을 두는 비대칭 구조다. 라우팅을 통해 여러 구성 요소를 조합하여 혼합 데이터의 서로 다른 부분을 처리한다.5.8 PEFT 방법 비교
아래 표의 매개변수 비율은 흔히 나타나는 규모를 예시한 것이다. 실제 비율은 모델, 모듈 크기, 학습 가능한 층 수에 따라 달라진다.
방법
학습 가능한 매개변수
구조 변경?
추론 오버헤드
전체 미세조정
100%
아니요
없음(다만 태스크마다 별도 모델 필요)
LoRA
랭크와 삽입 위치에 따라 다르며, 보통 전체 매개변수보다 훨씬 적다.
배포 시 병합할 수 있는 학습 분기를 추가한다.
병합한 뒤에는 대체로 없음
Adapter
1%–5%
예(층 삽입)
약간 증가(순차 계산)
Prefix/Prompt Tuning
<0.1%
아니요
문맥 길이를 사용
BitFit
~0.01%(편향 항만)
아니요
없음
희소 선택 / 가지치기
방법에 따라 다름. 일반적인 압축용 가지치기가 반드시 PEFT인 것은 아니다.
연결이나 갱신을 선택
희소 매개변수가 줄어든다고 실제 속도가 자동으로 빨라지지는 않는다.
참고: LoRA, LoRA-FA, QLoRA, HydraLoRA.