본문 바로가기

Natural Language Processing25

[Code review] Transformers Trainer class 기능 정리 Transformers (HuggingFace) 2019 ~ 2020년. BERT 논문이 나온 이후 관련된 오픈 소스 라이브러리는 마치 춘추전국시대가 연상되었다. 유저들은 facebook, nvidia, google 등 많은 곳에서 오픈 소스를 사용했다. 하지만 결국 승리자는 HuggingFace 라고 생각한다. 본 포스팅에서는 2020년도부터 행복하게 사용해온 HuggingFace 의 Transformers 라이브러리 중 학습 Main 모듈인 Trainer Class 를 살펴보려 한다. Gihub Link Documents Link Transformers > Trainer 객체 지정 def __init__( self, model: Union[PreTrainedModel, nn.Module] = None.. 2023. 2. 17.
[논문 리뷰] Reference and Document Aware Semantic Evaluation Methods for Korean Language Summarization 들어가며,, 본 글은 "Kakao Enterprise AI Research" 블로그 글을 참고하였습니다. 논문을 읽지 않고 블로그 글로 리뷰를 했다는 점을 밝힙니다. 블로그 글 원본 링크는 다음과 같습니다. https://kakaoenterprise.github.io/deepdive/210729 텍스트 요약 모델 성능 평가를 위한 새로운 척도, RDASS를 소개합니다. 더 나은 성능의 요약 모델을 만들려면 모델로부터 자동으로 생성된 요약문을 어느 정도로 신뢰할 수 있는지 판별하기 위한 적절한 평가 방법이 있어야 합니다. 문제는 가장 보편적으로 쓰이는 kakaoenterprise.github.io 기존 요약 task 성능 지표의 한계와 RDASS의 등장 배경 요약 task에서 사용하는 성능 지표는 ROUG.. 2022. 11. 9.
[논문 리뷰] SimCSE: Simple Contrastive Learning of Sentence Embeddings 들어가며,, 비즈니스에 해당 논문 기술을 적용한다는 마인드로 논문 리뷰를 하기 때문에 논문 연구 결과 파악을 위한 리뷰와는 다소 차이가 있을 수 있음을 미리 말씀드립니다. Simple review for parper Supervised & Unsupervised SimCSE 제안 (21년 4월 발간) Unsupervised SimCSE (자체적으로 label을 만들어 줌) Positive pair: 동일한 문장 embedding layer에 동일한 문장을 넣어 drop out(p=0.1)을 통해 다른 embedding 값을 얻어줌 이러한 drop out 이 최소한의 data augmentation 이라고 함 (다른 방식 ex. 삭제, 대체, etc… 사용해 봤는데 drop out이 성능이 제일 좋았다고 .. 2022. 8. 31.
[소개] 초거대 언어 모델이란? 들어가며.. 최근 여러 대기업에서 자신들이 만든 초거대 언어 모델을 소개하며 홍보하는 걸 자주 접할 수 있다. 물론 해당 분야에 관심이 있는 사람들만 접할 수 있었겠지만 본 포스팅을 읽는 독자들은 접했으리라 믿는다. 대기업들은 왜 초거대 언어 모델을 만드는지, 왜 초거대 언어 모델이 필요한지, 초거대 언어 모델의 장점은 무엇인지 본 포스팅에서 소개하도록 하겠다. 초거대 언어 모델이란? AI라고 부르는 인공지능은 간단히 말하면 일종의 함수(y = f(x))이다. 챗봇을 예로 들면 발화자의 말이 text로 변환되어 함수의 x로 들어가 인공지능이라는 함수 내부에서 여러 계산이 이루어진다. 계산의 결과는 y로 발화자의 말에 대답하는 text가 된다. 그렇다면 왜 여러 대기업에서 파라미터가 5,000 억개, 1조.. 2022. 7. 16.
[소개] Continual Learning 이란? 들어가며.. AI 기술이 여러 산업에 적용이 되며 반복이 필요한 업무의 공수가 줄어들고 있다. 즉, RPA(Robotic Process Automation)가 필요한 industry에는 대부분의 기업이 AI 기술이 들어간 SW를 사용하고 있고 있고 꾸준한 니즈가 있다고 할 수 있다. 이때 문제가 되는 영역은 AI 모델의 노후화(⊂유지º관리)이다. AI 모델의 노후화를 어렵게 생각할 필요가 없다. 간단한 응용 예시를 들어보자. 'A' 씨는 칼럼을 정리하는 일을 하고 있다. 'A' 씨는 칼럼을 ['경제', '문화', '사회', '기타']로 분류하고 있다. 사장이 'A' 씨에게 말한다. "우리 스포츠 칼럼도 받아볼까?" 'A' 씨는 멘붕에 빠진다. '스포츠' 칼럼이 생기면 '기타' 로 분류하고 있던 칼럼을 다.. 2022. 7. 15.
[Code review] Sentence-Transformers 비교 hug/trans Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers & hug/trans 학습 방법 병합 학습 병합 유무: 불가능 학습하는 Process가 hug/trans의 Trainer class와 Sentence-Transformers의 SentenceTransformer class에서 fit 메서드와 다르기 때문. hug/trans .. 2022. 7. 8.
[Code review] Sentence-Transformers 상세 기능 Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > Loss BatchAllTripletLoss BatchHardSoftMarginTripletLoss BatchHardTripletLoss BatchSemiHardTripletLoss ContrastiveLoss 두 emb. vector 간 거리(유클리드, 코사인, 맨하탄.. 2022. 7. 8.
[Code review] Sentence-Transformers 검증 및 예측 Process Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > eval process Data read - Eval datasets format에 맞춰 read Model load - Sentence_Transformers로 학습된 모델 불러오기 - 만약 Sentence_Transformers로 학습되지 않았다면 Eval 불가능 E.. 2022. 7. 6.
[Code review] Sentence-Transformers 학습 Process Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > train process DataLoader - InputExample class 사용하여 생성 - 생성한 객체를 list로 감싼 뒤, PyTorch DataLoader에 인자로 넣어 사용 Model definition - models 폴더에서 model 구조 선택 - .. 2022. 7. 5.
[Code review] Sentence-Transformers 훑어보기: 구조 Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers 패키지 구조 📂sentence-transformers |-📂cross_encoder ## output 형태가 Classifier layer에서 나오기 때문에 STS or NLI 학습 & 검증 용으로 사용 |-📄CrossEncode.py |-📂datasets ## 학습 데이터.. 2022. 7. 4.
반응형