Is ChatGPT Good at Search? (emnlp 2023)

이미지
참고자료:  Weiwei Sun et al., Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents, emnlp2023  논문에서 제안하는 방법으로 chatgpt, gpt-4로 랭킹했을 때의 검색 성능  GPT-4가 가장 좋고, monoT5가 다음으로 좋음.  GPT-4는 튜닝없이, prompt만으로 랭킹.  monoT5는 T5를 랭킹에 맞게 fine-tuning 한 모델  모델 크기는 GPT-4가 monoT5보다 훨씬 큼.  instructional permutation generation (그림 2에서 c)  chatgpt 혹은 gpt-4와 같은 LLM으로 랭킹하는 하는 새로운 방법  질의와 하나 이상의 문서를 입력으로 받아서, 문서들의 순서 정하도록 LLM에게 요청함  1차 검색된 상위 n개 문서들을 대상으로 LLM으로 re-ranking 수행함  Sliding Window Strategy (그림 3)  1차 검색된 상위 n개 문서들에 대해서 가장 낮은 w개의 문서들부터 시작  w개의 문서들을 LLM으로 순위화 window를 앞으로 이동해서, 동일한 방식으로 순위화 진행  window 이동시에는 이전 윈도우와 일부 겹치도록 함. (그림 3의 step 2 참조)  참고로 기존 방법은 다음과 같음 query generation 방식: 질의와 문서가 주어졌을 때, 문서로부터 질의가 생성될 확률 계산 (그림2에서 a)  relevance generation 방식: 질의와 문서가 주어졌을 때, 적합여부를 판단하도록 함. (그림 2에서 b)  다만, 적합 여부 판단만으로는 랭킹이 안되는데, 뭔가 추가적인 것이 더 있을 듯.  permutation distillation  chatgpt을 teacher로 사...

Ranking Relevance in Yahoo Search, kdd2016

이미지
참고문서:  Dawei Yin et al., Ranking Relevance in Yahoo Search, kdd2016   2016년 논문으로 오래된 논문이지만, 검색에 대해 잘 정리한 논문  논문의 contribution core ranking과 contextual reranking을 위한 learning to rank 알고리즘  core ranking은 (질의, 문서)를 기반으로 적합성 판단  contextual reranking은 (질의, 문서들)을 기반으로 적합성 판단. 즉, 하나 이상의 검색된 문서들을 함께 이용해서 문서의 적합성 판단  click similarity, deep semantic matching, translated text matching과 같은 semantic matching features  query rewriting 방법 recency sensitive ranking과 location sensitive ranking  Background  Overview of Architecture  first step: 단어 매칭을 이용해서 문서 검색. 빠른 검색이 가능  논문에서는 'recall' 단계로 부름  second step: first step에서 검색된 문서들을 대상으로, query dependent 자질을 이용해서 (질의, 문서) 쌍의 점수 계산  논문에서는 core ranking 이라고 부름  second step을 위해서는 학습데이터가 필요함.  학습 데이터 구축에는 비용이 많이 드는데, 논문에서는 active learning 방법을 언급함  Ranking Features (검색 자질. second step을 위한 자질들)  Web graph  웹에서 문서간의 연결 정보를 이용해서, 문서의 quality 혹은 popularity 측정  Document sta...

google PaLM2

참고 문서:  Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance  (구글 블로그 영문)  PaLM 2 Technical Report  (구글 문서 영문)  참고 문서에 있는 내용  google PaLM  In " PaLM: Scaling Language Modeling with Pathways ", we introduce the Pathways Language Model (PaLM), a  540-billion parameter , dense decoder-only Transformer model trained with the Pathways system.  PaLM was trained using a combination of English and multilingual datasets that include high-quality web documents, books, Wikipedia, conversations, and GitHub code. In addition to English NLP tasks, PaLM also shows strong performance on multilingual NLP benchmarks, including translation, even though only 22% of the training corpus is non-English. google PaLM2  a new state-of-the-art language model that has better multilingual and reasoning capabilities and is more compute-efficient than its predecessor PaLM PaLM 2 is a Transformer-based model trained usin...
이미지
참고 문서:  https://crfm.stanford.edu/2023/03/13/alpaca.html https://github.com/tatsu-lab/stanford_alpaca/tree/65512697dc67779a6e53c267488aba0ec4d7c02a   Stanford에서 만든 Alpaca model  Meta의 LLaMA 7B model 사용  " Alpaca is a language model fine-tuned using supervised learning from a LLaMA 7B model on 52K instruction-following demonstrations generated from OpenAI’s text-davinci-003"  출처: https://crfm.stanford.edu/2023/03/13/alpaca.html  Alpaca 용 학습 데이터 구축소규모 학습 데이터를 GPT를 이용해서 대량으로 자동 생성함  수동으로 소규모 데이터를 구축하고, 이 데이터를 seed로 해서 GPT를 이용해서 52K개의 데이터를 자동 생성 175개 데이터를 수동으로 구축한다.  수동 데이터 예시 (tatsulab/stanford github) {"id": "seed_task_0", "name": "breakfast_suggestion", "instruction": "Is there anything I can eat for a breakfast that doesn't include eggs, yet includes protein, and has roughly 700-1000 calories?", "instances": [{"input": "", "output": "Yes, you can have 1 oatmeal banana ...

