본문 바로가기
C.W.K.
Stream
Lesson 06 of 06 · published

저장, 로드, push_to_hub

~25 min · transformers, hub, save

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

저장과 불러오기는 서로 대칭이야

PreTrainedModel, PreTrainedTokenizer, processor는 같은 계약을 따라. save_pretrained(path)는 설정·가중치·tokenizer 파일을 디렉터리에 쓰고, from_pretrained(path_or_repo_id)는 로컬 경로나 Hub 저장소에서 그 묶음을 다시 불러와.

이 대칭 덕분에 도구들이 자연스럽게 이어져. LoRA 학습기가 디렉터리를 만들면 PEFT Auto 클래스가 읽고, 합친 모델을 push_to_hub()로 올리면 다른 사용자가 저장소 ID 하나로 다시 불러올 수 있어. 별도의 변환 파이프라인 없이 같은 계약이 처음부터 끝까지 유지되는 셈이야.

push_to_hub()까지 해야 결과물이 생태계에 들어가

model.push_to_hub('yourname/your-repo')와 tokenizer의 같은 메서드는 저장소를 만들거나 갱신해. 공개 여부, 조직, 기존 저장소 처리처럼 더 세밀한 제어가 필요하면 huggingface_hub.create_repo()를 먼저 사용해.

가중치는 가능하면 safetensors로 올려. Pickle을 사용하지 않아 불러올 때 임의 코드가 실행될 여지가 없고, 메모리 매핑을 지원해 빠르며 Python 직렬화 오버헤드도 적어. Transformers 4.34부터는 기본 형식이야.

Code

로컬 저장 후 Hub push·python
from transformers import AutoModelForCausalLM, AutoTokenizer

repo = "Qwen/Qwen2.5-1.5B-Instruct"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo)

# 로컬 저장 (round-trip 가능)
local = "./qwen-1.5b-local"
tok.save_pretrained(local)
model.save_pretrained(local, safe_serialization=True)

# Round-trip
tok2 = AutoTokenizer.from_pretrained(local)
model2 = AutoModelForCausalLM.from_pretrained(local)

# Hub push (write 토큰 필요; private 레포면 private=True)
# tok.push_to_hub("yourname/qwen-mirror", private=True)
# model.push_to_hub("yourname/qwen-mirror", private=True)
explicit 레포 생성 + 선택적 업로드·python
from huggingface_hub import HfApi, create_repo

repo_id = "yourname/qwen-mirror"

# Idempotent
create_repo(repo_id, repo_type="model", private=True, exist_ok=True)

api = HfApi()
api.upload_folder(
    folder_path="./qwen-1.5b-local",
    repo_id=repo_id,
    repo_type="model",
    commit_message="Initial mirror",
    ignore_patterns=["*.bin"],  # safetensors 있으니 중복 skip
)

External links

Exercise

작은 공개 모델 가져와 로컬 저장, upload_folder 로 너 계정 private 레포에 push. 그다음 Hub 레포 id (로컬 path 아님) 에서 모델 로드해 round-trip 검증. 웹에서 레포 inspect: 어떤 파일 존재, 모델 카드에 뭐 뜨는지.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.