[Models] Add Phi3 to tests #295
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unit tests GPU | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
workflow_dispatch: | |
jobs: | |
unit-tests: | |
strategy: | |
matrix: | |
os: [gpu-runner] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
model: ["gpt2gpu", "phi2gpu", "hfllama_7b_gpu"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Show GPUs | |
run: | | |
nvidia-smi | |
- name: Update Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get -y upgrade | |
- name: Ensure NVIDIA SDK available | |
run: | | |
sudo apt-get -y install cuda-toolkit | |
echo "/usr/local/cuda-12.4/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
shell: bash | |
run: | | |
python -m pip install --upgrade pip | |
pip install pytest | |
pip install -e .[schemas,test] | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
- name: GPU pip installs | |
run: | | |
pip install accelerate | |
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install "llama-cpp-python!=0.2.58" | |
- name: Check GPU available | |
run: | | |
python -c "import torch; assert torch.cuda.is_available()" | |
- name: Run tests (except server) | |
run: | | |
pytest --cov=guidance --cov-report=xml --cov-report=term-missing \ | |
--selected_model ${{ matrix.model }} \ | |
-m "not (server or needs_credentials)" \ | |
./tests/ | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} |