no image
[Model Review] Orion-14B: Open-Source Multilingual Large Language Models
오늘은 Orion 중국회사에서 만든 다국어 LLM에 대해 리뷰를 진행해보려고 한다. 첫 모델 리뷰여서 어렵지만 진행해보려고 한다. 논문 링크https://arxiv.org/pdf/2401.12246Introduction이 논문에서는 Orion-14B 모델에 대해 소개를 한다. 이 모델은 약 2.5 trillion (2.5T) token으로 구성되어 있는 다양한 데이터셋으로 훈련되었다. 데이터셋에서는 주요 언어는 영어, 일본어, 한국어가 있으면 나머지 언어들도 섞여있다.  이 모델은 다국어 능력에서 현재 오픈소스로 공개되어 있는 모델 중에서 최고의 성능을 보여주고 있다. 그리고 이 모델을 기반으로 하는 여러 가지 fine-tuned 모델에 대해서도 소개한다.   Data데이터의 품질과 양에 따라 모델의 성..
2024.09.20
no image
[Metric Review] Distinct-n Review
논문링크https://arxiv.org/abs/1510.03055오늘은 NLP 관련해서 Distinct-1/2/3 관련된 Metric에 대해 리뷰하려고 한다. 원래는 논문에서는 이와 관련하여 수식과 관련된 것이 작성되어 있을 줄 알았다. 하지만 Metric에 대한 수식이 아닌 Model에 대한 수식이다. 그래서 논문에 대한 리뷰를 하기에는 매우 옛날 지식이기 때문에 Metric에 대해서만 작성하려고 한다.Distinct-NDistinct-N 이 metric은 모델의 생성된 텍스트가 얼마나 다양하게 생성되는지를 측정하는 metric이다. 근데 정말 수식이 간단하다.Distinct-1유니그램에 대해 조사한다고 생각하면 된다.만약 모델이 생성한 텍스트가 "I love apples. I love oranges...
2024.08.22
no image
[Metric Review] Vector Extrema : Boostrapping Dialog Systems with Word Embeddings Review
논문링크https://www.cs.cmu.edu/~apparikh/nips2014ml-nlp/camera-ready/forgues_etal_mlnlp2014.pdfForgues et al., NeurIPS Workshop 2014IntroductionDialog System에서 두 가지 필수 구성 요소Automatic Speech Recognition(ASR)understand the text’s indent논문이 쓰일 시점을 기준으로 음성인식은 매우 높은 정확도이지만, 언어 이해는 상대적으로 어려운 문제로 남아있다.이 논문에서는 single utterance와 같은 짧은 텍스트의 의도를 식별하는 것을 목표로 하는 Classification Task 목표로 한다.대규모 데이터를 이용해 학습한 모델은 높은..
2024.08.13
no image
[Paper Review] ESCoT: Towards Interpretable Emotional Support Dialogue System Review
논문링크https://arxiv.org/abs/2406.10960 Intoduction Emotional Support(ES)는 care, concern, affection, interests, indiviauls feeling 등을 개념화하는 것이다. Emotional Support Conversation(ESC)는 Seeker에게 좋은 영향을 주는 것이다. 최근 연구되고 있는 ESC와 관련해서 매우 효능이 있는 Service이다. 하지만 이와 관련하여 LLM을 이용한 dialogue는 블랙박스이며, 왜 그러한 반응들을 산출했는지에 대해 알 수 없다. 그래서 ES에 대해서 dialogue등이 나오게 되는 과정을 Chain-of-Thought(CoT)방식으로 작성을 하면, 더욱 좋은 성능을 발휘할 것이라..
2024.07.30
no image
[Paper Review] Building Emotional Support Chatbots in the Era of LLMs (ExTES Dataset) Review
오늘은 ExTensible Emotional Support(ExTES) dialog Dataset에 대해 리뷰해보려고 한다. 이 데이터셋은 ESConv Dataset에 문제점에 대해 파악하고 더 많은 데이터셋과 Strategy와 scenarios를 갖고 있다. 논문 링크https://arxiv.org/pdf/2308.11584  Introduction오늘날에는 Emotinoal Support Converstion은 개인의 well-being을 증가하는데 매우 중요한 역할을 한다. 이러한 대화는 감정을 자유롭게 표현하는 공간을 만들어 개인의 감정을 나누어 더욱 좋은 정신적 건강을 유지할 수 있도록 한다. 이러한 Emotional Support(ES)는 대두되는 중요성에도 불구하고 대규모의 라벨링된 데이터는..
2024.07.26
no image
[Paper Review] BART : Bidirectional and Auto-Regressive Transformers 리뷰
논문 링크https://arxiv.org/abs/1910.13461오늘은 바트에 대래 리뷰해보려고 한다. 나는 졸업작품에서 BART를 사용했다. 하지만 Architecture에 대해 모르고 그저 성능이 좋다고 사용했는데, 이번에 기회가 되어서 리뷰를 했었고 그에 대해 정리를 해서 블로그에 업로드해보려고 한다. 그리고 논문에 내용을 최대한 함축해서 핵심만 설명하려고 한다. IntroductionBART Architecture가 나오기 이전에 유명한 2가지 모델이 BERT(Bidirectional Encoder Representations from Transformer)와 GPT(Generative Pre-Trained Transformer)이었다. 이에 대해 간략하게 소개해본다. BERT자세한 설명은 여기..
2024.07.20
no image
[Metric Review] ROUGE Metric 분석
논문 링크https://aclanthology.org/W04-1013/  ROUGERouge은 Recall-Oriented Understudy for Gisting Evaluation의 약자이다. ROUGE는 사람이 만든 참조 요약과 컴퓨터가 생성한 요약 사이의 일치 정도를 측정한다. 이 논문은 ROUGE가 포함된 네 가지 다른 ROUGE 메트릭, 즉 ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S를 소개합니다. 각 메트릭은 요약의 다른 측면을 평가한다.ROUGE-N: 이 메트릭은 N-gram 기반으로 평가한다. 이는 요약에서 사용된 단어의 연속적인 나열이 참조 요약과 얼마나 일치하는지를 측정하여, 텍스트의 어휘적 정확성을 평가한다. N이 클수록, 문맥적 일관성과 정확성을 더 자세히 분석한..
2024.07.18
no image
[Paper Review] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks(RAG) 리뷰
IntroductionPre-trained Language Model(PLM) 장점상당한 지식 습득외부 메모리 접근 없이 지식 풍부PLM 단점Hallucination메모리의 확장 및 수정 불가능PLM의 단점을 위해 parametric memory + non-parametric memory → Seq2Seq Model을 설계Parametric memory (e.g., Logistic Regression, Linear Regression)Pre-trained seq2seq transformerNon-parametric memory(K-NN, Decision Tree, Random Forest)dense vector index of Wikipedia여기서 Retriever는 Top-K approximation..
2024.07.17
no image
[Paper Review] Efficient Computation of Rankings from Pairwise Comparisons
논문링크 https://jmlr.org/papers/volume24/22-1086/22-1086.pdf 다음 논문은 Bradly-Terry Model을 이용해서 Pairwise comparisons를 통해 여러 Class 간의 순위를 매기는 것을 이용해 우선순위를 최대 우도 추정법을 이용하여 빠르게 수렴시키는 방법에 대한 논문이며, 이에 대해 리뷰하려고 한다. 수식유도에 대해 설명을 하고 증명은 생략한다. Introduction 우리는 각 개인 $ i $에게 수치 점수 $ \pi_i $를 할당하고 $ i $가 $ j $를 이길 확률 $p_{ij}$로 가정하며, 가장 인기 있는 Logistic function을 사용한다(확률로 표현하기 좋은 함수). $p_{ij}$를 다음과 같이 사용한다. 여기서 $\pi..
2024.04.03
no image
[Metric Review] CIDEr Metric 분석
논문링크 https://arxiv.org/pdf/1411.5726.pdf Introduction 논문이 나온 시점에서 이미지에 설명하는 문제에 대해 이미지를 인간과 같은 방식으로 설명을 생성하는 관심이 생기고 있었다. 그 와 관련하여 Automatic evalution으로 Sentence evalution은 아직 어려운 분야였다. 논문 이전의 Automatic evalution matric은 Precision 기반의 BLEU와 Recall 기반의 ROUGE가 있었다. 하지만 이러한 Metric은 Human evalution과 Automatic evalution의 Pearson correlation가 낮다고 표시된다. 이후 METEOR가 나오면서, 더 나은 Correlation을 보여주고 있지만 이미지 설..
2024.04.01
728x90

Orion 회사

오늘은 Orion 중국회사에서 만든 다국어 LLM에 대해 리뷰를 진행해보려고 한다. 첫 모델 리뷰여서 어렵지만 진행해보려고 한다.

 

논문 링크
https://arxiv.org/pdf/2401.12246

Introduction

이 논문에서는 Orion-14B 모델에 대해 소개를 한다. 이 모델은 약 2.5 trillion (2.5T) token으로 구성되어 있는 다양한 데이터셋으로 훈련되었다. 데이터셋에서는 주요 언어는 영어, 일본어, 한국어가 있으면 나머지 언어들도 섞여있다.  이 모델은 다국어 능력에서 현재 오픈소스로 공개되어 있는 모델 중에서 최고의 성능을 보여주고 있다. 그리고 이 모델을 기반으로 하는 여러 가지 fine-tuned 모델에 대해서도 소개한다.  

 

Data

데이터의 품질과 양에 따라 모델의 성능이 좌우되기에 데이터의 품질은 매우 중요하다. 그래서 이와 관련해서 총 3가지 파트로 훈련시킨 데이터에 대해 소개한다.

  • Data Source
  • Data Quality
  • Deduplication

 

Data Source

이전에 연구에서 10B 모델은 205B Token의 데이터를 필요로 했다.(2022) 하지만 이후 연구(2023)에서는 2.5T ~ 3.0T Token의 데이터를 필요로 한다. 이런 연구를 통해 데이터가 많으면 많을수록 좋다는 것이다. 

데이터셋의 언어 구성

  • 영어와 중국어 90%
  • 한국어와 일본어 5% 이상
  • 나머지 언어(스페인어, 프랑스어, 독일어) 약 4%

데이터셋의 언어체 구성

  • 주로 서면 언어로 구성 및 구어 언어는 소수의 비중을 차지

 

데이터셋의 소스 구성

 

 

Data Quality

데이터의 질을 보장하기 위해서 4개의 방식을 사용했다.

  • Text normalization : 웹페이지에서 가져온 데이터는 HTML Tag가 많다. 여기서 Tag를 제거하기 위해 정규식이나 format parser를 사용해서 효과적으로 제거한다.
  • Harmful content removal : 인터넷에 있는 해롭거나 스팸 데이터를 제거했다. 2가지 단계를 통해 제거했다. 하지만 모두 삭제하는 것은 오히려 해로운 데이터에 대해 취약하기 때문에 소수의 데이터만을 남겨두었다.
    • 키워드나 정규식을 사용해 해로운 데이터 찾아내기
    • deep learning-based model을 이용해 해롭다고 판단되면 삭제하기 
  • Personal information removal : 이름, 전화번호 그리고 주소를 삭제하는데 rule-based 방식을 이용해 대체하거나 아얘 삭제했다.
  • Quality filtering : 많은 반복을 포함하는 텍스트에 대해 특정 규칙을 적용해 데이터를 필터링을 한다. 이후 N-gram perplexity model을 이용해 높은 perplexity 높은 텍스트를 제외

 

Deduplication

