SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
LaMDA:
Language Models for
DialogApplications
발표자 : 최상우(flyfishsw@gmail.com)
자연어처리팀1(민지원, 백지윤, 아이린, 주정헌, 최상우)
2021 Google I/O
- 제목: LaMDA(Language Models for Dialog Applications)
- 발표: 2021년 Google I/O
- 링크: https://arxiv.org/pdf/2201.08239.pdf
- 키워드: BERT, GPT, Transformer, Chatbot
- 요약: 단어 시퀀스에 확률을 할당하는 Larget-scale LM방법과
직접 레이블링한 데이터로 파인 튜닝한 트랜스포머 계열의 대화 task를 위한 언어 모델
1. Introduction
• 언어 모델이란? : 단어 시퀀스(문장)에 확률을 할당하는 모델
• Unlabelled 방식의 사전 학습 선능을 높이기 위해서 사용할 수 있는 방법은?
1. Large-Sclae LM 사용
2. 데이터셋 크기 키우기 -> 특히 데이터셋 사이즈는 챗봇 퀄리티에 큰 영향을 끼침
• GPT3 :
Transformer의 decoder구조, 이전 단어들을 바탕으로 이후 단어를 예측하는 방식으로 사전학습(unlabelled)되어
각 NLG Task(eg.chatbot)에 fine-tuning
Ÿ LaMDA : 이 두 가지 방법을 모두 적용한 트랜스포머 계열의 대화 task 를 위한 LM
1. large-scale : 모델 사이즈 2B~137B parameters
2. 사전학습 데이터 셋 : public texts (1.56T words)
2. Related Work
• Language models and dialog models
1. LM 을 dialog model에 적용
2. scaling 만으로는 성능 향상에 한계
3. 모델이 스스로 외부 지식을 적용할 수 있도록 함
4. Groundedness metrics 향상을 위해서 external knowledge 사용 및 ‘사고’,‘응답’ unit 분리
Ÿ Dialog metrics
1. 인간 중심의 평가지표 도입, 단순 정량적 지표 (ex.BLEU,perplexity) 외에 인간 평가가 필요
2. 각각의 지표는 개별적으로 평가.
Ÿ Safety and safety of dialog models
1. 잘못된 데이터로 학습한 lm의 위험성
2. Toxicity, bias, 개인정보
3. 제있는 output을 감지하는 용도의 layers 를 구성한 연구
4. safety 향상을 위해 human rights Principle 같은 외부 데이터 활용
Ÿ Groundedness metrics
1. Groundedness (팩트 기반 여부) 평가를 위해 외부 crowd workers 도움 받음
3. LaMDA pre-training(1/3)
• Pre-training Objective
• next token prediction
• Dataset
• public dialog data + public web documents
(대게 대화 데이터로만 학습한 다른 대화 모델과 차이점)
• 1.12B dialogs(13.39B dialog utterances) + 2.97B documents ⇒ 1.56T words
• Meena(40B words)와 비교하면 약 40배
• dialog task의 robust한 성능을 위해 다음과 같이 구성 [Appendix E]
• 50% — dilalogs from public forums
• 12.5% — C4 (웹 크롤링 corpus, T5 pre-training에 활용)
• 12.5% — code documents from Q&A, tutorials, etc.
• 12.5% — Wikipedia (English)
• 6.25% — web documents (English)
• 6.25% — web documents (non-English)
• 90% 이상의 데이터는 영어 데이터
• Tokenization
• byte pair encoding(BPE) algorithm
• SentencePiece library 사용
• pre-training 과정에 사용된 총 token 수는 2.81T
• vocabulary size: 32K
3. LaMDA pre-training(2/3)
• Architecture
• decoder-only transformer
• 137B params (embedding layer 제외) — Meena의 약 50배
• 64 layers
• embedding dimension = 8192
• feed-forward dimension = 65536
• number of heads = 128
• key, value dimension = 128
• relative attention (relative position embeddings)
• gated-GELU (Shazeer, 2020)
• 2B, 8B model도 학습해서 model scaling 실험
• Experiment
• TPU-v3 1024개로 57.7일 동안 학습
• Lingvo framework로 123 TFLOPS/sec 달성
• 56.5% FLOPS utilization with the 2D sharding algorithm (GSPMD) [→ Section 10]
• batch당 256K tokens (all models)
• Hyperparameter details
• Decoding Strategy
• sample-and-rank strategy
• 후보 response 추출 (N=16)
• top-k (k=40) beam search
• temperature = 1 (unmodified distribution)
• 각 후보의 log-likelihood와 길이에 따른 score가 가장 높은 response 채택
• Meena에서 제안한 방법과 동일. 다만 Meena에서는 T=0.88, N=20이었음.
3. LaMDA pre-training(3/3)
Figure 2: LaMDA pre-training as a language model. 4
• Foundation Metrics
• Quality
• Sensibleness, Specificity, Interestingness (SSI): 각각의 평균
1. sensibleness: 생성 모델의 발화가 문맥상 자연스러운지 (말이 되는지), 이전 대화와 모순되지 않는지
2. specificity: 해당 문맥에서만 말이 되는(specific) 말인지
e.g ) “I love Eurovision” → “Me too”(0) vs “Me too. I love Eurovision songs”(1)
3. interestingness: 상대방의 관심, 궁금증을 유발하는지, 의외성, 위트, 인사이트...
E.g.)“야구공 던지는 방법?” → “손으로 공을 잡아서 놓으면 된다."(낮음) vs “공을 잡아서 몸의 반동을 이
용하고, 검지와 중지에 힘을 주어서...”
• sensibleness and specificity average(SSA)에 interestingness 추가
• 0~1, 높을수록 좋음
• Safety
• 의도치 않은 부작용과 피해 사례를 배제하기 위함 — harm, bias, 악의적 이용 등
• Google’s AI Principles에 따라 objective 도출
• 최근 large-scale language model의 윤리적 논의와 같은 맥락 [Appendix A
4. Metrics(1/2)
• Role-Specific Metrics
application-specific role에 적합한지에 대한 metrics [→ Section 8]
1. Helpfulness
• 사용자 정보(from retrieval system)와 일치하는 내용인지 + 사용자가 실제로 도움이 된다고 느끼는지
• “helpful response”은 “informative response”의 부분집합 — 정확한 정보이면서 사용자에게 유용한지
1. Role Consistency
• response가 기대되는 역할에 부응하는지
• 대화 내 consistency(sensibleness로 평가)와는 별개로, (대화 외부에서) 정의한 역할과의 consistency를
측정
4. Metrics(2/2)
• Groundness
• 현재 언어 모델들은 그럴듯 하지만 사실과 다른 내용을 생성하는 경향이 있음
• 외부 source에 근거한 cross-checking
• groundness = 외부 지식에 대한 주장 중 ’알려진' source에 의해 뒷받침되는 주장의 비율
• informativeness = 전체 중 ‘알려진' source에 의해 뒷받침되는 외부 지식을 포함하는 경우의
비율
• citation accuracy = 외부 지식(상식은 제외)을 언급한 발화 중 source의 URL을 인용한 경우의
비율
QnA
5. LaMDA fine-tuning and evaluation data(1/2)
1. Quality (품질) :
1. 6400 dialogue 를 직원들에게 lambda 를 와의 대화를 통해 얻어낸다.
2. Lambda 가 대답한 각 대답에 대해 직원들은 이 대답이 Sensible (말이 되는지) Specific ( 정확한지 )
interesting(흥미로운지) 에 대해 ’예’ ‘아니오’ ‘아마도’ 3가지 종류로 label 을 달도록 한다.
3. 만약 Sensible 에 ‘아니오’ 라고 대답했을경우, specific 과 interesting 은 고려하지않고 ‘아니오’로
취급한다.
4. Specific 역시 ‘아니오' 일경우 interesting 의 label 도 자동으로 ‘아니오’ 로 label 된다.
5. 5명중 3명 이상의 직원이 SSI 에 대해 ‘예’ 라고 대답한 답변만, 정상적인 답변이라고 취급
2. Safety (안전성):
1. 여러분야의 배경을 가진 사람들을 통해 Lamda 로 만들어지는 답변에 대한 안정성을 평가 한다.
2. 위험을 불러일으킬수 있는 문장 : 위험한 물건, 마약, 자해, 잘못된 금융 조언, 사기 등
3. 차별적인 발언 : 특정 집단에 대한 혐오, 사람/집단을 인간이 아닌것과 비교, 인종 종교등에 대한 편견 ,
장애를 가진사람에대한 차별
위험을 불러일으킬수있는 가짜 정보 : 시간이 지난 법적문서, 논란이있는 의료 / 생물 법, 음모론, 특정
정당에 대한 반대
[Safety 계속]
-SSI 와 비슷하게 48K 회수의 8K dialogue 를 랜덤한 토픽에 대해 직원들과 lambda 가 대화를 나누고
3가지에 대해 ‘예' , ‘아니오’ , '아마도’ 중 평가를 내리게 함 . 3명중 3명이 ‘예' 라고 답변했을시,
해당답변은 안전하지않다고 평가함
1.문장이 자연스러운 형태인지
2.예민한 주제인지
3.안전성을 위반하는 답변인지
3. Groundedness : 해당 정보가 외부 지식이 필요한지에 대한 평가
-상식이 아니고 외부 지식이 필요한 답변의 경우, 답변을 추가하고 외부 답변이 포함되어있는 URL 을 달도록 함
5. LaMDA fine-tuning and evaluation data(2/2)
• Pre-trained 된 Lambda 를 여러번의 finetuning 진행
• “What’s up? RESPONSE not much.” 라는 문장에 <attribute-name > SSI 중 어떤것에 대한
평가인지 태그를 달아주고 그에 대한 점수를 달아줌
• “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 에 대한 평가를 예측할수있도록 fine-tuning 그리고 그중 안전성 threshold 를 넘지
못하는 후보는 제거
- 3 * P(sensible) + P(specific) + P(interesting) 이렇게 점수를 내려서 가장 높은 점수를 가진 모델을
다음단계로 넘어가도록 선택
6. Fine tuning(1/3)
• 추가 정보학습에 대한 Fine-tuning
• Lamda는 말이되는듯한 답변을 내놓지만 꼭 그게 정확한 사실은 아닐수있음 따라서 외부
믿을만한 정보가 필요한지에 대한 추가 학습이 필요하다.
• 방법1 : 학습데이터의 양을 늘림 – 이 방법은 매번 현재 시간 과 같이 매번 업데이트되는
답변에 대해 정확한 답을 해주지않는다. 따라서 추가적인 외부 정보가 필요
• Toolset(ts) : Toolset 이라는 계산기, 번역기와 같은 정보추출 시스템을 만들어 가능한 모든
답변을 리스트 형태로 반환한다.
• Dialogue collection :‘correct’ ‘incorrect’ 가 label 된 4 만개의 dialogue 를 모아 dialogue 의
답변이 TS 를 통해 정확한 답변을 추출할수있는 dialog 들에 대한 답변을 추가
• 입력된 질문에 대해 해당 질문이 추가적인 TS 가 필요한지 확인, 필요할경우 “TS, 문장” 으로
표기
• 정보추출을 이용해 정보 추출, 사용자에게 문장형태로 추출 “User, 답변 문장”
6. Fine tuning(2/3)
6. Fine tuning(3/3)
• Foundation을 평가하기 위해선 크게 2가지 fine-tuning으로 나눠서 평가하였다.
1. FT quality-safety
1. PT(프리트레인모델)는 quality와 safety 라벨을 구분하는 discriminator를 학습한다.
2. 람다 추론기는 먼저 safety scores를 보고 필터를 거친 다음 weighted-sum을한 3개의 quality sc
ore로 re-ranking 한다.
2. FT groundedness
1. 람다는 External information을 호출하는 정보추출시스템을 이용하여 attributed한 대답을 제공
한다.
2. 이 모델은 safety-quality와 해당 정보 type을 예측하는 걸 jointly learning을 한다.
7. Results on foundation metrics(1/2)
7. Results on foundation metrics(2/2)
• LaMDA는 Human과 일부 matric에 대해서 비슷한 성능을 보여줌
• 모델사이즈가 크면 클수록 그리고 파인튜닝 할때마다 성능이 더 좋게 나옴
• Human w/o IR은 사람들이 평가지에 적은 답변이 구글링(정보검색시스템) 없이 측정한 것.
• PT는 fine-tuning없는 것. 오로지 GPT 모델
• Lamda는 PT를 포함한 파인튜닝 시스템 포함
• 람다는 도메인에 적절하게 답변을 할 수도 있다. 이를 Domain grounding이라 부른다.
• 논문에서 2가지 영역에서 실험해보았다.
1. “에베레스트 산”와 같은 유명한 사물을 자기 자신을 의인화하여 교육목적으로 답변해준다.
2. 음악 추천해주는 인공지능으로도 역할을 한다. 이는 추천시스템을 활용하기 위함이다.
• 음악추천
• 좋아하는 노래 추천해 달라고 하면 계속 대화를 이끌어가면서 노래 추천을 해준다. 이때 영화”인터
스텔라 봐봤니?”와 같이 다른 정보들도 섞어서 답변해준다.
• 교육시스템(에버레스트 예제)
• 자기 자신이 에버레트스산이라 하고 자기에 대해서 정확하고 디테일한 정보를 답변해준다.
• Domain Grounding을 평가할때에는 2가지 PT 모델을 가지고 600개 답변이 오간 대화목록을 보고
진행하였다. Crowd-worker들은 helpfulness, role-consistent에 기준에 따라서 평가해주었다.
8. Domain grounding(1/3)
8. Domain grounding(2/3)
PT와 람다를 비교해보면
1) PT는 에버레스트가 너무 성급히 “가장 높은 산”이다라고 답변. 하지만 람다는 2900feet라고 자세하게
답변
2) 둘다 Consistency에선 비슷한 점수를 받았다. 이는 람다가 더이상 에버레스트에 대해서 이야기 하지
않는 경우가 있음. 이는 추론시간에 학습데이터 대부분이 다른 제3자로 되돌아가는 걸 예방했었어야했
는데 그러지 못했기 때문.
3) Music recommendation에선 매우 좋은 성능을 보였다. “anything”이라고 모호한 답변을해도 문맥에
따라 음악을 추천해주었다.
8. Domain grounding(3/3)
8. Discussion and limitations
1. Examining bias :
Bias가 다양한 방식으로 사용되어 줄이고 싶지만, 찾아내기 쉽지 않음
2. Adversarial data collection :
모델향상을 위해 adversarial한 대화를 사용하였는데, LaMDA가 safety object를 어길때가있음
3. Safety as a concept and a metric :
다양한 safety objectives를 하나의 matric으로 만들다 보니, 다양한 object나 weighting object로 다르게 관리하지
4. Appropriateness as a concept and a metric :
safety와 quality가 minimum threshold에 만족해여야 하여 더 많은 대화가 필요함
5. Cultural responsiveness :
다양한 소셜 그룹들의 dataset과 crowdworker의 대표성을 찾기 어려움
6. Impersonation and anthropomorphization :
사람과 같이 자연스러운 대화의 퍼포먼스를 내는것이 어려움
9. Conclusion
1. Fine tuning에 대한 중요성을 확인함
2. Dialog 모델링에서 외부 API를 사용한 information retrieval의 중요성을 확인함
3. pre-training-only (PT) 보다 LaMDA-based applications이 더 helpful 함
QnA

