강의 출처: https://web.stanford.edu/class/cs25/
CS25: Tranformers United!
Disussing the latest breakthroughs with Transformers in diverse domains
web.stanford.edu
Aligning Open Language Models
- A heavily abbreviated history of language models (LMs)
- cf) stochastic parrots: 언어 모델이 단순히 데이터를 흉내 내는 역할만 한다는 비판적 시각
- https://dl.acm.org/doi/10.1145/3442188.3445922
Can ChatGPT exist without RLHF?
- cf) RLHF(Reinforcement Learning from Human Feedback): AI 모델을 학습시키는 과정에서 인간의 피드백을 활용하여 모델의 성능을 개선하는 데 사용
- RLHF 작동 방식
- 기본 모델 사전 학습:
- AI 모델은 대규모 데이터셋을 사용해 사전 학습(pretraining)됩니다.
- 이 과정에서 모델은 일반적인 언어 패턴, 문법, 문맥 등을 학습합니다.
- 피드백 데이터 수집:
- 인간 평가자(annotators)는 모델이 생성한 여러 출력 결과를 보고 이를 평가합니다.
- 예를 들어, "이 답변이 더 유용하다" 또는 "이 출력이 더 적절하다"와 같이 순위를 매깁니다.
- 보상 모델 학습:
- 인간 피드백 데이터를 바탕으로 보상 모델(reward model)을 훈련합니다.
- 이 모델은 출력 결과에 대한 "좋음"과 "나쁨"을 평가하는 데 사용됩니다.
- 강화학습 적용:
- 훈련된 보상 모델을 기반으로, 강화학습 알고리즘(주로 Proximal Policy Optimization, PPO)을 사용해 AI 모델의 행동 방식을 최적화합니다.
- 목표는 보상 모델에서 높은 점수를 받는 출력을 더 자주 생성하도록 학습시키는 것입니다.
- 기본 모델 사전 학습:
- 필요조건은 맞지만 충분조건은 아님
- RLHF is a key factor in many popular models, both on and off the record, including ChatGPT, Bard/Gemini, Claude, Llama 2, and more
-