즐겨찾기

 gdbt  Gradient Boosting Algorithm의 직관적인 이해 잘 정리된 글  [논문리뷰/설명] LightGBM: A Highly efficient Gradient Boosting Decision Tree lightgbm 논문을 잘 정리한 글  3 Key Differences Between Random Forests and GBDT  (영어)  자세한 내용은 아니고, 개략적으로 정리한 글  A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning  (영어)  learning to rank (LTR)  Introduction to Learning to Rank  (영어)  RankNet, LambdaNet, LambdaMART에 대한 설명 있고, 잘 정리되어 있음  bert / roberta / albert / electra / ...  Exploring BERT variants (Part 1): ALBERT, RoBERTa, ELECTRA  (영어) A review of pre-trained language models: from BERT, RoBERTa, to ELECTRA, DeBERTa, BigBird, and more  (영어)  batch normalization / layer normalization  batch normalization: minibatch에 있는 인스턴스 벡터들간의 normalization  layer normalization: 하나의 벡터를 대상으로 normalization  Batch Normalization (paperwithcode.com) Layer Normalization (paperwithcode.com) Build Better Deep Learni...

SimCLS: a simple framework for contrastive learning of abstractive summarization, acl2021

SimCLS: a simple framework for contrastive learning of abstractive summarization, acl2021  cmu 논문  여러개의 요약을 생성하고, 이들을 순위화해서 가장 좋은 것을 선택  BART와 beam search를 이용해서 여러개의 요약 생성  입력 문서와 요약간의 유사도를 이용해서 순위화  RoBERTa 의 cls로 텍스트 representation  두개 cls간의 cosine similarity로 유사도 계산  contrastive training  요약문의 순위를 정하고, 순위가 높은 문서가 입력 문서와 유사도가 높도록 학습  요약문의 순위는 ROUGE로 정함  2가지 loss를 함께 사용함  정답 요약문이 생성된 요약문들보다 문서와의 유사도가 높아야 한다.  ROUGE 점수가 높은 요약문이 낮은 요약문보다 문서와의 유사도가 높아야 한다.   loss function  $S$ : 정답 요약문  $S_i$ :  $i$ 번째 생성된 요약문  $S_i$는 ROUGE 점수의 내림차순으로 정렬되어 있음. 즉, $i$가 작으면 ROUGE 점수가 높고, 좋은 요약문임  $h$ : 두 문서간의 cosine similarity 함수 (RoBERTa의 cls로 텍스트 표현)  $\lambda_{ij} = (j-i)*\lambda$  논문의 수식 (2)에서 살짝 바꿈: 동일한 내용인데 latex 기술 문제로 :-)  $$L = \sum_j max(0, h(D, S_i) - h(D, S)) + \sum_i \sum_{j>i} max(0, h(D, S_j) - h(D, S_i) + \lambda_{ij}) $$  학습시에 요약 평가 척도인 ROUGE 점수를 이용함  BART 등을 이용하는 경우에는 ...

GSum: A General Framework for Guided Neural Abstractive Summarization, naacl2021

이미지
GSum: A General Framework for Guided Neural Abstractive Summarization, naacl2021   cmu 논문  abstractive summarization에서 extractive summarization을 함께 이용하는 방법  요약시에 입력 문서와 가이드 정보를 함께 사용하는 방법  요약을 위한 가이드로 extractive summarization으로 추출한 결과를 이용함  keywords, (subject, relation, object) 의 relation, 유사한 문서 등도 가이드로 사용했지만, extractive summarization 결과를 사용하는 것이 가장 좋았음.  입력 문서와 입력 문서의 주요 부분을 함께 입력으로 사용하는 방식임 네트워크 구조  BART 사용  2개의 encoder를 사용함  입력 문서를 위한 encoder 가이드를 위한 encoder  2개의 encoder는 하위 네트워크는 공유하지만, 상위 부분은 공유하지 않음  상위에서 입력과 가이드를 구분하기 위함   decoder에서는 가이드 represention을 먼저 참조하고, 다음으로 입력 문서를 참조함 적절한 방법인거 같음. 즉, 가이드보다 입력 문서를 나중에 참조하는게 맞는거 같음.  학습 및 inference 방법  학습시에는 가이드 생성을 위해서 정답 데이터를 사용함  extractive summarization 수행시에 정답 abstractive summarization과 ROUGE 점수가 가장 높은 문장을 추출함  가이드가 정답 데이터 정보를 가짐으로써, 네트워크가 가이드를 참조하도록 학습이 됨 가이드와 정답 데이터간의 관련성이 적으면, 네트워크가 가이드를 참조하지 않게 됨  실험 결과 4.5 Analysis 에서 'Necessity of Using Ora...