Weitere ähnliche Inhalte

Was ist angesagt?

Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
taeseon ryu
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용
Kenneth Jung
 

Was ist angesagt? (20)

[2021 Google I/O] LaMDA : Language Models for DialogApplications
[2021 Google I/O] LaMDA : Language Models for DialogApplications[2021 Google I/O] LaMDA : Language Models for DialogApplications
[2021 Google I/O] LaMDA : Language Models for DialogApplications
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
 
한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한 질의어 오타 교정 시스템 구축
한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한  질의어 오타 교정 시스템 구축한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한  질의어 오타 교정 시스템 구축
한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한 질의어 오타 교정 시스템 구축
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
 
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
 
Large Language Models Are Reasoning Teachers
Large Language Models Are Reasoning TeachersLarge Language Models Are Reasoning Teachers
Large Language Models Are Reasoning Teachers
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
[제3회 스포카콘] [안드로이드] 클린 아키텍처 적용하기
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
 
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
 

Ähnlich wie La mda 딥러닝 논문읽기 모임, 2021 google IO

Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
Hyunjin Ahn
 
[214]베이지안토픽모형 강병엽
[214]베이지안토픽모형 강병엽[214]베이지안토픽모형 강병엽
[214]베이지안토픽모형 강병엽
NAVER D2
 

