Data/Information

Hugging Face, Hub와 Repository 활용

neulvo 2022. 2. 22. 23:35
 

Sharing models and tokenizers - Hugging Face Course

In the steps below, we’ll take a look at the easiest ways to share pretrained models to the 🤗 Hub. There are tools and utilities available that make it simple to share and update models directly on the Hub, which we will explore below. We encourage al

huggingface.co

위 링크, Course 4의 Sharing pretrained models의 내용 요약입니다.

 

노트북 환경에서 notebook_login()을 통해 계정 연동을 한다. (계정이 없을 경우, 사이트에서 생성)

계정의 Settings 창으로 가서

Access Tokens에서 토큰을 만들어준 후, 위의 빈 칸에 붙여넣기해준다.

 

push_to_hub 옵션을 사용하면 Train 과정에서 모델을 저장될 때마다 upload해준다.

 

모델을 정의하고 빌드해줄 때 push_to_hub("모델명")으로 하면 모델이 만들어지면서 허브로 push된다.

Repository를 먼저 만들고 push한 게 아니기 때문에 오류 메시지가 뜬 것 같다.

 

Hugging Face Hub에 이렇게 모델이 업로드된 것을 확인할 수 있다.

 

token을 생성하면서 허브에 올릴 수 있다.

use_auth_token 옵션을 사용하면 특정한 토큰을 쓸 수 있다는데 당장은 오류가 나서 하지 않았다.

 

tokenizer에 해당하는 파일들이 생긴 것을 확인할 수 있다.

여기에서는 따로 training을 하지 않아서

Model card도 비어있고(training 시 자동 생성)

training이나 eval에 해당하는 파일들도 없다.

 

그래도 이렇게 inference API는 사용할 수 있는데

Train이 되지 않아서 보시다시피 별 소용이 없다.

 

train 후에는

push_to_end 함수를 써줘야 한다고 첨부된 영상에서는 설명하고 있다.

첫째로, 업로드 된 것이 final version임을 확인시키기 위해서

둘째로, push_to_end 후에 model card를 자동으로 생성하기 때문에

위와 같은 함수를 쓴다고 한다.

model card는 read_me 파일로 Create Model Card를 통해 직접 써주어도 된다.

 

Huggingface_hub 라이브러리에서 사용할 수 있는 패키지들

 

바로 push하면서 레포를 만들지 않고 레포를 이렇게 따로 만들 수도 있다.

 

오른쪽 Account 버튼의 New Model 탭을 사용해 웹에서 레포지토리를 만들 수도 있다.

 

마지막으로, 위의 path_to_file에 로컬 config파일의 path를 집어넣고

repo_id에 원격 repository경로를 씀으로써 파일을 올릴 수 있다. (최대 5GB)

 

5GB이상을 upload하려면 Git 명령어를 활용해야 한다.

그 중 notebook에서 활용할 수 있는 코드를 살펴보자면,

위의 코드에서 처럼 Repository 패키지를 활용해 repo를 지정하고 git을 활용해

pull, add, commit, push로 파일을 내려받고 업데이트할 수 있다.

 

Repository를 지우는 것은

이렇게 delete_repo 패키지를 쓰거나,

이렇게 웹에서 지우면 된다.

728x90

'Data > Information' 카테고리의 다른 글

Hugging Face, Token classification  (0) 2022.03.16
Huggig Face, Tokenizers  (0) 2022.02.25
Hugging Face, Datasets  (0) 2022.02.24
Hugging Face, pretrained models 불러오기  (0) 2022.02.22
Hugging Face, fine-tuning 까지  (0) 2022.02.22