File size: 32,708 Bytes
cf45b69 |
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 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 |
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"## Step 1: Setting Up Optimum ExecuTorch"
],
"metadata": {
"id": "JJ2zK7BTZ2no"
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "Jf8cvq_TYlH1",
"outputId": "10b89e53-428e-4bf2-f08f-97c743a54ae1"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Cloning into 'optimum-executorch'...\n",
"remote: Enumerating objects: 309, done.\u001b[K\n",
"remote: Counting objects: 100% (196/196), done.\u001b[K\n",
"remote: Compressing objects: 100% (82/82), done.\u001b[K\n",
"remote: Total 309 (delta 122), reused 146 (delta 96), pack-reused 113 (from 1)\u001b[K\n",
"Receiving objects: 100% (309/309), 72.96 KiB | 633.00 KiB/s, done.\n",
"Resolving deltas: 100% (146/146), done.\n",
"Processing /content/optimum-executorch\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Collecting optimum~=1.24 (from optimum-executorch==0.0.0.dev0)\n",
" Downloading optimum-1.24.0-py3-none-any.whl.metadata (21 kB)\n",
"Collecting executorch>=0.4.0 (from optimum-executorch==0.0.0.dev0)\n",
" Downloading executorch-0.5.0-cp311-cp311-manylinux1_x86_64.whl.metadata (6.0 kB)\n",
"Requirement already satisfied: transformers>=4.46 in /usr/local/lib/python3.11/dist-packages (from optimum-executorch==0.0.0.dev0) (4.48.3)\n",
"Collecting expecttest (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading expecttest-0.3.0-py3-none-any.whl.metadata (3.8 kB)\n",
"Requirement already satisfied: flatbuffers in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (25.2.10)\n",
"Collecting hypothesis (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading hypothesis-6.127.7-py3-none-any.whl.metadata (4.4 kB)\n",
"Requirement already satisfied: mpmath==1.3.0 in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (1.3.0)\n",
"Collecting numpy==2.0.0 (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m60.9/60.9 kB\u001b[0m \u001b[31m2.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (24.2)\n",
"Requirement already satisfied: pandas==2.2.2 in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2.2.2)\n",
"Collecting parameterized (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading parameterized-0.9.0-py2.py3-none-any.whl.metadata (18 kB)\n",
"Requirement already satisfied: pytest in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (8.3.4)\n",
"Collecting pytest-xdist (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading pytest_xdist-3.6.1-py3-none-any.whl.metadata (4.3 kB)\n",
"Requirement already satisfied: pyyaml in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (6.0.2)\n",
"Collecting ruamel.yaml (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading ruamel.yaml-0.18.10-py3-none-any.whl.metadata (23 kB)\n",
"Requirement already satisfied: sympy in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (1.13.1)\n",
"Requirement already satisfied: tabulate in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (0.9.0)\n",
"Collecting torch==2.6.0 (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)\n",
"Collecting torchaudio==2.6.0 (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading torchaudio-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (6.6 kB)\n",
"Collecting torchvision==0.21.0 (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading torchvision-0.21.0-cp311-cp311-manylinux1_x86_64.whl.metadata (6.1 kB)\n",
"Requirement already satisfied: typing-extensions in /usr/local/lib/python3.11/dist-packages (from executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (4.12.2)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas==2.2.2->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas==2.2.2->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2025.1)\n",
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas==2.2.2->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2025.1)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (3.17.0)\n",
"Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (3.4.2)\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (3.1.5)\n",
"Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2024.10.0)\n",
"Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cublas-cu12==12.4.5.8 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cufft-cu12==11.2.1.3 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-curand-cu12==10.3.5.147 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cusparselt-cu12==0.6.2 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
"Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2.21.5)\n",
"Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (12.4.127)\n",
"Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting triton==3.2.0 (from torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n",
"Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.11/dist-packages (from torchvision==0.21.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (11.1.0)\n",
"Requirement already satisfied: huggingface-hub>=0.8.0 in /usr/local/lib/python3.11/dist-packages (from optimum~=1.24->optimum-executorch==0.0.0.dev0) (0.28.1)\n",
"Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers>=4.46->optimum-executorch==0.0.0.dev0) (2024.11.6)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from transformers>=4.46->optimum-executorch==0.0.0.dev0) (2.32.3)\n",
"Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers>=4.46->optimum-executorch==0.0.0.dev0) (0.21.0)\n",
"Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.11/dist-packages (from transformers>=4.46->optimum-executorch==0.0.0.dev0) (0.5.3)\n",
"Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.11/dist-packages (from transformers>=4.46->optimum-executorch==0.0.0.dev0) (4.67.1)\n",
"Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.11/dist-packages (from hypothesis->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (25.1.0)\n",
"Requirement already satisfied: sortedcontainers<3.0.0,>=2.1.0 in /usr/local/lib/python3.11/dist-packages (from hypothesis->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2.4.0)\n",
"Requirement already satisfied: iniconfig in /usr/local/lib/python3.11/dist-packages (from pytest->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (2.0.0)\n",
"Requirement already satisfied: pluggy<2,>=1.5 in /usr/local/lib/python3.11/dist-packages (from pytest->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (1.5.0)\n",
"Collecting execnet>=2.1 (from pytest-xdist->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading execnet-2.1.1-py3-none-any.whl.metadata (2.9 kB)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=4.46->optimum-executorch==0.0.0.dev0) (3.4.1)\n",
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=4.46->optimum-executorch==0.0.0.dev0) (3.10)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=4.46->optimum-executorch==0.0.0.dev0) (2.3.0)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=4.46->optimum-executorch==0.0.0.dev0) (2025.1.31)\n",
"Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml->executorch>=0.4.0->optimum-executorch==0.0.0.dev0)\n",
" Downloading ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas==2.2.2->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (1.17.0)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch==2.6.0->executorch>=0.4.0->optimum-executorch==0.0.0.dev0) (3.0.2)\n",
"Downloading executorch-0.5.0-cp311-cp311-manylinux1_x86_64.whl (6.1 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m6.1/6.1 MB\u001b[0m \u001b[31m68.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.3 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m19.3/19.3 MB\u001b[0m \u001b[31m95.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl (766.7 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m766.7/766.7 MB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading torchaudio-2.6.0-cp311-cp311-manylinux1_x86_64.whl (3.4 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m3.4/3.4 MB\u001b[0m \u001b[31m82.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading torchvision-0.21.0-cp311-cp311-manylinux1_x86_64.whl (7.2 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m7.2/7.2 MB\u001b[0m \u001b[31m100.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m363.4/363.4 MB\u001b[0m \u001b[31m3.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m53.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m24.6/24.6 MB\u001b[0m \u001b[31m36.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m883.7/883.7 kB\u001b[0m \u001b[31m45.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m211.5/211.5 MB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m56.3/56.3 MB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m127.9/127.9 MB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m207.5/207.5 MB\u001b[0m \u001b[31m6.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m150.1/150.1 MB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m21.1/21.1 MB\u001b[0m \u001b[31m84.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m253.2/253.2 MB\u001b[0m \u001b[31m4.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading optimum-1.24.0-py3-none-any.whl (433 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m433.6/433.6 kB\u001b[0m \u001b[31m31.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading expecttest-0.3.0-py3-none-any.whl (8.2 kB)\n",
"Downloading hypothesis-6.127.7-py3-none-any.whl (483 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m483.3/483.3 kB\u001b[0m \u001b[31m37.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading parameterized-0.9.0-py2.py3-none-any.whl (20 kB)\n",
"Downloading pytest_xdist-3.6.1-py3-none-any.whl (46 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m46.1/46.1 kB\u001b[0m \u001b[31m4.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading ruamel.yaml-0.18.10-py3-none-any.whl (117 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m117.7/117.7 kB\u001b[0m \u001b[31m12.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading execnet-2.1.1-py3-none-any.whl (40 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m40.6/40.6 kB\u001b[0m \u001b[31m3.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (739 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m739.1/739.1 kB\u001b[0m \u001b[31m53.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hBuilding wheels for collected packages: optimum-executorch\n",
" Building wheel for optimum-executorch (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for optimum-executorch: filename=optimum_executorch-0.0.0.dev0-py3-none-any.whl size=26854 sha256=4c8d4ff67f0691b21305f380afc74d27ad6eed5e9025fca6bfd0ac992f308461\n",
" Stored in directory: /root/.cache/pip/wheels/8f/7c/a6/ff41f7e873d3e74183b74cf6c37176e23ba574ae9e795ff660\n",
"Successfully built optimum-executorch\n",
"Installing collected packages: triton, nvidia-cusparselt-cu12, ruamel.yaml.clib, parameterized, nvidia-nvjitlink-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, hypothesis, expecttest, execnet, ruamel.yaml, pytest-xdist, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, torch, torchvision, torchaudio, optimum, executorch, optimum-executorch\n",
" Attempting uninstall: triton\n",
" Found existing installation: triton 3.1.0\n",
" Uninstalling triton-3.1.0:\n",
" Successfully uninstalled triton-3.1.0\n",
" Attempting uninstall: nvidia-nvjitlink-cu12\n",
" Found existing installation: nvidia-nvjitlink-cu12 12.5.82\n",
" Uninstalling nvidia-nvjitlink-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82\n",
" Attempting uninstall: nvidia-curand-cu12\n",
" Found existing installation: nvidia-curand-cu12 10.3.6.82\n",
" Uninstalling nvidia-curand-cu12-10.3.6.82:\n",
" Successfully uninstalled nvidia-curand-cu12-10.3.6.82\n",
" Attempting uninstall: nvidia-cufft-cu12\n",
" Found existing installation: nvidia-cufft-cu12 11.2.3.61\n",
" Uninstalling nvidia-cufft-cu12-11.2.3.61:\n",
" Successfully uninstalled nvidia-cufft-cu12-11.2.3.61\n",
" Attempting uninstall: nvidia-cuda-runtime-cu12\n",
" Found existing installation: nvidia-cuda-runtime-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-runtime-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cuda-nvrtc-cu12\n",
" Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cuda-cupti-cu12\n",
" Found existing installation: nvidia-cuda-cupti-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-cupti-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cublas-cu12\n",
" Found existing installation: nvidia-cublas-cu12 12.5.3.2\n",
" Uninstalling nvidia-cublas-cu12-12.5.3.2:\n",
" Successfully uninstalled nvidia-cublas-cu12-12.5.3.2\n",
" Attempting uninstall: numpy\n",
" Found existing installation: numpy 1.26.4\n",
" Uninstalling numpy-1.26.4:\n",
" Successfully uninstalled numpy-1.26.4\n",
" Attempting uninstall: nvidia-cusparse-cu12\n",
" Found existing installation: nvidia-cusparse-cu12 12.5.1.3\n",
" Uninstalling nvidia-cusparse-cu12-12.5.1.3:\n",
" Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3\n",
" Attempting uninstall: nvidia-cudnn-cu12\n",
" Found existing installation: nvidia-cudnn-cu12 9.3.0.75\n",
" Uninstalling nvidia-cudnn-cu12-9.3.0.75:\n",
" Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75\n",
" Attempting uninstall: nvidia-cusolver-cu12\n",
" Found existing installation: nvidia-cusolver-cu12 11.6.3.83\n",
" Uninstalling nvidia-cusolver-cu12-11.6.3.83:\n",
" Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83\n",
" Attempting uninstall: torch\n",
" Found existing installation: torch 2.5.1+cu124\n",
" Uninstalling torch-2.5.1+cu124:\n",
" Successfully uninstalled torch-2.5.1+cu124\n",
" Attempting uninstall: torchvision\n",
" Found existing installation: torchvision 0.20.1+cu124\n",
" Uninstalling torchvision-0.20.1+cu124:\n",
" Successfully uninstalled torchvision-0.20.1+cu124\n",
" Attempting uninstall: torchaudio\n",
" Found existing installation: torchaudio 2.5.1+cu124\n",
" Uninstalling torchaudio-2.5.1+cu124:\n",
" Successfully uninstalled torchaudio-2.5.1+cu124\n",
"\u001b[31mERROR: 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.\n",
"fastai 2.7.18 requires torch<2.6,>=1.10, but you have torch 2.6.0 which is incompatible.\n",
"pytensor 2.27.1 requires numpy<2,>=1.17.0, but you have numpy 2.0.0 which is incompatible.\n",
"gensim 4.3.3 requires numpy<2.0,>=1.18.5, but you have numpy 2.0.0 which is incompatible.\n",
"thinc 8.2.5 requires numpy<2.0.0,>=1.19.0; python_version >= \"3.9\", but you have numpy 2.0.0 which is incompatible.\n",
"langchain 0.3.19 requires numpy<2,>=1.26.4; python_version < \"3.12\", but you have numpy 2.0.0 which is incompatible.\u001b[0m\u001b[31m\n",
"\u001b[0mSuccessfully installed execnet-2.1.1 executorch-0.5.0 expecttest-0.3.0 hypothesis-6.127.7 numpy-2.0.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nvjitlink-cu12-12.4.127 optimum-1.24.0 optimum-executorch-0.0.0.dev0 parameterized-0.9.0 pytest-xdist-3.6.1 ruamel.yaml-0.18.10 ruamel.yaml.clib-0.2.12 torch-2.6.0 torchaudio-2.6.0 torchvision-0.21.0 triton-3.2.0\n"
]
}
],
"source": [
"! touch /content/optimum-executorch; rm -rf /content/optimum-executorch\n",
"! git clone https://github.com/huggingface/optimum-executorch ; cd /content/optimum-executorch; pip install ."
]
},
{
"cell_type": "markdown",
"source": [
"## Step 2: Export to ExecuTorch"
],
"metadata": {
"id": "fC9CGHJraXYo"
}
},
{
"cell_type": "code",
"source": [
"! cd /content/optimum-executorch; optimum-cli export executorch \\\n",
" --model \"HuggingFaceTB/SmolLM2-135M\" \\\n",
" --task \"text-generation\" \\\n",
" --recipe \"xnnpack\" \\\n",
" --output_dir=\"./smollmv2_135m\""
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZRh7wlLuad8o",
"outputId": "e953dcb6-ca53-49db-f93e-9ed4e21f3950"
},
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"2025-03-05 22:27:06.717266: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:477] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
"WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n",
"E0000 00:00:1741213626.971880 2192 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
"E0000 00:00:1741213627.038529 2192 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
"2025-03-05 22:27:07.579918: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
"To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
"config.json: 100% 704/704 [00:00<00:00, 5.44MB/s]\n",
"model.safetensors: 100% 269M/269M [00:01<00:00, 206MB/s]\n",
"The 'batch_size' argument of StaticCache is deprecated and will be removed in v4.49. Use the more precisely named 'max_batch_size' argument instead.\n",
"The 'batch_size' attribute of StaticCache is deprecated and will be removed in v4.49. Use the more precisely named 'self.max_batch_size' attribute instead.\n",
"/usr/local/lib/python3.11/dist-packages/executorch/exir/emit/_emitter.py:1575: UserWarning: Mutation on a buffer in the model is detected. ExecuTorch assumes buffers that are mutated in the graph have a meaningless initial state, only the shape and dtype will be serialized.\n",
" warnings.warn(\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"! cd /content/optimum-executorch; ls -all ./smollmv2_135m"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gCVEovBPbk1p",
"outputId": "2e648007-15ee-47bd-a444-2ae0015976d1"
},
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"total 530244\n",
"drwxr-xr-x 2 root root 4096 Mar 5 22:32 .\n",
"drwxr-xr-x 10 root root 4096 Mar 5 22:27 ..\n",
"-rw-r--r-- 1 root root 542957120 Mar 5 22:32 model.pte\n"
]
}
]
}
]
} |