Huggingface에서 다운로드 받은 모델 객체들

안녕하세요. Huggingface를 사용한지 얼마 되지 않은 초보자입니다. 다름이 아니라, Huggingface에서 다양한 모델들을 다운로드 받을 수 있잖아요!? transformers 라이브러리를 이용해서요! 예를 들어, 아래와 같이요!

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

device = torch.device('cuda')

tokenizer = AutoTokenizer.from_pretrained("model name")
model = AutoModelForCausalLM.from_pretrained("model name").to(device)

실제로 모델 이름을 명시해서 위 코드를 실행했을 때, 콘솔 화면에 모델이 다운로드 되는 출력이 보여지긴 하는데, 이것이 로컬의 어딘가에 저장이 되는 건가요?? 그렇다면 저장되는 위치가 보통 어디인가요?

매우 기초적인 질문일 수 있지만.. 아시는 부분이 있다면 답변 부탁드리겠습니다. (__)

1개의 좋아요

mac, linux의 경우 ~/.cache/huggingface/hub 에 저장됩니다.
터미널에서 ls -l ~/.cache/huggingface/hub 해보시면 모델 파일들이 있습니다.

이 경로를 바꾸고 싶다면

tokenizer = AutoTokenizer.from_pretrained("model name", cache_dir=다른경로)
model = AutoModelForCausalLM.from_pretrained("model name", cache_dir=다른경로).to(device)

이렇게 하시면 됩니다 :hugs:

3개의 좋아요
  • 아래 답변은 OpenAI의 GPT-3.5(ChatGPT) 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

young-hun-jo님, 안녕하세요!

Huggingface를 사용하여 모델을 다운로드하는 방법에 대한 질문을 주셨네요. 모델을 다운로드하면 실제로 로컬 디스크에 저장되는데, 저장 위치는 기본적으로 ~/.cache/torch/transformers입니다. 이 디렉토리는 Huggingface 라이브러리에서 자동으로 생성되며, 다운로드한 모델과 토크나이저의 캐시 파일이 저장됩니다.

만약 다운로드한 모델을 다시 사용하고 싶다면, 다음과 같이 from_pretrained 메서드를 호출할 때 cache_dir 인자를 사용하여 캐시 디렉토리를 지정할 수 있습니다.

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("model name", cache_dir="custom_cache_dir")

위의 예시에서 custom_cache_dir은 원하는 디렉토리 경로를 지정하는데 사용됩니다. 이렇게 하면 모델이 해당 디렉토리에 다운로드되고 저장됩니다.

더 자세한 내용은 PyTorch 공식 튜토리얼의 Huggingface Transformers 섹션을 참고하시면 도움이 될 것입니다. 아래 링크에서 영문 또는 한글 버전을 선택하여 확인하실 수 있습니다.

혹시 제 답변이 틀리거나 부족한 부분이 있다면 언제든지 말씀해주세요. 도움이 되었기를 바랍니다!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요, young-hun-jo 님. Huggingface와 관련된 질문을 주셔서 감사합니다. Huggingface를 사용하면서 모델을 다운로드 받을 때, 이 모델이 어디에 저장되는지에 대한 궁금증이 있으신 것 같네요. 이는 매우 중요한 질문이며, 모델을 다루는 데 있어 기본적인 부분입니다.

Huggingface의 transformers 라이브러리를 사용하여 모델을 다운로드 받을 때, 이 모델은 기본적으로 사용자의 홈 디렉토리 아래에 있는 .cache라는 디렉토리에 저장됩니다. 이 위치는 환경 변수 TRANSFORMERS_CACHE를 통해 변경할 수 있습니다.

예를 들어, Linux 또는 MacOS에서는 홈 디렉토리가 ~로 표시되므로, 모델은 ~/.cache/huggingface/transformers에 저장됩니다. Windows에서는 홈 디렉토리가 C:\Users\<Your username>이므로, 모델은 C:\Users\<Your username>\.cache\huggingface\transformers에 저장됩니다.

환경 변수 TRANSFORMERS_CACHE를 설정하여 모델이 저장되는 위치를 변경할 수 있습니다. 예를 들어, Linux 또는 MacOS에서는 다음과 같이 설정할 수 있습니다.

export TRANSFORMERS_CACHE=/path/to/your/directory

Windows에서는 다음과 같이 설정할 수 있습니다.

set TRANSFORMERS_CACHE=C:\path\to\your\directory

이렇게 설정하면, 이후에 다운로드하는 모든 모델들은 지정한 디렉토리에 저장됩니다.

이에 대한 자세한 내용은 Huggingface의 공식 문서인 Huggingface Transformers의 저장 경로 설정을 참조하시면 도움이 될 것입니다.

질문에 대한 답변이 도움이 되었기를 바랍니다. 추가적인 질문이 있으시다면 언제든지 물어보세요. 그럼, 행운을 빕니다!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!

안녕하세요 기배님! 답변 감사합니다! 큰 도움이 되었어요 ㅎㅎ 잘 사용하겠습니다~

  • 아래 답변은 Anthropic의 Claude-2 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요. Huggingface 모델 다운로드에 대한 질문 감사합니다.

저도 초보자이긴 하지만 제가 아는 선에서 답변드리겠습니다.

맞습니다. Huggingface의 AutoTokenizer와 AutoModelForCausalLM을 사용하면 지정한 모델을 자동으로 다운로드 받을 수 있습니다.

다운로드 된 모델 파일은 기본적으로 ~/.cache/huggingface 디렉토리 아래에 저장됩니다.

예를 들어 gpt2 모델을 다운로드 받은 경우,
~/.cache/huggingface/transformers/models/gpt2 경로 아래에 모델 파일이 저장됩니다.

transformers 라이브러리가 이 디렉토리를 자동으로 관리하기 때문에 수동으로 삭제하거나 변경하지 않는 것이 좋습니다.

다운로드 경로를 변경하고 싶은 경우, transformers.set_caching_enabled() 함수를 사용하여 캐싱 기능을 끄고
model.save_pretrained(directory)를 사용하여 직접 저장 위치를 지정할 수 있습니다.

제가 아는 선에서의 답변이었습니다. 모델 다운로드와 관련된 추가 질문이 있다면 주저마시고 질문해 주세요. 최선을 다해 도와드리겠습니다.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!