Toy Projects

Toy Projects

[LM] 언어모델 학습기

기존에 존재하는 GPT 언어모델을 추가로 학습할 때 달라지는 양상을 확인한 내용을 정리하고자 한다. 0. Language Model Skt GPT2 모델을 사용하였다. 모델크기는 125M로 상당히 작으며 40GB 한국어 데이터셋으로 학습되었다고 한다. 모델의 추가 pre-train 및 테스트를 위해 AI Hub의 감성 대화 말뭉치를 사용하였다. 1. 추가 pre-train 전 모델 성능 1) Perplexity 테스트셋 중 200여개 문장으로 측정하였으며, 기존 모델의 경우 40.1396으로 측정되었다. # PPL encodings = tokenizer("\n\n".join(test_ppl), return_tensors="pt") max_length = model.config.n_positions str..

Toy Projects

[연구] 분류 Class가 많을 때 Softmax 개선 방법

Language Model 등 분류해야할 class 개수가 매우 많을 때 softmax 계산에서 병목 현상이 발생할 수 있다. 이를 개선하기 위한 몇 가지 방법이 있는데 이를 정리하고자 한다. 1. 문제 정의 Huge Class 분류 문제는 크게 두 가지로 나눠볼 수 있다. single class 분류: 수 많은 class들 중 하나로 분류(ex. Language Model) multi class 분류: 수 많은 class들 중 1개 이상으로 분류 논문에 따르면 Huge Class 분류 모델을 학습 시킬 때 softmax 계산 비용이 커지고 성능이 떨어진다고 한다(출처: Effectiveness of Hierarchical Softmax in Large Scale Classification Tasks, ..

Toy Projects

[문서분류 PoC] Long Document & Class Imbalance

문서분류 task와 관련해서 진행한 내용을 정리하고자 한다. 0. Task 정의 Task는 다음과 같았다. Long Document: 길이가 긴 문서 상황에서 효과적인 모델 찾기 Class Imbalance: class 분포가 극도로 불균형한 상황에서의 성능향상 기법 1) Long Document PoC에서 다루었던 문서의 길이는 매우 긴편이었다. mecab 기준 평균 2,500 token이 넘었으며 길면 20,000 token도 넘는 문서가 있었다. 2) Class Imbalance 다루었던 문서는 총 4개의 label이 있었으며 label별 class들의 분포가 매우 불균형한 데이터였다. 1. Long Document에 대한 효과적인 모델 찾기 첫번째 task를 위해서 총 3가지 모델을 비교하였다. ..

Toy Projects

Selenium를 활용한 PAPAGO 번역 사용기

대량의 영어 데이터를 한글로 번역할 일이 있었는데 구글은 퀄리티가 떨어져 도저히 사용할 수 없었습니다. 네이버 PAPAGO를 써보니 한글은 꽤 준수하게 번역이 되어서 3만개가 넘는 문장을 PAPAGO로 번역하기로 결정했어요. PAPAGO API는 일 1만자 밖에 번역이 안되고 API 제휴 신청하기에는 1회성으로 사용하는거라 신청할 수 없는 상황이었어요. 누가 Selenium을 말해줘서 사용해봤구 성공적으로 번역을 마칠 수 있어서 사용기를 남기려 합니다. 0. Selenium이란? (참고링크) Selenium은 Webdriver를 사용하여 웹앱을 테스트할 수 있는 도구입니다. Request의 경우 단순히 정적인 HTML만 가져오는 것에 비해, Selenium은 웹브라우저 자체에서 동작하므로 Javascri..

Fine애플
'Toy Projects' 카테고리의 글 목록