lily_fast_api / WINDOWS_GPU_DEPLOYMENT_GUIDE.md
gbrabbit's picture
Fresh start for HF Spaces deployment
526927a
|
raw
history blame
6.52 kB

๐Ÿ–ฅ๏ธ Windows GPU ํ™˜๊ฒฝ ๋ฐฐํฌ ๊ฐ€์ด๋“œ

๐Ÿ“‹ ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

1. ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ

  • GPU: NVIDIA GPU (RTX 3060 ์ด์ƒ ๊ถŒ์žฅ)
  • ๋ฉ”๋ชจ๋ฆฌ: ์ตœ์†Œ 16GB RAM, ๊ถŒ์žฅ 32GB RAM
  • ์ €์žฅ๊ณต๊ฐ„: ์ตœ์†Œ 50GB ์—ฌ์œ  ๊ณต๊ฐ„

2. ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ

NVIDIA ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜

  1. NVIDIA ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ: https://www.nvidia.com/Download/index.aspx
  2. GPU ๋ชจ๋ธ ์„ ํƒ: ์‚ฌ์šฉ ์ค‘์ธ GPU ๋ชจ๋ธ ์„ ํƒ
  3. ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ: ์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
  4. ์žฌ๋ถ€ํŒ…: ์„ค์น˜ ์™„๋ฃŒ ํ›„ ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…

Docker Desktop ์„ค์น˜

  1. Docker Desktop ๋‹ค์šด๋กœ๋“œ: https://www.docker.com/products/docker-desktop
  2. ์„ค์น˜ ์‹คํ–‰: ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ ์‹คํ–‰
  3. WSL 2 ์„ค์ •: Windows Subsystem for Linux 2 ํ™œ์„ฑํ™”
  4. ์žฌ๋ถ€ํŒ…: ์„ค์น˜ ์™„๋ฃŒ ํ›„ ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…

Python GPU ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”
lily_llm_env\Scripts\activate

# PyTorch GPU ๋ฒ„์ „ ์„ค์น˜
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# Hugging Face ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
pip install transformers huggingface_hub

# ์ถ”๊ฐ€ GPU ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
pip install accelerate bitsandbytes

๐Ÿ”ง ํ™˜๊ฒฝ ์„ค์ •

1. GPU ํ™˜๊ฒฝ ํ™•์ธ

cd C:\Project\lily_generate_project\lily_generate_package
python check_gpu_environment.py

2. Windows GPU ์„ค์ •

# Windows GPU ํ™˜๊ฒฝ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
windows_gpu_setup.bat

3. Hugging Face ์„ค์ •

# Hugging Face ํ† ํฐ ์„ค์ •
huggingface-cli login

# ๋˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค์ •
python huggingface_gpu_setup.py

๐Ÿš€ ๋ฐฐํฌ ์‹คํ–‰

1. ์ž๋™ ๋ฐฐํฌ (๊ถŒ์žฅ)

# Windows GPU ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
deploy_gpu_windows.bat

2. ์ˆ˜๋™ ๋ฐฐํฌ

# 1. ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌ
docker-compose -f docker-compose.gpu.yml down --volumes --remove-orphans

# 2. ์ด๋ฏธ์ง€ ๋นŒ๋“œ
docker-compose -f docker-compose.gpu.yml build --no-cache

# 3. ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘
docker-compose -f docker-compose.gpu.yml up -d

# 4. ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ
docker-compose -f docker-compose.gpu.yml logs -f

๐Ÿงช ํ…Œ์ŠคํŠธ

1. GPU ๋ฐฐํฌ ํ…Œ์ŠคํŠธ

python test_gpu_deployment.py

2. Hugging Face ๋ชจ๋ธ ํ…Œ์ŠคํŠธ

python huggingface_gpu_setup.py

3. API ํ…Œ์ŠคํŠธ

curl http://localhost:8001/health

๐Ÿ“Š ๋ชจ๋‹ˆํ„ฐ๋ง

1. GPU ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ

# GPU ์ •๋ณด ํ™•์ธ
nvidia-smi

# ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง
nvidia-smi -l 1

2. ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ ํ™•์ธ

# ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ
docker ps

# ์ปจํ…Œ์ด๋„ˆ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
docker stats

3. ๋กœ๊ทธ ํ™•์ธ

# ์ „์ฒด ๋กœ๊ทธ
docker-compose -f docker-compose.gpu.yml logs -f

# ํŠน์ • ์„œ๋น„์Šค ๋กœ๊ทธ
docker-compose -f docker-compose.gpu.yml logs -f lily-llm-api-gpu

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

1. NVIDIA ๋“œ๋ผ์ด๋ฒ„ ๋ฌธ์ œ

# ๋“œ๋ผ์ด๋ฒ„ ๋ฒ„์ „ ํ™•์ธ
nvidia-smi

# ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๋“œ๋ผ์ด๋ฒ„ ์žฌ์„ค์น˜
# 1. ๊ธฐ์กด ๋“œ๋ผ์ด๋ฒ„ ์ œ๊ฑฐ
# 2. ์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
# 3. ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…

2. Docker ๋ฌธ์ œ

# Docker Desktop ์žฌ์‹œ์ž‘
# Docker Desktop > Settings > General > Restart

# WSL 2 ํ™•์ธ
wsl --list --verbose

# Docker ๊ถŒํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ
# Docker Desktop > Settings > Resources > WSL Integration

3. CUDA ๋ฒ„์ „ ์ถฉ๋Œ

