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

End-to-End: Hub → Train → Serve → Space

~28 min · ops, pipeline

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

여덟 트랙을 저장소의 계보로 이어

  1. Hub에서 base 모델을 고르고 카드를 읽은 뒤 커밋 SHA를 고정해.
  2. Datasets에서 선별 자료를 받아 map으로 처리하고 private 데이터셋 저장소에 올려.
  3. Training에서 SFTTrainer와 LoRA로 학습하고 adapter를 private 모델 저장소에 올려.
  4. 병합과 양자화에서 adapter를 base에 합치고 AWQ 변형과 정확한 모델 카드를 공개해.
  5. Serving에서 TGI나 vLLM이 그 고정 모델을 읽게 해.
  6. Space에서 Gradio나 Docker로 실제 서버를 호출하는 데모를 제공해.
  7. 반복 단계에서 사용자 피드백을 선호 데이터로 쌓고 DPO를 실행해.

각 단계의 산출물을 주소로 남겨

모든 산출물을 커밋 SHA로 가리키면 재현할 수 있고, Git 이력으로 누가 무엇을 바꿨는지 감사할 수 있어. 읽기 권한이 있는 다른 환경에서 같은 스택을 복원하고 각 계층을 독립적으로 되돌릴 수도 있어. 토큰과 GPU 시간도 단계별로 분리되어 비용 원인을 찾기 쉬워져.

Code

End-to-end skeleton (많은 디테일 생략)·python
# 1. Pin + base pull
from huggingface_hub import snapshot_download
base_path = snapshot_download("meta-llama/Llama-3.2-1B-Instruct",
                               revision="<sha>", local_dir="./base")

# 2. 데이터셋 process + push
from datasets import load_dataset
raw = load_dataset("HuggingFaceH4/no_robots", split="train")
processed = raw.map(my_preprocess, num_proc=4, remove_columns=raw.column_names)
processed.push_to_hub("yourname/no-robots-cwk", private=True)

# 3. SFT + LoRA (training 트랙 7번 레슨 참조)
# 4. Merge + 양자화
from peft import AutoPeftModelForCausalLM
m = AutoPeftModelForCausalLM.from_pretrained("./adapter")
merged = m.merge_and_unload()
merged.push_to_hub("yourname/llama-1b-cwk", private=True)

# 5. TGI / vLLM 통해 serve (serving 트랙)
# 6. Gradio Space 에 wrap (spaces 트랙)
# 7. Feedback 수집, preference 데이터셋 빌드, DPO, ...
루프의 Hub 레포·yaml
# Base (third-party): meta-llama/Llama-3.2-1B-Instruct
# Dataset (yours): yourname/no-robots-cwk
# Adapter (yours, private): yourname/llama-1b-cwk-adapter
# Merged (yours, public): yourname/llama-1b-cwk
# Quantized (yours, public): yourname/llama-1b-cwk-AWQ
# Demo Space (yours): yourname/llama-1b-cwk-demo

External links

Exercise

너가 가진 진짜 task 의 end-to-end 파이프라인 계획. 생성할 Hub 레포 6 개 sketch. 각각 한 문장: 누가 접근, 뭐 핀, 어떻게 재현. 적어도 step 셋 end-to-end 실행 (예: 데이터셋 처리 → LoRA → merged push). 나머지 step 은 sketch.

Progress

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

댓글 0

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

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