Spaces:
Sleeping
Sleeping
๐ GPU ํ๊ฒฝ ๋ฐฐํฌ ๊ฐ์ด๋
๐ ์ฌ์ ์๊ตฌ์ฌํญ
1. ํ๋์จ์ด ์๊ตฌ์ฌํญ
- GPU: NVIDIA GPU (RTX 3060 ์ด์ ๊ถ์ฅ)
- ๋ฉ๋ชจ๋ฆฌ: ์ต์ 16GB RAM, ๊ถ์ฅ 32GB RAM
- ์ ์ฅ๊ณต๊ฐ: ์ต์ 50GB ์ฌ์ ๊ณต๊ฐ
2. ์ํํธ์จ์ด ์๊ตฌ์ฌํญ
NVIDIA ๋๋ผ์ด๋ฒ ์ค์น
# Ubuntu/Debian
sudo apt update
sudo apt install nvidia-driver-470
# Windows
# NVIDIA ์น์ฌ์ดํธ์์ ์ต์ ๋๋ผ์ด๋ฒ ๋ค์ด๋ก๋
CUDA ์ค์น
# CUDA 11.8 ์ค์น (๊ถ์ฅ)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
Docker ์ค์น
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Windows
# Docker Desktop ์ค์น
NVIDIA Docker ์ค์น
# NVIDIA Container Toolkit ์ค์น
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
๐ง ํ๊ฒฝ ์ค์
1. GPU ํ๊ฒฝ ํ์ธ
cd C:\Project\lily_generate_project\lily_generate_package
python check_gpu_environment.py
2. Hugging Face ์ค์
# Hugging Face ํ ํฐ ์ค์
huggingface-cli login
# ๋๋ Python ์คํฌ๋ฆฝํธ๋ก ์ค์
python huggingface_gpu_setup.py
๐ ๋ฐฐํฌ ์คํ
1. ์๋ ๋ฐฐํฌ (๊ถ์ฅ)
# ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ์คํ
chmod +x deploy_gpu_huggingface.sh
./deploy_gpu_huggingface.sh
2. ์๋ ๋ฐฐํฌ
# 1. ๊ธฐ์กด ์ปจํ
์ด๋ ์ ๋ฆฌ
docker-compose -f docker-compose.gpu.yml down --volumes --remove-orphans
# 2. GPU ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ
nvidia-smi --gpu-reset
# 3. ์ด๋ฏธ์ง ๋น๋
docker-compose -f docker-compose.gpu.yml build --no-cache
# 4. ์ปจํ
์ด๋ ์์
docker-compose -f docker-compose.gpu.yml up -d
# 5. ์๋น์ค ์ํ ํ์ธ
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 ์ฌ์ฉ๋ ํ์ธ
nvidia-smi
nvidia-smi -l 1 # 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. GPU ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ
# GPU ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ
nvidia-smi --gpu-reset
# ์ปจํ
์ด๋ ์ฌ์์
docker-compose -f docker-compose.gpu.yml restart
2. CUDA ๋ฒ์ ์ถฉ๋
# CUDA ๋ฒ์ ํ์ธ
nvcc --version
# PyTorch CUDA ๋ฒ์ ํ์ธ
python -c "import torch; print(torch.version.cuda)"
3. Docker ๊ถํ ๋ฌธ์
# Docker ๊ทธ๋ฃน์ ์ฌ์ฉ์ ์ถ๊ฐ
sudo usermod -aG docker $USER
# ์ฌ๋ก๊ทธ์ธ ํ ํ์ธ
docker ps
4. Hugging Face ํ ํฐ ๋ฌธ์
# ํ ํฐ ์ฌ์ค์
huggingface-cli logout
huggingface-cli login
๐ ์ฑ๋ฅ ์ต์ ํ
1. ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ
# 4-bit ์์ํ ์ ์ฉ
python huggingface_gpu_setup.py
# ์ฑ๋ฅ ์ต์ ํ ์ ์ฉ
python performance_optimization.py
2. ๋ฐฐ์น ํฌ๊ธฐ ์กฐ์
# config.yaml์์ ๋ฐฐ์น ํฌ๊ธฐ ์กฐ์
batch_size: 4 # GPU ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ๋ผ ์กฐ์
3. ๋ชจ๋ธ ์บ์ฑ
# Hugging Face ์บ์ ์ค์
export HF_HOME="/path/to/cache"
export TRANSFORMERS_CACHE="/path/to/cache"
๐ ์ ๋ฐ์ดํธ
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
๐ ์ง์
๋ฌธ์ ๋ฐ์ ์ ํ์ธ์ฌํญ
- GPU ๋๋ผ์ด๋ฒ ๋ฒ์
- CUDA ๋ฒ์
- Docker ๋ฒ์
- ์์คํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
- GPU ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
๋ก๊ทธ ํ์ผ ์์น
- Docker ๋ก๊ทธ:
docker-compose -f docker-compose.gpu.yml logs - ์ ํ๋ฆฌ์ผ์ด์
๋ก๊ทธ:
logs/๋๋ ํ ๋ฆฌ - GPU ๋ก๊ทธ:
nvidia-smi
๐ฏ ์ฑ๋ฅ ๋ฒค์น๋งํฌ
๊ถ์ฅ ์ฌ์๋ณ ์ฑ๋ฅ
- RTX 3060 (12GB): ๊ธฐ๋ณธ ๋ชจ๋ธ ์คํ ๊ฐ๋ฅ
- RTX 3080 (10GB): ์ค๊ฐ ํฌ๊ธฐ ๋ชจ๋ธ ์คํ ๊ฐ๋ฅ
- RTX 3090 (24GB): ๋์ฉ๋ ๋ชจ๋ธ ์คํ ๊ฐ๋ฅ
- RTX 4090 (24GB): ์ต๊ณ ์ฑ๋ฅ, ๋ชจ๋ ๋ชจ๋ธ ์คํ ๊ฐ๋ฅ
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ฐ์ด๋
- 4-bit ์์ํ: ๋ชจ๋ธ ํฌ๊ธฐ์ ์ฝ 25%
- 8-bit ์์ํ: ๋ชจ๋ธ ํฌ๊ธฐ์ ์ฝ 50%
- 16-bit (FP16): ๋ชจ๋ธ ํฌ๊ธฐ์ ์ฝ 100%
- 32-bit (FP32): ๋ชจ๋ธ ํฌ๊ธฐ์ ์ฝ 200%