- RL is not ‘cost and time effective’
- proliferation of finetuning models
- Base models
- Aligned, finetuned, preference trained models → 오늘 강의 초점
Some definitions for ‘alignment’ of models
- Instruction Fine-Tuning (IFT): 모델이 사용자 지시를 따르도록 학습하는 과정 (주로 자동회귀 언어 모델 손실 사용)
- Supervised Fine-Tuning (SFT): 특정 작업을 학습하도록 지도 학습 기반으로 모델을 조정
- Alignment: 사용자의 요구를 반영하도록 모델을 학습시키는 일반적인 개념
- Reinforcement learning from human feedback (RLHF): 인간 데이터에서 ML 모델을 훈련하기 위한 specific technical tool
- Preference Fine-Tuning: 사용자의 선호 데이터를 활용해 모델을 미세 조정 (RL, DPO, 기타 손실 함수 포함)
Chapter 0: The race to reproduce ChatGPT
- 폐쇄형과 개방형에는 차이가 있음
- 대화형 모델(dialogue)과 에이전트(agent)의 차이는?
Chpater 1: The first open instruct models
- Alpaca model
- LLaMA 7B 모델 기반의 차별화된 가중치 사용
- 52,000개의 자기지도(Self-Instruct) 데이터를 OpenAI의 text-davinci-003에서 추출하여 생성
- Key Idea: self instruct / synthetic data
- (1) Self-instruct(스스로 생성한 지시 데이터)와 합성 데이터(Synthetic Data) 사용
- (2) OpenAI API를 활용해 데이터를 생성
- (3) Alpaca 7B 모델로 미세 조정
- 의의: 사람이 필요 없는 데이터 생성 방식을 도입한 최초의 모델
- https://crfm.stanford.edu/2023/03/13/alpaca.html
- IFT
- respond to specific style of input, ability to include system prompts, multi-turn dialogues, and other chat templates
- use data to question : answer pairs
- → 이 기능으로 유명해짐
- Vicuna 30 Mar. 2023
https://lmsys.org/blog/2023-03-30-vicuna/
- 프롬프트 공유(share)를 쉽게 함
- LLaMA 7B 또는 13B 모델을 기반으로 fine-tuning
- Key Source: Share GPT Data
- Source: ShareGPT 데이터를 기반으로 ChatGPT 데이터 미세 조정
- "LLM-as-a-judge"(언어 모델을 판정자로 사용) 개념 도입
- 법적 회색 지대: ShareGPT 데이터는 라이선스가 없거나 사용 동의가 부족한 경우 존재
- 다른 모델로 대체되는 추세
- LMSYS-Chat-1M
- ChatBotArena에서 수집된 대화 데이터를 정제(cleaned)하여 만든 데이터셋
- 정제된 데이터를 통해 더 높은 품질의 학습 가능
- WildChat
- ChatGPT를 무료로 사용하도록 제공하는 대가로 데이터를 수집한 데이터셋
- 사용자의 대화 데이터를 통해 다양한 언어 모델을 학습시키는 데 활용됨
- LMSYS-Chat-1M
- Koala (3 Apr. 2023)
- Diverse dataset (Alpaca, Anthropic HH, ShareGPT, WebGPT…)
- Human evaluation
- LLaMA 7B의 가중치 차이를 기반으로 생성
- LLaMA 가중치는 "연구용으로만" 배포되었기 때문에, 가중치 델타 방식(weight delta)을 사용하여 모델 재구성을 가능하게 함
- LLaMA의 라이선스를 위반하지 않으면서 파생 모델을 재현할 수 있도록 설계
- cf) weight delta: LLaMA의 원본 가중치와 Koala와 같은 fine-tuning된 모델의 가중치 간의 차이를 계산한 데이터
- https://bair.berkeley.edu/blog/2023/04/03/koala/
- Dolly
- 15,000개의 인간 작성 데이터를 활용 → 오늘 나온 모델은 거의 open AI의 합성 데이터를 추가함 ↔ 넷 중 유일하게 human data 사용
- trained on Pythia 12b
- Open assistant: the first open, human instruction dataset
- 최초로 인간이 생성하고 주석을 단(human instruction) 오픈 데이터셋
- 이 크기와 품질을 가진 인간 데이터셋으로는 여전히 유일함
- OpenAssistant와 다른 연구 그룹이 이 데이터를 활용해 유명한 모델들을 학습시킴
- 오늘날에도 데이터셋 사용
- → open된 인간 데이터가 더 필요
- Stable Vicuna : The first RLHF model (2024. 4. 28)
- 시대를 앞선 rlhf 모델
- PPO(Proximal Policy Optimization)를 사용해 OAsst1 및 Stanford Human Preferences 데이터를 기반으로 학습
- 사용된 데이터셋
- OAsst1: SFT(Supervised Fine-Tuning) 및 PPO 학습에 사용
- Anthropic HH + Stanford Human Preferences (SHP): 강화학습(RL)에 사용
- 의의: 당시 기준으로 표준적인 접근 방식(Standard formulation)을 사용했으며, 시대를 앞서간 모델로 평가됨
- cf) PPO
- 강화학습(Reinforcement Learning, RL)에서 가장 널리 사용되는 정책 최적화 알고리즘 중 하나로, 간단하면서도 강력한 성능을 발휘
- OpenAI가 2017년에 개발했으며, 안정성과 효율성을 모두 개선한 접근 방식
- TRPO의 안정성을 유지하면서도 계산 복잡도를 줄이기 위해 등장
- 핵심 아이디어는 클리핑(clipping)을 사용해 정책 업데이트의 변화를 간단히 제한하는 것
- QLoRA & Guanaco
- LoRA(Low Rank Adaptation): 모델 미세 조정을 위한 인기 있는 도구로, 메모리 소비를 줄임
- QLoRA: LoRA에 양자화된(base quantized) 모델을 추가로 결합한 기법
- 더 적은 GPU 메모리를 사용하면서도 (대부분) 성능 유지
- 예를 들어, A100 GPU 한 대로 다양한 크기의 모델을 효율적으로 학습 가능
- Guanaco 모델: QLoRA를 사용해 개발된 대표적인 모델
- 여전히 OpenAssistant 생태계에서 인기 있음
Chapter 2: Setting expectations & evaluations
- Do LoRA methods work with RL?
- 소비자용 GPU에 RLHF가 가능할까?
- 왜 아무도 좋은 모델을 훈련시키지 않았는가?
- 제약: LoRA는 대규모 학습에서는 더 좋은 모델을 학습시키기에 한계가 있음
- 대안: GPU가 많은 사람의 경우 scale하는 것이 더 좋은 방법
- Llma 2 chat backlash
- 파이썬 처리 과정의 문제
- 어떤 모델이 해야하고 하지 말아야 할지
- 모델이 수행해야 할 작업과 수행하지 말아야 할 작업의 구분.
- 질문
- "대화형 모델은 안전해야 하는가?"
- "사용자와 적극적으로 의견을 다투는 모델은 적절한가?"
- 검열되지 않은 모델 Uncensored models
- 데이터셋 내 특정 포인트를 제거하여 검열을 피하도록 조정
- 모델이 처음부터 ‘검열(censored)’ 되지는 않았음
- 목표: 모델이 어떠한 요청에도 거부하지 않도록 수정
- 방법: 학습 데이터에서 "as a language model..." 또는 "Sorry, ..."와 같은 거부 메시지를 제거
- Confusion: Not the clearest name for things. The models were never explicitly censored to begin with.
- Prefer the name filtered or unbiased
- One of the first models named this way (April 2023): cognitivecomputations/WizardLM-7B-Uncensored
- Example models here: https://huggingface.co/models?other=uncensored
- Transition period
- April. 2023: WizardLM v0.1 trained with EvolInstruct (synthetic data generation), other strong RL math/code models mostly ignored by community, MT Bench 13B: 6.35
- Jun. 2023: UltraLM 13B trained on new UltraChat dataset
- Jun. 2023: OpenChat 13B trained on filtered ShareGPT data
- Sep. 2023: XwinLM 7B, strong model “trained with RLHF,” but no details, no paper
- XwinLM 70B, first model to beat GPT-4 on AlpacaEval
- Oct. 2023: Teknium/OpenHermes on Mistral 7B, strong synthetic data filtering + better base model
- → 이중 알려진 것은 별로 없음
Establishing evaluation
→ 거의 비슷한 시기에 만들어짐
- May 3, 2023: ChatBotArena
- June 8, 2023: AlpacaEval
- June 22, 2023: MT Bench
- July 2023: Open LLM Leaderboard
What can I use to align my models?
- ChatBotArena
- 두 모델 간 선호도 비교를 통해 학습
- 장점: 대규모 블라인드 테스트로 신뢰도 높음
- 단점: 사용자 분포 통제가 어렵고 피드백 속도가 느림
- AlpacaEval
- 프롬프트 리스트로 모델 간 응답 비교 LLM-as-a-judge
- 장점: MT Bench 대비 샘플 수가 많아 오차 범위 감소
- 단점: 구체적인 결과 해석이 어려움
- MTBench
- 개념
- LLM-as-a-judge: LLM(GPT-4/Claude)을 사용해 모델 응답을 평가
- 두 턴(two turns): 응답과 후속 질문/응답 포함
- 7개의 카테고리: 글쓰기, 역할 연기(role-play), 수학, 코딩, 정보 추출, STEM, 인문학
- 한 번에 하나의 모델에 대해 평가하며, 위치 편향(positional bias)을 완화하기 위해 0~10의 점수 척도를 사용
- 단점: 훈련 중 sole focus로 사용하기 어려움
- 점수 변동(variance)이 최대 약 0.5점으로, 신호를 식별하려면 큰 변화가 필요
- (생성 온도와 모델 API 변동성에 따라 발생)
- 평가 세트에 80개의 프롬프트만 포함
- 상위 점수 구간에서 점수가 포화됨 (GPT-4의 평균 점수: 8.99)
- OpenLLM Leaderboard
- 처음에는 경쟁 모델을 자동으로 평가하기 위한 엔지니어링 도구로 시작
- 현재는 팀 전체가 참여하는 제품으로 발전
- 특징
- 허브에 있는 거의 모든 모델을 평가하며, 주요 LLM 작업에 대한 성능을 비교 가능
- 장점: 새로운 모델을 발견하는 데 유용
- 단점: LLM 개발자가 지나치게 집착할 경우 문제 발생 가능
- RLHF는 이러한 지표들을 크게 향상시키지는 못했으나, 2024년 들어 개선되기 시작
- Establishing Evaluation
- ChatBotArena: Hard to use as training signal (slow feedback), yet most reliable
- AlpacaEval: Slightly expensive, for academics, training tool (~$5 per model eval), decent correlation
- MT Bench: Cheap training tool ($.5 per model eval), decent correlation
- Open LLM Leaderboard: Not super useful for studying alignment
→ cheap, accessible
Q&A
- what extent do llm reason about aligned models malicious to avoid unsafe topics?
- model vs system topic
- output filter that does moderation
- separate model says ‘yes’ or ‘no → where actual detection occurs
- classifier to do the moderation
- actual model does not reasoning
- ORPO, Reinforce
- going to work in language models is a good idea
- if people in open ecosystem use RLHF, meant to do fine-tuning
- turn out to be wrong
Chapter 3: Getting RLHF to work
- Review: RLHF objective
-

