일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래밍
- DFS
- 프로그래머스
- 딥러닝
- CSS
- 구글 킥스타트
- AI
- linux
- 킥스타트
- 그래프
- OS
- nlp
- 동적프로그래밍
- 알고리즘
- kick start
- google coding competition
- 브루트포스
- BFS
- 네트워크
- 파이썬
- 동적 프로그래밍
- PYTHON
- 운영체제
- 순열
- 코딩 테스트
- 코딩테스트
- 백준
- dp
- 리눅스
- 코딩
- Today
- Total
목록Transformers (2)
오뚝이개발자
허깅페이스를 사용하다보면 이미 만들어진 모델을 불러와서 inference만 하고자 하는 때가 있다. 가령 이미 학습된 NER 모델을 불러와 데이터 처리를 한다거나, Summarization 모델을 불러와서 필요한 문서에 대한 summarization을 수행하려고 하는 경우가 그러하다. 보통 이런 때엔 허깅페이스의 pipeline 기능을 사용한다. 그런데 처리하고자 하는 데이터가 대용량인 경우 시간이 오래 걸리는 경우가 많다. 이런 때 GPU를 사용해 model infernece를 돌리는 방법에 대해 소개한다. 참고로 이 방법은 실험을 하면서 내가 필요했던 기능인데 구글 검색을 통해 찾아봐도 나오지 않아서 ...ㅜㅜ 혼자 공식문서를 읽어서 파악하고 직접 실험을 돌리며 알아낸 것이다....! from tra..
허깅페이스의 transformers 패키지를 사용할 때 custom loss로 최적화를 해야하는 경우가 있다. 이럴 땐 Trainer클래스를 상속받아 새로운 CustomTrainer 클래스를 만들고 그 안의 compute_loss 함수를 새로 작성해주면 된다. from torch import nn from transformers import Trainer class CustomTrainer(Trainer): def compute_loss(self, model, inputs, return_outputs=False): labels = inputs.get("labels") # forward pass outputs = model(**inputs) logits = outputs.get("logits") # com..