-
Gradio 실전 시리즈 9화 – Hugging Face Spaces로 Gradio 앱 배포하기기술과 산업/AI 2025. 5. 26. 10:54728x90
Gradio 앱은 Hugging Face Spaces를 통해 손쉽게 웹에 배포할 수 있습니다. GitHub 없이도 가능한 기본 방식부터, app.py, requirements.txt 구성, 모델 포함 배포 팁까지 실전 중심으로 안내합니다.
Gradio는 로컬에서 빠르게 테스트할 수 있는 장점이 있지만,
다른 사람에게 앱을 공유하거나 사용자 피드백을 받고 싶을 때는 배포가 필수입니다.이때 가장 쉽고 빠른 방법이 바로 Hugging Face Spaces입니다.
Spaces는 Hugging Face에서 제공하는 무료 AI 앱 호스팅 플랫폼으로, Gradio에 최적화되어 있습니다.
Hugging Face Spaces란?
- Gradio, Streamlit, Static HTML 지원
- Git 기반 프로젝트 배포 방식
- 서버, 도메인, 인증 필요 없음
- 무료 요금제에서 대부분의 데모 가능
배포 준비물: 총 3개 파일
- app.py – Gradio 인터페이스를 정의하는 메인 스크립트
- requirements.txt – 필요한 Python 패키지 리스트
- (선택) README.md – 앱 소개 문서
예제 프로젝트 구성
my-gradio-app/ ├── app.py ├── requirements.txt └── README.md (선택)
📄 app.py
import gradio as gr def greet(name): return f"안녕하세요, {name}님!" app = gr.Interface(fn=greet, inputs="text", outputs="text") app.launch()
✅ 반드시 파일명은 app.py여야 합니다.
Spaces는 이 파일을 자동 실행 entry point로 사용합니다.
📄 requirements.txt
gradio
필요한 외부 라이브러리 추가 가능 (예: transformers, Pillow 등)
🔧 배포 절차
1. Hugging Face 계정 가입 및 로그인
2. Spaces 메뉴 → “Create new Space”
- Space 이름 지정 (영문 소문자, 하이픈만)
- SDK 선택: 반드시 Gradio 선택
- Public / Private 설정 (Public은 무료, Private은 Pro 요금제 필요)
- 라이선스 선택: 기본값인 mit 또는 apache-2.0 추천
3. 파일 업로드
- app.py, requirements.txt 업로드
- 업로드하면 자동으로 앱이 빌드되고 실행됨
✅ 초기 빌드에는 수 초 ~ 수 분 소요 가능
이후엔 앱 저장 시 자동 재시작
앱 배포 성공 시 화면 예시
- URL: https://huggingface.co/spaces/{username}/{space-name}
- 좌측: 파일 구조 / 로그 확인
- 우측: Gradio 앱 실행 UI
실무 팁
1. 로딩 시간 줄이기
- 모델 로딩은 if __name__ == "__main__" 블록 밖에서 실행
- Gradio는 앱 실행 전에 파일을 사전 로딩할 수 있음
# 전역에서 로딩 tokenizer = ... model = ... def predict(text): ...
2. 리소스 제한 고려
무료 플랜 기준:
항목 제한
RAM 약 16GB 실행 시간 10분 미사용 시 자동 중단 GPU 미지원 (Pro에서 가능) → 복잡한 모델이나 GPU가 필요한 경우 비동기 처리 or 외부 API 연동 권장
3. Spaces에 GitHub 연동 배포도 가능
- Hugging Face는 내부적으로 Git 기반
- GitHub 저장소를 연동하면 자동으로 Spaces에서 배포 가능
- main 브랜치 push 시 자동 업데이트
마무리 – “코드만 있으면 누구나 앱을 배포할 수 있는 시대”
Gradio와 Hugging Face Spaces의 조합은
초보자도 글로벌 수준의 AI 앱을 5분 안에 웹에 띄울 수 있는 강력한 배포 방식입니다.- 웹 서버? 필요 없음
- 도메인? 자동 생성됨
- 인증? GitHub만 있으면 됨
- 설치? Zero
다음 화에서는 Gradio 앱을 Docker를 통해 로컬 또는 사내 서버에 직접 배포하는 방식을 소개합니다.
외부 의존 없이 자체 운영을 하고 싶을 때, 또는 네트워크가 제한된 환경에서 활용할 수 있는 방법입니다.Gradio 실전 시리즈 10화 – Docker로 Gradio 앱 배포하기: 자체 호스팅 가이드
728x90'기술과 산업 > AI' 카테고리의 다른 글
Gradio 실전 시리즈 10화 – Docker로 Gradio 앱 배포하기: 자체 호스팅 가이드 (1) 2025.05.28 TaskMaster AI 실전 활용 예시 – 개발자의 일과를 바꾸는 AI 기반 프로젝트 운영법 (0) 2025.05.26 LangChain + RAG 기반 문서 Q&A 챗봇 시리즈 4화 - 문서 처리의 시작(문서를 불러오고, 쪼개고, 벡터로 바꾸기) (0) 2025.05.26 AI/ML 기반 데이터 분석 시리즈 10화 - 하이퍼파라미터 튜닝 전략과 실전 최적화 기법 (2) 2025.05.23 LLM 학습 시리즈 3화 – 인간다운 AI를 만드는 마지막 퍼즐: RLHF 완전 이해 (1) 2025.05.23