- Primary Questions?
- 보상을 어떻게 구현 implement 할 것인가?
- 보상을 어떻게 최적화optimize 할 것인가?
- Review: Preference (reward) modeling
- key idea: 보상은 특정 텍스트가 다른 작업 중 선택될 확률에 비례해야 함
- 해결방법: Gradient Ascent
- DPO(Direct Preference Optimization)를 사용하는 접근법
- 구현이 매우 간단함
- 기존 분산 학습 라이브러리와 잘 연동됨
- 암시적 보상 함수(Implicit Reward Function)를 학습함
- 하지만, 근본적인 한계가 더 높은 성능을 보장하는 것은 아님
- DPO(Direct Preference Optimization)를 사용하는 접근법
- DPO vs RL
- 둘은 매우 다른 optimizer
- RL: 가치 함수를 학습하여 최적화
- DPO: 직접 경사단계 적용
- → 둘 중 하나만 선택되지 않고 서로 보완 가능
RLHF 주요 단계
- Zephyr β:
- DPO를 주목받게 한 첫 번째 모델
- Mistral 7B를 UltraFeedback 데이터셋으로 미세 조정
- 매우 낮은 학습률(Learning Rate, 약 5E-7)을 발견 → 현재 표준으로 자리잡음
- MT Bench 점수: 7.34
- Tulu 2:
- 대규모 모델에서 DPO를 적용한 첫 사례
- 70억 개 매개변수에서 DPO를 확장
- Zephyr 결과를 강력히 검증
- DPO와 PPO 간 논쟁의 시작점
- MT Bench 70B 점수: 7.89 (GPT-3.5와 비슷한 수준)
- SteerLM & Starling:
- PPO가 DPO보다 성능이 더 좋음
- SteerLM: 속성 기반 미세 조정(Attribute-conditioned fine-tuning)
- Starling: 새로운 선호 데이터셋(Nectar) 도입, k-wise 보상 모델 손실 함수 사용
- MT Bench 7B 점수: 8.09 (당시 GPT-4를 제외한 모든 모델보다 우수)
Q&A
- DPO, PPO: PPO가 조금 더 성능이 좋아지고 있음
- RL 성능이 더 좋을 가능성도 존재
Chapter 4: Modern Ecosystem
- aligned model의 다양성 증가
- 더 많은 기업이 진입
- Examples:
- Genstruct from NousResearch: model for rephrasing any text into instructions
- OLMo-Instruct from AI2: truly open-source models.
- More players such as Databricks DBRX and Cohere’s Command R+ (first open model to pass GPT-4 on ChatBotArena)
- Research models such as Microsoft Rho (reward model weighted pretraining)
- Multilingual fine-tuning with Aya
- More MoE models (JetMoE, Qwen Moe,...)
- State-space models such as Jamba
- Llama 3
- 확장(Scaling)에 중점: Llama 3는 alignment보다는 scaling에 더 초점을 맞춤
- Llama 2는 alignment 측면에서 매우 상세하게 설계됨
- Meta는 오픈 정렬 생태계를 지원하려는 의도를 가지고 있으며, 이는 사전 학습(pretraining) 생태계와 유사
- 효과:
- 더 많은 사용자가 모델을 사용할수록 자체적인 피드백 루프(self-feedback loop)가 형성될 가능성 증가
- 그러나 가중치 공개 여부는 아직 불확실함
- 확장성은 언어 모델 제품의 활용 방식을 크게 변화시킬 것
Current Directions
- 오픈 정렬 모델 vs. 폐쇄형 모델:
- 오픈 모델들이 발전하고 있지만, ChatBotArena와 같은 환경에서 폐쇄형 모델과의 격차는 여전히 존재
- 데이터 부족 문제, 주요 preference datasets (Anthropic HH, UltraFeedback, and Nectar are main three).
- DPO 개선 관련 논문 발표: tons of papers iterating on the method (ORPO, cDPO, IPO, BCO, KTO, DNO, sDPO, etc)
- 모델 크기 다양화: 대부분의 연구는 7B, 13B 매개변수에 집중
- → 더 작은 모델은 학습이 쉬워짐
- 평가 방법 구체화: Specific evaluations: How do we get more specific evaluations than ChatBotArena?
- 개인화: 로컬 모델, young area academically
- personalize? go hand-and-hand
- Where open alignment is happening
- AI2 (self bias): Tulu models, OLMo-Adapt, dataset releases
- HuggingFaceH4: Quick releases on new base models, recipes for new techniques (e.g. ORPO / CAI), other tools
- Berkeley-Nest/Nexusflow: Nectar dataset / Starling models
- NousResearch: Hermes fine-tuning models, datasets, and other
- OpenBMB: Preference datasets, reward models, and more
- Argilla: Open preference datasets and resulting models
- Some HuggingFace users
- Maxime Labonne: Model merging & other fine-tunes
- Jon Durbin: More model merges & other fine-tunes
Q&A
- AI2와 huggingfaced 출신
- future alignment?
- safety is not only thing that matters
- how much they like, improve user experience
- improve raw capabilities rather than talking about safety
- llama3 use dpo, ppo, … i don’t know how they’re
- provide nice initialization, and make the metrics go up
- convoluted 다중 방법 프로세스가 없어지고 하나의 알고리즘으로 정제될 것으로 예상
- models are going to generalize less well
- general improvement of capabilities
- personlized lm? where the most impact?
- local llm community
- they have a lot of things to create they like to use
- classic ,,
- academics aren’t used to looking there
- keep trying to build something that matters to you
- low methods work well with dpo?
- evaluation GPT4, how to prevent contamination?
- human assessment가 좋을 수 있지만… 어려움
- overtraining시 align이 더 어려워지는가?
- learning rate, batch size에 따라 달라짐.
- more information into the model, takes more data to have marginal …
- Do you think synthetic data generation is a credible way to make domain-specific data?
- 좋다고 생각.
- cosmopedia in large scale
- industry도 비슷한 것을 하고 있음
- PPO > DPO
- ends up extracting more from data (연구실에서 발견)