| #!/bin/bash |
| set -euo pipefail |
|
|
| ENV_NAME=spec |
| TUNA=https://pypi.tuna.tsinghua.edu.cn/simple |
| CONDA=/workspace/miniconda3/bin/conda |
|
|
| echo "=== 1/6 创建 conda 环境 ===" |
| $CONDA create -n $ENV_NAME python=3.11 -y |
| source /workspace/miniconda3/etc/profile.d/conda.sh |
| conda activate $ENV_NAME |
|
|
| echo "=== 2/6 安装 PyTorch ===" |
| pip install -U pip setuptools wheel |
| pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 \ |
| --index-url https://download.pytorch.org/whl/cu128 |
|
|
| echo "=== 3/6 安装核心依赖 ===" |
| pip install -i $TUNA \ |
| transformers==4.57.1 \ |
| accelerate \ |
| datasets \ |
| tqdm \ |
| peft \ |
| safetensors \ |
| pydantic \ |
| numpy \ |
| typing_extensions \ |
| sglang==0.5.6 \ |
| sgl-kernel \ |
| yunchang |
|
|
| echo "=== 4/6 安装工具包 ===" |
| pip install -i $TUNA \ |
| packaging \ |
| ninja \ |
| psutil |
|
|
| echo "=== 5/6 安装可选依赖 ===" |
| pip install flash-attn --no-build-isolation -i $TUNA || echo "WARNING: flash-attn 安装失败,将 fallback 到 flex_attention" |
| pip install wandb -i $TUNA || true |
|
|
| echo "=== 6/6 安装 Specforge ===" |
| cd /workspace/hanrui/syxin_old/Specforge |
| pip install -e . --no-deps |
|
|
| echo "" |
| echo "=== 验证 ===" |
| python -c " |
| import torch |
| print(f'PyTorch: {torch.__version__}') |
| print(f'CUDA: {torch.cuda.is_available()}, {torch.version.cuda}') |
| from torch.nn.attention.flex_attention import flex_attention |
| print('flex_attention: OK') |
| import transformers; print(f'transformers: {transformers.__version__}') |
| import accelerate; print(f'accelerate: {accelerate.__version__}') |
| import datasets; print('datasets: OK') |
| import peft; print(f'peft: {peft.__version__}') |
| import yunchang; print('yunchang: OK') |
| import sglang; print('sglang: OK') |
| import safetensors; print('safetensors: OK') |
| import pydantic; print('pydantic: OK') |
| print() |
| print('All good!') |
| " |
|
|