기본 콘텐츠로 건너뛰기
인공지능, AI, NLP, 논문 리뷰, Natural Language, Leetcode
HuggingFace 모델 manually 다운로드
- NLP에서 Transformer 기반들의 모델들이 최근 대세를 이루고 있는데..
- 내 기억의 시작은 다음과 같다.
- BERT와 같이 구글에서 만드는 것은 텐서플로우 버전으로 제공된다.
- 근데 이때만 해도 TF 1점대 버전은 사용하기 불편한 점이 있고 코드를 정해진 downstream task는 매뉴얼대로 사용하면 되지만..
- 자유자재로 손쉽게 사용하기에는 pytorch에 비해 뭔가 부족한 면이 있었다.
- 이 때 해성같이 등장한 huggingface가 파이토치 버전으로 컨버팅해주면서 급인기를 끌었다.
- 그 이후에 많은 관심이 쏠리면서, BERT 뿐만 아니라 Transformer 기반의 모든 모델을 컨버팅해서 올려주기 시작했다.
- 그러면서 유명한 논문들 뿐 아니라, 개인 모델?(예로 한국어BERT, Transformer기반 모델들)들도 converting 해주는 스크립까지 제공해주기까지 한다.
- 이 외에도 많은 기능들을 제공해주면서 손쉽게 pretrained 모델들을 사용하기에 엄청난 일조를 했다고 생각이든다.
- 어쨌든, 근데 회사 보안이라든지, 개인적인 이유로 가끔식 모델을 매뉴얼하게 저장해야하는 경우가 있었다.
- 대표적으로 2가지 방법이 있을 것 같은데..
- 1) 오픈된 장소인 colab에서 huggingface 말대로 모델을 부르고
- model.save_pretrained(save_path)
- tokenizer.save_pretrained(save_path)
- 로해서 save_path에 모델을 저장하는 법으로 다음과 같이 저장이 된다.

- 이것을 압축해서 구글드라이브 및 로컬장소로 다운받으면 된다.
- 2) 직접 url을 통해서 다운 받기
- 이 방법에 대해 스크립을 찾지는 못했으나 이것저것 정보를 짜집기하여 다음과 같이 결론을 내렸다.
- https://huggingface.co/transformers/_modules/index.html
- 위 사이트를 가면 여러가지 모델들이 있다.
- 다운받고 싶은 모델의 configuration을 클릭한다.
- openai-gpt을 예로 들면, 다음과 같은 주소가 있다.
- "openai-gpt": "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-config.json"
- json은 위 url대로 다운받을 수 있고 모델을 부르기 위해 다른 파일들은 다음과 같이 다운 받을 수 있다.
- https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-pytorch_model.bin
- https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt
- https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json
- 즉 맨 뒷 부분만 바꾸면 다운이 된다.
- 이렇게 매뉴얼하게 받은 모델을 사용할 때는 다음과 같이 사용하면 된다.
- model = OpenAIGPTModel.from_pretrained('저장한 모델 path')
- tokenizer = OpenAIGPTTokenizer.from_pretrained('저장한 모델 path')
댓글
댓글 쓰기