LLM 훈련 데이터는 여러 곳에서 가져오기 때문에 중복된 데이터를 가져올 확률이 높다. 중복된 데이터는 훈련에 부정적인 영향을 미칠 수 있기에 중복으 제거하는 절차를 개발했다. 절차는 다음과 같다.

  • 각 문에서 핵심 단어와 구를 추출
  • 해당 임베딩 벡터와 SimHash 벡터를 계산
  • DB의 벡터와 비교하여 특정 임계값을 넘는다면 중복으로 간주하여 삭제

또한, 특정 Evaluation Dataset을 가져와 데이터셋에 대해 Overfitting이 진행될 수 있으므로 Evaluation Dataset가 중복된다면 모두 제거해서 Evaluation Datset의 신뢰성을 향상시켰다.

 

Pretraining

Tokenizer

이 모델은 다국어를 사용하기 때문에 여러 언어에서의 word-level 과 subword-level을 필요로 한다. 그래서 여기서 byte-pair encoding (BPE) 알고리즘으로 구현된 SentencePiece를 이용한 Tokenizer를 만들었다. 이 Toeknizer는 99.99% 문자를 다룰 수 있다. 다양한 코퍼스를 구축하고 우리의 훈련 데이터 분포에 맞추기 위해, 우리는 훈련 코퍼스에서 다양한 유형의 텍스트를 선별합니다. 여기에는 영어, 간체 중국어, 번체 중국어, 일본어, 한국어, 몇몇 다른 언어, 그리고 희귀한 문자들이 포함된다. 표 1에서는 우리의 토크나이저와 다른 오픈 소스 토크나이저의 자세한 비교를 제공합니다. 이 비교에는 어휘 사전 크기와 압축 비율(CR)이 포함되며, 후자는 원본 데이터의 크기를 토크나이즈된 데이터의 크기로 나눈 비율로 계산한다.

Toknizer의 Vocab Size가 상당히 많은 것을 알 수 있고 그래서 CR의 수치도 다른 모델에 비해 훨씬 낮다.

 

Architecture

LLaMA2가 우수한 성능을 달성했기 때문에 LLaMA2 Architecture를 준수하며 여러 수정을 거쳤다.

  • 토큰 수 84,608로 확장
  • Feed Forward Network(FFN) dimension 15,360 확장
  • 이외에는 동일

 

Experiments Setup

GPU

8개의 NVIDIA H800 GPU를 장착한 11개의 서버로 구성된 클러스터

Freamwork

FlashAttention2를 Megatron-LM 통합하여 GPU당 초당 4,000-5,000 토큰의 훈련 속도를 달성

Hyper parameter

 

학습률 스케줄링:

  • 워밍업 이터레이션 수: 2,000
  • 최대 학습률(peak learning rate): 3e-4
  • 최종 학습률(final learning rate): 3e-5
  • 학습률 감소 방식: 코사인 스케줄

옵티마이저 설정:

  • 옵티마이저: AdamW
  • β₁: 0.9
  • β₂: 0.95
  • 가중치 감쇠(weight decay) 계수: 0.1
  • 그래디언트 클리핑 임계값: 1.0

훈련 세부사항:

  • 정밀도: BF16/FP32 혼합 정밀도
  • 배치 크기(batch size): 1,408
  • 스텝당 토큰 수: 약 5,700,000

 

Data Scheduling

대형 언어 모델(LLM)을 훈련하기 위해서는 수천억에서 수조 개의 토큰이 필요하며, 연구에 따르면 모델 크기보다 토큰 수의 증가가 성능 향상에 더 큰 영향을 미친다. 우리는 1,400억 개의 파라미터를 가진 Orion-14B 모델을 2.5조 개의 토큰으로 훈련하여 계산 효율성과 비용의 균형을 맞춘다.

특히, 훈련 데이터의 순서를 전략적으로 저절하는 데이터 스케줄링 전략을 도입하여 모델의 성능을 향상시켰다.

단계별 훈련 데이터 구성:

  • 초기 단계 (0 ~ 600억 토큰): 웹 페이지와 뉴스 기사 등 일반 지식을 포함한 데이터 사용. 주요 언어는 영어와 중국어.
  • 중간 단계 (600 ~ 1,100억 토큰): 교과서와 학술 논문 등 복잡한 지식을 포함한 데이터 비율 증가. 언어 다양성을 기타 언어로 확장.
  • 최종 단계 (1,100 ~ 2,000억 토큰): 소스 코드 등 더 복잡한 데이터를 추가하여 지식의 깊이 확대.

언어 다양성의 확대: 훈련 초기에는 영어와 중국어를 중심으로 시작하여 일본어와 한국어 등으로 확장했다.

이러한 접근법의 효과를 검증하기 위해 훈련 과정에서 검증 세트의 손실 변화를 모니터링했다. 그 결과, 훈련 데이터 분포가 변경되는 시점(600억 및 1,100억 토큰)에서 검증 손실이 크게 감소하였으며, 이는 모델이 데이터의 다양성에 적응하고 있음을 나타낸다.

Orion-14B는 특정 데이터 스케줄링 전략으로 훈련된 최초의 LLM입니다. 평가 결과에 따르면, 이 모델은 초기 단계에서 언어 이해 작업에서 인상적인 성능을 보이고, 이후 단계에서 추론 및 학술 작업에서의 능력을 빠르게 향상시켜 우리의 데이터 스케줄링 정책과 일치합니다. 2.5조 개의 토큰으로 훈련된 Orion-14B는 2.6조에서 3조 개의 토큰으로 훈련된 다른 오픈 소스 모델과 비슷한 성능을 달성하여 우리의 데이터 활용 접근법의 효율성을 보여준다.

 

 

Fine-tuning

SFT(Supervised fine-tuning) Data

여기서 2가지 종류의 데이터를 사용한다. 사람이 직접 라벨링한 데이터와 오픈 소스 필터링된 데이터셋 2가지이다.

고품질의 데이터셋을 위해 라벨링 전문가 팀을 구성하여 데이터셋을 생성했다. 데이터셋의 품질 보장을 위해 helpfulness, truthfulness, and harmlessness를 준수하는 총 220,000개의 데이터셋을 생성했다.

사람이 모두 라벨링을 할 수 없으므로 고성능 LLM을 이용해 open-source filtered dataset을 구축했다. 원래  COIG, WildChat, OpenOrca, UltraChat과 같은 데이터셋을 포함하지만, Cleaning Process를 구현했다. 방식은 다음과 같다.

  • Rule-based filtering : 정규표현식을 사용하여 개인정보 및 민감한 데이터를 제거하는 필터링을 수행
  • Quality filtering : LLM을 이용해 품질에 대한 점수를 매기고 7점 이상의 데이터만 유지
  • Semantic deduplication : 텍스트 임베딩을 사용하여 유사도가 0.98 이상 데이터는 중복으로 간주하여 제거

위의 과정을 통해 약 630,000개의 데이터를 구했으며 총 850,000개의 SFT Dataset을 구성하였다.

Training details

LLM을 Fine-tuning하기 위해 Prompt Text 앞에는 <human>을, 응답에는 <assistant>를 헤더로 추가하였다.

Hyper parameter

 

옵티마이저(optimizer): AdamW

  • β₁: 0.9
  • β₂: 0.95
  • ϵ: 1e−8

시퀀스 길이(sequence_length): 4096

배치 크기(batch_size): 128

에포크 수(epochs): 3

총 샘플 수(total_samples): 50만 개 이상

학습률 스케줄링(learning_rate schedule): 초기 1,500 스텝에 걸쳐 최대 1e−5까지 점진적으로 증가

가중치 감쇠(weight_decay): 0.1

드롭아웃 비율(dropout_rate): 0.1

그래디언트 클리핑 임계값(gradient_clipping): 1.0

 

 

Evaluation

5.1 Standard Evaluation

LLM을 효과적으로 평가하기 위해, 우리는 표준 평가 세트를 시험 및 전문 지식과 언어 이해 및 일반 지식으로 분류한다. 비교를 위해 10B ~ 20B 사이의 가장 유명한 LLM을 선택하고 일관성을 보장하기 위해 OpenCompass와 LM-Eval-Harness와 같은 오픈소스에서 비교를 한다.

Professional Knowledge and Reasoning

대부분의 벤치마크에서 뛰어나지만, Gaokao 평가에서는 Qwen-14B에 약간 뒤처다. 이러한 결과는 Orion-14B가 복잡하고 전문적인 작업에 대해 매우 경쟁력 있고 강력한 모델임을 보여준다.

 

Language Understanding and Common Knowledge

HellaSwag, PIQA, WSC 작업에서는 Qwen-14B와 InternLM-20B에 약간 뒤처진다. 전반적으로, 결과는 Orion-14B가 다양한 자연어 이해 벤치마크에서 강력한 능력을 갖추고 있음을 나타낸다.

 

 

OpenCompass 리더보드에서는 평가 세트가 다섯 가지 카테고리로 구성되어 있다. 각 카테고리에 대한 요약된 결과는 Orion-14B는 평균 점수 64.4%로 가장 좋다. 특히, 시험, 언어, 이해, 추론을 포함한 네 가지 카테고리에서 다른 모델들을 능가하여 뛰어난 분석 및 문제 해결 능력을 나타낸다. 이러한 결과는 Orion-14B가 광범위한 인지 및 언어 작업에서 견고한 능력을 보유하고 있음을 시사한다.

 

5.2 Multilingual

훈련은 대부분이 중국어와 영어로 구성되어 있지만, 다국어 성능을 향상시키기 위해 한국어와 일본어도 추가했다. 영어와 중국어에 비해 일본어와 한국어의 양은 매우 적지만, 한국어와 일본어 성능도 매우 우수하며 결국 잘 아는 언어로 부터 지식이 효과적으로 전이되었음을 나타낸다.

일본어 벤치마크 데이터셋에서 좋은 성능을 나타냄 특히 34B 모델보다 대체적으로 좋은 성능을 나타낸다.

 

한국어 데이터셋에서도 좋은 성능을 나타낸다.

특히 34B 모델보다 대체적으로 좋은 성능을 나타낸다.

 

Fine-tuned Model Evaluations

사전 훈련된 기본 모델의 성능을 테스트하기 위해 표준 평가 데이터셋을 활용했다. 하지만 미세 조정된 모델의 성능 평가 방식은 기본 모델과 다르다. 이는 챗 모델이 주어진 프롬프트에 대한 응답을 생성하도록 설계되었다. 이는 특정 과제에 의존할 수 있다.

그래서 Chat 모델을 종합적으로 평가하기 위해 3가지 방식을 사용한다.

  1. standard evaluation sets, similar to those used in the base-model evaluation
  2. subjective datasets based on GPT-4 scoring
  3. human evaluation

 

standard evaluation sets, similar to those used in the base-model evaluation

기본 모델에 비해 CMMLU와 MMLU에서 약간의 성능 저하가 있다. 이는 평가 프롬프트가 챗 모델보다 기본 모델에 더 적합하게 설계되었기 때문일 가능성이기 때문에 주관적인 평가지표와 함꼐 평가를 한다.

 

subjective datasets based on GPT-4 scoring

표 13표 14에 제시된 결과는 주관적 평가에서 Orion-14B-Chat의 성능을 강조한다. MT-Bench 평가에서 Orion-14B-Chat은 다른 모델들을 현저히 능가하여, 첫 번째 턴과 두 번째 턴 평가에서 모두 최고 점수를 기록하며 평균 점수는 7.37에 달했다. Orion-14B-Chat이 중국어 이해, 작문, 역할 수행, 전문 과제에서 특히 뛰어난 성과를 보였습니다. 이러한 결과는 다양한 대화 맥락에서 경쟁력 있는 성능을 입증한다.

