simple-chat / INSTALL.md
alex4cip's picture
feat: Add RTX 5080 support and remove requirements-local.txt
2c96300
# ์„ค์น˜ ๊ฐ€์ด๋“œ
## PyTorch ๋ฒ„์ „ ์ œ์•ฝ ๋ฌธ์ œ
**๋ฌธ์ œ**: HF Spaces์˜ ZeroGPU๋Š” PyTorch 2.0.0-2.2.0๋งŒ ์ง€์›ํ•˜์ง€๋งŒ, ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
**ํ•ด๊ฒฐ์ฑ…**: ํ™˜๊ฒฝ๋ณ„๋กœ ๋‹ค๋ฅธ requirements ํŒŒ์ผ ์‚ฌ์šฉ
---
## ๋ฐฉ๋ฒ• ๋น„๊ต
| ๋ฐฉ๋ฒ• | ์žฅ์  | ๋‹จ์  | ์ถ”์ฒœ |
|------|------|------|------|
| **requirements-local.txt** | ๊ฐ„๋‹จ, ๋ช…ํ™• | ์ˆ˜๋™ ์„ ํƒ ํ•„์š” | โญโญโญ |
| **setup.py** | ์ž๋™ ๊ฐ์ง€ | ๋ณต์žก๋„ ์ฆ๊ฐ€ | โญโญ |
| **requirements.txt** | HF Spaces ํ˜ธํ™˜ | ๊ตฌ๋ฒ„์ „ ๊ฐ•์ œ | โญ |
---
## ๋ฐฉ๋ฒ• 1: requirements-local.txt (๊ถŒ์žฅ)
### HF Spaces ๋ฐฐํฌ
```bash
# requirements.txt ์‚ฌ์šฉ (์ž๋™)
# PyTorch 2.2.0 (ZeroGPU ํ˜ธํ™˜)
```
### ๋กœ์ปฌ ๊ฐœ๋ฐœ
```bash
# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# ๋กœ์ปฌ์šฉ requirements ์„ค์น˜
pip install -r requirements-local.txt
# PyTorch >=2.2.0 (์ตœ์‹  ๋ฒ„์ „)
```
### ํŒŒ์ผ ๊ตฌ์กฐ
```
requirements.txt # HF Spaces์šฉ (PyTorch 2.2.0)
requirements-local.txt # ๋กœ์ปฌ์šฉ (PyTorch >=2.2.0)
```
---
## ๋ฐฉ๋ฒ• 2: setup.py (์ž๋™ ๊ฐ์ง€) โญ ์ƒˆ๋กœ์šด CUDA ์ง€์›!
### ์„ค์น˜
```bash
# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™”
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# ์Šค๋งˆํŠธ ์„ค์น˜ ์‹คํ–‰
python setup.py
```
### ๋™์ž‘ ๋ฐฉ์‹ (NEW! CUDA ์ž๋™ ๊ฐ์ง€)
1. **ํ™˜๊ฒฝ ๊ฐ์ง€**: `SPACE_ID` ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ™•์ธ
2. **HF Spaces**: PyTorch 2.2.0 ์„ค์น˜ (ZeroGPU ํ˜ธํ™˜)
3. **๋กœ์ปฌ ํ™˜๊ฒฝ**:
- ๐Ÿ” **NVIDIA GPU ๊ฐ์ง€**: `nvidia-smi` ์‹คํ–‰
- ๐Ÿ” **CUDA ๋ฒ„์ „ ๊ฐ์ง€**: `nvcc --version` ๋˜๋Š” nvidia-smi์—์„œ ์ถ”์ถœ
- โœ… **CUDA๋ณ„ PyTorch ์„ค์น˜**:
- CUDA 11.8 โ†’ PyTorch cu118
- CUDA 12.1-12.3 โ†’ PyTorch cu121
- CUDA 12.4-12.8 โ†’ PyTorch cu124
- ๐ŸŽ **Apple Silicon**: MPS ์ง€์›
- ๐Ÿ’ป **GPU ์—†์Œ**: CPU ์ „์šฉ PyTorch
### ์ง€์›ํ•˜๋Š” CUDA ๋ฒ„์ „
| CUDA ๋ฒ„์ „ | PyTorch ๋ณ€ํ˜• | Index URL |
|-----------|--------------|-----------|
| 11.8 | cu118 | https://download.pytorch.org/whl/cu118 |
| 12.1-12.3 | cu121 | https://download.pytorch.org/whl/cu121 |
| 12.4-12.8 | cu124 | https://download.pytorch.org/whl/cu124 |
### ์žฅ์ 
- โœ… **์™„์ „ ์ž๋™ CUDA ๊ฐ์ง€** (NEW!)
- โœ… ํ•œ ๋ช…๋ น์œผ๋กœ ์„ค์น˜
- โœ… ํ”Œ๋žซํผ๋ณ„ ์ตœ์ ํ™”
- โœ… ์„ค์น˜ ํ›„ ์ž๋™ ๊ฒ€์ฆ
- โœ… ์‹คํŒจ ์‹œ CPU๋กœ ํด๋ฐฑ
---
## PyTorch ๋ฒ„์ „๋ณ„ ๊ธฐ๋Šฅ
### PyTorch 2.2.0 (HF Spaces ZeroGPU)
- โœ… ZeroGPU ํ˜ธํ™˜
- โœ… ๊ธฐ๋ณธ LLM ๊ธฐ๋Šฅ
- โœ… ์•ˆ์ •์„ฑ ๊ฒ€์ฆ๋จ
### PyTorch >=2.2.0 (๋กœ์ปฌ)
- โœ… ์ตœ์‹  ๊ธฐ๋Šฅ
- โœ… ์„ฑ๋Šฅ ๊ฐœ์„ 
- โœ… ์ตœ์‹  GPU ์ง€์›
- โœ… MPS ์ตœ์ ํ™” (Apple Silicon)
---
## ํ”Œ๋žซํผ๋ณ„ ๊ถŒ์žฅ ์„ค์น˜
### Mac (Apple Silicon)
```bash
# M1/M2/M3/M4
pip install -r requirements-local.txt
# MPS ๊ฐ€์† ์ง€์›
```
### Linux (NVIDIA GPU)
```bash
pip install -r requirements-local.txt
# CUDA 12.x ์ง€์›
```
### Windows (NVIDIA GPU)
```bash
pip install -r requirements-local.txt
# CUDA 12.x ์ง€์›
```
### HF Spaces (์ž๋™)
```bash
# requirements.txt ์ž๋™ ์‚ฌ์šฉ
# ์ˆ˜๋™ ์„ค์น˜ ๋ถˆํ•„์š”
```
---
## ๊ฒ€์ฆ
### ์„ค์น˜ ํ™•์ธ
```python
import torch
print(f"PyTorch: {torch.__version__}")
print(f"CUDA: {torch.cuda.is_available()}")
print(f"MPS: {torch.backends.mps.is_available()}")
```
### ์˜ˆ์ƒ ์ถœ๋ ฅ
**๋กœ์ปฌ (์ตœ์‹ )**:
```
PyTorch: 2.5.1
CUDA: True / False
MPS: True / False
```
**HF Spaces (ZeroGPU)**:
```
PyTorch: 2.2.0
CUDA: True
MPS: False
```
---
## FAQ
### Q: ๋กœ์ปฌ์—์„œ PyTorch 2.2.0์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
A: ์•„๋‹ˆ์š”. ๋กœ์ปฌ์—์„œ๋Š” `requirements-local.txt`๋กœ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
### Q: requirements.txt์™€ requirements-local.txt ์ฐจ์ด๋Š”?
A:
- `requirements.txt`: HF Spaces์šฉ (PyTorch 2.2.0)
- `requirements-local.txt`: ๋กœ์ปฌ์šฉ (PyTorch >=2.2.0)
### Q: setup.py๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
A: ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ž๋™ ๊ฐ์ง€๋ฅผ ์›ํ•˜๋ฉด ์‚ฌ์šฉํ•˜์„ธ์š”.
### Q: ๋‘ ํŒŒ์ผ์„ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•˜๋‚˜์š”?
A: PyTorch ๋ฒ„์ „๋งŒ ๋‹ค๋ฅด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”.
---
## ๋ฌธ์ œ ํ•ด๊ฒฐ
### ๐Ÿ”ฅ GPU๊ฐ€ ๊ฐ์ง€๋˜์ง€ ์•Š์Œ (torch.cuda.is_available() = False)
#### ์ฆ์ƒ 1: Driver/library version mismatch
```bash
nvidia-smi
# ์ถœ๋ ฅ: Failed to initialize NVML: Driver/library version mismatch
```
**์›์ธ**: NVIDIA ๋“œ๋ผ์ด๋ฒ„ ์—…๋ฐ์ดํŠธ ํ›„ ์žฌ๋ถ€ํŒ…ํ•˜์ง€ ์•Š์Œ
**ํ•ด๊ฒฐ์ฑ…**:
```bash
# ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ… (๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ํšจ๊ณผ์ )
sudo reboot
```
์žฌ๋ถ€ํŒ… ํ›„ ๋‹ค์‹œ ํ™•์ธ:
```bash
nvidia-smi
python setup.py # PyTorch ์žฌ์„ค์น˜
```
#### ์ฆ์ƒ 2: PyTorch๊ฐ€ CPU ๋ฒ„์ „์œผ๋กœ ์„ค์น˜๋จ
```python
import torch
print(torch.__version__) # ์ถœ๋ ฅ: 2.9.0+cpu (CUDA ์—†์Œ)
```
**์›์ธ**: pip install torch๊ฐ€ ๊ธฐ๋ณธ CPU ๋ฒ„์ „์„ ์„ค์น˜ํ•จ
**ํ•ด๊ฒฐ์ฑ…**:
```bash
# ํ˜„์žฌ PyTorch ์ œ๊ฑฐ
pip uninstall torch torchvision torchaudio -y
# setup.py๋กœ ์žฌ์„ค์น˜ (์ž๋™ CUDA ๊ฐ์ง€)
python setup.py
```
#### ์ฆ์ƒ 3: CUDA ๋ฒ„์ „ ๋ถˆ์ผ์น˜
```python
# ์‹œ์Šคํ…œ CUDA: 12.8
# PyTorch CUDA: 12.4
# ์˜ค๋ฅ˜: forward compatibility was attempted on non supported HW
```
**์›์ธ**: PyTorch CUDA ๋ฒ„์ „๊ณผ ๋“œ๋ผ์ด๋ฒ„ CUDA ๋ฒ„์ „ ๋ถˆ์ผ์น˜
**ํ•ด๊ฒฐ์ฑ…**:
```bash
# 1. ๋“œ๋ผ์ด๋ฒ„ ์žฌ๋ถ€ํŒ… (์šฐ์„  ์‹œ๋„)
sudo reboot
# 2. ๋“œ๋ผ์ด๋ฒ„ ์žฌ์„ค์น˜ (์žฌ๋ถ€ํŒ…์œผ๋กœ ์•ˆ ๋˜๋ฉด)
sudo ubuntu-drivers autoinstall
sudo reboot
# 3. PyTorch ์žฌ์„ค์น˜
python setup.py
```
#### ์ฆ์ƒ 4: nvidia-smi๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ PyTorch์—์„œ GPU ์ธ์‹ ์•ˆ ๋จ
```bash
nvidia-smi # โœ… ์ž‘๋™
python -c "import torch; print(torch.cuda.is_available())" # โŒ False
```
**ํ•ด๊ฒฐ์ฑ…**:
```bash
# PyTorch๋ฅผ CUDA ๋ฒ„์ „์œผ๋กœ ๊ฐ•์ œ ์žฌ์„ค์น˜
pip uninstall torch torchvision torchaudio -y
# CUDA ๋ฒ„์ „ ํ™•์ธ
nvidia-smi | grep "CUDA Version" # ์˜ˆ: CUDA Version: 12.1
# ํ•ด๋‹น CUDA ๋ฒ„์ „์˜ PyTorch ์„ค์น˜
# CUDA 12.1-12.3
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# CUDA 12.4+
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# ๊ฒ€์ฆ
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
```
### ImportError: spaces
**๋กœ์ปฌ ํ™˜๊ฒฝ**:
```
์ •์ƒ ๋™์ž‘ - app.py๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  CPU/GPU ๋ชจ๋“œ๋กœ ์ „ํ™˜
```
### PyTorch ๋ฒ„์ „ ์ถฉ๋Œ
```bash
pip uninstall torch torchvision torchaudio -y
python setup.py # ์ž๋™ CUDA ๊ฐ์ง€ ๋ฐ ์„ค์น˜
```
### ์„ค์น˜ ๊ฒ€์ฆ
```python
# ์™„์ „ํ•œ ํ™˜๊ฒฝ ๊ฒ€์ฆ
import torch
print(f"PyTorch: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA compiled: {torch.version.cuda}")
if torch.cuda.is_available():
print(f"GPU name: {torch.cuda.get_device_name(0)}")
print(f"GPU count: {torch.cuda.device_count()}")
```
**์˜ˆ์ƒ ์ถœ๋ ฅ (GPU ํ™˜๊ฒฝ)**:
```
PyTorch: 2.5.1+cu124
CUDA available: True
CUDA compiled: 12.4
GPU name: NVIDIA GeForce RTX 4090
GPU count: 1
```