Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 체스트프레스
- 운동
- Knowledge Tracing
- PT 운동
- 하체운동
- 논문 리뷰
- 개인 PT
- 데드리프트
- 다이어트
- 코테 공부
- 코드
- 개인 피티
- 영화 비평
- 코테준비
- 연구 시작
- pytorch
- 바프준비
- github
- 암풀다운
- 디버깅
- 개인 운동
- 프로그래머스
- 티스토리챌린지
- 개발자
- 오블완
- 덤벨운동
- 코딩테스트
- 라섹 수술 후기
- 건강
- 바디프로필
Archives
- Today
- Total
치즈의 AI 녹이기
Huggingface Bert 모델 커스터마이징 하기 본문
오늘은 Transformers 라이브러리에서 제공하는 pre-trained model들을 가져와
내맘대로 커스터마이징하는 방법을 소개합니다.
HuggingFace란, 자연어처리(NLP) 분야에서 유명한 오픈소스 커뮤니티입니다.
특히 이곳에서 구축한 Transformers 라이브러리는 BERT, RoBERTa, GPT-2 or DistilBERT 등의 여러 NLP 모델들을 단순한 코드로도 실행할 수 있도록 만들었습니다.
아래 링크에서 Transformers 라이브러리에 구현된 모델들 코드를 확인할 수 있습니다.
https://github.com/huggingface/transformers/tree/master/src/transformers/models
저는 Roberta 모델 코드를 가져와 커스터마이징하는 코드를 가져왔습니다.
아래는 동료가 위 코드를 그대로 복사한 후 그 위에서 수정한 코드입니다.
차이점이라고 볼 수 있는 부분은
- __init__함수에서 config 인자 말고도 freeze_encoder라는 인자를 추가하여 원할 때마다 모델 파라미터를 freeze할 수 있도록 만들었습니다.
- nn.BatchNorm1d라는 클래스를 하나 추가하였습니다. 기존 forward 함수에서 define된 내용과 달리, 도출된 sequence_output값에 다시 nn.BatchNorm1d(self.batch_m)를 통과하여 self.classifier의 인풋으로 넣어주었습니다.
코드 출처는 앞선 글에서 언급하였습니다.
'인공지능 대학원생의 생활 > 동료 코드 따라잡기' 카테고리의 다른 글
kwargs 이용해서 효율적으로 인자 관리하기 (0) | 2022.09.19 |
---|---|
state_dict()로 best 모델 저장 및 불러오기 (0) | 2021.07.19 |
nn.DataParallel 사용하기 (0) | 2021.07.16 |
nn.Embedding sparse 파라미터 (0) | 2021.06.25 |
동료 코드 따라잡기_시작하며 (0) | 2021.06.25 |