# PyTorch CUDA ๋ฒ„์ „ ํ™•์ธ
python -c "import torch; print(torch.version.cuda)"

# CUDA ๋ฒ„์ „์— ๋งž๋Š” PyTorch ์žฌ์„ค์น˜
pip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

4. ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ

# GPU ๋ฉ”๋ชจ๋ฆฌ ํ™•์ธ
nvidia-smi

# ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker-compose -f docker-compose.gpu.yml restart

# ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ์ ์šฉ
python performance_optimization.py

๐Ÿ“ˆ ์„ฑ๋Šฅ ์ตœ์ ํ™”

1. Windows ์ „์šฉ ์ตœ์ ํ™”

# ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€
# ์ œ์–ดํŒ > ์‹œ์Šคํ…œ > ๊ณ ๊ธ‰ ์‹œ์Šคํ…œ ์„ค์ • > ์„ฑ๋Šฅ > ์„ค์ • > ๊ณ ๊ธ‰ > ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ

# ์ „์› ์„ค์ • ์ตœ์ ํ™”
# ์ œ์–ดํŒ > ์ „์› ์˜ต์…˜ > ๊ณ ์„ฑ๋Šฅ ์„ ํƒ

2. Docker ์ตœ์ ํ™”

# Docker Desktop ์„ค์ • ์ตœ์ ํ™”
# Docker Desktop > Settings > Resources
# - Memory: 8GB ์ด์ƒ ํ• ๋‹น
# - CPUs: 4๊ฐœ ์ด์ƒ ํ• ๋‹น
# - Disk image size: 64GB ์ด์ƒ

3. GPU ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”

# 4-bit ์–‘์žํ™” ์ ์šฉ
python huggingface_gpu_setup.py

# ๋ฐฐ์น˜ ํฌ๊ธฐ ์กฐ์ •
# config.yaml์—์„œ batch_size ์กฐ์ •

๐Ÿ”„ ์—…๋ฐ์ดํŠธ

1. ๋ชจ๋ธ ์—…๋ฐ์ดํŠธ

# ์ตœ์‹  ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ
python huggingface_gpu_setup.py

# ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker-compose -f docker-compose.gpu.yml restart

2. ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ

# ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„ ์žฌ๋นŒ๋“œ
docker-compose -f docker-compose.gpu.yml build --no-cache
docker-compose -f docker-compose.gpu.yml up -d

๐Ÿ“ž ์ง€์›

๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํ™•์ธ์‚ฌํ•ญ

  1. GPU ๋“œ๋ผ์ด๋ฒ„: nvidia-smi ๋ช…๋ น์–ด ์‹คํ–‰ ๊ฐ€๋Šฅ ์—ฌ๋ถ€
  2. Docker Desktop: WSL 2 ํ†ตํ•ฉ ํ™œ์„ฑํ™” ์—ฌ๋ถ€
  3. CUDA ๋ฒ„์ „: PyTorch์™€ CUDA ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ
  4. ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ: 16GB ์ด์ƒ ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ
  5. GPU ๋ฉ”๋ชจ๋ฆฌ: 8GB ์ด์ƒ GPU ๋ฉ”๋ชจ๋ฆฌ

๋กœ๊ทธ ํŒŒ์ผ ์œ„์น˜

  • Docker ๋กœ๊ทธ: docker-compose -f docker-compose.gpu.yml logs
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ: logs/ ๋””๋ ‰ํ† ๋ฆฌ
  • GPU ๋กœ๊ทธ: nvidia-smi

๐ŸŽฏ Windows ์ „์šฉ ํŒ

1. WSL 2 ์ตœ์ ํ™”

# WSL 2 ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์„ค์ •
# %UserProfile%\.wslconfig ํŒŒ์ผ ์ƒ์„ฑ
[wsl2]
memory=8GB
processors=4

2. Windows Defender ์˜ˆ์™ธ ์„ค์ •

# ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ Windows Defender ์˜ˆ์™ธ์— ์ถ”๊ฐ€
# Windows ๋ณด์•ˆ > ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐ ์œ„ํ˜‘ ๋ฐฉ์ง€ > ์„ค์ • > ์˜ˆ์™ธ ์ถ”๊ฐ€

3. ์ „์› ๊ด€๋ฆฌ ์ตœ์ ํ™”

# ๊ณ ์„ฑ๋Šฅ ์ „์› ๊ณ„ํš ์„ ํƒ
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1๋‹จ๊ณ„: ํ™˜๊ฒฝ ํ™•์ธ

windows_gpu_setup.bat

2๋‹จ๊ณ„: Hugging Face ์„ค์ •

python huggingface_gpu_setup.py

3๋‹จ๊ณ„: GPU ๋ฐฐํฌ

deploy_gpu_windows.bat

4๋‹จ๊ณ„: ํ…Œ์ŠคํŠธ

python test_gpu_deployment.py

๐ŸŽ‰ ์„ฑ๊ณต ํ™•์ธ

๋ฐฐํฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ์„œ๋น„์Šค๋“ค์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค:

  • โœ… Lily LLM API: http://localhost:8001
  • โœ… Hearth Chat: http://localhost:8000
  • โœ… LaTeX-OCR Service: ๋ณ„๋„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰
  • โœ… GPU ๊ฐ€์†: NVIDIA GPU ํ™œ์šฉ
  • โœ… Hugging Face ๋ชจ๋ธ: ์ตœ์ ํ™”๋œ ๋ชจ๋ธ ๋กœ๋“œ