In [1]:
%%bash
set -euxo pipefail
pip install -U pip
# Clean out conflicting installs
pip uninstall -y torch torchvision torchaudio bitsandbytes accelerate || true
# Install CUDA-enabled PyTorch for Colab (CUDA 12.1). Fall back to cu118 if needed.
pip install --index-url https://download.pytorch.org/whl/cu121 torch torchvision torchaudio \
|| pip install --index-url https://download.pytorch.org/whl/cu118 torch torchvision torchaudio
# Install bitsandbytes (>=0.43.1 to avoid old CUDA-only import paths) + transformers + sentencepiece
pip install "bitsandbytes>=0.43.1" "transformers>=4.44.0" sentencepiece
Requirement already satisfied: pip in /usr/local/lib/python3.12/dist-packages (25.2) Found existing installation: torch 2.5.1+cu121 Uninstalling torch-2.5.1+cu121: Successfully uninstalled torch-2.5.1+cu121 Found existing installation: torchvision 0.20.1+cu121 Uninstalling torchvision-0.20.1+cu121: Successfully uninstalled torchvision-0.20.1+cu121 Found existing installation: torchaudio 2.5.1+cu121 Uninstalling torchaudio-2.5.1+cu121: Successfully uninstalled torchaudio-2.5.1+cu121 Found existing installation: bitsandbytes 0.47.0 Uninstalling bitsandbytes-0.47.0: Successfully uninstalled bitsandbytes-0.47.0 Found existing installation: accelerate 1.10.1 Uninstalling accelerate-1.10.1: Successfully uninstalled accelerate-1.10.1 Looking in indexes: https://download.pytorch.org/whl/cu121 Collecting torch Using cached https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl (780.4 MB) Collecting torchvision Using cached https://download.pytorch.org/whl/cu121/torchvision-0.20.1%2Bcu121-cp312-cp312-linux_x86_64.whl (7.3 MB) Collecting torchaudio Using cached https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl (3.4 MB) Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from torch) (3.19.1) Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.12/dist-packages (from torch) (4.15.0) Requirement already satisfied: networkx in /usr/local/lib/python3.12/dist-packages (from torch) (3.5) Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from torch) (3.1.6) Requirement already satisfied: fsspec in /usr/local/lib/python3.12/dist-packages (from torch) (2025.3.0) Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.105) Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.105) Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.105) Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.12/dist-packages (from torch) (9.1.0.70) Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.3.1) Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.12/dist-packages (from torch) (11.0.2.54) Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.12/dist-packages (from torch) (10.3.2.106) Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.12/dist-packages (from torch) (11.4.5.107) Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.0.106) Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.12/dist-packages (from torch) (2.21.5) Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch) (12.1.105) Requirement already satisfied: triton==3.1.0 in /usr/local/lib/python3.12/dist-packages (from torch) (3.1.0) Requirement already satisfied: setuptools in /usr/local/lib/python3.12/dist-packages (from torch) (75.2.0) Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.12/dist-packages (from torch) (1.13.1) Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.12/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch) (12.6.85) Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from sympy==1.13.1->torch) (1.3.0) Requirement already satisfied: numpy in /usr/local/lib/python3.12/dist-packages (from torchvision) (2.0.2) Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.12/dist-packages (from torchvision) (11.3.0) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2->torch) (3.0.2) Installing collected packages: torch, torchvision, torchaudio Successfully installed torch-2.5.1+cu121 torchaudio-2.5.1+cu121 torchvision-0.20.1+cu121 Collecting bitsandbytes>=0.43.1 Using cached bitsandbytes-0.47.0-py3-none-manylinux_2_24_x86_64.whl.metadata (11 kB) Requirement already satisfied: transformers>=4.44.0 in /usr/local/lib/python3.12/dist-packages (4.56.1) Requirement already satisfied: sentencepiece in /usr/local/lib/python3.12/dist-packages (0.2.1) Requirement already satisfied: torch<3,>=2.2 in /usr/local/lib/python3.12/dist-packages (from bitsandbytes>=0.43.1) (2.5.1+cu121) Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.12/dist-packages (from bitsandbytes>=0.43.1) (2.0.2) Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (3.19.1) Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (4.15.0) Requirement already satisfied: networkx in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (3.5) Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (3.1.6) Requirement already satisfied: fsspec in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (2025.3.0) Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.105) Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.105) Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.105) Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (9.1.0.70) Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.3.1) Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (11.0.2.54) Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (10.3.2.106) Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (11.4.5.107) Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.0.106) Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (2.21.5) Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (12.1.105) Requirement already satisfied: triton==3.1.0 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (3.1.0) Requirement already satisfied: setuptools in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (75.2.0) Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.12/dist-packages (from torch<3,>=2.2->bitsandbytes>=0.43.1) (1.13.1) Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.12/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<3,>=2.2->bitsandbytes>=0.43.1) (12.6.85) Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from sympy==1.13.1->torch<3,>=2.2->bitsandbytes>=0.43.1) (1.3.0) Requirement already satisfied: huggingface-hub<1.0,>=0.34.0 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (0.34.4) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (25.0) Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (6.0.2) Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (2024.11.6) Requirement already satisfied: requests in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (2.32.4) Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (0.22.0) Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (0.6.2) Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.12/dist-packages (from transformers>=4.44.0) (4.67.1) Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<1.0,>=0.34.0->transformers>=4.44.0) (1.1.9) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2->torch<3,>=2.2->bitsandbytes>=0.43.1) (3.0.2) Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests->transformers>=4.44.0) (3.4.3) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests->transformers>=4.44.0) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests->transformers>=4.44.0) (2.5.0) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests->transformers>=4.44.0) (2025.8.3) Using cached bitsandbytes-0.47.0-py3-none-manylinux_2_24_x86_64.whl (61.3 MB) Installing collected packages: bitsandbytes Successfully installed bitsandbytes-0.47.0
+ pip install -U pip + pip uninstall -y torch torchvision torchaudio bitsandbytes accelerate + pip install --index-url https://download.pytorch.org/whl/cu121 torch torchvision torchaudio ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. peft 0.17.1 requires accelerate>=0.21.0, which is not installed. + pip install 'bitsandbytes>=0.43.1' 'transformers>=4.44.0' sentencepiece
In [2]:
import torch, bitsandbytes as bnb
print("PyTorch:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("bitsandbytes:", bnb.__version__)
PyTorch: 2.5.1+cu121 CUDA available: True bitsandbytes: 0.47.0
In [4]:
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16, # FP16 on GPU
device_map=None
).to("cuda") # or "cpu" if no GPU
chat = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0)
prompt = (
"### User: In one sentence, explain why the sky is blue.\n"
"### Assistant:"
)
response = chat(
prompt,
max_new_tokens=128,
temperature=0.3,
do_sample=True,
)[0]["generated_text"]
print(response)
model.safetensors: 0%| | 0.00/2.20G [00:00<?, ?B/s]
generation_config.json: 0%| | 0.00/124 [00:00<?, ?B/s]
Device set to use cuda:0
### User: In one sentence, explain why the sky is blue. ### Assistant: The sky is blue because the sunlight reflects off the Earth's atmosphere, which contains a mixture of gases such as oxygen and nitrogen. These gases absorb some of the blue light, which is then reflected back to our eyes, creating the color blue.