본문 바로가기

728x90

분류 전체보기

(424)
Passage Retrieval - Dense Embedding 1. Sparse vs Dense 지난시간 공부한 sparse embedding의 대표적인 예로 TF-IDF를 알아보았다. 말 그대로 spase하기 때문에 벡터 내에 0이 아닌 값이 적다. 메모리 낭비가 심한 편이다. 물론 0이 아닌 값의 idx와 value만 저장해서 0인 부분을 줄이는 방법으로 개선이 가능하다. 이 뿐만 아니라 sparse embedding에는 유사한 의미를 가진 단어의 유사성을 알지 못한다는 단점도 있다. 따라서 이를 개선한, 작은 차원의 고밀도 벡터로 변환하는 , dense embedding에 대해 알아보자. sparse embedding은 정확히 용어가 일치해야 하는 문서를 찾는 경우에 더 장점이 있긴하다. 주로 BoW나 term frequency로 계산을 통해 구한다. dens..
Passage Retrieval - Sparse Embedding, TF-IDF open domain question answering 시스템의 첫 부분이다. query가 들어왔을 때 질문과 관련된 지문을 대규모의 문서 중에서 선별하는 단계를 말한다. MRC 모델은 선별된 지문을 읽고 정답을 찾게 된다. 대략적인 passage retrieval의 단계는 위와 같다. 질문 문장과 passage를 각각 vector로 임베딩을하고 두 임베딩 벡터간의 유사도가 높은 passage를 선별한다. 문장과 지문들을 벡터로 변환한다는 건 고차원 vector space에서 하나의 점으로 매핑이 가능하다는 말이다. 직관적인 거리 혹은 inner product 연산을 통해 유사도를 계산할 수 있다. 이어서 문장, 문단을 vector로 임베딩하는 방법론들을 알아보자. 1. Sparse Embedding 문..
Generation-based MRC extraction-based MRC는 답변의 위치를 본문에서 찾는다. 즉 정답 토큰의 위치를 예측한다. 그래서 bert와 같은 ,seq2seq이 아닌, PLM에 Classifier를 부착해서 모델을 구성했다. 반면 generation-based mrc는 답변을 생성하는 task이다. 정답 텍스트 자체를 예측한다. 따라서 auto regressive 형태로 모델이 정답을 출력하게된다. seq2seq PLM 구조를 활용한다. (ex. bart, T5) 1. Pre-processing extraction-based mrc에서는 정답의 위치를 나타내는 answer_start 정보가 중요했다. 하지만 생성방식에서는 이를 제외한 question, answer면 충분하다. 우리가 생성모델을 사용할 것이기 때문에 e..
Extraction-based MRC pre-preocessing 단계에서 context와 question을 각각 word embedding한다. 모델은 context안에서 제일 확률이 높은 position을 예측한다. 후에 정답으로 변환할때는 start/end position의 span을 가져오면 될 것이다. extraction-based mrc에서는 답변을 생성하는 것이 아니라 정답의 위치를 예측하도록 학습된다. 1. Preprocessing 가장 먼저 tokenization을 거친다. 요즘은 Out Of Vocabulary를 해결하기위해 Byte Pair Encoding 방법론 중 하나인 WordPiece를 많이 사용한다. 자주 나오는 단어는 단어별로 쪼개질테지만 덜 자주 나오는 단어는 subword로 쪼개진다. [cls] 질문 [se..
Intro to MRC(Machine Reading Comprehension) 기계독해는 모델이 주어진 지문을 이해하고 사용자로부터 주어지는 질문에 대해 답을 찾는 것을 말한다. 모델의 언어이해능력을 평가할 수 있는 시험인 셈이다. 이는 인공지능 비서, 검색엔진에서 많이 활용되고 있다. 위 그림에서는 하나 생각된 가정이 있다. 질문과 관련된 지문이 이미 주어진 상황이라는 점이다. 모델이 수십 수백만개의 문서를 전부 다 읽기엔 무리가 있기 때문에 질의응답 시스템을 만들기 위해 두 단계로 시스템을 나누어 설계해보겠다. (1) 검색을 통해 관련된 문서들을 선별(Retrieve) (2) 기계독해 모델이 해당 문서들을 읽고 답변(Read) Open domain QA : 특정 주제나 도메인에 국한되지 않고, 다양한 일반 지식을 바탕으로 사용자의 질문에 답변을 제공하는 시스템 Passage R..
Boostcamp AI - week14, 15, 16 이번주는 MRC(기계독해)와 QA(질의응답) 분야에 대해 공부하고 리더보드 대회에 참가했다. ODQA를 구성하는 reader/retriever 개별 모델들에 대한 정확도를 향상과 evaluation을 구현했다. tf-idf를 활용한 sparse embedding 기반 retriever와 dense embedding 모델을 기반 retriever를 구현했다. reader모델의 answer 탐지 능력을 보완하기 위해 증강한 데이터셋으로 fine-tuning을 수행했다. end-to-end MRC evaluation을 수행했다. 과연 cls 토큰이 문장 전체를 대표할까? input에 대한 representation을 추출한 후 pooling layer (avg or max)를 수행하는 것이 더 나을 수도 있다..
Multi-Modal AI Dataset 서로 다른 타입의 데이터들을 처리하는 분야이다. uni-modal의 한계를 극복하고자 한다. 1. Multi Modal Dataset - GSM8K Mathematical/Arithmetic Reasoning 이란 기본적인 산술 연산을 사용하여 초등/중등 수학문제에 대해 일련의 풀이과정을 통해 최종 답에 도출하는 task이다. GSM8K라는 데이터셋은 초등학교 수학 문제를 담고 있는 데이터셋이다. 최근에는 여기에 image 데이터가 추가된 (solution은 없다) CLEVER-Math라는 Multi-modal 수학 문제 데이터셋이 등장했다. 2. Dataset 구축 그럼 multimodal을 위한 데이터셋은 어떻게 구축할 수 있을까? 위 연구에서는 텍스트 데이터와 관련된 이미지를 검색해서 찾은 후, 대..
Recent Works in Data Centric AI 0. Cross Lingual Transfer Learning 한국어 BERT를 만든다고 하면 비용과 시간이 많이 들것이다. 그렇다고 기존의 큰 multilingual pretrain model을 쓰기에는 한국어에서 성능이 기대보다 좋지 않을 수 있다. 그래서 영어 BERT를 활용해서 한국어에서도 잘 하도록 할 수 없을까?에 대한 시도이다. 언어가 갖는 공통점을 극대화 시켜보려는 방법이다. encoder 앞뒤에 adaptation layer를 추가하고 encoder는 freeze시킨다. 새로 추가된 layer는 영어-한국어의 차이를 학습하게 되는 셈이다. 이렇게 step1이 끝나면 frozen시킨 encoder도 풀어주고 다시 한국어 문장들로 학습을 시킨다. 실험을 해보니 상대적으로 굉장히 적은 양의 한..

728x90