Machine Learning (17) 썸네일형 리스트형 (작성중) 네이버 지식그래프 Deview 정리 지식그래프의 특징과 네이버에서의 활용 지식그래프는 데이터의 출처에 상관없이 의미단위의 엔티티로 구성되어, Semantic(의미) 특성을 가지게됨 네이버에선 지식베이스로 검색결과를 보여줄 때, 그래프 구조로 엮어있는 지식그래프 상에서 엔티티를 찾고, 엔티티와 연결된 정보를 사용자에게 제공하고 있음 지식그래프의 활용 [검색] QA, 추천 서비스 [금융] 사람 엔티티가 여러개의 신용카드를 발급받는 경우와 같은 신용 사기 탐지 [금융] 회사나 조직에서의 관계 그래프를 참고하여 진행하는 신용 등급 평가 [금융] 생산에 필요한 원재료의 공급이나 수요 간의 관계를 파악하여 사회 문제(ex.코로나) 발생 시 영향력 평가 [의학] 질병 확진자의 감염경로 파악 [커머스] 상품 추천 (ex. 아마존의 쇼핑 상품 그래프) [.. [Linux] 리눅스 기본 코드 정리 일부 리눅스 터미널에서 사용했었던 코드를 기억하기 위해 작성한 아카이브 자료입니다. 지속적으로 코드들을 업데이트해갈 예정입니다. 혹시나 검색을 통해 들어오신 분은 ctrl+f를 활용하시기 바라며, 추가적으로 궁금한 부분이 있다면 언제든 댓글에 남겨주시면 감사하겠습니다. 링크를 통한 파일 다운로드 wget [링크] tar파일 압축해제 #tra 파일 압축해제 tar -xvf [파일명.tar] #tar.gz 파일 압축해제 tar -zxvf [파일명.tar.gz] 깃허브 기본 코드 # 깃허브 브랜치 목록 확인 git branch -a # 깃허브 브랜치 생성 git branch [브랜치 이름] # 깃허브 브랜치 변경(체크아웃) git checkout [브랜치 이름] # 깃허브 업데이트 과정 # 1. 수정 내역 a.. (작성중) 멀티모달 연구의 필요성 보호되어 있는 글입니다. [NLP] Naver Search ColBERT 관련 발표 정리 ColBERT 모델 구현을 위해 다시 관련 내용을 살펴보았다. 간단하게 정리한 내용을 공유하고자 한다. 자세한 내용은 직접 발표 영상을 보는 것을 추천한다. 영상링크: https://tv.naver.com/v/23650668 ColBERT 모델 특징 Late Interaction 방식의 도입 질의와 문서 간 관계를 구하는 것을 미뤄두고 미리 문서에 대한 모든 임베딩을 미리 구축해두는 방식을 사용함. 검색 단계에서는 Maxsim 방식을 도입하여 시간복잡도를 감소시키고, 효율적으로 Retrieval 및 Ranking 과정을 진행. 기존 BERT 모델과 동급의 성능 기존의 BERT 모델에서 단순화함으로써 발생하는 성능상의 핸디캡을 기본적으로 가지고 있음. 하지만, 중요한 Term에 가중치를 부여하는 효과를 통.. [NLP] Task-Alignment Fine-Tuning(2차 파인튜닝) ODQA 프로젝트를 진행하며... 이번 프로젝트에 있어서 우리는 MRC 모델에 2차 파인튜닝을 진행하여 성능을 올렸었다. 여기서 말하는 2차 파인튜닝이란 먼저 공개적으로 구축된 대형 MRC 데이터인 KorQuad 데이터에 대해 1차적으로 파인튜닝을 진행하고, 2차적으로 우리가 구축한 도메인 특화 QA 데이터를 이용하여 2차 파인튜닝을 진행하였다. 하지만, 이는 우리의 아이디어를 기반으로 진행된 방법이라, 검증되지 않은 방법을 시도하여 성능을 올린 것이나 마찬가지였다. 특히, F1, EM(Exact Match) 두 성능 중 하나만 올랐었기 때문에 이 방식이 우수하다고 증명할만한 충분한 관련 근거가 존재하지 않았다. 뒷받침할 논문을 찾다가, 아래와 같이 'Fine-tuning Strategies for Do.. [NLP] ColBERT 논문 살펴보기 ColBERT 모델 성능 MRR@10 기준 BM25 및 다른 딥러닝 기반 IR 모델에 비해 높은 성능을 자랑 colbertv2 버전은 여기서 Hard negateve mining 및 Distillation from a cross-encoder를 적용하여 성능을 더 끌어올려서 SOTA를 달성했다고 함 ColBERT 모델 Retrieval 구조 BERT와 같은 딥러닝 모델을 활용하여 효율적이면서도, 성능이 좋은 Retrieval 모델을 생성하는 것이 목표 기존 BERT 모델의 경우 입력에 Query와 Document가 하나의 단일 인풋으로 전달됨 모든 (쿼리 종류)*(Document 종류)에 해당하는 모든 경우의 수에 대해 모델 아웃풋 결과값을 얻어야하는 구조 ColBERT 모델의 경우, 구조상 단일 Que.. [NLP] Siamense Network를 이용한 Sentence Bert (S-BERT) BERT를 Similarity Search에 활용하기 clustering 및 similarity search에 활용하기 위해, 두문장(query, answer)을 토큰을 이용하여 이어붙여서 BERT 모델을 통과하여 CLS 토큰 출력값을 기반으로 문장의 유사성을 찾을 수 있음 하지만, 이런 방식의 경우 모든 sentence pair에 대해서 출력을 진행해야 하기 때문에, 연산시간에 있어서 한계가 명확하고 성능도 좋지 못함 (ex. 10000개의 sentence에서 유사한 후보군을 조사하는데에 65시간이 걸림) Sentence-Bert의 차별점 siamense 네트워크와 triplet 네트워크를 활용한 BERT의 변형 버전에 해당 Tf-idf와 같은 sparse embedding류와는 달리 semantica.. [NLP] 트랜스포머 모델에 커스텀 데이터에 대한 MLM 학습 진행하기 * 가볍게 진행해본 내용으로, 자세한 내용은 아래 참고문헌을 참고해주세요 Langauge 모델 Pretraining 트랜스포머 Language 모델은 기본적으로 두가지 학습을 통해 Pretrained 모델을 생성한다. 바로, MLM(Masked Language Modeling)과 NSP(Next Sentence Prediction)을 통해 언어모델을 생성한다. 이미 많은 논문들에서 밝혀졌지만, NSP보다는 MLM이 트랜스포머 모델의 성능 향상에 주요한 영향을 끼친다고 얘기하고 있다. 관련 코드 실행 그럼 이미 Pretrained된 모델에 추가로, Custom 데이터에 MLM 학습을 진행할 수 있을까? Huggingface 라이브러리를 활용하면 간단하게 진행해볼 수 있다. 허깅페이스 라이브러리 깃허브를 c.. 이전 1 2 3 다음