본문 바로가기

🥾 프로젝트/(STEP)파이썬을 활용한 인공지능 자연어 처리

7-2회차) 자연어 처리를 위한 BERT 모델

2. BERT 모델감성분석

1) 학습 및 평가 데이터 세트

 (1) 데이터 세트 준비

- strafify : target에는 0,1이 있는데, 한쪽으로 치우치지 않게 해주는 것(0에서 80% 1에서 80%)

- train data에서 train과 val 또 나눔.

 

 (2) 데이터 세트 클래스 정의

- overriding을 통해 재정의.

 

2) Pre-trained 모델 다운로드 및 Fine-tunning 설정

(1) Pre-trained Tokenizer 다운로드

 

- 데이터 보기 전에, 토크나이저를 지정 함.

- 우리가 다운 받은 모델과 호환되는 것을 해야 함.

- 보통은 모델 다운 받은 곳에 토크나이저를 제공함.

- 우리는 bert-base-uncased 사용 (작은 모델을 사용, 대소문자 구분 x)

- bert-large-uncased (이거는 큰 모델 24layer)

- tolist( ) : 시퀀스를 리스트로 변환

 

(2) Pre-trained 모델 다운로드

(3) Fine-Tuning 설정

- 스스로 필요한 튜닝 작업

- 그럼 번호와 pooler 아는 방법은?

- 아키테처 구조를 아는 것 출력을 해서, 그거에 맞춰서 학습 전략 수립

 

3) 모델 학습 및 평가

 (1) Training을 위한 하이퍼 파라미터 설정

- watmup_steps : 초반에는 learning rate 증가폭 크게하지만, 나중에는 줄임. 그것을 지정해주는 것

- :weight_decay :  가중치가 지나치게 커지는 것을 방지(비율로 지정)

- save_stratehy : 어떤 단계에서 저장할꺼냐?

- evalution_strategy : 평가는 steps단위로 하겠다

 

 (2) Evaluation을 위한 Test 데이터 세트 준비 및 파라미터 설정

- do_predict = True는 예측 수행

 

 (3) Evaluation을 위한 Predict 수행

- 실제 사용할 trainer 객체 생성함.

- 여기 모델은 fine-tuning한 모델을 넣으면 된다.