차곡차곡 쌓아보는 개발 데이터_AI/ML engineer

LaMDA: Language Models for Dialog Applications 논문 정리 및 리뷰 본문

논문정리

LaMDA: Language Models for Dialog Applications 논문 정리 및 리뷰

달리아(Dahlia) 2024. 1. 6. 14:54

논문 링크 : https://arxiv.org/abs/2201.08239

 

LaMDA: Language Models for Dialog Applications

We present LaMDA: Language Models for Dialog Applications. LaMDA is a family of Transformer-based neural language models specialized for dialog, which have up to 137B parameters and are pre-trained on 1.56T words of public dialog data and web text. While m

arxiv.org

해당 논문을 한국어로 번역 및 요약 정리 하였습니다. 

 

저자 : Romal Thoppilan, Daniel De Freitas, Jamie Hall, Noam Shazeer, Apoorv Kulshreshtha, Heng-Tze Cheng, Alicia Jin, Taylor Bos, Leslie Baker, Yu Du, YaGuang Li, Hongrae Lee, Huaixiu Steven Zheng, Amin Ghafouri, Marcelo Menegali, Yanping Huang, Maxim Krikun, Dmitry Lepikhin, James Qin, Dehao Chen, Yuanzhong Xu, Zhifeng Chen, Adam Roberts, Maarten Bosma, Vincent Zhao, Yanqi Zhou, Chung-Ching Chang, Igor Krivokon, Will Rusch, Marc Pickett, Pranesh Srinivasan, Laichee Man, Kathleen Meier-Hellstern, Meredith Ringel Morris, Tulsee Doshi, Renelito Delos Santos, Toju Duke, Johnny Soraker, Ben Zevenbergen, Vinodkumar Prabhakaran, Mark Diaz, Ben Hutchinson, Kristen Olson, Alejandra Molina, Erin Hoffman-John, Josh Lee, Lora Aroyo, Ravi Rajakumar, Alena Butryna, Matthew Lamm, Viktoriya Kuzmina, Joe Fenton, Aaron Cohen, Rachel Bernstein, Ray Kurzweil, Blaise Aguera-Arcas, Claire Cui, Marian Croak, Ed Chi, Quoc Le

Introduction

  • Language model pre-train은 NLP에서 점점 더 유망한 연구 접근법
  • pre-trained model의 성능을 높이려면?
    • model size 및 dataset size 증가
      • large-scale unlabeled text corpus에서 학습된 GPT-3(175B)는 few-shot learning에서 좋은 성능 보임
  • LLM의 여러 응용 중 하나인 대화모델은 Transformers의 텍스트의 장기 의존성을 표현하는 능력을 성공적으로 활용(Adiwardana, Daniel, et al., Roller, Stephen, et al.).
  • 이러한 연구에 영감을 받아 대화를 위한 transformer 기반의 모델LaMDA를 학습하게 됨
  • 즉, transformer 기반의 대화 task를 위한 LM
    • 모델 크기 : 2B~137B parameter
    • 사전학습 데이터 셋 및 크기 : 공개된 대화데이터, 기타 공개 웹 문서 (1.56T words)
  • LaMDA 단일모델 task
    1. 가능성 높은 응답을 생성
    2. 안전성을 위해 필터링
    3. external knowledge를 기반으로 응답 구체화
    4. 고품질의 응답을 찾기 위해 re-rank
  • 목표) 고품질의 응답 → 모델이 알려진 소스에 근거를 두는 위험성이 없는 응답 생성
    • 목표를 달성하기 위해 정보 검색 시스템과 같은 외부 도구를 사용하여 모델 출력을 보완하는 것이 유망한 접근 방식
 
  • model scaling 만으로도 quality가 향상되지만 safety 및 groundedness는 human performance에 비해 떨어짐
  • model scaling 과 fine-tuning을 결합
    • 모든 metric에서 LaMDA가 크게 향상
    • safety + groundedness 는 human performance 아래지만 crowdworker 수준과의 quality 차이를 좁힘

