머신러닝/자연어처리 11

허깅페이스 트랜스포머 NLP 클래스

1. ModelNameTask 트랜스포머는 아키텍처와 작업마다 전용 클래스를 제공한다. ModelName + For + Task 형식은 허깅페이스의 transformers 라이브러리에서 제공하는 특정한 Task에 맞춰 설계된 모델 클래스이다. 모델이름 + 작업이름을 조합한 클래스명이다. 각기 다른 자연어처리NLP 작업에 특화된 구조를 가지고 있어, 사용자는 각 작업에 적합한 모델을 쉽게 불러와서 사용할 수 있다. 1) GPT2ForCausalLM gpt2 모델을 casual language modeling 작업에 맞춰 사용한다. casual language model이란 다음에 올 단어를 예측하는 언어 생성 작업이다.from transformers import GPT2ForCausalLM model = ..

트랜스포머 모델 쉽게 설명, transformer, 인코더, 디코더, 어텐션, hidden state, context, 분류헤드, embedding, 임베딩

목차오늘은 트랜스포머 모델 쉽게 설명 시간을 갖도록 한다. 자연어처리 분야에서 트랜스포머 모델은 아주 자주 쓰이며, 자주 쓰일 수 밖에 없다. 데이터를 모으는 것도, 빅데이터를 처리하는 것도 개인으로서는 아주 힘든 일이기 때문에 전이학습의 일종인 트랜스포머 모델을 쓸 수밖에 없다. 트랜스포머 모델 쉽게 설명하여 어떤 과정으로 언어를 이해하고, 생성해내고 판별하는지 확인해보자.  1. 트랜스포머 모델 아키텍처트랜스포머 transformer를 언어를 이해하고 변환하는 로봇이라고 생각하자. 이 로봇은 두 가지 중요한 도구를 가지고 있다. 인코더와 디코더. 이 두 가지를 이용해 문장을 읽고, 이해하며, 새로운 문장으로 변환한다. 1) encoder- 로봇의 귀와 같은 역할이다. 우리가 평상시 쓰는 언어, 즉 자..

자연어처리, 트랜스포머, 허깅페이스 토큰 로그인 모델 가져오기 저장하기, 미세튜닝, AutoTokenizer, transformer, confusionmatrixdisplay, 혼동행렬 시각화, trainer, trainingArguments

목차오늘은 허깅페이스 토큰 이용하여 코랩에서 로그인하여 원하는 모델 가져오고 저장하는 것, 해당 모델 미세튜닝하여 자연어처리하는 방법에 대해 안내한다. 1. 문장 토큰화 : transformers 에서 AutoTokenizer 가져오기from transformers import AutoTokenizermodel_ckpt = "distilbert-base-uncased"tokenizer = AutoTokenizer.from_pretrained(model_ckpt)1) Auto Tokenizer- 사전 훈련된 모델에 연관된 토크나이저를 빠르게 로드하는 클래스- 다양한 모델에 대해 자동으로 올바른 토크나이저 선택해주는 유연한 클래스. - 특정 모델을 지정하면, 해당 모델에 맞는 적합한 토크나이저를 로드함 2)..

자연어처리, 트랜스포머, 구글 코랩 GPU 사용 방법, T4GPU TPUv2, cls토큰

목차1. 구글 코랩 GPU 사용 가능?torch.cuda.is_available()- jupyter 노트북에서 바로 하는 방법 발견 못함- 쉽게 그냥 코랩 이용하면 됨런타임 > 런타임 유형 변경 >T4 GPU NLP 사용 좋음- T4GPU 범용적고 파이토치, 모델 추론에 적합- TPUv2는 텐서플로 모델의 대규모 학습에 탁월하며 대형신경망 모델 훈련에 강력함- 다만 시간/용량 제한이 있음(매일갱신)   2. 텍스트 분류 모델 훈련# 텍스트 분류 모델 훈련을 위한 데이터 만들기# 머신러닝 텍스트 분류 모델은 입력 값을 숫자 벡터로 받기 때문에 내가 가진 데이터 그대로를 입력값으로 넣을 수 없음# 사전 학습된 모델을 이용해 은닉상태(임베딩)을 추출하여 그것을 입력으로 넣어야 함. 2-0 사용 모델# Auto..

허깅페이스, 트랜스포머, 자연어처리, 데이터셋로드, 문자, 단어, 토큰화, AutoTokenizer

목차1. 데이터셋 설치!pip install datasets  2. 데이터셋 살펴보기# 데이터셋 리스트from datasets import list_datasetsall_datasets = list_datasets()print(len(all_datasets)) # 몇 개?print(all_datasets[0]) # 첫 번째 데이터셋# 데이터셋 로드from datasets import load_datasetemotions = load_dataset("emotion")emotions197878amirveyseh/acronym_identificationDatasetDict({ train: Dataset({ features: ['text', 'label'], num_rows: 16..