# ============================================================================== # Requirements for v3 -> v4 NADRA fine-tuning on the HBL GPU server # ============================================================================== # # HOW TO GET THESE ONTO THE SERVER (no internet on the GPU box): # # On your internet-connected laptop, with the SAME Python version and OS # family (Windows) as the target server: # # pip download -r requirements.txt -d wheelhouse # # Then copy the entire `wheelhouse` folder to the GPU server and install # fully offline with: # # pip install --no-index --find-links=wheelhouse -r requirements.txt # # IMPORTANT: run `pip download` on a machine with the same OS (Windows) # and Python minor version (e.g. 3.10.x) as the server, or the downloaded # wheels won't match and pip will silently try to hit the network on the # server and fail. # # BITSANDBYTES / WINDOWS NOTE: # Current stable bitsandbytes (0.45.x+) publishes official Windows CUDA # wheels directly on PyPI -- a plain `pip download bitsandbytes` on the # laptop should work, no need for third-party Windows forks. # Compatibility matrix to double-check against your server's CUDA Toolkit # before committing to a long run: # - CUDA Toolkit 11.7-12.6 supported on Windows # - Requires MSVC 19.38+ (VS2022) runtime present # - NF4/4-bit quantization needs NVIDIA Maxwell or newer -- your A16 # (Ampere, compute capability 8.6) is well within spec. # Test 4-bit model loading in isolation on the server FIRST (small script, # just load + quantize, no training) before starting an unattended run -- # CUDA/driver mismatches surface as first-op runtime errors, not install # errors, so a clean `pip install` does not guarantee it will actually work. # # The training script defaults to optim="adamw_torch" (no bitsandbytes # optimizer kernels needed at all). Only bitsandbytes' 4-bit LOADING path # is required by default. Set USE_BNB_PAGED_OPTIMIZER = True in the script # only after separately confirming the 8-bit optimizer kernels work on this # server -- it's a distinct risk surface from 4-bit quantized loading. # # ============================================================================== torch>=2.1,<2.5 transformers>=4.44,<4.50 accelerate>=0.33,<0.35 peft>=0.12,<0.14 bitsandbytes>=0.45,<0.50 datasets>=2.20,<2.22 numpy>=1.24,<2.0 pandas>=2.0,<2.3 safetensors>=0.4.3