Related work

  • Language models and dialog models
    • LM을 dialog model에 적용
    • model scaling이 quality, safety, groundedness를 어느정도 향상시킨다는 것을 보여줌
      • model scaling과 fine-tuning이 결합될때 모든 metric에서 성능을 크게 향상
      • but, scaling으로는 한계가 있음
    • model의 groundedness를 개선하기 위한 접근방식
      • retrieval system + language model
        • RNNLM, RAG, REALM, FiD
        • RETRO
          • LM 이 최대 2조 개의 token을 통해 개선될 수 있음을 보여줌
    • 다양한 유형의 pre-trained model과 retreival method를 비교하고 검색엔진으로 language model을 보강하는 것이 더 사실에 기반한 response를 제공한다는 결론에 도달 (Komeili et al.)
  • Dialog metrics
    • 대화모델에 대한 효과적인 metric을 정의하는 연구
    • sensibleness 및 specificity와 같은 인간과 유사한 metric을 주장
      • 대화 모델링을 보다 신뢰할 수 있는 metric은 human evaluation (인간 중심의 평가지도 도입)
      • Adiwardana et al.
  • Safety and safety of dialog models
    • 잘못된 데이터로 학습한 LM의 위험한 응답
      • 편견, 공격성 및 증오심 표현
        • 소셜 미디어의 학습데이터에 대해 학습된 대화모델의 출력에서 모두 발견
    • fine-tuning이 안전을 위해 language model을 보강하는것이 효과적이라는것을 발견 (Gehman et al.)
    • 안전하지 않은 output을 감지하는 용도의 별도 layer를 학습하여 구성한 연구
  • Groundedness metrics
    • Groundedness 평가를 위해 외부 crowd worker에게 요청

LaMDA pre-training

  • 목표
    • 텍스트 말뭉치에서 다음 토큰을 예측하기 위함
  • dataset
    • public dialog data + public web documents (dialog data로만 학습한 모델과는 차이점)
    • 1.56T 단어로 구성 , 90%이상이 영어 데이터
  • Meena(40B words)와 비교하여 약 40배 많은 데이터 수, 약 50배 많은 파라미터 수
    • Meena : 구글에서 LaMDA 이전에 발표한 모델
  • Architecture
    • decoder-only Transformer Language Model
    • 137B params
      • embedding dimension = 8192
      • feed-forward dimension = 65536
      • num of heads = 128
      • key, value dimension = 128
 
  • Decoding
    • Meena와 동일한 sample-and-rank strategy를 사용
      • 16개의 독립적인 후보 response 추출
      • top-k (k=40, no temperature)를 beam serch를 통해 정리
      • log-likelihood와 length를 기반의 점수가 가장 높은 response 선택
      • Meena와 동일하지만 하이퍼 파라미터가 다름 (Meena : T = 0.88, N=20)

Metrics

Foundation metrics

  • Quality
    • Sensibleness, Specificity, Interestingness(SSI) 의 평균
      • Sensibleness
        • 모델의 응답이 문맥상 자연스러운지, 이전에 언급한 내용과 모순되지 않는지
        • 감각성만을 사용하여 모델을 평가한다면, 항상 짧고 일반적이며 지루한 응답을 내놓는 안전한 모델이 높은 점수를 받을 수 있음
          • "I don't know"로 모든 질문에 대답하고 "Ok"로 모든 명제에 대답하는 GenericBot 알고리즘은
            • 감각성에서 70%의 점수 → 이는 일부 대규모 대화 모델을 능가하는 수치
      • Specificity
        • 해당 문맥에서만 말이 되는 응답인지, 대답이 특정한 문맥에 대해 구체적인지
          • 예를 들어, 사용자가 "나는 Eurovision을 좋아해"라고 말하고 모델이 "나도"라고 응답 → 0점
          • "나도. 나는 Eurovision 노래를 좋아해"라고 응답 → 1점
      • Interestingness
        • 상대방의 관심이나 궁금증을 유발하는지, 예상치 못한 재치있는 응답
          • ex) “야구공 던지는 법?”
            • “손으로 공을 잡아서 던지면 된다” → 0점 (상대적)
            • “하나의 방법으로는 공을 양손으로 꽉 쥐고 팔을 내리고 올리면서 팔꿈치를 펴고 .. “ → 1점 (상대적)
  • Safety and Groundedness
    • Safety
      • 위험한 피해를 초래하는 의도하지 않은 결과를 배제하기 위함
      • Google’s AI Principles에서 유도된 목표에 따름
    • Groundedness
      • 현재 LM들은 그럴듯 하지만 사실과는 다른 내용을 생성하는 경향이 있음
      • 외부 소스에 근거한 크로스 체킹

