Competition?주어진 데이터를 이용해 원하는 결과를 만들기 윈한 가장 좋은 방법을 찾는 것Competition Detailoverview문제 정의data descriptionnotebooksubmission & leaderboarddiscussion등수보다 문제
Data FeedingFeed? → 대상의 상태를 고려해서 적정한 양을 준다.torch.utils.data \- Dataset \- 기본 구조Model시스템의 informative representationModel with Pytorchlow-lev
LossLoss 함수 = Cost 함수 = Error 함수loss.backward() : 모델의 파라미터의 grad 값이 업데이트다양한 Loss 함수 (Focal loss, Label Smoothing Loss ...)Optimizer어느 방향으로, 얼마나 움직일지?
Jupyter notebook —> VS Code + 서버 로 환경 변경Resnet 18로 하이퍼 파라미터 튜닝주어진 Baseline 코드 분석강의를 모두 듣고, 나만의 baseline 코드를 jupyter로 작성해보았다. 같은 팀원분들이나 예시 코드들을 참고하였지만
Resnet 50, Efficient Net b0, b3 로 실험Data Augmentation 시도 (torchvision.transforms , Albumentations)Custom Dataset으로 실험Resnet 50과 Efficient Net b3 Cross
인공지능인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템자연어처리인간컴퓨터응용분야단어 임베딩분류를 위해선 데이터를 수학적으로 표현 (그래프 위에 표현 → 대상들의 경계를 나눌 수 있음)feature extraction, classific
BERT 모델 소개모델 구조데이터 tokenizingWordPiece tokenizing 사용2개의 token sequence가 학습에 사용Masked Language Model BERT 응용감정분석 (단일 문장 분류)관계 추출 (단일 문장 분류)의미 비교 (두 문장
KLUE 데이터셋한국어 자연어 이해 벤치마크자연어 task 유형문장 분류관계 추출문장 유사도자연어 추론개체명 인식품사 태깅질의 응답목적형 대화의존 구문 분석 (단어들 사이의 관계를 분석하는 task)단일 문장 분류 task감정 분석주제 라벨링언어감지의도 분류문장 분류를
한국어 전처리 연습개인정보 관련 문제적절한 비밀번호인지 검증욕설 삐처리하기개인정보 마스킹크롤링된 문서 전처리데이터 분석코퍼스 EDATokenizer 비교 (음절, 형태소, WordPiece)Huggingface hub에 모델 공유No_relation 라벨을 언더샘플링
GPT 모델 구조Transformer의 Decoder 부분만 사용GPT 모델 특징적은 데이터로도 높은 분류 성능다양한 자연어 task에서 SOTA 달성Pre-train 언어 모델의 새 지평을 열음 (BERT의 밑거름)여전히, 지도 학습 필요, labeled data가
BERT 이후 다양한 LMXLNetRelative Positional Encoding Positional Encoding → token 간 관계성 표현BERT처럼 절대적 위치를 표현하는 것이 아닌, 현재 token의 상대적 거리 표현법 사용Sequence 길이 제한
데이터 EDA 관련sentence 추출시에 큰 따옴표로 랩핑된 문장도 있고, 없는 문장도 있다.. → 인용문으로 생각할 수 있어서 제거 필요 (eval 함수 사용)sentence 중에 큰 따옴표가 연속으로 나오는 경우가 있음 (””” 이런식으로..) → 수정하고 실험시
하이퍼 파라미터 searchhuggingface의 optuna 시도epoch, learning rate, batch size, wramup-ratio 튜닝리더보드에 크게 신경은 쓰지 않았지만, 어떤 문제점이 있는지 알려주시기 위해 멘토링 진행, 다음과 같은 문제점 발견
질문형 문장obj, sub이 아닌 ‘스페셜 토큰 실험 (질문형 문장, 원본 문장)원본 문장만 > 둘다 안넣음 > 둘다 넣음 >>> 질문형 문장으로 성능이 나옴원본 문장에만 넣는 것이 가장 좋은 성능질문형 문장에만 넣을 경우 성능이 상당히 많이 떨어졌다 → 모델이 질문
ensemble을 위해 지금까지 실험했던 결과 정리ensemble오늘 7시까지 대회가 진행된다. 마지막 날은 따로 실험하기 보다 지금까지 실험했던 결과들을 이용해서 ensemble을 시도했다.먼저, f1 score가 높았던 모델들을 위주로 ensemble을 해보았다.
huggingface 자유롭게 사용하기huggingface를 이용하여 원하는 pre-trained 모델을 불러와 사용할 수 있으며, TrainingArgument와 Trainer를 자유롭게 사용할 수 있다.NLP 대회의 감을 잡기대회의 전반적인 흐름과 실험을 할 때 어
✏️학습 정리 1. 데이터 제작의 A to Z 데이터 제작의 중요성 데이터 구축 과정 원시 데이터 선정 및 확보 구축 및 가공 프로세스 확립 구축 및 가공 지침 작성 데이터 구축 및 가공 데이터 검수 데이터 설계 데이터
질의응답 QASQuAD (위키피디아 기반)SQuAD 1.0SQuAD 2.0기계 번역 Machine TranslationWMT 데이터셋요약 Text SummarizationCNN/Daily Mail대화 Dialogue \- DSTC (Dialog System Tec
가이드라인 유형목적수집, 주석, 검수제시문서형, 화면 노출형, 튜토리얼형가이드라인 구성 요소데이터 구축 목적 정의데이터 구축시 고려 사항사용 용어 정리가이드라인 버전 관리구축과 검수 과정을 통해 지속적으로 개정되어야 함버전마다 어떻게 변화했는지 비교하여 볼 수 있도록
Entity 정리PER: 인물SYS: 무언갈 다루는 체계, 관념, 단체 모두를 뜻함(종교, 학문, 기관, 민족, 국가, 문화, 직업)DAT: 날짜LOC: 장소(GPS로 찍을 수 있는 특정 장소)POH: 기타 명사(작품, 저작물, 기물, ORG로 생성된 실체가 있는 것)
헷갈리는 관계들 정리<<>>와 같은 것은 제외하고 태깅이름(~) → 하나로 태깅Tagtog json 파일에서 → 구글 스프레드시트 코드 공유관계별 분포 확인fleiss-Kappa 결과 공유파일럿 태깅tagtog → 구글 스프레드시트 변환메인 태깅팀원들에게 이
직접 RE 태스크에서 사용할 데이터를 제작해보기팀 내부적으로 데이터 가이드를 만들고 이를 바탕으로 한 레이블링을 함께 진행한다.Relation set의 구성 및 정의, 가이드라인 작성, 파일럿 및 메인 어노테이션, 그리고 간단한 모델 Fine-tuning의 과정을 통해
MRC (Machine Reading Comprehension)기계 독해주어진 지문을 이해하고, 주어진 질의의 답변을 추론하는 문제MRC 종류Extractive Answer Datasets질의에 대한 답이 항상 주어진 지문의 segment(or span)으로 존재Des
Generation-based MRC주어진 지문과 질의를 보고, 답변을 생성 (생성 문제)평가 방법EM, f1 Score (Extraction-based MRC와 동일한 방법)모델 구조Seq-to-seq PLM 구조Prediction 형태Free-form text 형태
Sparse embedding의 한계차원의 수가 매우 크다 → compressed format으로 극복 가능유사성을 고려하지 못함Dense Embedding더 작은 차원의 고밀도 벡터 (length = 50~1000)각 차원이 특정 term에 대응되지 않음대부분의 요소
CHoRaL: Collecting Humor Reaction Labels from Millions of SocialMedia Users 논문 리뷰최종 프로젝트 관련 조사베이스라인 수정 및 실험 (하이퍼 파라미터 위주로)강의 1~7강 수강삶의 지도, 이력서 작성빠르게 베
Bias 종류학습에서 Biasinductive bias (학습할 때 특정 형태의 함수를 선호)현실에서 Biashistorical bias (현실이 편향되어 모델에 원치 않는 속성이 학습)co-occurrence bias (표면적인 상관관계 때문에 원치 않는 속성이 학습
Closed-book Question Answering이미 pre-train으로 대량의 지식을 학습했다면, pre-trained model 자체가 하나의 knowledge storage라고 해석가능사전학습 시 전혀 본 적없는 Natural Question 데이터셋에 어
Retriever-Reader의 한계5-10개의 문서만 reader에게 전달 (Error Propagation)query에 따라 정답이 되는 answer span에 대한 encoding이 달라짐 (Query-dependent encoding)Retrieve-Read 두
Generation based MRC 구현, BM25 구현, Elastic Search 구현, 하이퍼 파라미터 튜닝Open Domain Question Answering task를 완벽하게 이해하기체계적인 실험관리 하기다양한 실험해보기Hyperparameter Tuni
https://velog.io/@kangmin/부스트캠프-AI-Tech-5주차-Day-1MLOpsML (Machine Learning) + Ops (Operations)머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정모델링에 집중할 수 있도
Model Serving BasicProduction(Real World) 환경에 모델을 사용할 수 있도록 배포머신러닝 모델을 개발하고, 현실 세계에서 사용할 수 있게 만드는 행위input이 제공되면 모델이 output을 반환방법Batch ServingOnline Se
Notebook 베이스 프로토타입 만들기모델 개발 후, 사람들과 테스트할 프로토타입 필요웹 서비스를 만드는 것은 시간이 많이 소요이런 경우 활용할 수 있는 도구: VoilaVoila본래 목적: 대시보드R의 Shiny, 파이썬의 Dash와 유사한 도구대시보드는 다양한 도
Python 프로토타입 도구 비교 (By zzsza) Streamlit장점파이썬 스크립트 코드를 조금만 수정하면 웹을 띄울 수 있음백엔드 개발이나 HTTP 요청을 구현하지 않아도 됨다양한 Component 제공해 대시보드 UI 구성 가능Streamlit Cloud도
Part 1.1 ~ Part 2.3 강의 듣기최종 프로젝트 리뷰 데이터 조사크롤링 코드 작성최종 프로젝트 관련해서 팀원들과 빠르게 공유하고 데이터 조사를 마무리한 점크롤링 코드를 적극적으로 작성한 점강의는 열심히 들었지만 강의에서 나오는 실습 및 스페셜 미션을 제대로
기존 웹, 앱 서비스자신의 컴퓨터로 서비스를 만듦이런 경우 자신의 컴퓨터가 종료되면 웹, 앱 서비스도 종료 → 서버실 직접 운영서버실 운영시 확장이 쉽지 않음—> 불편함을 해소하고자 Cloud 서비스 점점 발전Cloud 서비스Computing Service (Serve
Server의 형태Monolithic Architecture하나의 큰 서버에서 모두 처리하는 경우Microservice Architecture (MSA)개별 서버로 구성하고 서로 통신하도록 하는 경우REST API하나의 서버도 여러 API를 가지고 있음REST API
Event Handler이벤트가 발생했을 때, 그 처리를 담당하는 함수FastAPI에선 App이 실행할 때, 종료될 때 특정 함수를 실행할 수 있음API Router큰 애플리케이션들에서 많이 사용되는 기능API Endpoint를 정의예제 프로젝트 구조 Error
Event Handler이벤트가 발생했을 때, 그 처리를 담당하는 함수FastAPI에선 App이 실행할 때, 종료될 때 특정 함수를 실행할 수 있음API Router큰 애플리케이션들에서 많이 사용되는 기능API Endpoint를 정의예제 프로젝트 구조 Error
Part 2.4 ~ 3.1 강의 듣기크롤링 코드 작성 완료데이터 EDA논문 읽기크롤링 코드의 문제점을 파악해서 수정하고 마무리한 점크롤링 코드를 최적화하여 팀원들에게 공유하고 체계적으로 데이터 수집을 진행한 점강의를 꾸준히 들은 점강의를 많이 듣지 못했다.논문을 전부
IntroductionFastAPI로 직접 머신러닝 서버 개발 → 1, 2개의 모델을 만들 때는 가능but, 30~50개의 모델을 만들어야 한다면?? → 반복되는 작업 존재 and Serving도 어렵다.Serving에 특화된 라이브러리를 원하게 됨BentoMLServ
Batch Process예약된 시간에 실행되는 프로세스 (1회성도 가능하고 주기적 실행도 가능)필요한 이유모델을 주기적으로 학습시켜야 하는 경우 (Continuous Training)Batch Serving이 필요한 경우기존 방법Linux Crontab크론 표현식 사용
디자인 패턴문제를 해결하는 방법을 패턴화해서 표현반복적으로 발생하는 문제를 어떻게 해결할지에 대한 솔루션Anti 패턴: 좋지 않은 패턴머신러닝 디자인 패턴일반적인 개발 디자인 패턴에도 포함할 수 있지만, 머신러닝의 특수성으로 별도의 디자인 패턴이 생김머신러닝 개발의 특
Part 3.2 ~3.5 강의 듣기데이터 유사도 작업 (Glove, Sentence BERT)KoGPT2 학습 및 하이퍼파라미터 튜닝데이터 유사도 작업을 다양하게 시도한 점KoGPT 학습과 하이퍼파라미터 튜닝을 직접 시도한 점python lightning으로 짜여진 K
크롤링 코드 작성, 데이터 EDA, 텍스트 유사도 분석(Glove, SBERT)데이터 수집, 모델링, 서빙을 모두 체험할 수 있는 프로젝트 경험실제 비지니스에서 사용되는 데이터를 직접 수집하고 사용하면서 실무와 가까운 프로젝트 경험크롤링공개된 리뷰 데이터를 확보하려고