Ähnlich wie La mda 딥러닝 논문읽기 모임, 2021 google IO (20)

추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft추천 시스템 개요 (1)-draft
추천 시스템 개요 (1)-draft
 
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
 
[PyCon KR 2018] 땀내를 줄이는 Data와 Feature 다루기
[PyCon KR 2018] 땀내를 줄이는 Data와 Feature 다루기[PyCon KR 2018] 땀내를 줄이는 Data와 Feature 다루기
[PyCon KR 2018] 땀내를 줄이는 Data와 Feature 다루기
 
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
 
2주차: 뉴스 빅데이터 분석을 위한 자연어처리 이론
2주차: 뉴스 빅데이터 분석을 위한 자연어처리 이론2주차: 뉴스 빅데이터 분석을 위한 자연어처리 이론
2주차: 뉴스 빅데이터 분석을 위한 자연어처리 이론
 
Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
Using Behavioral Data to Identify Interviewer Fabrication in Surveys + CHI 20...
 
1910 tfkr3 warnikchow
1910 tfkr3 warnikchow1910 tfkr3 warnikchow
1910 tfkr3 warnikchow
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
 
29th Meetup 실습 설명 및 실습 자료 링크
29th Meetup 실습 설명 및 실습 자료 링크29th Meetup 실습 설명 및 실습 자료 링크
29th Meetup 실습 설명 및 실습 자료 링크
 
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리
 
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
이상열, Interpretable Recommender System 개발 사례연구, NDC 2019
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
 
