learning/Lectures

[강의] CS25 Transformers United V4 3강: Aligning Open Language Models(Nathan Lambert)

silhumin9 2025. 1. 20. 16:53

강의 출처: 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

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
  • 스크린샷 2025-01-20 오후 2.10.28.png
  • 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

  1. 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
    • → 이 기능으로 유명해짐
  1. 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를 무료로 사용하도록 제공하는 대가로 데이터를 수집한 데이터셋
      • 사용자의 대화 데이터를 통해 다양한 언어 모델을 학습시키는 데 활용됨
  1. 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/
  1. 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
  • 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?

  1. ChatBotArena
    • 두 모델 간 선호도 비교를 통해 학습
    • 장점: 대규모 블라인드 테스트로 신뢰도 높음
    • 단점: 사용자 분포 통제가 어렵고 피드백 속도가 느림
  2. AlpacaEval
    • 프롬프트 리스트로 모델 간 응답 비교 LLM-as-a-judge
    • 장점: MT Bench 대비 샘플 수가 많아 오차 범위 감소
    • 단점: 구체적인 결과 해석이 어려움
  3. 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)
  1. OpenLLM Leaderboard
    • 처음에는 경쟁 모델을 자동으로 평가하기 위한 엔지니어링 도구로 시작
    • 현재는 팀 전체가 참여하는 제품으로 발전
    • 특징
      • 허브에 있는 거의 모든 모델을 평가하며, 주요 LLM 작업에 대한 성능을 비교 가능
      • 장점: 새로운 모델을 발견하는 데 유용
      • 단점: LLM 개발자가 지나치게 집착할 경우 문제 발생 가능
    • RLHF는 이러한 지표들을 크게 향상시키지는 못했으나, 2024년 들어 개선되기 시작
  • Establishing Evaluation
    1. ChatBotArena: Hard to use as training signal (slow feedback), yet most reliable
    2. AlpacaEval: Slightly expensive, for academics, training tool (~$5 per model eval), decent correlation
    3. MT Bench: Cheap training tool ($.5 per model eval), decent correlation
    4. 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
  • 스크린샷 2025-01-20 오후 3.12.33.png
  • Primary Questions?
    • 보상을 어떻게 구현 implement 할 것인가?
    • 보상을 어떻게 최적화optimize 할 것인가?
  • Review: Preference (reward) modeling
    • key idea: 보상은 특정 텍스트가 다른 작업 중 선택될 확률에 비례해야 함
  • 해결방법: Gradient Ascent
    • DPO(Direct Preference Optimization)를 사용하는 접근법
      • 구현이 매우 간단함
      • 기존 분산 학습 라이브러리와 잘 연동됨
      • 암시적 보상 함수(Implicit Reward Function)를 학습함
      • 하지만, 근본적인 한계가 더 높은 성능을 보장하는 것은 아님
  • DPO vs RL
    • 둘은 매우 다른 optimizer
    • RL: 가치 함수를 학습하여 최적화
    • DPO: 직접 경사단계 적용
    • → 둘 중 하나만 선택되지 않고 서로 보완 가능

RLHF 주요 단계

  1. Zephyr β:
  • DPO를 주목받게 한 첫 번째 모델
  • Mistral 7B를 UltraFeedback 데이터셋으로 미세 조정
  • 매우 낮은 학습률(Learning Rate, 약 5E-7)을 발견 → 현재 표준으로 자리잡음
  • MT Bench 점수: 7.34
  1. Tulu 2:
  • 대규모 모델에서 DPO를 적용한 첫 사례
  • 70억 개 매개변수에서 DPO를 확장
  • Zephyr 결과를 강력히 검증
  • DPO와 PPO 간 논쟁의 시작점
  • MT Bench 70B 점수: 7.89 (GPT-3.5와 비슷한 수준)
  1. 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와 같은 환경에서 폐쇄형 모델과의 격차는 여전히 존재
  1. 데이터 부족 문제, 주요 preference datasets (Anthropic HH, UltraFeedback, and Nectar are main three).
  2. DPO 개선 관련 논문 발표: tons of papers iterating on the method (ORPO, cDPO, IPO, BCO, KTO, DNO, sDPO, etc)
  3. 모델 크기 다양화: 대부분의 연구는 7B, 13B 매개변수에 집중
  4. → 더 작은 모델은 학습이 쉬워짐
  5. 평가 방법 구체화: Specific evaluations: How do we get more specific evaluations than ChatBotArena?
  6. 개인화: 로컬 모델, young area academically
    1. 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

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 (연구실에서 발견)