1
name: BNB from source self-hosted runner with slow tests (scheduled)
11
# To be able to run tests on CUDA 12.2
12
NVIDIA_DISABLE_REQUIRE: "1"
13
SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }}
17
run_all_tests_single_gpu:
21
docker-image-name: ["huggingface/peft-gpu-bnb-source:latest", "huggingface/peft-gpu-bnb-latest:latest"]
22
runs-on: [self-hosted, single-gpu, nvidia-gpu, t4, ci]
24
CUDA_VISIBLE_DEVICES: "0"
25
TEST_TYPE: "single_gpu_${{ matrix.docker-image-name }}"
27
image: ${{ matrix.docker-image-name }}
28
options: --gpus all --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/
33
- uses: actions/checkout@v3
37
pip install -e . --no-deps
38
pip install pytest-reportlog pytest-cov parameterized datasets scipy einops
39
pip install "pytest>=7.2.0,<8.0.0" # see: https://github.com/huggingface/transformers/blob/ce4fff0be7f6464d713f7ac3e0bbaafbc6959ae5/setup.py#L148C6-L148C26
40
mkdir transformers-clone && git clone https://github.com/huggingface/transformers.git transformers-clone # rename to transformers clone to avoid modules conflict
41
if [ "${{ matrix.docker-image-name }}" == "huggingface/peft-gpu-bnb-latest:latest" ]; then
43
transformers_version=$(pip show transformers | grep '^Version:' | cut -d ' ' -f2 | sed 's/\.dev0//')
44
echo "Checking out tag for Transformers version: v$transformers_version"
46
git checkout tags/v$transformers_version
49
- name: Run examples on single GPU
53
make tests_examples_single_gpu_bnb
55
- name: Run core tests on single GPU
59
make tests_core_single_gpu_bnb
61
- name: Run transformers tests on single GPU
65
make transformers_tests
67
- name: Generate Report
70
pip install slack_sdk tabulate
71
python scripts/log_reports.py --slack_channel_name bnb-daily-ci >> $GITHUB_STEP_SUMMARY
73
run_all_tests_multi_gpu:
77
docker-image-name: ["huggingface/peft-gpu-bnb-source:latest", "huggingface/peft-gpu-bnb-latest:latest"]
78
runs-on: [self-hosted, multi-gpu, nvidia-gpu, t4, ci]
80
CUDA_VISIBLE_DEVICES: "0,1"
81
TEST_TYPE: "multi_gpu_${{ matrix.docker-image-name }}"
83
image: ${{ matrix.docker-image-name }}
84
options: --gpus all --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/
89
- uses: actions/checkout@v3
93
pip install -e . --no-deps
94
pip install pytest-reportlog pytest-cov parameterized datasets scipy einops
95
pip install "pytest>=7.2.0,<8.0.0" # see: https://github.com/huggingface/transformers/blob/ce4fff0be7f6464d713f7ac3e0bbaafbc6959ae5/setup.py#L148C6-L148C26
96
mkdir transformers-clone && git clone https://github.com/huggingface/transformers.git transformers-clone
97
if [ "${{ matrix.docker-image-name }}" == "huggingface/peft-gpu-bnb-latest:latest" ]; then
99
transformers_version=$(pip show transformers | grep '^Version:' | cut -d ' ' -f2 | sed 's/\.dev0//')
100
echo "Checking out tag for Transformers version: v$transformers_version"
102
git checkout tags/v$transformers_version
106
- name: Run core GPU tests on multi-gpu
111
- name: Run examples on multi GPU
115
make tests_examples_multi_gpu_bnb
117
- name: Run core tests on multi GPU
121
make tests_core_multi_gpu_bnb
123
- name: Run transformers tests on multi GPU
127
make transformers_tests
129
- name: Generate Report
132
pip install slack_sdk tabulate
133
python scripts/log_reports.py --slack_channel_name bnb-daily-ci >> $GITHUB_STEP_SUMMARY