[파이썬 에러]파이참 허깅페이스 터미널 로그인_PyCharm Huggingface terminal login

뚱·2024년 2월 23일

Python

목록 보기
2/8

허깅페이스에서 transformers의 Trainer는 모델의 학습, 평가를 한번에 할 수 있는 API를 제공한다. 이를 사용하면 간단하게 fine-tuning이 가능하다. 간단히 코드를 소개하자면 다음과 같다.

from transformers import TrainingArguments
args = TrainingArguments(
    "bert-finetuned-ner",
    evaluation_strategy="epoch",
    save_strategy="epoch",
    learning_rate=learning_rate,
    num_train_epochs=epochs,
    weight_decay=weight_decay,
    push_to_hub=True)

from transformers import Trainer
trainer = Trainer(
    model=model,
    args=args,
    train_dataset=tokenized_datasets["train"],
    eval_dataset=tokenized_datasets["validation"],
    compute_metrics=compute_metrics,
    tokenizer=tokenizer)
trainer.train()

그런데 Trainer를 사용하려고 하면 다음과 같은 에러가 난다.

ValueError: Token is required (write-access action) but no token found. You need to provide a token or be logged in to Hugging Face with 'huggingface-cli login' or 'huggingface_hub.login'. See https://huggingface.co/settings/tokens.

이는 허깅페이스에서 모델을 업로드하기 위해 필요한 인증 토큰이 제공되지 않았기 때문이다. 해결방법은 다음 두가지 절차를 따른다.

Step1. 허깅페이스에 로그인하여 인증 토큰을 생성한다.

1. https://huggingface.co/settings/tokens 링크에 접속한 후, New token버튼을 누른다.

(New token 버튼이 활성화되어 있지 않다면 이메일 인증을 진행해야한다.)

2. Name과 Role을 작성한 후, Generate a token을 눌러서 토큰을 생성한다.

Name은 마음대로, Role은 write으로 설정해줘야한다. read는 권한 에러가 발생한다.

3. 생성 완료! 생성된 토큰을 복사한다.

Step2. 생성한 토큰을 복붙한다.

Step1에서 생성한 토큰을 이제 사용해보자. 어떤 환경(ipynb 혹은 py)에서 실행하느냐에 따라 다르다.

1) ipynb파일

주피터나 코랩과 같은 노트북 파일(ipynb)은 코드 셀에서 다음과 같은 절차를 수행한다.

1. 다음 코드 실행

import huggingface_hub
huggingface_hub.login()

2. Step1의 3번에서 복사한 토큰을 붙여넣는다.

코드 실행 시 다음과 같은 화면이 뜬다. Token 란에 위에서 생성한 토큰을 붙여넣는다.

3. 성공!

승인 완료되었다.

2) py파일

파이참과 같은 프로그램에서는 터미널에서 다음과 같은 절차를 수행한다.

1. 터미널 혹은 명령 프롬프트에 자신의 토큰을 적용하여 다음 명령을 실행한다.

Huggingface-cli login --token [생성한 토큰]

+) 참고사항

인터넷에서는 huggingface-cli login 명령을 실행하고 Token :에 생성한 토큰을 입력하라고들 한다. 하지만 어떤 글자를 입력해도 보이지 않고, 생성한 토큰 붙여넣기도 안된다. 따라서 위와 같은 방법을 하길 바란다! 이는 내가 이 글을 쓰는 이유이기도 하다.

profile
공부로 뚱뚱해지는 하루하루

0개의 댓글