human evaluation

 "승리(Win)", "무승부(Tie)", "패배(Loss)"로 평가합니다. 총 14명의 사람이 3,562개의 질문을 평가했다.비교 모델은 Orion-14B-Chat, Qwen-14B-Chat, Baichuan2-13B-Chat이다. 표 15에 나타난 바와 같이, Orion-14B-Chat은 가장 많은 "승리" 표를 받아 인간 평가에서 뛰어난 성과를 입증한다.

 

Extension Work

특정 작업을 해결하기 위해 여러가지 전문화한 모델을 개발하였다. 그 모델들은 다음과 같다.

 

  • Orion-14B-Long: 이 모델은 200,000 토큰 이상의 긴 문맥 길이에 최적화되어 있으며, 긴 문맥 평가 세트에서 독점 모델과 유사한 성능을 보여준다 (Bai et al., 2023b; Dacheng Li and Zhang, 2023).
  • Orion-14B-INT4: 4비트 정수 가중치를 사용하는 양자화된 모델이다. 모델 크기를 70% 줄이고 추론 속도를 30% 증가시키면서도 성능 저하를 단 1%만 발생시킨다.
  • Orion-14B-RAG: 맞춤형 검색 증강 생성 데이터셋으로 미세 조정된 챗 모델로, 검색 증강 생성 작업에서 뛰어난 성능을 달성했다.
  • Orion-14B-PlugIn: 플러그인 및 함수 호출 작업에 특화된 챗 모델로, LLM이 플러그인 및 함수 호출 시스템으로 작동하는 에이전트 관련 시나리오에 이상적이다.

 

728x90
논문링크
https://arxiv.org/abs/1510.03055

오늘은 NLP 관련해서 Distinct-1/2/3 관련된 Metric에 대해 리뷰하려고 한다. 원래는 논문에서는 이와 관련하여 수식과 관련된 것이 작성되어 있을 줄 알았다. 하지만 Metric에 대한 수식이 아닌 Model에 대한 수식이다. 그래서 논문에 대한 리뷰를 하기에는 매우 옛날 지식이기 때문에 Metric에 대해서만 작성하려고 한다.

Distinct-N

Distinct-N 이 metric은 모델의 생성된 텍스트가 얼마나 다양하게 생성되는지를 측정하는 metric이다. 근데 정말 수식이 간단하다.

Distinct-1

유니그램에 대해 조사한다고 생각하면 된다.

만약 모델이 생성한 텍스트가 "I love apples. I love oranges."라고 하자.

  • 분모 : 총 단어 수는 6개이며, 각각은 "I", "love", "apples", "I", "love","oranges"
  • 분자 : 고유한 단어의 수는 4개이며, 각각은 "I", "love", "apples", "oranges"

따라서 Distinct-1 = 4/6 = 0.66

Distinct-2

바이그램에 대해 조사한다고 생각하면 된다.

만약 모델이 생성한 텍스트가 "I love apples. I love oranges."라고 하자.

  • 분모 : 총 바이그램의 수는 5이며, 각각은 "I love", "love apples", "I love", "love oranges"
  • 분자 : 고유한 바이그램은 3개이며, 각각은 "I love", "love apples", "love oranges"

따라서 Distinct-2 = 3/4 = 0.75

 

 

 

728x90
논문링크
https://www.cs.cmu.edu/~apparikh/nips2014ml-nlp/camera-ready/forgues_etal_mlnlp2014.pdf
Forgues et al., NeurIPS Workshop 2014

Introduction

Dialog System에서 두 가지 필수 구성 요소

  1. Automatic Speech Recognition(ASR)
  2. understand the text’s indent

논문이 쓰일 시점을 기준으로 음성인식은 매우 높은 정확도이지만, 언어 이해는 상대적으로 어려운 문제로 남아있다.

이 논문에서는 single utterance와 같은 짧은 텍스트의 의도를 식별하는 것을 목표로 하는 Classification Task 목표로 한다.

대규모 데이터를 이용해 학습한 모델은 높은 Accuracy를 달성할 수 있지만, 데이터의 품질에 따라 달라지며 오래 걸리고 비용이 비쌈. 그래서 논문에서는 매우 적은 학습 데이터를 기반으로 높은 Accuracy를 달성할 수 있는 Task를 고려한다.

Word embeddings

논문이 나온 시점을 기준으로 단어 임베딩을 학습하기 위한 여러 알고리즘이 제안됐다.

  • CBOW
  • Skip-gram

이러한 임베딩은 단어를 벡터로 인코딩하여 유사한 의미를 가진 단어들은 유사한 벡터를 가지도록 한다.

효과적인 표현을 학습하기 위해서는 대량의 데이터가 필요하지만, 해당 데이터가 반드시 도메인 특화되거나 레이블이 지정될 필요는 없기 때문에, 단어 벡터는 텍스트 분류를 Bootstrapping 하는 데 적합한 추가 기능으로 사용될 수 있다.

Sentence-level vectors using extrema

논문에서는 대규모의 레이블이 없는 텍스트에 대해 Pre-trained Vector에 대해 접근할 수 있다고 가정한다. 그런 다음, 가변적인 수의 벡터를 가진 문장을 고정된 길이의 특징 벡터로 인코딩해야 한다.

표준 접근법

  1. Sum
  2. Avg

개선 접근법

  • Weighted Sum

→ 더 복잡한 접근 개선법이 있지만, 일반적으로 많은 데이터와 레이블을 필요로 한다.

단어 임베딩을 유도하는 알고리즘은 다양하며 기본적인 목표는 다음과 같다.

  1. 유사한 Context → Vector Similarity Maximize
  2. 유사하지 않은 Context → Vector Similarity Minimize

벡터는 음수와 양수 값을 모두 가질 수 있으며 특징은 다음과 같다.

  • 자주 쓰이는 일반적인 단어는 전체 어휘와 다르지 않도록 0 벡터로 끌어당기는 효과
  • Context 특화된 단어들은 0에서 멀어지며, 음의 방향이든 양의 방향이든 상관없이 발생

Context 특화 단어들은 의도를 강하게 포함하고 있으므로 문장의 벡터에서 각 차원 $d_i \in D$ 에 대해 최댓값(또는 최솟값)을 취함으로써 이러한 단어들을 강조할 수 있다.

최솟값과 최댓값 중 하나만 선택할 이유가 없으므로 0에서 먼 값을 선택하며 이것을 Vector extrema라고 부르기로 한다.

$$ \text{extrema}(d_i) = \begin {cases} \max d_i & \text{if } \max d_i \geq |\min d_i| \\ \min d_i & \text{otherwise} \end{cases} $$

Combining word counts with embeddings

동의어 검출 및 단어 쌍 간의 의미 유사도 작업에서는 context word counts가 distributed word representation보다 압도적인 성능을 나타다. 여기서는 word embedding을 직접 feature로 사용할 수 있도록 고려했다.

학습데이터가 적을 때, 임베딩 평균이 유용할 것이라고 생각할 수 있다. 그 이유는 학습 중에 본 단어와 보지 못한 테스트 단어를 연관 짓는 근거를 제공한다.

학습데이터가 많을 때, 단어 임베딩 평균화보다 단어 빈도가 유리할 수 있다. 그 이유는 다음과 같다.

  • 단어 빈도 기반 접근법은 각 단어의 출현을 정확하게 반영할 수 있다.
  • 임베딩의 평균화는 각 단어의 존재를 희미하게 만들 수 있으며, 평균화된 벡터는 문장 내 개별 단어의 구체적인 기여를 잘 반영하지 못할 수 있기 때문입니다.

논문에서는 문장 내 단어 $w_1, ...,w_k$를 단어 빈도의 집합과 단어 벡터 $v_1, ..., v_k$에서 얻은 실수 값 특징의 조합으로 표현하여 이 두 특징 세트가 서로 보완될 수 있는지 평가한다.

총 5가지로 비교한다.

$$ \begin{align*} \text{BoW} & : \langle \text{bag of word counts} \rangle \\ \text{Vec(Avg)} & : \left\langle \frac{1}{k} \sum_{i=1}^{k} v_i \right\rangle \\ \text{BoW + Vec(Avg)} & : \left\langle \text{bag of word counts}, \frac{1}{k} \sum_{i=1}^{k} v_i \right\rangle \\ \text{BoW + Vec(W.Avg)} & : \left\langle \text{bag of word counts}, \frac{\sum_{i=1}^{k} idf(w_i) v_i}{\sum_{k=1}^{k} idf(w_i)} \right\rangle \\ \text{BoW + Vec(Ext)} & : \langle \text{bag of word counts}, \text{extrema}(d_i) \forall d_i \in D \rangle \end{align*} $$

Experiments

Datasets

  1. 은행 대화 데이터셋 : 2961개 utterance + 172개의 intent label
  2. 여행 대화 데이터셋 : 2494개 utterance + 62개의 intent label

 

Classifier

Linear SVM

 

Sampling & Training

각 label에 대해 k개의 샘플을 선택하여 훈련시키며, 선택되지 않은 샘플들을 테스트를 진행하였고, 각 k에 대해 200번 진행하였고 각 클래스에서 합리적으로 기대할 수 있는 최소 샘플 수인 k<10에 주목한다.

 

Pre-Trained Vector

word2vec

 

Results

평균 벡터가 처음에는 우세하지만, 이후에 갈수록 바뀌는 현상이 발생하며, 두 가지를 적절히 사용할 때 더 나은 성능을 보여준다.

→ BoW 또는 Vector(Avg) 하나만 사용하는 것보다 두 가지를 사용하는 것이 우수하므로 이후에는 특징을 결합한 결과에 대해서만 소개한다.

Vector Extrema 관련하여 2개의 데이터셋에서 소폭 차이로 높은 Acc를 달성하였다. 그리고 sample의 수가 많아질수록 더 높은 Acc를 달성하였다.

여기서 Vector Extrema의 효과를 알기 위해 극단적인 값을 갖는 벡터에 대해 분석했다.

특정한 맥락에서 발생하는 단어 (e.g., napalm)는 큰 극 값을 가지며, 불용어(e.g., the)는 적은 극 값을 갖는다.

→ Vector Extrema는 단어들에 대해 특정한 맥락에 나타내는 단어들이 더 높은 가중치를 가지게 되며 빈도를 기반으로 하는 가중 평균과는 대조된다.

Conclusion

데이터셋이 많지 않을 때 Extrema를 이용해 모델이 출력한 값과 원래 label과의 semantic cos-sim을 구할 때 이점이 있는 metric으로 생각한다.

데이터셋이 많거나 문장의 길이가 많다면, 벡터의 Extrema가 줄어들기 때문에 좋은 효과를 나타내지 못할 것으로 보인다.

 

'Paper > Metric' 카테고리의 다른 글

[Metric Review] Distinct-n Review  (0) 2024.08.22
[Metric Review] ROUGE Metric 분석  (0) 2024.07.18
[Metric Review] CIDEr Metric 분석  (0) 2024.04.01
[Metric Review] BLEU Metric 분석  (0) 2024.03.31
[Metric review] METEOR Metric 분석  (0) 2024.03.29
728x90
논문링크
https://arxiv.org/abs/2406.10960

 

Intoduction 

