AI/NLP

Huggingface에 모델 포팅하기

체봄 2022. 7. 29. 18:29

 

1. Git LFS 설치

모델의 크기가 크기 때문에 대용량 업로드를 위해 Git LFS를 설치해야 한다.

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install

 

 

2. Access Token 발급

https://huggingface.co/settings/tokens 에 들어가서 토큰을 발급받아야 한다.

Role은 'write'로 선택해준다.

노란색으로 표시한 아이콘을 눌러 만들어진 토큰을 복사한다.

 

 

3. Huggingface에 업로드하기

from transformers import AutoModel
from transformers import AutoTokenizer

# Load model and tokenizer
model = AutoModel.from_pretrained('업로드할_모델_경로')
tokenizer = AutoTokenizer.from_pretrained('업로드할_모델_경로')

# Huggingface Access Token
ACCESS_TOKEN = '액세스_토큰_붙여넣기'

# Upload to Huggingface
model.push_to_hub('Huggingface_Repo_이름', use_temp_dir=True, use_auth_token=ACCESS_TOKEN)
tokenizer.push_to_hub('Huggingface_Repo_이름', use_temp_dir=True, use_auth_token=ACCESS_TOKEN)

 

https://huggingface.co/Huggingface_사용자_이름 에 들어가서 새로운 Repo에 모델이 업로드 된것을 확인한다!

 

 


 

+ Huggingface로부터 다운로드하기

from transformers import AutoModel
from transformers import AutoTokenizer

# Download model and tokenizer
model = AutoModel.from_pretrained('Huggingface_사용자_이름/Repo_이름')
tokenizer = AutoTokenizer.from_pretrained('Huggingface_사용자_이름/Repo_이름')

 

 

+ "Invalid username or password. - Invalid username or password" 등의 에러가 발생할 때

access token을 발급한 후 2달 정도 후에 동일한 access token으로 위 코드를 실행하니 잘 되던 코드가 에러가 발생했다. 

 

access token이 만료되어서 그런듯하여 새로 발급받고 코드를 실행했더니 계속 에러가 발생했다. (에러 메시지는 비슷비슷했다)

서버를 재접속하여 새로 발급받은 access token으로 코드를 실행했더니 정상적으로 업로드됐다.

access token을 새로 발급받았을 때 안됐던 이유는 아마 기존 access token의 정보가 서버의 캐시에 남아있어서 그런 듯 하다.

 


참고

반응형