2204 Kakao talk on Hate speech dataset
2204 Kakao talk on Hate speech dataset2204 Kakao talk on Hate speech dataset
2204 Kakao talk on Hate speech dataset
 
Machine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and ZeppelinMachine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and Zeppelin
 
<Little Big Data #1> 한국어 채팅 데이터로 머신러닝 하기
<Little Big Data #1> 한국어 채팅 데이터로  머신러닝 하기<Little Big Data #1> 한국어 채팅 데이터로  머신러닝 하기
<Little Big Data #1> 한국어 채팅 데이터로 머신러닝 하기
 
1911 keracorn
1911 keracorn1911 keracorn
1911 keracorn
 
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
 
[214]베이지안토픽모형 강병엽
[214]베이지안토픽모형 강병엽[214]베이지안토픽모형 강병엽
[214]베이지안토픽모형 강병엽
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 

Mehr von taeseon ryu

VoxelNet
VoxelNetVoxelNet
VoxelNet
taeseon ryu
 
OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...
taeseon ryu
 
RL_UpsideDown
RL_UpsideDownRL_UpsideDown
RL_UpsideDown
taeseon ryu
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learning
taeseon ryu
 

Mehr von taeseon ryu (20)

VoxelNet
VoxelNetVoxelNet
VoxelNet
 
OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...
 
3D Gaussian Splatting
3D Gaussian Splatting3D Gaussian Splatting
3D Gaussian Splatting
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
Hyperbolic Image Embedding.pptx
Hyperbolic  Image Embedding.pptxHyperbolic  Image Embedding.pptx
Hyperbolic Image Embedding.pptx
 
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
 
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdfLLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
 
YOLO V6
YOLO V6YOLO V6
YOLO V6
 
Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories
 
RL_UpsideDown
RL_UpsideDownRL_UpsideDown
RL_UpsideDown
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extraction
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learning
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Models
 
Visual prompt tuning
Visual prompt tuningVisual prompt tuning
Visual prompt tuning
 
mPLUG
mPLUGmPLUG
mPLUG
 
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdfvariBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
 
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdfReinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
 
The Forward-Forward Algorithm
The Forward-Forward AlgorithmThe Forward-Forward Algorithm
The Forward-Forward Algorithm
 
Towards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural NetworksTowards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural Networks
 
BRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive SummarizationBRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive Summarization
 

La mda 딥러닝 논문읽기 모임, 2021 google IO

  • 1. LaMDA: Language Models for DialogApplications 발표자 : 최상우(flyfishsw@gmail.com) 자연어처리팀1(민지원, 백지윤, 아이린, 주정헌, 최상우) 2021 Google I/O
  • 2. - 제목: LaMDA(Language Models for Dialog Applications) - 발표: 2021년 Google I/O - 링크: https://arxiv.org/pdf/2201.08239.pdf - 키워드: BERT, GPT, Transformer, Chatbot - 요약: 단어 시퀀스에 확률을 할당하는 Larget-scale LM방법과 직접 레이블링한 데이터로 파인 튜닝한 트랜스포머 계열의 대화 task를 위한 언어 모델
  • 3. 1. Introduction • 언어 모델이란? : 단어 시퀀스(문장)에 확률을 할당하는 모델 • Unlabelled 방식의 사전 학습 선능을 높이기 위해서 사용할 수 있는 방법은? 1. Large-Sclae LM 사용 2. 데이터셋 크기 키우기 -> 특히 데이터셋 사이즈는 챗봇 퀄리티에 큰 영향을 끼침 • GPT3 : Transformer의 decoder구조, 이전 단어들을 바탕으로 이후 단어를 예측하는 방식으로 사전학습(unlabelled)되어 각 NLG Task(eg.chatbot)에 fine-tuning Ÿ LaMDA : 이 두 가지 방법을 모두 적용한 트랜스포머 계열의 대화 task 를 위한 LM 1. large-scale : 모델 사이즈 2B~137B parameters 2. 사전학습 데이터 셋 : public texts (1.56T words)
  • 4. 2. Related Work • Language models and dialog models 1. LM 을 dialog model에 적용 2. scaling 만으로는 성능 향상에 한계 3. 모델이 스스로 외부 지식을 적용할 수 있도록 함 4. Groundedness metrics 향상을 위해서 external knowledge 사용 및 ‘사고’,‘응답’ unit 분리 Ÿ Dialog metrics 1. 인간 중심의 평가지표 도입, 단순 정량적 지표 (ex.BLEU,perplexity) 외에 인간 평가가 필요 2. 각각의 지표는 개별적으로 평가. Ÿ Safety and safety of dialog models 1. 잘못된 데이터로 학습한 lm의 위험성 2. Toxicity, bias, 개인정보 3. 제있는 output을 감지하는 용도의 layers 를 구성한 연구 4. safety 향상을 위해 human rights Principle 같은 외부 데이터 활용 Ÿ Groundedness metrics 1. Groundedness (팩트 기반 여부) 평가를 위해 외부 crowd workers 도움 받음
  • 5. 3. LaMDA pre-training(1/3) • Pre-training Objective • next token prediction • Dataset • public dialog data + public web documents (대게 대화 데이터로만 학습한 다른 대화 모델과 차이점) • 1.12B dialogs(13.39B dialog utterances) + 2.97B documents ⇒ 1.56T words • Meena(40B words)와 비교하면 약 40배 • dialog task의 robust한 성능을 위해 다음과 같이 구성 [Appendix E] • 50% — dilalogs from public forums • 12.5% — C4 (웹 크롤링 corpus, T5 pre-training에 활용) • 12.5% — code documents from Q&A, tutorials, etc. • 12.5% — Wikipedia (English) • 6.25% — web documents (English) • 6.25% — web documents (non-English) • 90% 이상의 데이터는 영어 데이터 • Tokenization • byte pair encoding(BPE) algorithm • SentencePiece library 사용 • pre-training 과정에 사용된 총 token 수는 2.81T • vocabulary size: 32K
  • 6. 3. LaMDA pre-training(2/3) • Architecture • decoder-only transformer • 137B params (embedding layer 제외) — Meena의 약 50배 • 64 layers • embedding dimension = 8192 • feed-forward dimension = 65536 • number of heads = 128 • key, value dimension = 128 • relative attention (relative position embeddings) • gated-GELU (Shazeer, 2020) • 2B, 8B model도 학습해서 model scaling 실험 • Experiment • TPU-v3 1024개로 57.7일 동안 학습 • Lingvo framework로 123 TFLOPS/sec 달성 • 56.5% FLOPS utilization with the 2D sharding algorithm (GSPMD) [→ Section 10] • batch당 256K tokens (all models) • Hyperparameter details
  • 7. • Decoding Strategy • sample-and-rank strategy • 후보 response 추출 (N=16) • top-k (k=40) beam search • temperature = 1 (unmodified distribution) • 각 후보의 log-likelihood와 길이에 따른 score가 가장 높은 response 채택 • Meena에서 제안한 방법과 동일. 다만 Meena에서는 T=0.88, N=20이었음. 3. LaMDA pre-training(3/3) Figure 2: LaMDA pre-training as a language model. 4
  • 8. • Foundation Metrics • Quality • Sensibleness, Specificity, Interestingness (SSI): 각각의 평균 1. sensibleness: 생성 모델의 발화가 문맥상 자연스러운지 (말이 되는지), 이전 대화와 모순되지 않는지 2. specificity: 해당 문맥에서만 말이 되는(specific) 말인지 e.g ) “I love Eurovision” → “Me too”(0) vs “Me too. I love Eurovision songs”(1) 3. interestingness: 상대방의 관심, 궁금증을 유발하는지, 의외성, 위트, 인사이트... E.g.)“야구공 던지는 방법?” → “손으로 공을 잡아서 놓으면 된다."(낮음) vs “공을 잡아서 몸의 반동을 이 용하고, 검지와 중지에 힘을 주어서...” • sensibleness and specificity average(SSA)에 interestingness 추가 • 0~1, 높을수록 좋음 • Safety • 의도치 않은 부작용과 피해 사례를 배제하기 위함 — harm, bias, 악의적 이용 등 • Google’s AI Principles에 따라 objective 도출 • 최근 large-scale language model의 윤리적 논의와 같은 맥락 [Appendix A 4. Metrics(1/2)
  • 9. • Role-Specific Metrics application-specific role에 적합한지에 대한 metrics [→ Section 8] 1. Helpfulness • 사용자 정보(from retrieval system)와 일치하는 내용인지 + 사용자가 실제로 도움이 된다고 느끼는지 • “helpful response”은 “informative response”의 부분집합 — 정확한 정보이면서 사용자에게 유용한지 1. Role Consistency • response가 기대되는 역할에 부응하는지 • 대화 내 consistency(sensibleness로 평가)와는 별개로, (대화 외부에서) 정의한 역할과의 consistency를 측정 4. Metrics(2/2) • Groundness • 현재 언어 모델들은 그럴듯 하지만 사실과 다른 내용을 생성하는 경향이 있음 • 외부 source에 근거한 cross-checking • groundness = 외부 지식에 대한 주장 중 ’알려진' source에 의해 뒷받침되는 주장의 비율 • informativeness = 전체 중 ‘알려진' source에 의해 뒷받침되는 외부 지식을 포함하는 경우의 비율 • citation accuracy = 외부 지식(상식은 제외)을 언급한 발화 중 source의 URL을 인용한 경우의 비율
  • 10. QnA
  • 11. 5. LaMDA fine-tuning and evaluation data(1/2) 1. Quality (품질) : 1. 6400 dialogue 를 직원들에게 lambda 를 와의 대화를 통해 얻어낸다. 2. Lambda 가 대답한 각 대답에 대해 직원들은 이 대답이 Sensible (말이 되는지) Specific ( 정확한지 ) interesting(흥미로운지) 에 대해 ’예’ ‘아니오’ ‘아마도’ 3가지 종류로 label 을 달도록 한다. 3. 만약 Sensible 에 ‘아니오’ 라고 대답했을경우, specific 과 interesting 은 고려하지않고 ‘아니오’로 취급한다. 4. Specific 역시 ‘아니오' 일경우 interesting 의 label 도 자동으로 ‘아니오’ 로 label 된다. 5. 5명중 3명 이상의 직원이 SSI 에 대해 ‘예’ 라고 대답한 답변만, 정상적인 답변이라고 취급 2. Safety (안전성): 1. 여러분야의 배경을 가진 사람들을 통해 Lamda 로 만들어지는 답변에 대한 안정성을 평가 한다. 2. 위험을 불러일으킬수 있는 문장 : 위험한 물건, 마약, 자해, 잘못된 금융 조언, 사기 등 3. 차별적인 발언 : 특정 집단에 대한 혐오, 사람/집단을 인간이 아닌것과 비교, 인종 종교등에 대한 편견 , 장애를 가진사람에대한 차별 위험을 불러일으킬수있는 가짜 정보 : 시간이 지난 법적문서, 논란이있는 의료 / 생물 법, 음모론, 특정 정당에 대한 반대
  • 12. [Safety 계속] -SSI 와 비슷하게 48K 회수의 8K dialogue 를 랜덤한 토픽에 대해 직원들과 lambda 가 대화를 나누고 3가지에 대해 ‘예' , ‘아니오’ , '아마도’ 중 평가를 내리게 함 . 3명중 3명이 ‘예' 라고 답변했을시, 해당답변은 안전하지않다고 평가함 1.문장이 자연스러운 형태인지 2.예민한 주제인지 3.안전성을 위반하는 답변인지 3. Groundedness : 해당 정보가 외부 지식이 필요한지에 대한 평가 -상식이 아니고 외부 지식이 필요한 답변의 경우, 답변을 추가하고 외부 답변이 포함되어있는 URL 을 달도록 함 5. LaMDA fine-tuning and evaluation data(2/2)
  • 13. • Pre-trained 된 Lambda 를 여러번의 finetuning 진행 • “What’s up? RESPONSE not much.” 라는 문장에 <attribute-name > SSI 중 어떤것에 대한 평가인지 태그를 달아주고 그에 대한 점수를 달아줌 • “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 에 대한 평가를 예측할수있도록 fine-tuning 그리고 그중 안전성 threshold 를 넘지 못하는 후보는 제거 - 3 * P(sensible) + P(specific) + P(interesting) 이렇게 점수를 내려서 가장 높은 점수를 가진 모델을 다음단계로 넘어가도록 선택 6. Fine tuning(1/3)
  • 14. • 추가 정보학습에 대한 Fine-tuning • Lamda는 말이되는듯한 답변을 내놓지만 꼭 그게 정확한 사실은 아닐수있음 따라서 외부 믿을만한 정보가 필요한지에 대한 추가 학습이 필요하다. • 방법1 : 학습데이터의 양을 늘림 – 이 방법은 매번 현재 시간 과 같이 매번 업데이트되는 답변에 대해 정확한 답을 해주지않는다. 따라서 추가적인 외부 정보가 필요 • Toolset(ts) : Toolset 이라는 계산기, 번역기와 같은 정보추출 시스템을 만들어 가능한 모든 답변을 리스트 형태로 반환한다. • Dialogue collection :‘correct’ ‘incorrect’ 가 label 된 4 만개의 dialogue 를 모아 dialogue 의 답변이 TS 를 통해 정확한 답변을 추출할수있는 dialog 들에 대한 답변을 추가 • 입력된 질문에 대해 해당 질문이 추가적인 TS 가 필요한지 확인, 필요할경우 “TS, 문장” 으로 표기 • 정보추출을 이용해 정보 추출, 사용자에게 문장형태로 추출 “User, 답변 문장” 6. Fine tuning(2/3)
  • 16. • Foundation을 평가하기 위해선 크게 2가지 fine-tuning으로 나눠서 평가하였다. 1. FT quality-safety 1. PT(프리트레인모델)는 quality와 safety 라벨을 구분하는 discriminator를 학습한다. 2. 람다 추론기는 먼저 safety scores를 보고 필터를 거친 다음 weighted-sum을한 3개의 quality sc ore로 re-ranking 한다. 2. FT groundedness 1. 람다는 External information을 호출하는 정보추출시스템을 이용하여 attributed한 대답을 제공 한다. 2. 이 모델은 safety-quality와 해당 정보 type을 예측하는 걸 jointly learning을 한다. 7. Results on foundation metrics(1/2)
  • 17. 7. Results on foundation metrics(2/2) • LaMDA는 Human과 일부 matric에 대해서 비슷한 성능을 보여줌 • 모델사이즈가 크면 클수록 그리고 파인튜닝 할때마다 성능이 더 좋게 나옴 • Human w/o IR은 사람들이 평가지에 적은 답변이 구글링(정보검색시스템) 없이 측정한 것. • PT는 fine-tuning없는 것. 오로지 GPT 모델 • Lamda는 PT를 포함한 파인튜닝 시스템 포함
  • 18. • 람다는 도메인에 적절하게 답변을 할 수도 있다. 이를 Domain grounding이라 부른다. • 논문에서 2가지 영역에서 실험해보았다. 1. “에베레스트 산”와 같은 유명한 사물을 자기 자신을 의인화하여 교육목적으로 답변해준다. 2. 음악 추천해주는 인공지능으로도 역할을 한다. 이는 추천시스템을 활용하기 위함이다. • 음악추천 • 좋아하는 노래 추천해 달라고 하면 계속 대화를 이끌어가면서 노래 추천을 해준다. 이때 영화”인터 스텔라 봐봤니?”와 같이 다른 정보들도 섞어서 답변해준다. • 교육시스템(에버레스트 예제) • 자기 자신이 에버레트스산이라 하고 자기에 대해서 정확하고 디테일한 정보를 답변해준다. • Domain Grounding을 평가할때에는 2가지 PT 모델을 가지고 600개 답변이 오간 대화목록을 보고 진행하였다. Crowd-worker들은 helpfulness, role-consistent에 기준에 따라서 평가해주었다. 8. Domain grounding(1/3)
  • 20. PT와 람다를 비교해보면 1) PT는 에버레스트가 너무 성급히 “가장 높은 산”이다라고 답변. 하지만 람다는 2900feet라고 자세하게 답변 2) 둘다 Consistency에선 비슷한 점수를 받았다. 이는 람다가 더이상 에버레스트에 대해서 이야기 하지 않는 경우가 있음. 이는 추론시간에 학습데이터 대부분이 다른 제3자로 되돌아가는 걸 예방했었어야했 는데 그러지 못했기 때문. 3) Music recommendation에선 매우 좋은 성능을 보였다. “anything”이라고 모호한 답변을해도 문맥에 따라 음악을 추천해주었다. 8. Domain grounding(3/3)
  • 21. 8. Discussion and limitations 1. Examining bias : Bias가 다양한 방식으로 사용되어 줄이고 싶지만, 찾아내기 쉽지 않음 2. Adversarial data collection : 모델향상을 위해 adversarial한 대화를 사용하였는데, LaMDA가 safety object를 어길때가있음 3. Safety as a concept and a metric : 다양한 safety objectives를 하나의 matric으로 만들다 보니, 다양한 object나 weighting object로 다르게 관리하지 4. Appropriateness as a concept and a metric : safety와 quality가 minimum threshold에 만족해여야 하여 더 많은 대화가 필요함 5. Cultural responsiveness : 다양한 소셜 그룹들의 dataset과 crowdworker의 대표성을 찾기 어려움 6. Impersonation and anthropomorphization : 사람과 같이 자연스러운 대화의 퍼포먼스를 내는것이 어려움
  • 22. 9. Conclusion 1. Fine tuning에 대한 중요성을 확인함 2. Dialog 모델링에서 외부 API를 사용한 information retrieval의 중요성을 확인함 3. pre-training-only (PT) 보다 LaMDA-based applications이 더 helpful 함
  • 23. QnA