Emotional Support(ES)는 care, concern, affection, interests, indiviauls feeling 등을 개념화하는 것이다. Emotional Support Conversation(ESC)는 Seeker에게 좋은 영향을 주는 것이다. 최근 연구되고 있는 ESC와 관련해서 매우 효능이 있는 Service이다. 하지만 이와 관련하여 LLM을 이용한 dialogue는 블랙박스이며, 왜 그러한 반응들을 산출했는지에 대해 알 수 없다. 그래서 ES에 대해서 dialogue등이 나오게 되는 과정을 Chain-of-Thought(CoT)방식으로 작성을 하면, 더욱 좋은 성능을 발휘할 것이라고 생각한다. 과정은 이렇게 시작한다.

  1. seeker의 감정과 상황에 대해 파악한다.
  2. emotion에 대해 이해한다.
  3. 적절한 strategy를 선택하며, 그 이유에 대해 서술한다. 

이러한 방식을 사용하면, 신뢰할 수 있을 것이며, 좋은 대답을 나올것이라 기대하고 있다. 또한, CoT를 사용하는 이유들로는 그전에 ESC 관련 dataset은 CoT방식을 사용하지 않았기 때문이며, 비용이 매우 값비싸기 때문이다. 그래서 LLMs을 이용하여 CoT 과정을 만들도록 한다. 

이 논문을 통한 기여는 다음과 같다.

  1. Emotional support response generation의 해석에 대해 신뢰성을 증가하기 위해 strategy가 선택된 이유에 대해 CoT를 만들었다.
  2. CoT를 포함한 첫번째 데이터셋이다.
  3. 데이터셋을 검증하기 위해 human evaluation을 적용했다.
  4. 첫CoT 데이터셋이므로 이후 연구에 대해 baseline을 제공한다.

 

ESD-COT Dataset Construction

데이터셋 생성과정은 다음과 같다.

  1. ESD Contruction : ES와 관련한 다양한 situation을 생성하고 더 많은 전략을 이용해 dialogue를 생성한다.
  2. ESD-CoT Construction : 먼저 생성한 dialogue에 대해 왜 그러한 전략을 선택했는지 CoT를 생성하고 CoT가 잘 생성되었는지 수동적으로 검증을 한다.( 유효성을 보증하기 위해서)

 

ESD Construction

여기서 situation- and strategy-guided dialogue generation scheme을 제시한다. 이를 통해 a situation-diverse, strategy-rich Emotional Support Dialogue dataset(ESD)를 생성한다. 

처음에 situation과 enrich startegies를 생성하기 위해 기본적으로 ESConv Dataset을 사용한다. 이를 이용해 생성 가이드라인을 만들 수 있다. 

Situation Generation

LLM의 In-context learning method + ESConv Dataset의 다양한 situation을 이용하여 더욱 많은 situation을 생성한다.  

situation 생성 Format

생성 Format은 다음과 같고 여기서 8개는 ESConv Dataset에서 선택을 하고 나머지 8개는 생성하도록 한다. 그럼 어떻게 선택되는 것인가? 약 1,300개의 situation 중에서 임의적으로 8개를 선택한다.이 때, 부적절한 상황이다. 불완전한 문장은 삭제하도록 한다.

이러한 방식을 이용해 2,943개의 new situation을 생성하였다.

 

Strategy Enrichment

ESConv Dataset에서는 8개의 전략이 선택되었다. 이 데이터셋에서는 중요한 전략들도 Other로 포함시켜버렸기 때문에 이 논문에서는 더 많은 전략을 사용하려고 한다. 전략은 3가지 기준에 따라서 추가하도록 했다.

  1. Distinct : 이미 존재하는 전략과 구별되어 뚜렷한가
  2. Understandable : 짧은 설명으로 간결하게 설명하여 이해할 수 있는가
  3. Identifible : 이미 존재하는 전략과 구별이 가능한가

3가지 전략을 이용해 6가지 전략을 추가했다.

  • Summarize : 전체 대화를 요약 (vs Restatement or Paraprasing : 간단히 언급한것에 대해서만 요약)
  • Homework Assignment : 직접적으로 seeker가 무엇을 해야하는지 제시 ( vs Providing Suggestions : 간접적으로 seeker이 하는 것을 제시)
  • Imagery 
  • Specify
  • Take Responsibility
  • Immediacy

 

Dialogue Generation

situation + strategies를 이용하여 Dialouge를 생성하도록 했다. 

Dialogue Generation Format

여기서 3가지 Part로 나뉘게 된다. 

  • Description : task와 therapist의 역할에 대해 소개한다.
  • Reference : Reference Situation, Reference Dialogue : 특정 Situation과 그에 대해 성생된 Dialogue에 대해 예시를 제시한다. 이를통해 ChatGPT가 생성하도록 format을 만든다.
  • Instruction : Target Situation과 Enriched Stratgies에 대해 언급을 하고서, Task에 대해 다시 언급을 하고서 Dialogue를 생성하도록 지시한다.

 

Filtering and Postprocessing

생성된 대화 중에서 불완전한 데이터는 4가지 종류로 나뉜다.

  1. 부적절한 상호작용 dialogues
  2. 빈 발언의 존재
  3. 불충분한 전략 주석
  4. 전략과 발화의 불일치 

이러한 문제를 해결하기 위해서 수작업으로 모드 filtering을 진행하였다.

 

Statistics of ESD

ESD Dataset의 질을 높여서 생성된 결과는 다음과 같다. 

Diversity of Analysis

Situation Diversity에 대해 조사를 하였다. 여기서는 각 상황에 대해 자주 나오는 단어들에 조사를 하였다. 예를 들자면,  건강 문제에 대해서는 PTSD, Depression과 관련된 단어가 많이 나오는 것이다. 이에 대해 조사를 하였고, 다음은 그에 대한 그림이다.

 

 

Strategy Analysis

여기서는 Strategy의 사용 빈도에 조사하였는데, 새롭게 추가된 전략도 매우 자주 사용하는 것을 확인할 수 있다. 

 

ESD-CoT Construction

모델의 해석력 부족은 모델에 대핸 사람의 신뢰에 영향을 미치기에 모델의 해석력을 높이는 것이 중요하다. 그래서 논문에서는 Emotional-focused and Strategy-driven Chain-of-Thought (ESCoT)를 제안한다. 이것은 사람의 상담 과정을 흉내내며, 전략과 그에 따른 응답을 선택하는 과정을 CoT 형식으로 Dataset이 구성되어 있다. CoT를 생성하기 위해서 총 5가지 과정을 이용한다.

Chain Creation

  • Emotion (EM) : seeker의 감정을 파악한다.
  • Emotion Stimulus (ES) : seeker의 감정의 원인에 대해 파악한다.
  • Individual Appraisal (AI) : 과거 경험을 토대로 seeker의 감정 자극 요소에 대해 평가한다.
  • Strategy Reason (SR) : 왜 그러한 전략을 선택했는지 이유에 대해 파악한다.
  • Response (RE) : 진행되고 있는 대화에 대해서 반응을 생성한다.

CoT 생성 Format

Manual Correction

데이터를 생성하고서 오류에 대해 파악을 하고 filtering을 진행했다. 생성된 데이터셋은 4가지로 오류가 있었다. 

  • 특정 예시 부족
  • 명확하지 않은 감정 표현
  • 사람에 대핸 장황한 평가
  • 전략과 반응의 불일치

이러한 오류에 대해 이상한 데이터는 제거하여서 총 1,708개의 CoT를 얻었다. 

Statistic of ESD-CoT

생성된 데이터셋에 대한 통계를 설명한다. 첫번째로는 발 화의 길이이다.

여기서 나타나는 특징은 다음과 같다.

  • EM은 감정에 대해 정의하므로 길이가 짧다.
  • IA는 ES보다 약 2배 정도 길다. 그 이유는 ES 내용에 대해 더욱 세세하게 서술한 것이 IA이다.
  • SR은 전략에 대해 추론한 과정을 설명하기에 매우 길다.

결과적으로 CoT가 모델의 해석력을 뒷받침해준다.

전략 선택에 대한 분포는 다음과 같은데 각 전략에 대해 최소 100개씩 포함되도록 하여 퍼져있지만, 특히 Affirmation and Reassurance(AR)와 Probiding Suggestions(PS)가 가장 많이 분포해있다. 

빈도에 대해 파악을 했는데 각 Figure에 대해 설명한다.

  • Emotion : seeker의 감정으로 overwhelmed, uncertain, stressed가 많이 분포하고 있다.
  • Emotional Stimulus :  job, life, partner 관련 단어가 가장 많이 포함하고 있어 타케팅된 도움을 제공할 수 있다.
  • Individual appraisal : unsure, lack이 자주 나타나는 것으로 자신의 상황과 관련해 job, life, partner과 관계에 대해 어려움을 겪고 있는 것을 알 수 있다.
  • Strategy Reason : provide, support, acknowledge가 많이 나타나는 것을 통해 supporter가 전략을 선택할 때, 무엇을 최우선으로 생각하는지에 대해 알 수 있다.

이러한 제안은 ES를 통해 seeker의 불안감을 완화하고 감정을 이해하도록 한다. 

 

Experiments

실험 데이터셋은 train, valid, test를 각각 7:1:2 비율로 나누어서 진행하였다. 모델로는 3가지를 이용했다.

  • BlenderBot
  • DialoGPT
  • LLAMA2-Chat

Pre-trained Model을 이용하여 진행했다.

 Metric

여기서 autmatic metirc(BLEU-n, ROUGE-L, Distinc-n)과 human eval(Coherence, Informativeness, Empathy, Accuracy) 2가지로 평가하였다.

Table 5은 실험결과이며 여기서 알 수 있는 것은 다음과 같다. LLaMA 2가 가장 좋은 성능을 나타내며, Parameter수가 증가할수록 좋은 성능을 나타낸다.

위의 성능을 바탕으로 LLaMA2를 이용해 실험을 진행했다.

Table 6을 통해 알 수 있는 실험결과는 다음과 같다. 


B-n, R-L에서는 RE를 제외하고 나머지를 제거한 것이 좋은 성능을 나타냈는데 이것은 RE를 바탕으로 답변을 하다보니 다양한 답변을 하기보다는 제한된 답변을 한다( ES에서는 좋은 것이 아님)

그리고 모든 것을 포함하고 있는 모델(row 1)에서는 D-1, D-2 그리고 Human Evaluation에서 가장 좋은 성능을 타나냈다.  이것은 CoT 역할이 매우 좋고 중요하다는 것을 알 수 있다. 

 

Conclusion

이 데이터셋이 매우 괜찮다고 생각하는 이유는 이전에 모델은 그저 전략 선택했을 뿐, 전략을 왜 선택하는지에 대해서는 언급이 없었다. 단지 데이터셋을 만들고 증강하는 기법에 대해서만 소개했다. 하지만 이 논문에서 아쉬운 점은 데이터셋을 구성할 때, 좀 더 체계적으로 했으면 좋겠다. 단어의 분포를 나타내는 것이나 데이터셋 평가에 대해서도 이전에서 나오는 논문 Figure가 아니어서 많이 낯설게 느껴졌다. 아직 Accepted 논문이 아니므로 수정되거나 발전될 것이라고 생각한다.

728x90

오늘은 ExTensible Emotional Support(ExTES) dialog Dataset에 대해 리뷰해보려고 한다. 이 데이터셋은 ESConv Dataset에 문제점에 대해 파악하고 더 많은 데이터셋과 Strategy와 scenarios를 갖고 있다. 

논문 링크
https://arxiv.org/pdf/2308.11584

 

 

Introduction

