본문 바로가기
Natural Language Processing/CS224U NLU

Stanford CS224U Natural Language Understanding 강의요약 - XCS224U: NLU I Information Retrieval, Part 1: Guiding Ideas I Spring 2023

by 187cm 2023. 9. 4.
반응형

이전 강의 - XCS224U: NLU I Intro & Evolution of Natural Language Understanding, Part. 1 I Spring 2023

이전 강의 - XCS224U: NLU I Course Overview, Part. 2 I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 1: Guiding ideas I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 2: The Transformer I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 3: Positional Encoding I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 4: GPT I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 5,6,7: BERT, RoBERTa, ELECTRA I Spring 2023

이전 강의 - XCS224U: NLU I Contextual Word Representations, Part. 8,9,10: Seq2Seq, Distillation, warp-up| Spring 2023

 

강의영상 : https://www.youtube.com/watch?v=yqV_YfBBtK0&list=PLoROMvodv4rOwvldxftJTmoR3kRcWkJBp&index=15

강의자료 : https://web.stanford.edu/class/cs224u/slides/cs224u-neuralir-2023-handout.pdf


이번 강의에서는 Information Retrieval (IR)에 대해 주로 다룰 것이다. 이 IR이란, 검색엔진에서 사용자가 요청한 질문(Query)에 대해 가장 관련성이 높은 답을 DB에서 꺼내 보여주는 것이다.

그렇다면 이 IR이 왜 중요할까? 이 IR을 바탕으로 검색 엔진에 transformer 혹은 BERT 모델이 결합되기 시작했다는 것이다. 최근에는 이 GPT가 Bing의 검색엔진에 탑재되었다는 뉴스도 보이는데, 이제는 IR을 다루기 위해 언어모델이 결합된다는 것이다.

추가적으로 이 기본적인 IR 시스템을 바탕으로, "Retrieval-augmented in-context learning" 이라는 것이 가능해진다는건데, LLM을 학습시키기 위해 외부 정보를 동적으로 검색해서 활용하는 방식이다. 

왼쪽이 Query, 우측이 우리의 LLM이 바꾼 문장이다. 같은 색은 같은 의미를 뜻하며, 이러한 과정은 더 관련있는 정보를 찾게 해준다.

- 그렇다면 왜, IR을 LLM과 결합시키는 것일까, 그것은 IR이 간단하면서도 어려운 NLU 문제이기 때문이다.

- 따라서 왼쪽 위와 같은 Query가 들어온다면, 우리의 LLM은 NLU 기술이 발전하면 할수록, 우측과 같이 paraphrase해서, 혹은 더 쉽게 풀어쓰며 더욱 관련된 정보를 쉽게 찾을 수 있는 것이다.

- 또한 최근 IR이 NLP분야에 유행을 이끌고 있는데, 그 이유는 실제 daily task에 맞게 점점 더 open 되었기 때문이다. Standard QA가 현재 OpenQA와 같이 변형되었는데, 원래 Title,Context,Question,Answer를 training시킨 후, test time에서 Answer를 제외한 정보를 주고 Answer를 맞추는 것이 Standard QA방식이다.

- 하지만 이 OpenQA는 train time에 Question/Answer를, test time에는 Question만 던져준다는 것인데, 이 Context/title은 retrieval, 즉 검색을 통해 큰 문서를 참고하던, web 검색을 하던 해서 찾아진다. 

 - 실제로 SQuAd (Stanford Question & Answer dataset) 데이터 셋은 위와 같이 Title/Context/Q/A로 구성이 되어있다.

- Classical LR은 When was Stanford University founded? 라는 query가 들어왔을 때, Term look-up을 통해 관련된 문서를 찾고, 점수를 매긴 점수의 순서대로 다음 문서를 뽑아내는 과정을 거친다.

- LLM에서는 똑같은 Query에 대해서 답을 뽑아내는 것을 알 수 있다. 하지만 한가지 우려하는 점이 있다면 이 답이 진짜인지 아닌지를 모른다는 것이다.

- 따라서 우리는 Neural LR이라는 것을 사용할 수 있는데, 왼쪽의 4개의 Dataset을 가지고 dense numerical representation을 뽑아낸다. LLM에서 구조적으로 중요한 부분, 데이터의 의미 같은 정보가 담기게 된다.

- 그 다음 우측과 같이 입력 Query를 넣고, 이 Query에 대해 똑같이 dense numerical representation을 출력한다. 그 다음 scoring을 통해 아래와 같이 출처 밑 정답을 뽑아낸다.

- 따라서 우리는 조금 더 관련있고 풍부한 정보를 뽑아낼 수 있으며, semantic space가 더욱 풍부해진다는 것을 알 수 있다.

- 그렇다면, Who is Bert? 라는 질문에 대해, Retrieval을 어떻게 효율적으로 사용해서 답할 수 있을까?

1. 첫번째로는 Context를 제공하는 것이다. 

2. 두번째는 갈색? 자주색 답변인, 새로운 Q, A 형식을 제공하고 이와 같은 형식을 따르도록 하는 것이다.

3. 추가적인 Context를 제공하는 것이다. 따라서 이 가이드를 따라 답을 작성하게 하는 것이다.

반응형