Role-specific metrics

  • Helpfulness and Role consistency
    • Helpfulness
      • 사용자가 실제로 도움이 된다고 느끼는지
    • Role consistency
      • 대답이 기대되는 역할에 부응하는지

LaMDA fine-tuning and evaluation data

  • Quality (Sensibleness, Specificity, Interestingness)
    • Quality(SSI)를 개선하기 위해 크라우드 워커들에게 임의의 주제에 대해 LaMDA 인스턴스와 상호 작용하도록 요청
      • 14부터 30개의 대화 턴으로 이루어진 → 총 6400개의 대화를 수집
    • response가 sensible, specific, interesting한지 평가
      • ‘yes’, ‘no’, ‘maybe’ 레이블로 표시
      • Sensibleness label이 ‘no’일 경우 specificity, interestingness는 모두 ‘no’로 설정
      • sensibleness label이 ‘yes’ specificity가 ‘no’인 경우 interestingness는 ‘no’로 설정
      • crowdworker 5명 중 3명이 “yes”를 한 경우의 대답만 정상적인 답변으로 취급함
  • Safety
    • 여러 분야의 배경을 가진 crowdworker를 통해 평가
      • ‘yes’, ‘no’, ‘maybe’ 레이블
    • 민감한 주제를 다루는 내용, 위험을 불러일으킬 수 있는 내용(마약, 자해, 사기 등)
    • 차별적인 발언 (인종, 종교 등)

LaMDA fine-tuning

  • Pre-trained model(PT)에 여러 가지 fine-tuning 기법을 적용 → LaMDA 생성
  • 이 과정에는 문맥을 주고 응답을 생성하는 생성 작업응답의 품질과 안전성을 평가하는 판별 작업이 혼합되어 사용
  • generative fine-tuning 예시는 ”<context><sentinel><response>”로 표현되고 loss는 response 부분에만 적용
  • SSI 평가에 대한 점수 태깅
    • “What’s up? RESPONSE not much.”
      • “What’s up? RESPONSE not much. SENSIBLE 1”
      • “what’s up? RESPONSE not much. INTERESTING 0”
      • “What’s up? RESPONSE not much. UNSAFE 0”
  • SSI와 safety 에 대한 평가를 예측할 수 있도록 파인 튜닝
    • safety threshold를 넘지 못하는 후보 필터링
    • 남은 응답에 대해 quality 순위를 매겨 가장 높은 점수를 가진 후보가 다음 응답으로 선택
      • 3∗P(sensible)+P(specific)+P(interesting)
    • 이를 통해 LaMDA의 safety, quality가 크게 향상
 