오늘날에는 Emotinoal Support Converstion은 개인의 well-being을 증가하는데 매우 중요한 역할을 한다. 이러한 대화는 감정을 자유롭게 표현하는 공간을 만들어 개인의 감정을 나누어 더욱 좋은 정신적 건강을 유지할 수 있도록 한다. 이러한 Emotional Support(ES)는 대두되는 중요성에도 불구하고 대규모의 라벨링된 데이터는 매우 적다. 이와 관련한 데이터로는 twitter, Reddit 그리고 Online Support Group 등이 있다. 하지만 이러한 데이터셋은 단일 턴 상호작용 시나리오이다. 하지만 ESConv Dataset은 대화는 다중 턴 대화를 강조한다. 하지만 데이터셋의 규모는 매우 작고 전략과 시나리오의 다양성이 매우 부족하다.

최근 GPT3과 같이 sep2sep 기반 Large Language Model(LLM)은 Natural Language Processing(NLP)에서 매우 뛰어난 텍스트 생성 능력을 보여주고 있다. 이러한 생성 능력을 이용해 데이터 부족 문제와 ES 중심의 정교한 LLM을 만든다. 만든 LLM을 이용해 ExTensible Emotional Support(ExTES) Dataset을 만들려고 한다. 이러한 데이터 셋을 분석하여 얻은 결론은 다음과 같다.

  1. Dataset인 ExTES 공개하면 LLM을 이용하여 확장 가능하므로 더욱 다양한 데이터셋을 얻을 것이다.
  2. ES System에 더욱 발전을 기여할 것이다.

 

 

 Dataset Collection


여기에서는 ChatGPT를 이용한 데이터셋 수집 과정에 대해 소개한다. multi-turn emotional support chat corpus를 만드는 과정은 2가지로 나뉜다.

  1. 기존의 Dataset + online platform exemplar diaogues를 이용해 다양한 emotional support scenarios와 response strategies 등을 포함하여 차원이 다른 풍부함과 관련성을 강조한다.
  2. 기존 예시들과 ChatGPT를 이용하여 다양한 Dialog를 생성하며, 모두 검사한다. 정제된 대화들은 반복되는 방식들을 이용해 다양한 예시들을 추가한다.

이러한 방식을 통해 사람의 노동이 줄고 데이터셋 무결성과 효율적이게 된다.

 

Comprehensive Scope and Strategies

Emotional support conversations의 다양함을 보장하기 위해 포괄적인 시나리오와 반응 전략이 포함되어야 한다. 이전의 emotional support reseach의 insight와 심리적 상담을 이용한 문헌들을 이용해 다양한 시나리들을 생성했다.

논문의 저자가 디자인한 format을 기준으로 Seed Dialogue를 주고서 Dataset을 생성하도록 시켰다. 그리고 user, AI가 각각의 입장에서 대답을 생성하도록 하였으며, AI는 각 전략 중에서 맞는 전략을 tag 하도록 하였다. 생성하면서 각각 대화에 대해 평가를 매기도록 하였다. 87개의 seed dialogue를 통해 1k개의 dialogue를 얻었고, seed dialogues를 바꾸면 또 1k 개의 dialog를 얻어서 seed dialogue만 있다면 데이터셋 확장을 할 수 있다.

 

36개의 시나리오와 16개의 전략

ESConv의 5개의 시나리와는 달리 여기의 데이터셋에는 총 36개의 시나리오를 포함하고 있다. 또한 ESConv의 8개의 전략과는 달리 여기는 16개의 전략을 포함하고 있다.

시나리오와 전략에 대한 자세한 설명은 하단의 부록에 적어놓았다.

 

Dataset Characteristics and Quality

여기에서는 데이터셋에 대한 전반적인 통계에 대한 설명이다.

ExTES 데이터셋은 ESConv 데이터셋과 다른 점은 표와 나타나 있다.

  • 더 많은 Dialoges
  • 더 많은 Strategies
  • 더 많은 scenarios

데이터셋에서 전략의 변화 중 가장 많이 나타난 것에 대한 통계이다. 대체적으로 EV -> RS가 가장 많았다.

데이터셋에서 Dialogue에 대해 4분할을 하여 전략의 분포를 파악했으며, 처음에는 EV와 RS가 많은 반면에, 후반으로 갈수록 SI와 Aff가 많아지는 것을 파악할 수 있다.

데이터셋의 퀄리티에 대해서도 5가지 기준을 통해 평가했다. 여기서 Crowd-sources는 seed dataset이며, ExTES는 생성된 데이터셋이다. 

  • Informativeness : 도움을 원하는 개인의 감정적 고통을 정교하게 설명하는가
  • Understanding : 개인의 감정과 기분을 잘 알고 있는 정도
  • Helpfulness : 감정적 불편함을 잘 완화하는가
  • Consitency : 역할에 대해 모순적인 말 없이 일관되게 잘 말하는가
  • Coherence : 대화가 집중적이고 깊이 있게 유지되는 경우와 주제 간 변환이 원활한가

5가지 기준을 바탕으로 진행했을 때, 크게 차이가 없는 것을 알 수 있다.

 

Experiments

여기서는 실험을 진행하면서 데이터셋에 맞는 훈련기법에 대해 탐구하였다. 총 3가지 방식을 이용한 모델을 사용했다.

  1. DialoGPT Fine Tuning
  2. LLaMA Adapter-Tunning
  3. LLaMA LoRA-Tunning

3가지 모델을 총 3가지 방향으로 탐구를 진행하였다.

  1. Q1. 어떤 Fine-Tuning 기술이 Emotional Supprot chatbot을 만드는데 가장 효과적인가
  2. Q2. 새로운 데이터셋은 여러 기준에 대해 충분히 상향되었는가
  3. Q3. 자동평가와 인간평가가 얼마나 상호보완적인가

 

Q1. Experiemnts on ExTES

여러가지 지표를 이용하여 평가를 진행하였음

Metrics

  • BLEU-2/4
  • METEOR
  • ROUGE-L
  • Vector Extrema
  • Distinct-1/2/3

여기서 모델은 전략을 사용해 답변하는 것과 전략을 사용하지 않고 답변하는 방식으로 훈련을 진행하였고 총 6가지 방식을 평가한다.

실험을 통해 얻은 결과는 3가지다.

  1. LoRA, Adapter-Tuning이 DialoGPT보다 모든 metric에서 좋은 성능을 나타낸다.
  2. LoRA가 Adapter보다 근소하게 나마 좋은 성능을 나타내고 있다.
  3. 전략을 사용한 것이 전략을 사용하지 않은 것보다 좋다.

R-L과 D-1/2/3에서는 그렇지 않은데 이유는 전략을 통해서 답변이 한정되게 하기 때문에 저러한 결과가 출력된 것이다.

 

Q2. Cross-dataset Experiments

LLaMA LoRa-Tuning 방식을 이용한 모델

  • ESConv Dataset을 이용해 Tuning한 모델
  • ExTES Dataset을 이용해 Tuning한 모델

평가는 ESConv, ExTES Dataset 각각 Cross 해서 평가하였음

결론적으로 ESConv로 Tuning한 모델이 더 낮은 성능을 나타내었음. 그 이유는 다음과 같다.

  1. ESConv Dataset은 시나리오가 적다.
  2. ESConv Dataset은 데이터가 적다.

 

Q3. Human Evaluation

다른 전공의 50명의 학생들을 고용해서 각 학생마다 100번의 conversation을 진행하도록 하였음.

평가 기준은 다음과 같다.

  • Fluency : 조리있고 쉽게 이해할 수 있도록 대답했는가
  • Identification : 당신의 상황에 대해 더 깊게 탐구하고 문제를 효과적으로 이해하는가
  • Comfoting : 편안함과 도움을 능수능란하게 주는가
  • Suggestion : 당신의 문제에 대해 해결을 위해 제안을 하는가
  • Overall : 전체적으로 얼마나 괜찮은가

결과는 다음과 같다.

  1. LoRA-Tuning LLaMA with ExTES 이 모델이 가장 효과적으로 응답을 잘하였음.
  2. strategies version이 suggestion에서 조금 더 우수한 성능을 나타냈다.

 

Conclusion

이 논문은 LLM을 이용해 데이터셋을 생성하는 것을 보여주었으며, 여러 Seed Dataset이 있다면 확장시켜서 더욱 많은 데이터셋을 만들 수 있다고 한다.

많이 만든 데이터셋은 더욱 ES System 발전에 기여할 것이라고 한다.

 

Appendix(부록)

Definition of Strategies

여기서는 전략에 관해 설명하려고 한다.

Reflective Statements (RS) : User의 기분에 대해 반복해서 확인하는 것

Clarification (Cla) : User가 왜 그런 기분을 느꼈는지 확인하는 것

Emotional Validation (EV) : User의 감정을 확인하는 것

Empathetic Statements (ES)  : User가 감정을 느끼게된 이유와 함께 공감하기

Affirmation (Aff) : 할 수 있다고 단언하기

Offer Hope (OH) : 희망을 주는 것 

Avoid Judgement and Criticism (AJC) : 선택이나 경험에 대해 부정적 감정을 느낄 때, 복돋우기

Suggest Options (SO) : 해결책을 제시하기

Collaborative Planning (CP) : 혼자서 해결하는 것보다 다른 사람과 협력하도록 하기

Provide Different Perspectives (PDP) : 다른 관점에서 보도록 제시

Reframe Negative Thoughts (RNT) : 부정적 생각에 대해서 좋은 것을 보도록 변환하기

Share Information (SI) : 경험 공유하기

Normalize Experiences (NE) : 부정적인 감정이나 그러한 것에 대해 일반적이라고 말하기

Promote Self-Care Practices (PSP) : 자신을 돌보도록 하기

Stress Management (SM) : 스트레스 관리와 관련된 정보 제공

Others (Oth) : 인사하는 것과 위에서 언급되지 않은 전략

Example of Scenarios

너무 많아서 생략

 

 

728x90

바트 심슨

 

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

오늘은 바트에 대래 리뷰해보려고 한다. 나는 졸업작품에서 BART를 사용했다. 하지만 Architecture에 대해 모르고 그저 성능이 좋다고 사용했는데, 이번에 기회가 되어서 리뷰를 했었고 그에 대해 정리를 해서 블로그에 업로드해보려고 한다. 그리고 논문에 내용을 최대한 함축해서 핵심만 설명하려고 한다. 

Introduction

BART Architecture가 나오기 이전에 유명한 2가지 모델이 BERT(Bidirectional Encoder Representations from Transformer)와 GPT(Generative Pre-Trained Transformer)이었다. 이에 대해 간략하게 소개해본다.

 BERT

자세한 설명은 여기를 참고하기 바란다. 

BERT Architecture

특징은 다음과 같다.

  • Transformer의 Encoder 부분만 이용
  • 양방향으로 Pre-Training하도록 2가지 기법을 사용
    • MLM(Masked Language Model) : Token을 임의적으로 Masking 하여 Mask 토큰 예측
    • NSP(Next Sentence Prediction) : 2개의 문장이 다음 문장이 맞는지 다른지 예측
  • Classification 관련 Task에 SOTA를 달성했음
  • Generation Task를 수행할 수 없음(Encoder만 있는 Architecture의 한계)

 

GPT

Transformer의 Decoder 부분

특징은 BERT와 반대라고 생각하면 된다.

  • Transformer의 Decoder 부분만 이용
  • 단방향으로 Pre-training하도록 기법을 사용
    • Auto-Regressive : 입력과 출력이 동일하게 예측하도록 함
  • Classification Task 보단, Generation Task(Summarization)에 특화

 

About BART

