lily_fast_api / WINDOWS_GPU_DEPLOYMENT_GUIDE.md
gbrabbit's picture
Fresh start for HF Spaces deployment
526927a
|
Raw History Blame Contribute Delete
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 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
```cmd
# ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”
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 ํ™˜๊ฒฝ ํ™•์ธ
```cmd
cd C:\Project\lily_generate_project\lily_generate_package
python check_gpu_environment.py
```
### 2. Windows GPU ์„ค์ •
```cmd
# Windows GPU ํ™˜๊ฒฝ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
windows_gpu_setup.bat
```
### 3. Hugging Face ์„ค์ •
```cmd
# Hugging Face ํ† ํฐ ์„ค์ •
huggingface-cli login
# ๋˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค์ •
python huggingface_gpu_setup.py
```
## ๐Ÿš€ ๋ฐฐํฌ ์‹คํ–‰
### 1. ์ž๋™ ๋ฐฐํฌ (๊ถŒ์žฅ)
```cmd
# Windows GPU ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
deploy_gpu_windows.bat
```
### 2. ์ˆ˜๋™ ๋ฐฐํฌ
```cmd
# 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 ๋ฐฐํฌ ํ…Œ์ŠคํŠธ
```cmd
python test_gpu_deployment.py
```
### 2. Hugging Face ๋ชจ๋ธ ํ…Œ์ŠคํŠธ
```cmd
python huggingface_gpu_setup.py
```
### 3. API ํ…Œ์ŠคํŠธ
```cmd
curl http://localhost:8001/health
```
## ๐Ÿ“Š ๋ชจ๋‹ˆํ„ฐ๋ง
### 1. GPU ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
```cmd
# GPU ์ •๋ณด ํ™•์ธ
nvidia-smi
# ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง
nvidia-smi -l 1
```
### 2. ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ ํ™•์ธ
```cmd
# ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ
docker ps
# ์ปจํ…Œ์ด๋„ˆ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
docker stats
```
### 3. ๋กœ๊ทธ ํ™•์ธ
```cmd
# ์ „์ฒด ๋กœ๊ทธ
docker-compose -f docker-compose.gpu.yml logs -f
# ํŠน์ • ์„œ๋น„์Šค ๋กœ๊ทธ
docker-compose -f docker-compose.gpu.yml logs -f lily-llm-api-gpu
```
## ๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ
### 1. NVIDIA ๋“œ๋ผ์ด๋ฒ„ ๋ฌธ์ œ
```cmd
# ๋“œ๋ผ์ด๋ฒ„ ๋ฒ„์ „ ํ™•์ธ
nvidia-smi
# ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๋“œ๋ผ์ด๋ฒ„ ์žฌ์„ค์น˜
# 1. ๊ธฐ์กด ๋“œ๋ผ์ด๋ฒ„ ์ œ๊ฑฐ
# 2. ์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
# 3. ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ…
```
### 2. Docker ๋ฌธ์ œ
```cmd
# Docker Desktop ์žฌ์‹œ์ž‘
# Docker Desktop > Settings > General > Restart
# WSL 2 ํ™•์ธ
wsl --list --verbose
# Docker ๊ถŒํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ
# Docker Desktop > Settings > Resources > WSL Integration
```
### 3. CUDA ๋ฒ„์ „ ์ถฉ๋Œ
```cmd
# 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. ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ
```cmd
# GPU ๋ฉ”๋ชจ๋ฆฌ ํ™•์ธ
nvidia-smi
# ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker-compose -f docker-compose.gpu.yml restart
# ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ์ ์šฉ
python performance_optimization.py
```
## ๐Ÿ“ˆ ์„ฑ๋Šฅ ์ตœ์ ํ™”
### 1. Windows ์ „์šฉ ์ตœ์ ํ™”
```cmd
# ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€
# ์ œ์–ดํŒ > ์‹œ์Šคํ…œ > ๊ณ ๊ธ‰ ์‹œ์Šคํ…œ ์„ค์ • > ์„ฑ๋Šฅ > ์„ค์ • > ๊ณ ๊ธ‰ > ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
# ์ „์› ์„ค์ • ์ตœ์ ํ™”
# ์ œ์–ดํŒ > ์ „์› ์˜ต์…˜ > ๊ณ ์„ฑ๋Šฅ ์„ ํƒ
```
### 2. Docker ์ตœ์ ํ™”
```cmd
# Docker Desktop ์„ค์ • ์ตœ์ ํ™”
# Docker Desktop > Settings > Resources
# - Memory: 8GB ์ด์ƒ ํ• ๋‹น
# - CPUs: 4๊ฐœ ์ด์ƒ ํ• ๋‹น
# - Disk image size: 64GB ์ด์ƒ
```
### 3. GPU ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”
```python
# 4-bit ์–‘์žํ™” ์ ์šฉ
python huggingface_gpu_setup.py
# ๋ฐฐ์น˜ ํฌ๊ธฐ ์กฐ์ •
# config.yaml์—์„œ batch_size ์กฐ์ •
```
## ๐Ÿ”„ ์—…๋ฐ์ดํŠธ
### 1. ๋ชจ๋ธ ์—…๋ฐ์ดํŠธ
```cmd
# ์ตœ์‹  ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ
python huggingface_gpu_setup.py
# ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker-compose -f docker-compose.gpu.yml restart
```
### 2. ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ
```cmd
# ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„ ์žฌ๋นŒ๋“œ
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 ์ตœ์ ํ™”
```cmd
# WSL 2 ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์„ค์ •
# %UserProfile%\.wslconfig ํŒŒ์ผ ์ƒ์„ฑ
[wsl2]
memory=8GB
processors=4
```
### 2. Windows Defender ์˜ˆ์™ธ ์„ค์ •
```cmd
# ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ Windows Defender ์˜ˆ์™ธ์— ์ถ”๊ฐ€
# Windows ๋ณด์•ˆ > ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐ ์œ„ํ˜‘ ๋ฐฉ์ง€ > ์„ค์ • > ์˜ˆ์™ธ ์ถ”๊ฐ€
```
### 3. ์ „์› ๊ด€๋ฆฌ ์ตœ์ ํ™”
```cmd
# ๊ณ ์„ฑ๋Šฅ ์ „์› ๊ณ„ํš ์„ ํƒ
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
```
## ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘
### 1๋‹จ๊ณ„: ํ™˜๊ฒฝ ํ™•์ธ
```cmd
windows_gpu_setup.bat
```
### 2๋‹จ๊ณ„: Hugging Face ์„ค์ •
```cmd
python huggingface_gpu_setup.py
```
### 3๋‹จ๊ณ„: GPU ๋ฐฐํฌ
```cmd
deploy_gpu_windows.bat
```
### 4๋‹จ๊ณ„: ํ…Œ์ŠคํŠธ
```cmd
python test_gpu_deployment.py
```
## ๐ŸŽ‰ ์„ฑ๊ณต ํ™•์ธ
๋ฐฐํฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ์„œ๋น„์Šค๋“ค์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค:
- โœ… **Lily LLM API**: http://localhost:8001
- โœ… **Hearth Chat**: http://localhost:8000
- โœ… **LaTeX-OCR Service**: ๋ณ„๋„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰
- โœ… **GPU ๊ฐ€์†**: NVIDIA GPU ํ™œ์šฉ
- โœ… **Hugging Face ๋ชจ๋ธ**: ์ตœ์ ํ™”๋œ ๋ชจ๋ธ ๋กœ๋“œ