chansung/hf-open-source-ai-lab
1
๐ค Open Model Playground
Hugging Face ์คํ์์ค AI ์ค์ต ๋ฉ
๊ฐ์: "Hugging Face ๊ธฐ์ ์ ํตํด AI ๋ถ์ผ์์ ์คํ์์ค ํ๋ํ๋ ๋ฐฉ๋ฒ"
ํ์ต ๋ชฉํ
์ด ์ค์ต์ ํตํด ๋ค์์ ํ์ตํฉ๋๋ค:
- ์คํ์์ค AI ๋ชจ๋ธ ์ดํด: Hugging Face Hub์์ ํ ์คํธ ์์ฑ ๋ฐ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ์ ํ์ํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- Transformers & Diffusers:
transformers๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ ์คํธ ์์ฑ,diffusers๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋ฏธ์ง ์์ฑ - Gradio ์ฑ ๊ฐ๋ฐ: Gradio Blocks๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ํฐ๋ธ AI ๋ฐ๋ชจ ์ฑ ๊ตฌ์ถ
- Hugging Face Space ๋ฐฐํฌ: ๋ก์ปฌ์์ ๊ฐ๋ฐํ ์ฑ์ Hugging Face Space์ ๋ฐฐํฌ
- API ๊ฒ์ฆ: Gradio Client๋ฅผ ํตํด ๋ฐฐํฌ๋ ์ฑ์ API ์๋ํฌ์ธํธ ํ ์คํธ
์ฑ ๊ธฐ๋ฅ
ํ์ ํ๊ฒฝ
- Python 3.10+
- macOS (M1/M2/M3) ๋๋ CUDA GPU ๋๋ CPU
- Hugging Face ๊ณ์ (Space ๋ฐฐํฌ์ฉ)
- ์ต์ 8GB RAM (๊ถ์ฅ 16GB+)
๋ก์ปฌ ์คํ
1. ํจํค์ง ์ค์น
pip install -r requirements.txt2. ํ๊ฒฝ ํ์ธ
python scripts/check_env.py3. ์ฑ ์คํ
python app.py
# ๋๋
python scripts/run_local_server.py๋ธ๋ผ์ฐ์ ์์ http://127.0.0.1:7860์ ์ด๋ฉด ์ฑ์ด ์คํ๋ฉ๋๋ค.
4. ๋ก์ปฌ API ํ ์คํธ
# ์๋ฒ ์คํ ํ ๋ค๋ฅธ ํฐ๋ฏธ๋์์
python scripts/api_smoke_test.py --target http://127.0.0.1:7860Hugging Face Space ๋ฐฐํฌ
์ฌ์ ์ค๋น
# Hugging Face CLI ๋ก๊ทธ์ธ
huggingface-cli login
# ๋ก๊ทธ์ธ ํ์ธ
python -c "from huggingface_hub import whoami; print(whoami()['name'])"๋ฐฐํฌ ์คํ
python scripts/deploy_space.py --space-name hf-open-source-ai-labZeroGPU ์ค์ (PRO ์ฌ์ฉ์)
Space ์์ฑ ํ Hugging Face ์น์์:
- Space ์ค์ (Settings) โ Hardware โ ZeroGPU ์ ํ
requirements.txt์spacesํจํค์ง๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ
๋ฐฐํฌ๋ Space API ๊ฒ์ฆ
# ํ
์คํธ ์์ฑ API๋ง ํ
์คํธ
python scripts/api_smoke_test.py --target <username>/hf-open-source-ai-lab
# ์ด๋ฏธ์ง ์์ฑ API ํฌํจ ํ
์คํธ
python scripts/api_smoke_test.py --target <username>/hf-open-source-ai-lab --include-imageํ๋ก์ ํธ ๊ตฌ์กฐ
hf-open-source-ai-lab/
โโโ app.py # Gradio ์ฑ (Space ๋ฐฐํฌ์ฉ)
โโโ requirements.txt # ์์กด์ฑ ํจํค์ง
โโโ README.md # ์ด ํ์ผ (Space ๋ฉํ๋ฐ์ดํฐ ํฌํจ)
โโโ lecture_lab.ipynb # 3์ฐจ์ ์ค์ต ๋
ธํธ๋ถ
โโโ scripts/
โ โโโ check_env.py # ํ๊ฒฝ ํ์ธ ์คํฌ๋ฆฝํธ
โ โโโ local_smoke_test.py # ๋ก์ปฌ ์ค๋ชจํฌ ํ
์คํธ
โ โโโ run_local_server.py # ๋ก์ปฌ ์๋ฒ ์คํ
โ โโโ api_smoke_test.py # API ์๋ํฌ์ธํธ ํ
์คํธ
โ โโโ deploy_space.py # Space ๋ฐฐํฌ ์คํฌ๋ฆฝํธ
โโโ docs/
โ โโโ instructor_script_ko.md # ๊ฐ์ฌ ๋๋ณธ
โ โโโ theory_slide_outline_ko.md # ์ด๋ก ๊ฐ์ ์ฌ๋ผ์ด๋ ๊ฐ์
โ โโโ troubleshooting_ko.md # ํธ๋ฌ๋ธ์ํ
๊ฐ์ด๋
โ โโโ recording_checklist_ko.md # ์ดฌ์ ์ฒดํฌ๋ฆฌ์คํธ
โโโ tests/
โ โโโ test_app.py # ๋จ์ ํ
์คํธ
โโโ .gitignore
โโโ .env.example
โโโ pyproject.toml
โโโ Makefile๋ชจ๋ธ ์ ํ ์ด์
ํธ๋ฌ๋ธ์ํ
์์ธํ ๋ด์ฉ์ `docs/troubleshooting_ko.md`๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ :
- MPS ์ค๋ฅ:
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py - ๋ชจ๋ธ ๋ค์ด๋ก๋ ๋๋ฆผ:
HF_HUB_ENABLE_HF_TRANSFER=1ํ๊ฒฝ๋ณ์ ์ค์ - HF ํ ํฐ ์์:
huggingface-cli login์คํ - Space ๋น๋ ์คํจ:
requirements.txt๋ฒ์ ํ์ธ
๋ผ์ด์ ์ค
์ด ์ค์ต ์๋ฃ๋ ๊ต์ก ๋ชฉ์ ์ผ๋ก ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ฉ๋ ์คํ์์ค ๋ชจ๋ธ:
- Qwen3-4B (Apache 2.0)
- FLUX.2-dev (FLUX.2 Community License)