BART(Bidirectional and Auto-Regressive Transformers)는 BERT와 GPT를 합친 Seq-2-Seq Architecture이다. BART가 다른 모델과 다른 특징으로는 다음과 같다.

  • Seq-to-Seq Architecture : Sequence 입력 시 Sequence 출력
  • Denoising AutoEncoder : 입력에 Noise를 추가해서 Encoder에 입력하고 노이즈를 제거하여 Decoder가 출력
  • BERT와 다르게 Encoder의 Final Hidden Layer에 FFNN(Feed Forward Neural Network)가 존재하지 않음
  • BERT보다 10% 많은 Parameter의 수

BERT와 GPT와 다른게 크게 4가지 특징이 BART의 핵심이라고 볼 수 있다. 다음은 BART의 Pre-training 기법과 Fine-tuning 기법에 대해 살펴보겠다.

BART Pre-training

Pre-training 기법은 5가지가 있다.

5가지 기법

원래 Text : ABC. DE.    

Mask 토큰은 언더바('_')로 표기한다.

Token Masking

BERT의 Pre-training 방식과 동일하다. 특정 Token을 Mask 토큰으로 대체해서 Mask Token을 맞추는 방식이다.

예시 : ABC.DC. → A_C. _E.

Token Deletion

특정 Token을 삭제하는 방식이다. 삭제한 Token을 맞추면서 훈련을 하는 방식이다.

예시 : A.C.E.

Token Infilling

Token Masking과 비슷하지만 다른 점이 있다. 일단 포아송 분포에 따른 난수를 정한다. 여기서 나온 수를 Span 범위로 정한 뒤, Masking 하는 방식이다. 만약 난수가 0인 경우는 <Mask> Token을 추가하는 방식이다.

예시 : Span이 각각 2와 0이라고 하면, BC를 _로 대체하며, D와 E 사이 <MASK> 토큰을 추가한다. → A_.D_E.

Sentence Permutation

말 그대로 문장을 회전하는 방식이다. 일단, 문장을 정하는 기준은 온점('.')을 기준으로 정한다. 그리고 문장을 임의로 섞는다.

예시 : ABC. 문장과 DE. 문장을 온점으로 나눈 뒤 섞으면 → DE.ABC. 이러한 방식으로 나온다.

Document Rotation

문서를 특정한 위치를 기준으로 회전시키는 방식이다. 

예시 : B와 C 사이를 기준으로 문서를 회전시킨 것이다.

 

BART Fine-tuning

방식은 총 4가지가 있다.

Sequence Classification Tasks

방식은 그림과 같으며 문장이 주어졌을 때, 문장의 문법이 합당했는지 아니면 문장의 감정을 분류하는 것이 있다. Decoder Final Hiddne Layer가 multi-class Linear Classifier에 입력으로 넣어서 분류하도록 한다. 그 이유는 Encoder, Decoder의 모든 정보를 참조하도록 하기 위함이다.

Encoder, Decoder 입력: 동일

Token Classification Tasks

방식은 그림과 같으며, Decoder Final Hidden State를 참고하는 것이다. Sequence Classification Task와 다른 것은 Token 단위로 Classification을 수행한다는 것이다. 예시로는 NER(Named Entity Recognition)등이 있다. 

Encoder, Decoder 입력: 동일

Sequence Generation Tasks

방식은 위의 그림이며, 노이즈가 추가되어 있는 입력을 복원하는 방식이다.

Encoder입력 : 노이즈 추가된 Text, Decoder 입력: 노이즈 제거된 Text 

Machine Translation

Encoder의 Embedding Layer만 매개변수가 초기화되어있는 Encoder로 교체 후 학습을 진행한다. 그 이유에 대해는 다음과 같다. Embedding Layer를 제외하고는 언어에 대해 이해를 하고 있다. 그래서 다른 Layer는 교체하지 않으며 Embedding Layer만 교체하는 이유는 특정 다른 언어와 영어를 매핑하기 위함이다. 한국어로 예시를 들어보자.

예시 : '나는 학생이다' 문장을 'I am student' 문장으로 매핑하기 위함이다. '나는' 이 단어와 'I'라는 단어 매핑, '학생'이란 단어를 'student'단어에 매핑하기 위함이다.

이러한 이유로 Embdding Layer를 교체한 뒤, self-attention input projection matrix를 학습시키는 데 이것도 특정 언어에 대해 이해를 시키기 위해 학습시킨다. 

2가지 과정을 거치면 특정언어(예시 : 한국어)가 영어로 단어별로 매핑이 되었으며, 그래서 적은 수의 반복으로 End-to-End로 학습시킨다.

 

Comparing Pre-training Objectives

여기에서는 noising 기법에 대해 알기 위해 여러 Architecture 간 비교를 진행한다. Architecture에 대해 간단하게 소개한다.

Model

  • Language Model GPT와 유사한, Transformer의 Decoder 구조
  • Permuted Language Model : XLnet구조와 매우 유사
  • Masked Language Model : BERT구조와 매우 유사
  • Multitask Masked Language Model : UniLM기반, Mask Token 예측 및 NER 동시에 예측하는 방식으로 훈련한 모델
  • Masked Seq-to-Seq : 입력에서 Span Masking 후 Mask 토큰 예측

 

Task

  1. SQuAD : Wikipedia 기반 extractive question answering task
  2. MNLI : 한 문장이 다른 문장을 함축하는지에 대한 task
  3. ELI5 : 긴 형식의 extractive question answering task
  4. XSUM : 뉴스 요약 task
  5. ConvAI2 : 대화의 답변에 대한 task
  6. CNN/DM : 뉴스 요약 task
  7.  

Results

결과는 몇 가지로 나온다.

Token masking은 필수적이다. 문서를 회전시키거나 문장을 순열하는 데 기반한 사전 학습 목표는 단독으로는 성능이 좋지 않으며, 좋은 방법은 token deletion, masking 그리고 self-attention mask를 사용한다.

Left-to-Right 방식의 Training은 성능이 좋다. Masked Language Model, Permuted Language Model은 Generation Task에서 성능이 떨어지기 대문이다.

양방향 Encoder는 SQuAD Task에서 필수적이다. 그 이유로는 미래의 Context도 중요하기 때문이다.

BART가 다른 모델과 달리 일관된 좋은 성능을 달성한다. 

 

Large-scale Pre-training Experiments

GPT 논문에서는 대규모의 Corpus를 사용하여 훈련을 하는 경우, 데이터가 많을수록 성능이 향상되는 것이 밝혀졌으며, 대용량의 데이터로 Training을 하고서 다른 모델과 비교를 진행한다.

Training Info

  • Dataset : 160GB 크기의 뉴스, 책, 이야기, 웹 텍스트
  • Batch size : 8,000
  • Step : 5e6
  • Dropout : 10%를 적용하며, 마지막 10%의 training step에서 dropout 적용 X

Results

Classification Task

다음은 Classification Task와 관련된 지표이다. 각 Task별로 SOTA(State-of-the-art)를 달성하는 것은 RoBERTa와 BART가 번갈아가며 성능을 달성하는 것을 통해 그게 성능이 차이는 없는 것을 알 수 있다.

Generation Task

다음은 Generation Task와 관련된 지표이다. 여기서는 BART가 모두 SOTA를 달성한 것을 볼 수 있다. 그 이유로는 BART의 Encoder의 경우 다른 모델보다 정보를 더욱 잘 갖고 있으며 다른 훈련이 Decoder의 성능을 다른 모델보다 이해를 잘하고 있는 것이다. 

 

Conclusion

논문에서 나온 결론이 아닌 내 결론은 이렇다. Classification과 같은 종류의 Task들은 BERT류를 사용할 것 같다. 아무래도 성능은 크게 차이 나지 않으며 Parameter의 수는 10% 정도 적으니 굳이 BART를 사용하지 않을 것 같다. 대신 Generation Task에서는 BART류를 무조건 사용할 것 같다.

728x90


논문 링크

https://aclanthology.org/W04-1013/

 

 

ROUGE

Rouge은 Recall-Oriented Understudy for Gisting Evaluation의 약자이다. ROUGE는 사람이 만든 참조 요약과 컴퓨터가 생성한 요약 사이의 일치 정도를 측정한다. 이 논문은 ROUGE가 포함된 네 가지 다른 ROUGE 메트릭, 즉 ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S를 소개합니다. 각 메트릭은 요약의 다른 측면을 평가한다.

  • ROUGE-N: 이 메트릭은 N-gram 기반으로 평가한다. 이는 요약에서 사용된 단어의 연속적인 나열이 참조 요약과 얼마나 일치하는지를 측정하여, 텍스트의 어휘적 정확성을 평가한다. N이 클수록, 문맥적 일관성과 정확성을 더 자세히 분석한다.
  • ROUGE-L: 가장 긴 공통 부분 문자열(LCS)을 기반으로 하여, 요약문과 참조 요약문 사이에 나타나는 최장 공통 부분문을 찾아냄으로써 요약의 문장 구조적 유사성을 평가한다. 
  • ROUGE-W: 가중치가 있는 가장 긴 공통 부분 문자열을 사용한다. 이는 LCS의 기본 아이디어에 가중치를 추가하여, 더 긴 일치하는 구문을 더 높게 평가함으로써 요약의 문맥적 심도와 정보의 중요성을 평가한다.
  • ROUGE-S: ‘skip-bigram’을 사용하여, 요약 내 단어들 사이의 임의의 간격에도 불구하고 겹치는 단어 쌍을 찾아내어 요약의 유연성과 단어 간 관계를 평가한다. 이 메트릭은 요약이 원문의 중요한 개념들을 얼마나 포괄적으로 포함하고 있는지를 측정한다.

 

Formula

 

ROUGE-N

여기서 $ Count_{match}(gram_n)$은 생성된 요약과 참조 요약에서 발견된 겹치는 n-gram의 수이며, $Count(gram_n)$은 참조 요약에서 n-gram의 수이다.

 

$$\text{ROUGE-N} = \frac{\sum_{s \in \{ \text{참조 요약} \}} \sum_{gram_n \in s} \text{Count}_{\text{match}}(gram_n)}{\sum_{s \in \{ \text{참조 요약} \}} \sum_{gram_n \in s} \text{Count}(gram_n)}$$

예시 1: (ROUGE-1 사용)

  • 참조 요약: "그녀는 학교에 간다."
  • 생성된 요약: "그녀는 집에 간다."
  • 일치하는 unigram: "그녀는", "간다"
  • 계산: $\frac{2}{3} ≈  0.67$ (3개 중 2개 일치)

예시 2: (ROUGE-2 사용)

  • 참조 요약: "고양이는 소파에서 잔다."
  • 생성된 요약: "고양이는 소파에서 놀고 있다."
  • 일치하는 bigram: "고양이는 소파에서"
  • 계산: $\frac{1}{2} = 0.5$(2개 중 1개 일치)

 

ROUGE-L

$$\text{ROUGE-L} = \frac{\text{LCS}(X, Y)}{\max(\text{len}(X), \text{len}(Y))}$$

 

예시 1:

  • 참조 요약: "그는 그녀에게 책을 준다."
  • 생성된 요약: "그는 책을 그녀에게 준다."
  • LCS 길이: 4 (단어 순서 다름)
  • 계산: $\frac{4}{5} = 0.8$

예시 2:

  • 참조 요약: "아침에 커피를 마신다."
  • 생성된 요약: "커피를 마신다."
  • LCS 길이: 2
  • 계산:$\frac{2}{3} ≈ 0.67 $

 

ROUGE-W

