본문 바로가기

Machine Learning

(17)
[NLP] MRC(ODQA) 태스크 관련 지표 본 내용은 부스트캠프 오피스아워에서 진행되었던 내용을 정리하여 재가공한 내용입니다. 1.Exact Match(EM) 모델의 예측과 실제 답이 정확하게 일치할 경우에만 점수를 부여 일치할 경우 0, 일치하지 않을 경우 1로 표현 이분법적인 방식의 점수지표. 정확한 답을 얻어야하는 것을 최우선 목표로하는 태스크의 경우 괜찮지만, 그런 태스크가 아닌이상 부분점수를 반영하지 않아 적합하지 않은 지표일 수 있음 2. Precision@K 모델에서 1로 예측한 것 중에 실제 1이 얼마나 있는지의 비율 내가 추천한 아이템 K개 중 실제 사용자가 관심있는 아이템의 비율 단순히 텍스트 단어 하나를 맞추는 것이 아닌 구나 문장을 맞춰야할 때 적합한 Metric으로 생각됨. 예측한 답의 단어 구성 중 몇 개의 단어가 실제 ..
[MLOps] MLflow 기본 실행 코드 0. MLflow 정의 머신러닝의 라이프사이클을 관리해주는 MLOps 도구에 해당. 모델 학습 기록, 모델 환경 관리, 모델 배포 지원, 다양한 모델 버전 관리 등의 기능을 제공하고 있음. 1. MLflow에서 생성하는 Experiment 단위 어떤 문제를 해결하고자 하는가에 따라 구분. WandB에서의 Project 단위와 유사 experiment 생성 : mlflow.create_experiment(동일한 이름에 대해 한번만생성 가능, 다시 동일한 코드로 실행시 에러 발생) 기존 experiement를 활성화 : mlflow.set_experiment() 2. MLflow에서 생성하는 Run 단위 하나의 experiment, 즉 하나의 Experiment 내에서 이뤄지는 다양한 실험에 해당. Wand..
[Knowledge Graph] ‘우크라이나-러시아 전쟁’ 지식그래프 시각화 결과 및 총평 본내용은 부스트캠프 3기 RE 데이터 구축 프로젝트를 진행하면서 작성된 내용입니다. 관련 프로젝트 내용은 아래 깃허브 링크에서 활용하실 수 있습니다. https://github.com/boostcampaitech3/level2-data-annotation_nlp-level2-nlp-09 0. 지식그래프 전체 결과 다양한 연결관계를 가진 지식그래프 전체 모습 1. 우크라이나 - 러시아 관계에서의 적대국가와 우호국가들 ’러시아’, ‘우크라이나’와 ‘org_friendly’ 관계와 ‘org_hostile’ 관계를 맺고 있는 ‘ORG’ 타입의 엔티티들 2. 우크라이나와 러시아가 보유한 다양한 자산들(무기, 병력, 시설) ‘우크라이나’ 또는 ‘러시아’ ‘ORG’ 엔티티와 ‘org_property’를 가지고 있는 ..
[Knowledge Graph] 지식그래프 구축을 위한 사전지식 본내용은 부스트캠프 3기 RE 데이터 구축 프로젝트를 진행하면서 작성한 내용입니다. 관련 프로젝트 내용은 아래 깃허브 링크에서 활용하실 수 있습니다. https://github.com/boostcampaitech3/level2-data-annotation_nlp-level2-nlp-09 용어에 대한 정의 지식그래프 지식그래프란 관련 있는 정보들을 엣지와 노드로 표현한 지식구조로 표현한 것이다. 노드는 객체(ex. 인물 지역 등)를 표현하며, 엣지는 객체들 간의 관계(ex.가족 관계, 직업)를 나타낸다. 정보를 일반적인 지식그래프의 형태로 저장하면 연관성 높은 정보들을 쉽게 확인할 수 있기 때문에, 사용자에게 더욱 풍부한 정보를 제공할 수 있다. 그래프 DB 그래프 데이터베이스는 행과 열을 가지는 표 형식..
Huggingface에서 AMP를 적용하는 방법 16비트와 32비트 일반적으로 딥러닝 모델을 실행할 때 사용하는 숫자의 형태는 32비트이다. 이는, 2^32 = 4,294,967,296 가지의 숫자 정보를 표현할 수 있다는 뜻이다. 하지만, 이렇게 세세하게 표현할 수 있는 만큼 단점이 있다. 바로 연산의 속도가 늦어진다는 점이다. 모델 및 데이터 크기 또는 하드웨어 사양에 따라 천차만별이긴 하지만, 일반적으로 랩실이나 코랩에서 돌리는 GPU를 기준으로 bert-base와 같은 가벼운 모델로 텍스트 데이터를 학습하면 최소 30분은 소요된다. 그렇다면 한번쯤 이런 생각을 해볼 수 있을 것이다. 그렇다면 16비트로 돌려볼 수 있지 않을까?와 같은 생각 말이다. 그러면 좀 더 빠른 연산을 통해 시간을 절약할 수 있지 않을까 생각이 들것이다. 하지만, 반대로 ..
2022 국제인공지능대전(AI 엑스포) 방문기 오늘 국내 최대규모의 AI 전시회인 국제인공지능대전을 네이버 부스트캠프 NLP 트랙 팀원들과 함께 다녀왔습니다. 인공지능이 어떻게 다양한 산업에서 적용되고 있으며, 연구되고 있는지를 실감하고자 방문하였습니다. 국제 인공지능은 국내 AI산업이 빠르게 성장함에 따라, 관련 기업 및 산업체들이 참여하여, 개발중이거나 현재 사업을 진행중인 다양한 인공지능 기술들을 전시하고 있습니다. 올해의 경우, 약 3일간 개최되었으며, 금요일 하루는 퍼블릭데이로 일반 기업체 사람들 뿐만 아니라, 일반인들에게도 오픈이 되었습니다. 약 350개의 기업체들이 참여하였으며, 네이버 클라우드, NHN Cloud, 메가존클라우드 등 주요 클라우드 기업들이 스폰서로 행사에 참여하였습니다. 입장료의 경우 10000원이며, 올해의 경우 1주..
BERTAdam 옵티마이저의 진실 BERT 모델의 적용사례를 찾다보면, 한번씩 발견할 수 있는 신기한 옵티마이저가 있습니다. 이름하여, BertAdam입니다. Adam인데, BERT 모델의 적용에 최적화된 Adam 옵티마이저로 알려져 있습니다. NLP 모델의 옵티마이저들의 옵션들을 고려하다보면, 한번쯤 성능 향상의 기대를 안고 사용해보고 싶어집니다. 실제로 이 옵티마이저는 Google팀이 BERT(Devlin et al., 2019) 논문에서 실험할 때 사용했던 옵티마이저입니다. 비록 이전에 한번도 사용되지 않았으며, 검증이 완료되지 않은 상태였지만, BERT와 같이 유명한 논문에서 사용되면서 급속도로 확산되기 시작하였습니다. Huggingface와 같은 오픈 라이브러리에서 BERT 모델 학습과정에서 필연적으로 사용되기 시작하였으며, 타..
[Multimodal] UniVL모델에서 사용된 MIL-NCE Loss MIL-NCE Loss의 발견 UniVL(A Unified Video and Language Pre-Training Model) 모델 코드를 들여다보면, 일반적으로 많이 알려진 Cross Entropy, LabelSmoother, Focal 로스와 같이 일반적으로 사용되는 Loss와는 다른 MIL-NCE Loss가 사용되고 있음을 알 수 있다. UniVL: A Unified Video and Language Pre-Training Model for Multimodal Understanding and Generation With the recent success of the pre-training technique for NLP and image-linguistic tasks, some video-ling..