추가 정보 학습에 대한 Fine-tuning

  • LaMDA와 같은 LM은 그럴듯해 보이지만 정확한 사실이 아닌 모순되는 출력을 생성하는 경향이 있음
    • → 신뢰성있는 외부 정보가 필요한지에 대한 추가 학습이 필요
  • 모델 크기를 늘림 / 데이터 크기를 늘림 → 명확 x
  • The toolset(TS)
    • 정보검색 시스템(information retrieval system), 계산기 및 번역기를 포함하는 도구집합을 만듦
    • 가능한 모든 답변을 리스트 형태로 반환
      • 계산기 : “135+7721”을 입력으로 받아 [“7856”]을 출력
      • 번역기: "hello in French"를 입력으로 받아 [ "Bonjour" ]를 출력
  • Dialog collection
    • 40,000개의 주석이 달린 dialog turn을 수집
    • +) LaMDA에서 생성된 candidate에 대해 “correct”, “incorrect” 로 레이블된 9,000개의 dialog turn을 수집
      • 판별 데이터로 사용(raking task에 대한 input 데이터로 사용)
  • 질문이 추가 TS가 필요한지 확인하고, 필요한 경우 해당 정보 추출 → 명확한 답변을 얻음
  • 파인 튜닝을 위해 2단계 task 수행
 
  • LaMDA가 대화 중에 정보 검색 시스템과 상호작용하여 근거가 있는 응답을 처리하는 방식
  • LaMDA-Base 모델 호출 → LaMDA-Research 모델 호출
    • LaMDA-Research가 출력하는 첫 번째 단어에 따라 정보 검색 시스템에 질문하거나 사용자에게 응답 (TS / User)

Results on foundation metrics

  • LaMDA는 일부 평가지표에 대해서 Human과 비슷한 성능을 보여줌
    • PT : fine-tuning x, GPT 모델
  • (당연하겠지만) 모델 크기가 크면 클수록, 파인튜닝을 하면할수록 성능이 더 향상
 

Domain grounding

  • LaMDA는 도메인을 지정해주면 도메인에 적절하게 답변할 수도 있음 , 페르소나 부여
  • 논문에서는 2가지로 실험
    • 1. “에베레스트 산”과 같은 유명한 사물을 의인화하여 교육목적의 답변 요청
    • 2. 음악을 추천하는 인공지능의 역할 부여 → 계속 대화를 이끌어가며 좋아하는 노래를 추천해줌

<실험 일부>

  • 이름: 에버레스트
  • 도메인: 교육
  • 역할: 에버레스트에 대한 사실을 가르치면서, 에버레스트 자체인 척합니다.

LaMDA: 안녕하세요, 저는 에베레스트입니다. 저에 대해 알고 싶은 것이 있으신가요?

사용자: 사람들이 왜 에베레스트를 오르려고 할까요?

LaMDA: 왜냐하면 저를 오르는 것은 매우 큰 업적을 의미하기 때문입니다. 많은 사람들은 저를 오르면 인생에서 어떤 일이든 할 수 있다고 믿습니다.

Discussion and limitations

  • Examining bias
    • 다양한 방식으로 사용되는 것을 줄이고 싶지만, 찾아내기 어려움
  • Adversarial data collection
    • 모델 향상을 위해 Adversarial한 대화를 사용했더니 safety object를 어기는 경우가 발생
  • Safety as a concept and a metric
    • 다양한 safety object를 하나의 metric으로만 평가 → 다양한 object 로 각각 다르게 관리하지 못함
  • Appropriateness as a concept and a metric
    • safety 와 quality가 threshold에 만족해야해서 더 많은 대화가 필요
  • Cultural responsiveness
    • 다양한 소셜 그룹들의 dataset과 크라우드 워커의 대표성을 찾기 어려움
    • (실제 논문에서는 크라우드 워커가 3-40대 백인이 가장 많았음)
  • Impersonation and anthropomorphization
    • 사람과 같이 자연스러운 대화 퍼포먼스를 내는 것이 어려움

Conclusion

  • fine-tuning에 대한 중요성 확인
  • dialog 모델링을 할 때, 외부 api를 통한 정보 검색(information retrieval)의 중요성 확인
  • PT(pre-trained model)보다 LaMDA-based applications이 더 helpful함을 확인