$$\text{ROUGE-W} = \frac{\text{WLCS}(X, Y)}{\max(\text{len}(X), \text{len}(Y))}$$

 

예시 1:

  • 참조 요약: "아침에 커피를 마시고 신문을 읽는다."
  • 생성된 요약: "아침에 커피를 마시고 뉴스를 본다."
  • WLCS 계산은 LCS에 가중치를 추가해야 하지만 간단히 LCS를 사용하고 장문 일치에 더 큰 가중치 부여
  • 계산: 긴 일치 부분, 추정 가중치 추가 후 계산 필요

예시 2:

  • 참조 요약: "그는 아침 조깅을 한 후에 샤워를 했다."
  • 생성된 요약: "그는 샤워를 한 후에 조깅을 했다."
  • WLCS: 가중치가 있는 LCS 계산, 여기서도 실제 가중치 계산을 위해서는 추가 데이터 필요

ROUGE-S

$$\text{ROUGE-S} = \frac{\sum_{\text{skip-bigram} \in \{ \text{참조 요약} \}} \text{Count}_{\text{match}}(\text{skip-bigram})}{\sum_{\text{skip-bigram} \in \{ \text{참조 요약} \}} \text{Count}(\text{skip-bigram})}$$

 

예시 1:

  • 참조 요약: "그녀는 시장에서 과일을 샀다."
  • 생성된 요약: "그녀는 과일을 시장에서 구입했다."
  • 일치하는 skip-bigram: "그녀는-과일을", "과일을-시장에서", "그녀는-시장에서"
  • 계산: $\frac{3}{3} = 1.0$

예시 2:

  • 참조 요약: "아침에 커피를 마시고 신문을 읽는다."
  • 생성된 요약: "신문을 읽으며 커피를 마신다."
  • 일치하는 skip-bigram: "커피를-신문을", "아침에-커피를"
  • 계산: $\frac{2}{4} = 0.5 $

 

이 예시를 통해 도움이 되시기를 바랍니다. 감사합니다

 

728x90

Introduction

Pre-trained Language Model(PLM) 장점

  • 상당한 지식 습득
  • 외부 메모리 접근 없이 지식 풍부

PLM 단점

  • Hallucination
  • 메모리의 확장 및 수정 불가능

PLM의 단점을 위해 parametric memory + non-parametric memory → Seq2Seq Model을 설계

  • Parametric memory (e.g., Logistic Regression, Linear Regression)
    • Pre-trained seq2seq transformer
  • Non-parametric memory(K-NN, Decision Tree, Random Forest)
    • dense vector index of Wikipedia

여기서 Retriever는 Top-K approximation 방법을 사용해 문서를 검색한다.

 

 

Methods

 

Model

  • $x$ : Input sequence
  • $y$ : target sequence
  • $z$ : text document

RAG Model : $x$를 사용하여 $z$를 검색하고, 시퀀스 $y$를 생성할 때 사용하는 RAG 모델에 대한 탐구하며 모델은 두 가지 구성 요소를 활용

  1. $x$에 대해 텍스트(Top-K)의 분포를 반환하는 매개변수 $η$를 가진 검색기 $p_η(z|x)$
  2. 원래 입력 $x$와 검색된 구절 $z$, 이전 $i-1$ 토큰 $y_{1:i−1}$의 컨텍스트를 기반으로 현재 토큰을 생성하는 매개변수 $θ$로 매개화된 생성기 $p_θ(y_i|x, z, y_{1:i−1})$

Generator와 Retriever을 훈련(end-to-end)하기 위해 검색된 문서를 잠재 변수 취급하며, 생성된 텍스트에 대해 평가하기 위해 검색된 문서들을 두 가지 방식으로 사용하는 모델을 제안

RAG-Sequence Model

검색된 동일한 문서를 이용하여 전체 Sequence 생성. 검색된 문서를 단일 변수로 취급하고 나머지 문서에 대해 Sequence 예측

$$ p_{\text{RAG-Sequence}}(y|x) \approx \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) p_{\theta}(y|z, x) = \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) \prod_{i} p_{\theta}(y_i|z, x, y_{1:i-1}) $$

RAG-Token

생성되는 토큰마다 문서를 추출함. 이는 Generator가 토큰마다 문서를 다시 검색하고 검색된 문서를 바탕으로 다음 토큰을 예

$$ p_{\text{RAG-Token}}(y|x) \approx \prod_{i} \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) p_{\theta}(y_i|z, x, y_{1:i-1}) $$

Retriever: DPR

Retrieval component $p_η(z|x)$ 는 DPR [26]을 기반으로 하며 bi-encoder 구조

$$ p_{\eta}(z|x) \propto \exp(d(z)^T q(x)) $$

$$d(z) = \text{BERT}{d}(z), \quad q(x) = \text{BERT}{q}(x) $$

  • $d(z)$ : $BERT_{BASE}$ (Document Encoder)에 의해 생성된 문서의 Dense representation
  • $q(x)$ : $BERT_{BASE}$(Query Encoder)에 의해 생성된 Quary Represenation

Query $x$ 에 대해 가장 높은 사전 확률 $p_η(z|x)$을 가진 $k$개의 문서 $z$ 목록인 top-k$(p_η(·|x))$를 계산하는 것은 최대 내적 검색(Maximum Inner Product Search, MIPS)을 이용(선형 시간내에 대략적 해결)

Generator: BART

Generator Component $p_\theta(y_i|x,z,y_{1:i-1})$는 Encoder-Decoder을 이용하여 모델링

논문에서는 400M 크기의 Pre-trained BART-large 사용

BART input = 입력 $x$와 생성된 문서 $z$를 단순히 연결

Training

  • Retriever & Generator은 문서 검색에 대한 Direct supervision없이 Training을 진행.
  • 입력/출력 쌍$(x_j, y_j)$으로 구성된 Training Corpus를 사용하여, 각 대상에 대해 $\sum_j - log p(y_j | x_j)$을 최소화하는 방식으로 훈련하며 최적화 기법은 Adam을 사용
  • Document Encoder ($BERT_d$) 업데이트를 진행하지 않으며, Query Encoder($BERT_q$)와 Generator($BERT_{large}$)만 Fine-tunning을 진행

Experiments

  1. $BERT_{BASE}$를 이용한 Document Encoder를 사용해 Wikipedia 기사를 임베딩
  2. Facebook AI Similarity Search(FAISS)를 사용하여 single Maximum Inner Product Search(MIPS)를 통해 Top-K Document Search 함

Dataset

 

1. Open-Domain QA

  1. Natural Question (NQ)
  2. TriviaQA(TQA)
  3. WebQuestion(WQ)
  4. CuratedTrec(CT)

4개의 데이터셋을 이용하여 RAG를 훈련

 

2. Abstractive QA

https://huggingface.co/datasets/ms_marco

MSMARCO NLG Task v2.1을 사용함.

제공된 사이트를 사용하지 않고 질문과 답변을 할 수 없는 질문이 있으며, 일부 질문은 위키백과만을 사용하여 답변할 수 없습니다

→ RAG는 매개변수의 지식에 의존해 합리적인 응답 생성

 

3. Jeopardy QG

https://huggingface.co/datasets/search_qa

Jeopardy는 주어진 Entity에 대해 Entity를 추측하는 질문을 생성하는 독특한 데이터셋

e.g.,) “월드컵” ⇒ “1986년 멕시코가 처음으로 이 국제 스포츠 대회를 두 번째로 개최한 나라로 기록되었습니다.”

 

4. Fact Extraction and VERification(FEVER)

https://huggingface.co/datasets/fever

주장에 대해 반박할 충분한 정보가 있는지 없는지 분류 → 위키백과로 검증 불가능한지 분류

⇒ RAG이 생성이 아닌 분류를 처리할 수 있는 능력이 있는지 테스트

 

Results

 

1. Open-Domain QA

RAG = Closed Book + Open Book

→ REALM 및 T5 + SSM과 같이 비용이 많이 드는 Span masking 없이도 강력한 결과 산출

2. Abstractive QA

RAG는 최첨단 모델 성능에 다음과 같은 이유를 바탕으로 우수한 성능을 보여줌

  1. RAG는 Gold access 없이 좋은 성능을 보여줌
  2. 많은 질문은 Gold access 없이는 답변하기 어려움
  3. 모든 질문이 Wikipedia로만 답변 가능한 것이 아님

RAG가 BART보다 Question Generation에서 Hallucination에 강하다.

3. Jeopardy QG

Jeopardy 질문에는 종종 두 개의 별개 정보가 포함되어 있는데, RAG-Token이 여러 문서의 내용을 결합한 응답을 생성할 수 있기 때문에 가장 잘 수행될 수 있다.

4. Fact Verification


3-way 분류에서, RAG 점수는 domain-specific Architecture 및 substantial engineering, trained using intermediate retrieval supervision 과 약 4.3% 범위 내의 최첨단 모델과 일치합니다.(RAG는 다음과 같은 복잡한 과정 X)

 

728x90
논문링크
https://jmlr.org/papers/volume24/22-1086/22-1086.pdf

 

다음 논문은 Bradly-Terry Model을 이용해서 Pairwise comparisons를 통해 여러 Class 간의 순위를 매기는 것을 이용해 우선순위를 최대 우도 추정법을 이용하여 빠르게 수렴시키는 방법에 대한 논문이며, 이에 대해 리뷰하려고 한다.

수식유도에 대해 설명을 하고 증명은 생략한다.

 

Introduction


우리는 각 개인 $ i $에게 수치 점수 $ \pi_i $를 할당하고 $ i $가 $ j $를 이길 확률 $p_{ij}$로 가정하며, 가장 인기 있는 Logistic function을 사용한다(확률로 표현하기 좋은 함수). $p_{ij}$를 다음과 같이 사용한다.  여기서 $\pi_i$는 $i$의 Strength라고 부른다.

$$ p_{ij} = \frac{\pi_i}{\pi_i+\pi_j} $$

N개의 팀 사이의 Pairwise competitions의 결과가 주어진다면, 결과를 바탕으로 Strength를 직접 계산할 수 있다. 일반적으로 최대 우도 추정(Maximum Likelihood Estimation, MLE)을 사용한다. $ w_{ij} $를 $ i $가 $ j $를 이긴 총횟수로 정의하거나, $ i $와 $ j $가 경쟁한 적이 없으면 0으로 정의한다. Strength의 최대 우도 값은 다음 방정식으로 수렴할 때까지 반복한다.

다음에 나오는 방정식 Zermelo에 의해 소개되고 Bradley와 Terry에 의해 다시 바뀐 Bradley-Terry Model이다.

$$ \pi^\prime_i = \frac{\sum^N_{j=1}w_{ij}}{\sum^N_{j=1}(w_{ij}+w_{ji})/(\pi_i+\pi_j)} $$

다음 방정식(Zermelo)은 수렴에 도달할 때까지 반복하며, 이 방정식은 수렴하는데 느리다고 알려져 있다. 이 논문에서는 다음 방정식 대신 빠르게 수렴하는 방법에 대한 연구를 진행한다. 

$$ \pi^\prime_i = \frac{\sum^N_{j=1}w_{ij}\pi_j/(\pi_i+\pi_j)} {\sum^N_{j=1}w_{ji}/(\pi_i+\pi_j)} $$

이 방정식은 이전의 수식보다 빠르게 수렴하는 것을 보여주며, 특별한 케이스에는 100배 이상 빠르다. 이 방정식 또한 Zermelo의 방정식과 같이 구현하기 쉽다.

