File size: 10,469 Bytes
a042909 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "b7c4923e-d406-4a06-a847-b068a1f8154a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: U in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (1.0)\n",
"Requirement already satisfied: bitsandbytes in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (0.45.3)\n",
"Requirement already satisfied: revel>=0.9.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from U) (0.9.1)\n",
"Requirement already satisfied: typing-extensions in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from U) (4.12.2)\n",
"Requirement already satisfied: torch<3,>=2.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from bitsandbytes) (2.2.1+cu121)\n",
"Requirement already satisfied: numpy>=1.17 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from bitsandbytes) (1.26.4)\n",
"Requirement already satisfied: blessed<2.0.0,>=1.19.1 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from revel>=0.9.0->U) (1.20.0)\n",
"Requirement already satisfied: colorama<0.5.0,>=0.4.6 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from revel>=0.9.0->U) (0.4.6)\n",
"Requirement already satisfied: readchar<5.0.0,>=4.0.3 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from revel>=0.9.0->U) (4.2.1)\n",
"Requirement already satisfied: filelock in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (3.17.0)\n",
"Requirement already satisfied: sympy in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (1.13.3)\n",
"Requirement already satisfied: networkx in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (3.4.2)\n",
"Requirement already satisfied: jinja2 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (3.1.5)\n",
"Requirement already satisfied: fsspec in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (2024.12.0)\n",
"Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.105)\n",
"Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.105)\n",
"Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.105)\n",
"Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (8.9.2.26)\n",
"Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.3.1)\n",
"Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (11.0.2.54)\n",
"Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (10.3.2.106)\n",
"Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (11.4.5.107)\n",
"Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.0.106)\n",
"Requirement already satisfied: nvidia-nccl-cu12==2.19.3 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (2.19.3)\n",
"Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (12.1.105)\n",
"Requirement already satisfied: triton==2.2.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from torch<3,>=2.0->bitsandbytes) (2.2.0)\n",
"Requirement already satisfied: nvidia-nvjitlink-cu12 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<3,>=2.0->bitsandbytes) (12.8.61)\n",
"Requirement already satisfied: wcwidth>=0.1.4 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from blessed<2.0.0,>=1.19.1->revel>=0.9.0->U) (0.2.13)\n",
"Requirement already satisfied: six>=1.9.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from blessed<2.0.0,>=1.19.1->revel>=0.9.0->U) (1.17.0)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from jinja2->torch<3,>=2.0->bitsandbytes) (3.0.2)\n",
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in /system/conda/miniconda3/envs/cloudspace/lib/python3.10/site-packages (from sympy->torch<3,>=2.0->bitsandbytes) (1.3.0)\n"
]
}
],
"source": [
"!pip install U bitsandbytes"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "27fd8559-b9a2-4c1f-bebd-eb19e7acac39",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"The `load_in_4bit` and `load_in_8bit` arguments are deprecated and will be removed in the future versions. Please, pass a `BitsAndBytesConfig` object in `quantization_config` argument instead.\n"
]
}
],
"source": [
"from transformers import AutoModelForCausalLM, AutoTokenizer\n",
"import torch\n",
"\n",
"model_name = \"gpt2\"\n",
"\n",
"model = AutoModelForCausalLM.from_pretrained(\n",
" model_name,\n",
" load_in_4bit=True, # Enable 4-bit quantization\n",
" device_map=\"auto\"\n",
")\n",
"tokenizer = AutoTokenizer.from_pretrained(model_name)\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "16061d86-4874-4f90-98b6-890ac640fde8",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Device set to use cuda:0\n",
"Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"how is the time required to make a long shot out of it when you have no idea when the money may be better spent on a small percentage of it which has to be purchased or sold without making a mistake?\n",
"\n",
"How should we know if a purchase has a minimum amount of effort and which is the right amount? This is a good place to start a review.\n",
"\n",
"One simple example of a money buyer looking to spend an extra $1 is when you can find a used car on eBay. It is likely the best starting point to consider as the one for the car you are buying for it at the time you get your check – and maybe even your retirement check even before you pay the $1,000 purchase deposit on it for your car. You may need to carefully evaluate your car before you buy it; check before you buy something for what you may want for your next purchase.\n",
"\n",
"Another way to look at it is when you sell it at a value around $\n"
]
}
],
"source": [
"from transformers import pipeline\n",
"\n",
"code_generator = pipeline(\"text-generation\", model=model, tokenizer=tokenizer)\n",
"\n",
"prompt = \"how is the time\"\n",
"generated_code = code_generator(prompt, max_length=200, num_return_sequences=1)\n",
"\n",
"print(generated_code[0][\"generated_text\"])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f8cf6fc1-8fd9-4f68-b9c5-4b58e3f57293",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('quantization_model/tokenizer_config.json',\n",
" 'quantization_model/special_tokens_map.json',\n",
" 'quantization_model/vocab.json',\n",
" 'quantization_model/merges.txt',\n",
" 'quantization_model/added_tokens.json',\n",
" 'quantization_model/tokenizer.json')"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.save_pretrained(\"quantization_model\")\n",
"tokenizer.save_pretrained(\"quantization_model\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "f3078dbe-a264-4e11-af3a-8e670ac6f7af",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Folder 'quantization_model' has been zipped as 'quantization_model.zip'.\n"
]
}
],
"source": [
"import shutil\n",
"\n",
"# Specify the folder to be zipped\n",
"folder_path = \"quantization_model\" # Replace with your actual folder name\n",
"zip_name = \"quantization_model.zip\" # Desired zip file name\n",
"\n",
"# Create a zip archive\n",
"shutil.make_archive(zip_name.replace('.zip', ''), 'zip', folder_path)\n",
"\n",
"print(f\"Folder '{folder_path}' has been zipped as '{zip_name}'.\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f7f877b3-b7c3-4d68-a43f-21be464f3be8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|