이후 논문에서는 Zermelo의 원래 알고리즘과 제안된 알고리즘에 대해 설명하고 유도한다. 다음은 두 알고리즘이 수렴한다는 것을 증명하며, 수렴속도를 비교한다. 하지만, 증명에 대한 내용은 수식이 많으므로 생략한다.

 

Iterative Algorithms and the Bradley-Terry Model


이번 섹션에서는 이전에 제시되었던 Zermelo Algorithm과 논문에서 제시하는 알고리즘에 대해 유도하는 과정에 대해 설명한다. 여기서는 무승부에 대해 허용하지 않는다. 각 변수에 대한 설명은 다음과 같다. 선수 $ i $가 선수 $ j $를 이길 확률을 $ p_{ij} $라고 하며, 선수 $ i $의 능력을 $ \pi_i $라고 하며, 더 높은 값이 더 나은 선수이다.

승리 확률 $ p_{ij} $는 모든 $ \pi_i $를 임의의 상수로 곱해도 변하지 않는 것을 알아야 한다. (확률은 상대적이기에 똑같이 상수를 곱해도 상대적으로 동일하기 때문이다.) 그래서 논문에서는 기하 평균을 1이 되도록 고정하며 이는 $ \prod_i\pi_i = 1 $로 설정하는 것과 동일하다. 

 

Zermelo's Algorithm

토너먼트가 팀 간 총 $ M $ 게임으로 구성한다고 가정하고  선수 $ i $가 선수 $ j $를 이긴 횟수를 $ w_{ij} $라고 한다. 이 데이터를 바탕으로 Strength $ \pi_i $의 최대 우도 추정(MLE)이 가능하다. 일단 우도를 구하는 방정식으로부터 최대 우도 추정을 구하는 식을 유도한다.(각각 행렬 W = $[w_{ij}]$, 벡터 $ \pi $ = $ [\pi_i] $를 의미한다.)

관측된 게임의 우도는 다음과 같다.

$$ P(W|\pi) =\Pi_{ij}p_{ij}^{w_{ij}} =\Pi_{ij}(\frac{\pi_i}{\pi_i+\pi_j})^{w_{ij}} $$

따라서 $ \text {log} $우도는 다음과 같다.

$$ \text {log}P(W|\pi) = \sum_{ij}w_{ij}\text{log}\frac{\pi_i}{\pi_i+\pi_j} = \sum_{ij}w_{ij}\text{log}\pi_i-\sum_{ij}w_{ij}\text{log}(\pi_i+\pi_j).  $$

$ \pi_i $에 대해 미분하고 결과를 0으로 설정하면 다음을 얻는다. 

여기서 미분을 하고 $ \pi_i $에 대해 미분하는 이유는 $ \pi_i $에 대한 극값을 찾으면 그 값이 $ \pi_i $가 최대를 갖는 값이며, 최대 우도값이 된다.

$$  \frac{1}{\pi_i}\sum_jw_{ij}-\sum_j\frac{w_{ij}+w_{ji}}{\pi_i+\pi_j}=0  $$

이는 다음과 같이 재배열될 수 있다.

$$ \pi_i = \frac{\sum_jw_{ij}}{\sum_j(w_{ij}+w_{ji})/(\pi_i+\pi_j)}. $$

이 방정식은 닫힌 형태의 해를 갖지 않는다(방정식으로 정확한 해를 찾을 수 없음). 하지만 반복을 통해 수치를 수렴할 수 있다. $\pi_i $에 대해 음수가 아닌 값(랜덤 값)을 선택하고 그리도 다음과 같은 새로운 값 $ \pi^\prime_i $를 계산한다.

$$ \pi^\prime_i = \frac{\sum_jw_{ij}}{\sum_j(w_{ij}+w_{ji})/(\pi_i+\pi_j)}. $$ 

이 과정을 반복하면, $ \text {log} $우도의 최댓값으로 수렴한다. 따라서 Strength $ \pi_i $에 대해 추정치를 얻을 수 있으며 이 값을 정렬하여 선수들의 순위를 매기거나 평가할 수 있게 된다.

 

An Alternative Algorithm

Bradley-Terry 모델에 대해 최대 우도 추정치(MLE)를 계산하는 것은 단순한 문제이지만, 속도가 느리므로 이에 대해 빠른 알고리즘을 찾기 위해 노력해 왔다. 이 중 일부는 복잡하지만, 논문에서는 매우 효율적인 접근 방식을 제안한다.

$$ \frac{1}{\pi_i}\sum_jw_{ij}-\sum_j\frac{w_{ij}+w_{ji}}{\pi_i+\pi_j}=0 $$

위의 식을 다르게 그룹화하면 다음과 같이 작성할 수 있다.

$$ \frac{1}{\pi_i}\sum_jw_{ij}\frac{\pi_j}{\pi_i+\pi_j} - \sum_j\frac{w_{ji}}{\pi_i+\pi_j} = 0, $$

다시 배열하면

$$ \pi^\prime_i = \frac{\sum_jw_{ij}\pi_j/(\pi_i+\pi_j)}{\sum_jw_{ji}/(\pi_i+\pi_j)} $$

이는 Bradley-Terry 모델에 대한 다른 반복 알고리즘을 제안한다. 다시 적절한 시작 값(랜덤 값)을 선택한다, 그리고 우리는 수렴할 때까지 다음 형태를 반복한다.

이 알고리즘을 통해 이전에 제시한 Zermelo 알고리즘보다 "매우" 빠르게 최대 우도에 수렴하는 것이다. 

 

Conclusion


$ \alpha $의 값에 따라 알고리즘이 정해진다.

다음은 논문에서 제시하는 반복 알고리즘의 일반식이고 $\alpha $가 1이면 Zermelo알고리즘이며 $ \alpha $가 0이면 논문에서 제시하는 알고리즘이다.

$ \alpha $값에 따른 수렴속도

$ \alpha $의 값에 따라 수렴속도를 보여주고 있으며 0일 때 매우 빠르게 수렴하고 있는 것을 볼 수 있다.

 

이 논문을 통해 BT 모델의 수렴속도가 매우 빠른 식에 대해 알 수 있었다.

728x90
논문링크
https://arxiv.org/pdf/1411.5726.pdf

Introduction


논문이 나온 시점에서 이미지에 설명하는 문제에 대해 이미지를 인간과 같은 방식으로 설명을 생성하는 관심이 생기고 있었다. 그 와 관련하여 Automatic evalution으로 Sentence evalution은 아직 어려운 분야였다. 

논문 이전의 Automatic evalution matric은 Precision 기반의 BLEU와 Recall 기반의 ROUGE가 있었다. 하지만 이러한 Metric은 Human evalution과 Automatic evalution의 Pearson correlation가 낮다고 표시된다. 이후 METEOR가 나오면서, 더 나은 Correlation을 보여주고 있지만 이미지 설명 평가를 할 수 없었다.

이미지 설명에 대해 평가를 할 수 있는 Automatic metric인 Consensus-based Image Desription Evaluation(CIDEr)에 대해 소개한다.

CIDEr의 방식은 다음과 같다.

Generated sentence의 각 n-gram을 Reference sentence에 대해 TF-IDF를 하고 평균을 통해 계산한다.

위와 같은 유사성 산출을 통해 다음 효과를 얻습니다.

  • Grammaticality
  • Correctness/truthfulness

다음 효과를 얻기 때문에 논문에서는 CIDEr을 제안한다.

 

The CIDEr Metric


Metric의 목표는 이미지 $I_i$에 대해 Candidate sentence, $c_i$가 이미지 설명 집합($I$) $S_i = \{s_{i1},..., s_{im}\}$ 에 대해 얼마나 유사한지를 통해 평가한다.

처음에는 Candidate sentence와 Reference sentence를 원래 형태로 매핑합니다("fishes", "fishing", "fished" - →  "fish") . 매핑한 후 1~4의 n-gram을 이용하여 계산합니다.

직관적으로 다음을 만족해야 한다.

Candidate sentence에서 많이 나타나는 n-gram은 적은 정보를 나타낼 수 있기 때문에 이에 대해 낮은 가중치를 주어야 한다. 

이를 위해 각 n-gram에 대해 TF-IDF 가중치 계산을 수행한다.

n-gram인 $\omega_k $에 대해 Candidate sentence인 $s_{ij}$에서 발생하는 횟수를 $h_k(s_{ij})$와 같이 표기하고, Candidate Sentence($c_i$)에 대해 $h_k(c_i)$로 표기한다. 각 n-gram인 $\omega_k$에 대한 TF-IDF 가중치 $g_k(s_{ij})$를 다음과 같이 계산한다.

$$ g_k(s_{ij}) = \frac{h_k(s_{ij})}{\sum_{ω_l \in Ω}h_l(s_{ij})}\text{log}(\frac{|I|}{\sum_{I_p\in I}min(1, \sum_qh_k(s_{pq}))}) $$

다음의 식에 대해 변수를 다시 한번 설명한다.

  • $s_{ij}$ : $s_i$에 대해 $j$번째 Reference Sentence
  • $h_k(s_{ij})$ : 참조 문장 $s_{ij}$에서 n-gram $\mathcal w_k$의 출연 횟수(빈도)
  • $\sum_{ω_l \in Ω}h_l(s_{ij})$ : 모든 문장에서 $I$의 단어의 총합
  • $\sum_{I_p\in I}min(1, \sum_qh_k(s_{pq}))$ : $I_p$에 대해서 해당하는 단어($h_k(s_{pq})$)가 있는지를 계산한다. 있다면 1, 없다면 0을 산출한다.
  • $\Omega$ : 모든 n-gram
  • $I$ : 모든 Sentence

$ g_k(s_{ij}) = \text{TF} \times \text{IDF} $ 와 같다. 첫째 항은 TF($\omega_k$의 빈도), 둘째 항은 IDF($\omega_k$ 의 희소성 )이다.

즉, 적게 나타난 단어에 가중치를 많이 주고 많이 나타난 단어에 가중치를 덜 주면서 $g_k(s_{ij})$를 계산한다.

 

다음은 길이가 n인 n-gram 대해  $\text {CIDEr}_n$ 점수는 Candidate sentence와 Reference sentence의 평균 Cosine similarity를 사용해 계산하며 Precision과 Recall을 모두 고려한다. Precision과 Recall이 고려되는 이유는 Cosine similarity를 이용해 중요한 정보를 얼마나 잘 포착하고 있는지, 그리고 불필요하거나 잘못된 정보를 얼마나 적게 포함하고 있는지를 종합적으로 평가하기 때문이다. 

$$ \text{CIDEr}_n(c_i,S_i) = \frac{1}{m}\sum_j\frac{g^n(c_i)\cdot g^n(s_{ij})}{||g^n(c_i)||||g^n(s_{ij})||} $$

여기서 $g^n(c_i)$는 길이 n의 모든 n-gram에 해당하는 $g_k(c_i)$ 벡터에 의해 형성된 벡터이고 $||g^n(c_i)||$은 벡터 $g^n(c_i)$의 크기다. 마찬가지로 $g^n(s_{ij})$에 대해서도 같다.

 

마지막으로, 우리는 문법적 특성뿐만 아니라 더 풍부한 의미를 포착하기 위해 더 높은 순서(길이가 긴)의 n-gram도 사용한다. 다음과 같이 다양한 길이의 n-gram의 점수를 결합한다:

$$ \text{CIDEr}(c_i,S_i) = \sum^P_{n=1}w_n\text{CIDEr}_n(c_i,S_i) $$

논문에서 균일 가중치 $w_n = \frac{1}{N}$이 가장 잘 작동한다는 것을 발견했으며, $N = 4$ 를 사용한다.