diff --git a/week8/day1.ipynb b/week8/day1.ipynb index a2bb3ed..92a82f2 100644 --- a/week8/day1.ipynb +++ b/week8/day1.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 46, "id": "bc0e1c1c-be6a-4395-bbbd-eeafc9330d7e", "metadata": {}, "outputs": [], @@ -100,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 47, "id": "3b133701-f550-44a1-a67f-eb7ccc4769a9", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 48, "id": "0f3f73ae-1295-49f3-9099-b8b41fc3429b", "metadata": {}, "outputs": [ @@ -120,7 +120,7 @@ "'Hello from San Diego, California, US!!'" ] }, - "execution_count": 11, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -133,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 49, "id": "c1d8c6f9-edc7-4e52-9b3a-c07d7cff1ac7", "metadata": {}, "outputs": [ @@ -143,7 +143,7 @@ "'Hello from Ashburn, Virginia, US!!'" ] }, - "execution_count": 18, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -174,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 50, "id": "b027da1a-c79d-42cb-810d-32ddca31aa02", "metadata": {}, "outputs": [ @@ -184,7 +184,7 @@ "'Hello from Frankfurt am Main, Hesse, DE!!'" ] }, - "execution_count": 14, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 51, "id": "cb8b6c41-8259-4329-b1c4-a1f67d26d1be", "metadata": {}, "outputs": [], @@ -224,14 +224,14 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 52, "id": "db4a718a-d95d-4f61-9688-c9df21d88fe6", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9015e936cf2849ba9b7187470e746451", + "model_id": "21b08d398a254e60b7d51933e3416108", "version_major": 2, "version_minor": 0 }, @@ -245,11 +245,11 @@ { "data": { "text/html": [ - "
 Initialized. View run at https://modal.com/apps/craigprobus/main/ap-UCsBW1nxpUhyEVHiLb6N9J\n",
+       "
 Initialized. View run at https://modal.com/apps/craigprobus/main/ap-a1zKRQGpj8VmuyIJtBeWSk\n",
        "
\n" ], "text/plain": [ - "\u001b[32m✓\u001b[0m Initialized. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-UCsBW1nxpUhyEVHiLb6N9J\u001b[0m\n" + "\u001b[32m✓\u001b[0m Initialized. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-a1zKRQGpj8VmuyIJtBeWSk\u001b[0m\n" ] }, "metadata": {}, @@ -268,7 +268,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cbf7390bccd14a7d8e64776ac3bed20f", + "model_id": "2c42ac514b904938a52e692f77ab6042", "version_major": 2, "version_minor": 0 }, @@ -282,4403 +282,7 @@ { "data": { "text/html": [ - "
Building image im-VSaNVDfzNvHsrY579a1IOY\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mBuilding image im-VSaNVDfzNvHsrY579a1IOY\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "=> Step 0: FROM base\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "=> Step 0: FROM base\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "=> Step 1: RUN python -m pip install accelerate bitsandbytes torch transformers\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "=> Step 1: RUN python -m pip install accelerate bitsandbytes torch transformers\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Looking in indexes: http://pypi-mirror.modal.local:5555/simple\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mLooking in indexes: http://pypi-mirror.modal.local:5555/simple\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting accelerate\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting accelerate\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl.metadata (19 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl.metadata (19 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting bitsandbytes\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting bitsandbytes\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl.metadata (5.0 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl.metadata (5.0 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting torch\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting torch\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting transformers\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting transformers\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl.metadata (38 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl.metadata (38 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting numpy<3.0.0,>=1.17 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting numpy<3.0.0,>=1.17 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting packaging>=20.0 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting packaging>=20.0 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting psutil (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting psutil (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting pyyaml (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting pyyaml (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting huggingface-hub>=0.21.0 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting huggingface-hub>=0.21.0 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl.metadata (13 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl.metadata (13 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting safetensors>=0.4.3 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting safetensors>=0.4.3 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting filelock (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting filelock (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n",
-       "Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/site-packages (from torch) (4.12.2)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n", - "Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/site-packages (from torch) (4.12.2)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting networkx (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting networkx (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting jinja2 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting jinja2 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting fsspec (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting fsspec (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-runtime-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-cupti-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cudnn-cu12==9.1.0.70 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cublas-cu12==12.4.5.8 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cublas-cu12==12.4.5.8 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cufft-cu12==11.2.1.3 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cufft-cu12==11.2.1.3 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-curand-cu12==10.3.5.147 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-curand-cu12==10.3.5.147 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusolver-cu12==11.6.1.9 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusparse-cu12==12.3.1.170 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusparselt-cu12==0.6.2 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusparselt-cu12==0.6.2 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-nccl-cu12==2.21.5 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-nccl-cu12==2.21.5 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-nvtx-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-nvtx-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting triton==3.2.0 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting triton==3.2.0 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting sympy==1.13.1 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting sympy==1.13.1 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting regex!=2019.12.17 (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting regex!=2019.12.17 (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting requests (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting requests (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting tokenizers<0.22,>=0.21 (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting tokenizers<0.22,>=0.21 (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting tqdm>=4.27 (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting tqdm>=4.27 (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting MarkupSafe>=2.0 (from jinja2->torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting MarkupSafe>=2.0 (from jinja2->torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting charset-normalizer<4,>=2 (from requests->transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting charset-normalizer<4,>=2 (from requests->transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (3.10)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (3.10)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting urllib3<3,>=1.21.1 (from requests->transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting urllib3<3,>=1.21.1 (from requests->transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.1/76.1 MB 495.7 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.1/76.1 MB 495.7 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl (766.7 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl (766.7 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 467.3 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 467.3 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 473.1 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 473.1 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 512.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 512.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 495.9 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 495.9 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 554.2 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 554.2 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 470.9 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 470.9 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 452.7 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 452.7 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 465.1 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 465.1 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 460.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 460.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 456.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 456.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 452.6 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 452.6 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 452.3 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 452.3 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 469.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 469.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl (6.2 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 500.8 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 500.8 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.2/253.2 MB 466.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.2/253.2 MB 466.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl (10.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl (10.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 448.1 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 448.1 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl (481 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl (194 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl (481 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl (194 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 473.1 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 473.1 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl (65 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl (65 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 645.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 645.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 792.7/792.7 kB 519.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 792.7/792.7 kB 519.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 489.8 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 489.8 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl (78 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl (16 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl (134 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl (16 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl (134 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl (1.7 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 589.9 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 589.9 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (277 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (277 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl (64 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl (64 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)\n",
-       "Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl (536 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl (536 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 813.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 813.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl (128 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl (128 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Installing collected packages: triton, nvidia-cusparselt-cu12, mpmath, urllib3, tqdm, sympy, safetensors, regex, pyyaml, psutil, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, charset-normalizer, requests, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, huggingface-hub, torch, tokenizers, transformers, bitsandbytes, accelerate\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mInstalling collected packages: triton, nvidia-cusparselt-cu12, mpmath, urllib3, tqdm, sympy, safetensors, regex, pyyaml, psutil, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, charset-normalizer, requests, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, huggingface-hub, torch, tokenizers, transformers, bitsandbytes, accelerate\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Successfully installed MarkupSafe-3.0.2 accelerate-1.6.0 bitsandbytes-0.45.5 charset-normalizer-3.4.1 filelock-3.18.0 fsspec-2025.3.2 huggingface-hub-0.30.2 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.4 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-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 psutil-7.0.0 pyyaml-6.0.2 regex-2024.11.6 requests-2.32.3 safetensors-0.5.3 sympy-1.13.1 tokenizers-0.21.1 torch-2.6.0 tqdm-4.67.1 transformers-4.51.1 triton-3.2.0 urllib3-2.3.0\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mSuccessfully installed MarkupSafe-3.0.2 accelerate-1.6.0 bitsandbytes-0.45.5 charset-normalizer-3.4.1 filelock-3.18.0 fsspec-2025.3.2 huggingface-hub-0.30.2 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.4 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-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 psutil-7.0.0 pyyaml-6.0.2 regex-2024.11.6 requests-2.32.3 safetensors-0.5.3 sympy-1.13.1 tokenizers-0.21.1 torch-2.6.0 tqdm-4.67.1 transformers-4.51.1 triton-3.2.0 urllib3-2.3.0\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n",
-       "[notice] To update, run: pip install --upgrade pip\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n", - "[notice] To update, run: pip install --upgrade pip\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Saving image...\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mSaving image...\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Image saved, took 3.43s\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mImage saved, took 3.43s\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "Built image im-VSaNVDfzNvHsrY579a1IOY in 69.35s\n",
-       "\n",
-       "\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "Built image im-VSaNVDfzNvHsrY579a1IOY in 69.35s\n", - "\n", - "\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n"
-      ],
-      "text/plain": []
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "text/html": [
-       "
 Created objects.\n",
-       "├── 🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/llama.py\n",
-       "├── 🔨 Created mount PythonPackage:hello\n",
-       "└── 🔨 Created function generate.\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[32m✓\u001b[0m Created objects.\n", - "\u001b[38;5;244m├── \u001b[0m🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/llama.py\n", - "\u001b[38;5;244m├── \u001b[0m🔨 Created mount PythonPackage:hello\n", - "\u001b[38;5;244m└── \u001b[0m🔨 Created function generate.\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ac86ee174ef44aa6a7aa90daa1eec36a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1AFetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1AFetching 4 files: 0%| | 0/4 [00:00\n", - "
\n" - ], - "text/plain": [ - "\u001b[31m\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1AFetching 4 files:  25%|██▌       | 1/4 [01:05<03:16, 65.40s/it]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1AFetching 4 files: 25%|██▌ | 1/4 [01:05<03:16, 65.40s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1AFetching 4 files:  50%|█████     | 2/4 [01:05<00:54, 27.15s/it]Fetching 4 files: 100%|██████████| 4/4 [01:05<00:00, 16.44s/it]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1AFetching 4 files: 50%|█████ | 2/4 [01:05<00:54, 27.15s/it]Fetching 4 files: 100%|██████████| 4/4 [01:05<00:00, 16.44s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1ALoading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 0%| | 0/4 [00:00\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:12, 4.24s/it]\n", - "\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:12, 4.24s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1ALoading checkpoint shards:  50%|█████     | 2/4 [00:08<00:09,  4.53s/it]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 50%|█████ | 2/4 [00:08<00:09, 4.53s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1ALoading checkpoint shards:  75%|███████▌  | 3/4 [00:13<00:04,  4.61s/it]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 75%|███████▌ | 3/4 [00:13<00:04, 4.61s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:14<00:00,  2.93s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:14<00:00,  3.51s/it]\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:14<00:00, 2.93s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:14<00:00, 3.51s/it]\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Setting `pad_token_id` to `eos_token_id`:128001 for open-end generation.\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[31mSetting `pad_token_id` to `eos_token_id`:128001 for open-end generation.\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n"
-      ],
-      "text/plain": []
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "text/html": [
-       "
Stopping app - local entrypoint completed.\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mStopping app - local entrypoint completed.\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
 App completed. View run at https://modal.com/apps/craigprobus/main/ap-UCsBW1nxpUhyEVHiLb6N9J\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[32m✓\u001b[0m App completed. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-UCsBW1nxpUhyEVHiLb6N9J\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "'<|begin_of_text|>Life is a mystery, everyone must stand alone, I hear you call my name,'" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with modal.enable_output():\n", - " with app.run():\n", - " result=generate.remote(\"Life is a mystery, everyone must stand alone, I hear\")\n", - "result" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "9a9a6844-29ec-4264-8e72-362d976b3968", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_ephemeral.py:22: DeprecationError: 2025-02-03: Modal will stop implicitly adding local Python modules to the Image (\"automounting\") in a future update. The following modules need to be explicitly added for future compatibility:\n", - "* hello\n", - "* llama\n", - "\n", - "e.g.:\n", - "image_with_source = my_image.add_local_python_source(\"hello\", \"llama\")\n", - "\n", - "For more information, see https://modal.com/docs/guide/modal-1-0-migration\n", - " @app.function(image=image, secrets=secrets, gpu=GPU, timeout=1800)\n" - ] - } - ], - "source": [ - "import modal\n", - "from pricer_ephemeral import app, price" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "50e6cf99-8959-4ae3-ba02-e325cb7fff94", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dc1f6d673a0c4e7d8bf365e790672e42", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
 Initialized. View run at https://modal.com/apps/craigprobus/main/ap-hXVuCIvQjgcNjkaBXeKcWI\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[32m✓\u001b[0m Initialized. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-hXVuCIvQjgcNjkaBXeKcWI\u001b[0m\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n"
-      ],
-      "text/plain": []
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "de2972e414374911a4da708900f40bab",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "Output()"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "text/html": [
-       "
Building image im-lR52cm0dRXT5B8UWizJSP6\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mBuilding image im-lR52cm0dRXT5B8UWizJSP6\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "=> Step 0: FROM base\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "=> Step 0: FROM base\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-       "=> Step 1: RUN python -m pip install accelerate bitsandbytes peft torch transformers\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m\n", - "=> Step 1: RUN python -m pip install accelerate bitsandbytes peft torch transformers\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Looking in indexes: http://pypi-mirror.modal.local:5555/simple\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mLooking in indexes: http://pypi-mirror.modal.local:5555/simple\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting accelerate\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting accelerate\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl.metadata (19 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl.metadata (19 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting bitsandbytes\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting bitsandbytes\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl.metadata (5.0 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl.metadata (5.0 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting peft\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting peft\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/peft/peft-0.15.1-py3-none-any.whl.metadata (13 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/peft/peft-0.15.1-py3-none-any.whl.metadata (13 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting torch\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting torch\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting transformers\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting transformers\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl.metadata (38 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl.metadata (38 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting numpy<3.0.0,>=1.17 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting numpy<3.0.0,>=1.17 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting packaging>=20.0 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting packaging>=20.0 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl.metadata (3.2 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting psutil (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting psutil (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting pyyaml (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting pyyaml (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting huggingface-hub>=0.21.0 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting huggingface-hub>=0.21.0 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl.metadata (13 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl.metadata (13 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting safetensors>=0.4.3 (from accelerate)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting safetensors>=0.4.3 (from accelerate)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting tqdm (from peft)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting tqdm (from peft)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting filelock (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting filelock (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/site-packages (from torch) (4.12.2)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mRequirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/site-packages (from torch) (4.12.2)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting networkx (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting networkx (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting jinja2 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting jinja2 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting fsspec (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting fsspec (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-runtime-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cuda-cupti-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cudnn-cu12==9.1.0.70 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cublas-cu12==12.4.5.8 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cublas-cu12==12.4.5.8 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cufft-cu12==11.2.1.3 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cufft-cu12==11.2.1.3 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-curand-cu12==10.3.5.147 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-curand-cu12==10.3.5.147 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusolver-cu12==11.6.1.9 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusparse-cu12==12.3.1.170 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-cusparselt-cu12==0.6.2 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-cusparselt-cu12==0.6.2 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-nccl-cu12==2.21.5 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-nccl-cu12==2.21.5 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-nvtx-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-nvtx-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting nvidia-nvjitlink-cu12==12.4.127 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting triton==3.2.0 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting triton==3.2.0 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting sympy==1.13.1 (from torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting sympy==1.13.1 (from torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting regex!=2019.12.17 (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting regex!=2019.12.17 (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting requests (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting requests (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting tokenizers<0.22,>=0.21 (from transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting tokenizers<0.22,>=0.21 (from transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting MarkupSafe>=2.0 (from jinja2->torch)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting MarkupSafe>=2.0 (from jinja2->torch)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting charset-normalizer<4,>=2 (from requests->transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting charset-normalizer<4,>=2 (from requests->transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (3.10)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (3.10)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Collecting urllib3<3,>=1.21.1 (from requests->transformers)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mCollecting urllib3<3,>=1.21.1 (from requests->transformers)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
  Downloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m Downloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (2024.8.30)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mRequirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/site-packages (from requests->transformers) (2024.8.30)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl (354 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/accelerate/accelerate-1.6.0-py3-none-any.whl (354 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl (76.1 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/bitsandbytes/bitsandbytes-0.45.5-py3-none-manylinux_2_24_x86_64.whl (76.1 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.1/76.1 MB 140.6 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.1/76.1 MB 140.6 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/peft/peft-0.15.1-py3-none-any.whl (411 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/peft/peft-0.15.1-py3-none-any.whl (411 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl (766.7 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/torch/torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl (766.7 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 263.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 766.7/766.7 MB 263.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cublas-cu12/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 314.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 314.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-cupti-cu12/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 323.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 323.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-nvrtc-cu12/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 264.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 264.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cuda-runtime-cu12/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 338.5 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 338.5 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cudnn-cu12/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 316.5 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 316.5 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cufft-cu12/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 252.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 252.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-curand-cu12/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 253.5 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 253.5 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 256.1 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 256.1 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 258.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 258.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-cusparselt-cu12/nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 247.3 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 150.1/150.1 MB 247.3 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nccl-cu12/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 264.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 264.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 221.4 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 221.4 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/nvidia-nvtx-cu12/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl (6.2 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/sympy/sympy-1.13.1-py3-none-any.whl (6.2 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 236.5 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 236.5 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/triton/triton-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.2/253.2 MB 259.7 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 253.2/253.2 MB 259.7 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl (10.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/transformers/transformers-4.51.1-py3-none-any.whl (10.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 295.3 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 295.3 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl (481 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/huggingface-hub/huggingface_hub-0.30.2-py3-none-any.whl (481 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl (194 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/fsspec/fsspec-2025.3.2-py3-none-any.whl (194 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/numpy/numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 295.9 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 295.9 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl (65 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/packaging/packaging-24.2-py3-none-any.whl (65 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)\n",
-       "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 433.0 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/pyyaml/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 433.0 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792 kB)\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/regex/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (792 kB)\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n" + "
\n"
       ],
       "text/plain": []
      },
@@ -4688,26 +292,17 @@
     {
      "data": {
       "text/html": [
-       "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 792.7/792.7 kB 416.7 MB/s eta 0:00:00\n",
-       "
\n" - ], - "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 792.7/792.7 kB 416.7 MB/s eta 0:00:00\n", - "\u001b[0m" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471 kB)\n",
-       "
\n" + "
 Created objects.\n",
+       "├── 🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/llama.py\n",
+       "├── 🔨 Created mount PythonPackage:hello\n",
+       "└── 🔨 Created function generate.\n",
+       "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/safetensors/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471 kB)\n", - "\u001b[0m" + "\u001b[32m✓\u001b[0m Created objects.\n", + "\u001b[38;5;244m├── \u001b[0m🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/llama.py\n", + "\u001b[38;5;244m├── \u001b[0m🔨 Created mount PythonPackage:hello\n", + "\u001b[38;5;244m└── \u001b[0m🔨 Created function generate.\n" ] }, "metadata": {}, @@ -4715,13 +310,13 @@ }, { "data": { - "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n",
-       "
\n" - ], + "application/vnd.jupyter.widget-view+json": { + "model_id": "ece6417840304983acb4c6a6ec9abfdd", + "version_major": 2, + "version_minor": 0 + }, "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/tokenizers/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n", - "\u001b[0m" + "Output()" ] }, "metadata": {}, @@ -4730,21 +325,11 @@ { "data": { "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 338.3 MB/s eta 0:00:00\n",
+       "
\n",
        "
\n" ], "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 338.3 MB/s eta 0:00:00\n", + "\u001b[31m\n", "\u001b[0m" ] }, @@ -4754,12 +339,10 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl (78 kB)\n",
-       "
\n" + "
\u001b[1AFetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/tqdm/tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "\u001b[0m" + "\u001b[31m\u001b[1AFetching 4 files: 0%| | 0/4 [00:00Downloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl (16 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl (134 kB)\n", + "
\u001b[1AFetching 4 files:  25%|██▌       | 1/4 [01:12<03:38, 72.90s/it]Fetching 4 files: 100%|██████████| 4/4 [01:12<00:00, 18.23s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/filelock/filelock-3.18.0-py3-none-any.whl (16 kB)\n", - "Downloading http://pypi-mirror.modal.local:5555/simple/jinja2/jinja2-3.1.6-py3-none-any.whl (134 kB)\n", + "\u001b[31m\u001b[1AFetching 4 files: 25%|██▌ | 1/4 [01:12<03:38, 72.90s/it]Fetching 4 files: 100%|██████████| 4/4 [01:12<00:00, 18.23s/it]\n", "\u001b[0m" ] }, @@ -4784,11 +365,11 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl (1.7 MB)\n",
+       "
\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/networkx/networkx-3.4.2-py3-none-any.whl (1.7 MB)\n", + "\u001b[31m\n", "\u001b[0m" ] }, @@ -4798,21 +379,11 @@ { "data": { "text/html": [ - "
\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 315.3 MB/s eta 0:00:00\n",
+       "
\u001b[1ALoading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]\n",
        "
\n" ], "text/plain": [ - "\u001b[33m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 315.3 MB/s eta 0:00:00\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 0%| | 0/4 [00:00Downloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (277 kB)\n", + "
\u001b[1ALoading checkpoint shards:  25%|██▌       | 1/4 [00:04<00:12,  4.10s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/psutil/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (277 kB)\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:12, 4.10s/it]\n", "\u001b[0m" ] }, @@ -4836,11 +407,11 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl (64 kB)\n",
+       "
\u001b[1ALoading checkpoint shards:  50%|█████     | 2/4 [00:08<00:08,  4.46s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/requests/requests-2.32.3-py3-none-any.whl (64 kB)\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 50%|█████ | 2/4 [00:08<00:08, 4.46s/it]\n", "\u001b[0m" ] }, @@ -4850,11 +421,11 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB)\n",
+       "
\u001b[1ALoading checkpoint shards:  75%|███████▌  | 3/4 [00:13<00:04,  4.53s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/charset-normalizer/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB)\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 75%|███████▌ | 3/4 [00:13<00:04, 4.53s/it]\n", "\u001b[0m" ] }, @@ -4864,11 +435,11 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)\n",
+       "
\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  2.86s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  3.43s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/markupsafe/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 2.86s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 3.43s/it]\n", "\u001b[0m" ] }, @@ -4878,11 +449,11 @@ { "data": { "text/html": [ - "
Downloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl (536 kB)\n",
+       "
Setting `pad_token_id` to `eos_token_id`:128001 for open-end generation.\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/mpmath/mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "\u001b[31mSetting `pad_token_id` to `eos_token_id`:128001 for open-end generation.\n", "\u001b[0m" ] }, @@ -4892,13 +463,9 @@ { "data": { "text/html": [ - "
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 356.4 MB/s eta 0:00:00\n",
-       "
\n" + "
\n"
       ],
-      "text/plain": [
-       "\u001b[33m   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 356.4 MB/s eta 0:00:00\n",
-       "\u001b[0m"
-      ]
+      "text/plain": []
      },
      "metadata": {},
      "output_type": "display_data"
@@ -4906,11 +473,11 @@
     {
      "data": {
       "text/html": [
-       "
Downloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl (128 kB)\n",
+       "
Stopping app - local entrypoint completed.\n",
        "
\n" ], "text/plain": [ - "\u001b[33mDownloading http://pypi-mirror.modal.local:5555/simple/urllib3/urllib3-2.3.0-py3-none-any.whl (128 kB)\n", + "\u001b[33mStopping app - local entrypoint completed.\n", "\u001b[0m" ] }, @@ -4920,12 +487,11 @@ { "data": { "text/html": [ - "
Installing collected packages: triton, nvidia-cusparselt-cu12, mpmath, urllib3, tqdm, sympy, safetensors, regex, pyyaml, psutil, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, charset-normalizer, requests, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, huggingface-hub, torch, tokenizers, transformers, bitsandbytes, accelerate, peft\n",
-       "
\n" + "
 App completed. View run at https://modal.com/apps/craigprobus/main/ap-a1zKRQGpj8VmuyIJtBeWSk\n",
+       "
\n" ], "text/plain": [ - "\u001b[33mInstalling collected packages: triton, nvidia-cusparselt-cu12, mpmath, urllib3, tqdm, sympy, safetensors, regex, pyyaml, psutil, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, charset-normalizer, requests, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, huggingface-hub, torch, tokenizers, transformers, bitsandbytes, accelerate, peft\n", - "\u001b[0m" + "\u001b[32m✓\u001b[0m App completed. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-a1zKRQGpj8VmuyIJtBeWSk\u001b[0m\n" ] }, "metadata": {}, @@ -4933,31 +499,48 @@ }, { "data": { - "text/html": [ - "
Successfully installed MarkupSafe-3.0.2 accelerate-1.6.0 bitsandbytes-0.45.5 charset-normalizer-3.4.1 filelock-3.18.0 fsspec-2025.3.2 huggingface-hub-0.30.2 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.4 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-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 peft-0.15.1 psutil-7.0.0 pyyaml-6.0.2 regex-2024.11.6 requests-2.32.3 safetensors-0.5.3 sympy-1.13.1 tokenizers-0.21.1 torch-2.6.0 tqdm-4.67.1 transformers-4.51.1 triton-3.2.0 urllib3-2.3.0\n",
-       "
\n" - ], "text/plain": [ - "\u001b[33mSuccessfully installed MarkupSafe-3.0.2 accelerate-1.6.0 bitsandbytes-0.45.5 charset-normalizer-3.4.1 filelock-3.18.0 fsspec-2025.3.2 huggingface-hub-0.30.2 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.4 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-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 packaging-24.2 peft-0.15.1 psutil-7.0.0 pyyaml-6.0.2 regex-2024.11.6 requests-2.32.3 safetensors-0.5.3 sympy-1.13.1 tokenizers-0.21.1 torch-2.6.0 tqdm-4.67.1 transformers-4.51.1 triton-3.2.0 urllib3-2.3.0\n", - "\u001b[0m" + "'<|begin_of_text|>Life is a mystery, everyone must stand alone, I hear you call my name,'" ] }, + "execution_count": 52, "metadata": {}, - "output_type": "display_data" - }, + "output_type": "execute_result" + } + ], + "source": [ + "with modal.enable_output():\n", + " with app.run():\n", + " result=generate.remote(\"Life is a mystery, everyone must stand alone, I hear\")\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "9a9a6844-29ec-4264-8e72-362d976b3968", + "metadata": {}, + "outputs": [], + "source": [ + "import modal\n", + "from pricer_ephemeral import app, price" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "50e6cf99-8959-4ae3-ba02-e325cb7fff94", + "metadata": {}, + "outputs": [ { "data": { - "text/html": [ - "
\n",
-       "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n",
-       "[notice] To update, run: pip install --upgrade pip\n",
-       "
\n" - ], + "application/vnd.jupyter.widget-view+json": { + "model_id": "e951ef75eef245c8bf36f04fc0d10083", + "version_major": 2, + "version_minor": 0 + }, "text/plain": [ - "\u001b[33m\n", - "[notice] A new release of pip is available: 24.3.1 -> 25.0.1\n", - "[notice] To update, run: pip install --upgrade pip\n", - "\u001b[0m" + "Output()" ] }, "metadata": {}, @@ -4966,12 +549,11 @@ { "data": { "text/html": [ - "
Saving image...\n",
-       "
\n" + "
 Initialized. View run at https://modal.com/apps/craigprobus/main/ap-jj4lCu9XtEr4VTT14wMcpK\n",
+       "
\n" ], "text/plain": [ - "\u001b[33mSaving image...\n", - "\u001b[0m" + "\u001b[32m✓\u001b[0m Initialized. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-jj4lCu9XtEr4VTT14wMcpK\u001b[0m\n" ] }, "metadata": {}, @@ -4980,32 +562,22 @@ { "data": { "text/html": [ - "
Image saved, took 5.08s\n",
-       "
\n" + "
\n"
       ],
-      "text/plain": [
-       "\u001b[33mImage saved, took 5.08s\n",
-       "\u001b[0m"
-      ]
+      "text/plain": []
      },
      "metadata": {},
      "output_type": "display_data"
     },
     {
      "data": {
-      "text/html": [
-       "
\n",
-       "Built image im-lR52cm0dRXT5B8UWizJSP6 in 82.34s\n",
-       "\n",
-       "\n",
-       "
\n" - ], + "application/vnd.jupyter.widget-view+json": { + "model_id": "0aa9f1e2d2f849f997b4edd25555efaa", + "version_major": 2, + "version_minor": 0 + }, "text/plain": [ - "\u001b[33m\n", - "Built image im-lR52cm0dRXT5B8UWizJSP6 in 82.34s\n", - "\n", - "\n", - "\u001b[0m" + "Output()" ] }, "metadata": {}, @@ -5026,16 +598,16 @@ "text/html": [ "
 Created objects.\n",
        "├── 🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_ephemeral.py\n",
-       "├── 🔨 Created mount PythonPackage:llama\n",
        "├── 🔨 Created mount PythonPackage:hello\n",
+       "├── 🔨 Created mount PythonPackage:llama\n",
        "└── 🔨 Created function price.\n",
        "
\n" ], "text/plain": [ "\u001b[32m✓\u001b[0m Created objects.\n", "\u001b[38;5;244m├── \u001b[0m🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_ephemeral.py\n", - "\u001b[38;5;244m├── \u001b[0m🔨 Created mount PythonPackage:llama\n", "\u001b[38;5;244m├── \u001b[0m🔨 Created mount PythonPackage:hello\n", + "\u001b[38;5;244m├── \u001b[0m🔨 Created mount PythonPackage:llama\n", "\u001b[38;5;244m└── \u001b[0m🔨 Created function price.\n" ] }, @@ -5045,7 +617,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ea2b8be65d6045059fd9700cea2838f9", + "model_id": "7b95c170bb954e48b45db743437e9d91", "version_major": 2, "version_minor": 0 }, @@ -5099,11 +671,11 @@ { "data": { "text/html": [ - "
\u001b[1AFetching 4 files:  25%|██▌       | 1/4 [01:04<03:13, 64.59s/it]Fetching 4 files: 100%|██████████| 4/4 [01:04<00:00, 16.15s/it]\n",
+       "
\u001b[1AFetching 4 files:  25%|██▌       | 1/4 [01:03<03:09, 63.06s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1AFetching 4 files: 25%|██▌ | 1/4 [01:04<03:13, 64.59s/it]Fetching 4 files: 100%|██████████| 4/4 [01:04<00:00, 16.15s/it]\n", + "\u001b[31m\u001b[1AFetching 4 files: 25%|██▌ | 1/4 [01:03<03:09, 63.06s/it]\n", "\u001b[0m" ] }, @@ -5113,11 +685,11 @@ { "data": { "text/html": [ - "
\n",
+       "
\u001b[1AFetching 4 files:  50%|█████     | 2/4 [01:05<00:54, 27.26s/it]Fetching 4 files: 100%|██████████| 4/4 [01:05<00:00, 16.31s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\n", + "\u001b[31m\u001b[1AFetching 4 files: 50%|█████ | 2/4 [01:05<00:54, 27.26s/it]Fetching 4 files: 100%|██████████| 4/4 [01:05<00:00, 16.31s/it]\n", "\u001b[0m" ] }, @@ -5127,10 +699,12 @@ { "data": { "text/html": [ - "
\u001b[1ALoading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]
\n" + "
\n",
+       "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 0%| | 0/4 [00:00\n", + "
\u001b[1ALoading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 0%| | 0/4 [00:00\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:12, 4.01s/it]\n", + "
\u001b[1ALoading checkpoint shards:  25%|██▌       | 1/4 [00:04<00:13,  4.64s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:12, 4.01s/it]\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 25%|██▌ | 1/4 [00:04<00:13, 4.64s/it]\n", "\u001b[0m" ] }, @@ -5167,11 +741,11 @@ { "data": { "text/html": [ - "
\u001b[1ALoading checkpoint shards:  50%|█████     | 2/4 [00:08<00:08,  4.30s/it]\n",
+       "
\u001b[1ALoading checkpoint shards:  50%|█████     | 2/4 [00:09<00:09,  4.58s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 50%|█████ | 2/4 [00:08<00:08, 4.30s/it]\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 50%|█████ | 2/4 [00:09<00:09, 4.58s/it]\n", "\u001b[0m" ] }, @@ -5181,11 +755,11 @@ { "data": { "text/html": [ - "
\u001b[1ALoading checkpoint shards:  75%|███████▌  | 3/4 [00:12<00:04,  4.38s/it]\n",
+       "
\u001b[1ALoading checkpoint shards:  75%|███████▌  | 3/4 [00:13<00:04,  4.34s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 75%|███████▌ | 3/4 [00:12<00:04, 4.38s/it]\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 75%|███████▌ | 3/4 [00:13<00:04, 4.34s/it]\n", "\u001b[0m" ] }, @@ -5195,11 +769,11 @@ { "data": { "text/html": [ - "
\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  2.78s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  3.33s/it]\n",
+       "
\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  2.77s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00,  3.40s/it]\n",
        "
\n" ], "text/plain": [ - "\u001b[31m\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 2.78s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 3.33s/it]\n", + "\u001b[31m\u001b[1ALoading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 2.77s/it]Loading checkpoint shards: 100%|██████████| 4/4 [00:13<00:00, 3.40s/it]\n", "\u001b[0m" ] }, @@ -5247,11 +821,11 @@ { "data": { "text/html": [ - "
 App completed. View run at https://modal.com/apps/craigprobus/main/ap-hXVuCIvQjgcNjkaBXeKcWI\n",
+       "
 App completed. View run at https://modal.com/apps/craigprobus/main/ap-jj4lCu9XtEr4VTT14wMcpK\n",
        "
\n" ], "text/plain": [ - "\u001b[32m✓\u001b[0m App completed. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-hXVuCIvQjgcNjkaBXeKcWI\u001b[0m\n" + "\u001b[32m✓\u001b[0m App completed. \u001b[38;5;249mView run at \u001b[0m\u001b[4;38;5;249mhttps://modal.com/apps/craigprobus/main/ap-jj4lCu9XtEr4VTT14wMcpK\u001b[0m\n" ] }, "metadata": {}, @@ -5263,7 +837,7 @@ "220.0" ] }, - "execution_count": 22, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -5304,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 55, "id": "7f90d857-2f12-4521-bb90-28efd917f7d1", "metadata": {}, "outputs": [ @@ -5312,27 +886,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001b[33m╭─\u001b[0m\u001b[33m Modal Deprecation Warning (2025-02-06) \u001b[0m\u001b[33m────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n", - "\u001b[33m│\u001b[0m Using Python module paths will require using the -m flag in a future version \u001b[33m│\u001b[0m\n", - "\u001b[33m│\u001b[0m of Modal. \u001b[33m│\u001b[0m\n", - "\u001b[33m│\u001b[0m Use `modal deploy -m pricer_service` instead. \u001b[33m│\u001b[0m\n", - "\u001b[33m╰──────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n", "\u001b[2K\u001b[34m⠸\u001b[0m Creating objects.....\n", "\u001b[37m└── \u001b[0m\u001b[34m⠋\u001b[0m Creating mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠦\u001b[0m Creating objects...\n", - "\u001b[37m└── \u001b[0m\u001b[34m⠸\u001b[0m Creating mount \n", - "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...\n", - "\u001b[37m└── \u001b[0m\u001b[34m⠦\u001b[0m Creating mount \n", - "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠹\u001b[0m Creating objects...\n", - "\u001b[37m└── \u001b[0m\u001b[34m⠏\u001b[0m Creating mount \n", - "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠴\u001b[0m Creating objects...\n", - "\u001b[37m└── \u001b[0m🔨 Created mount \n", - "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠧\u001b[0m Creating objects...\n", "\u001b[37m├── \u001b[0m🔨 Created mount \n", "\u001b[37m│ \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[37m│ \u001b[0me.py\n", @@ -5342,19 +899,19 @@ "\u001b[37m│ \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[37m│ \u001b[0me.py\n", "\u001b[37m└── \u001b[0m🔨 Created function price.\n", - "\u001b[32m✓\u001b[0m App deployed in 1.824s! 🎉\n", + "\u001b[32m✓\u001b[0m App deployed in 0.902s! 🎉\n", "\n", "View Deployment: \u001b[35mhttps://modal.com/apps/craigprobus/main/deployed/pricer-service\u001b[0m\n" ] } ], "source": [ - "!modal deploy pricer_service" + "!modal deploy -m pricer_service" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 56, "id": "1dec70ff-1986-4405-8624-9bbbe0ce1f4a", "metadata": {}, "outputs": [], @@ -5365,7 +922,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 57, "id": "17776139-0d9e-4ad0-bcd0-82d3a92ca61f", "metadata": {}, "outputs": [ @@ -5375,7 +932,7 @@ "220.0" ] }, - "execution_count": 27, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -5386,7 +943,33 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 63, + "id": "d5a2d7a8-a88d-4b50-a21f-4d115f4eb2e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Created Volume \u001b[32m'hf-hub-cache'\u001b[0m in environment \u001b[32m'None'\u001b[0m. \n", + "\n", + "Code example:\n", + "\n", + "\u001b[40m \u001b[0m\n", + "\u001b[92;40m@app\u001b[0m\u001b[91;40m.\u001b[0m\u001b[97;40mfunction\u001b[0m\u001b[97;40m(\u001b[0m\u001b[97;40mvolumes\u001b[0m\u001b[91;40m=\u001b[0m\u001b[97;40m{\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[93;40m/my_vol\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[97;40m:\u001b[0m\u001b[97;40m \u001b[0m\u001b[97;40mmodal\u001b[0m\u001b[91;40m.\u001b[0m\u001b[97;40mVolume\u001b[0m\u001b[91;40m.\u001b[0m\u001b[97;40mfrom_name\u001b[0m\u001b[97;40m(\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[93;40mhf-hub-cache\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[97;40m)\u001b[0m\u001b[97;40m}\u001b[0m\u001b[97;40m)\u001b[0m\u001b[40m \u001b[0m\n", + "\u001b[96;40mdef\u001b[0m\u001b[97;40m \u001b[0m\u001b[92;40msome_func\u001b[0m\u001b[97;40m(\u001b[0m\u001b[97;40m)\u001b[0m\u001b[97;40m:\u001b[0m\u001b[40m \u001b[0m\n", + "\u001b[97;40m \u001b[0m\u001b[97;40mos\u001b[0m\u001b[91;40m.\u001b[0m\u001b[97;40mlistdir\u001b[0m\u001b[97;40m(\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[93;40m/my_vol\u001b[0m\u001b[93;40m\"\u001b[0m\u001b[97;40m)\u001b[0m\u001b[40m \u001b[0m\n", + "\u001b[40m \u001b[0m\n" + ] + } + ], + "source": [ + "!modal volume create hf-hub-cache" + ] + }, + { + "cell_type": "code", + "execution_count": 64, "id": "f56d1e55-2a03-4ce2-bb47-2ab6b9175a02", "metadata": {}, "outputs": [ @@ -5400,23 +983,46 @@ "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠦\u001b[0m Creating objects...\n", "\u001b[37m└── \u001b[0m\u001b[34m⠸\u001b[0m Creating mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[33mBuilding image im-CsqFrBHSaxbjeoADQSizXE\n", + "\u001b[0m\u001b[34m⠇\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", "\u001b[37m└── \u001b[0m\u001b[34m⠦\u001b[0m Creating mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠹\u001b[0m Creating objects...\n", - "\u001b[37m└── \u001b[0m🔨 Created mount \n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[33mfiles\n", + "=> Step 0: FROM base\n", + "\u001b[0m\u001b[34m⠋\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[33m\u001b[34m⠧\u001b[0m\u001b[33m Creating mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", + "=> Step 1: ENV HF_HUB_CACHE=/cache\n", + "\u001b[0m\u001b[34m⠋\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠹\u001b[0m Creating objects...mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", + "\u001b[37m└── \u001b[0m\u001b[34m⠏\u001b[0m Creating mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠦\u001b[0m Creating objects...\n", "\u001b[37m└── \u001b[0m🔨 Created mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[33mSaving image...\n", + "\u001b[0m\u001b[34m⠇\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...ers/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", "\u001b[37m└── \u001b[0m🔨 Created mount \n", "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠹\u001b[0m Creating objects...\n", + "\u001b[37m└── \u001b[0m🔨 Created mount \n", + "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠴\u001b[0m Creating objects...\n", + "\u001b[37m└── \u001b[0m🔨 Created mount \n", + "\u001b[37m \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[33mImage saved, took 618.26ms\n", + "\u001b[0m\u001b[34m⠴\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[33m\u001b[33m🔨 Created mount /Users/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", + "Built image im-CsqFrBHSaxbjeoADQSizXE in 1.37s\n", + "\n", + "\n", + "\u001b[0m\u001b[34m⠦\u001b[0m\u001b[33m Creating objects...\u001b[0m\u001b[33m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠇\u001b[0m Creating objects...ers/craigprobus/Repos/ed-donner-class/llm_engineering/we\u001b[0m\n", "\u001b[37m├── \u001b[0m🔨 Created mount \n", "\u001b[37m│ \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[37m│ \u001b[0me2.py\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠹\u001b[0m Creating objects...\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[34m⠏\u001b[0m Creating objects...\n", "\u001b[37m├── \u001b[0m🔨 Created mount \n", "\u001b[37m│ \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[37m│ \u001b[0me2.py\n", @@ -5426,7 +1032,7 @@ "\u001b[37m│ \u001b[0m/Users/craigprobus/Repos/ed-donner-class/llm_engineering/week8/pricer_servic\n", "\u001b[37m│ \u001b[0me2.py\n", "\u001b[37m└── \u001b[0m🔨 Created function Pricer.*.\n", - "\u001b[32m✓\u001b[0m App deployed in 2.287s! 🎉\n", + "\u001b[32m✓\u001b[0m App deployed in 2.796s! 🎉\n", "\n", "View Deployment: \u001b[35mhttps://modal.com/apps/craigprobus/main/deployed/pricer-service\u001b[0m\n" ] @@ -5439,7 +1045,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 59, "id": "9e19daeb-1281-484b-9d2f-95cc6fed2622", "metadata": {}, "outputs": [ @@ -5447,7 +1053,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "220.0\n" + "133.0\n" ] } ], @@ -5543,7 +1149,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 44, "id": "ba9aedca-6a7b-4d30-9f64-59d76f76fb6d", "metadata": {}, "outputs": [], @@ -5553,17 +1159,17 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 45, "id": "fe5843e5-e958-4a65-8326-8f5b4686de7f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "350.0" + "299.0" ] }, - "execution_count": 33, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } diff --git a/week8/pricer_service2.py b/week8/pricer_service2.py index 4fb7d89..d874381 100644 --- a/week8/pricer_service2.py +++ b/week8/pricer_service2.py @@ -5,8 +5,8 @@ from modal import App, Volume, Image app = modal.App("pricer-service") image = Image.debian_slim().pip_install("huggingface", "torch", "transformers", "bitsandbytes", "accelerate", "peft") +image.add_local_python_source("hello", "llama") #CE: adding here based on Deprecation warnings... secrets = [modal.Secret.from_name("hf-secret")] -volume = modal.Volume.from_name("pricer-model-cache", create_if_missing=True) # Constants @@ -16,26 +16,35 @@ PROJECT_NAME = "pricer" HF_USER = "cproSD" # your HF name here! Or use mine if you just want to reproduce my results. RUN_NAME = "2025-04-08_21.52.37" PROJECT_RUN_NAME = f"{PROJECT_NAME}-{RUN_NAME}" -#DEL: REVISION = "e8d637df551603dc86cd7a1598a8f44af4d7ae36" FINETUNED_MODEL = f"{HF_USER}/{PROJECT_RUN_NAME}" -MODEL_DIR = "hf-cache/" +#DEL: MODEL_DIR = "hf-cache/" +MODEL_DIR = "/models/" BASE_DIR = MODEL_DIR + BASE_MODEL FINETUNED_DIR = MODEL_DIR + FINETUNED_MODEL +CACHE_DIR = "/cache" #CE: Use the standard /cache path for hf-hub-cache QUESTION = "How much does this cost to the nearest dollar?" PREFIX = "Price is $" -#DEL: @app.cls(image=image, secrets=secrets, gpu=GPU, timeout=1800) -@app.cls(image=image, secrets=secrets, gpu=GPU, timeout=1800, volumes={"/pretrained_models": volume}) +#CE: Use the pre-configured hf-hub-cache Volume... +hf_cache_volume = Volume.from_name("hf-hub-cache") + +@app.cls( + #image=image, + image=image.env({"HF_HUB_CACHE": CACHE_DIR}), + secrets=secrets, + gpu=GPU, + timeout=1800, + volumes={CACHE_DIR: hf_cache_volume} +) class Pricer: + #DEL: @modal.build() #DEL: def download_model_to_folder(self): - def __enter__(self): - from huggingface_hub import snapshot_download - import os - os.makedirs("/pretrained_models/" + MODEL_DIR, exist_ok=True) - snapshot_download(BASE_MODEL, local_dir="/pretrained_models/" + BASE_DIR) - #DEL: snapshot_download(FINETUNED_MODEL, revision=REVISION, local_dir=FINETUNED_DIR) - snapshot_download(FINETUNED_MODEL, local_dir="/pretrained_models/" + FINETUNED_DIR) + #DEL: from huggingface_hub import snapshot_download + #DEL: import os + #DEL: os.makedirs(MODEL_DIR, exist_ok=True) + #DEL: snapshot_download(BASE_MODEL, local_dir=BASE_DIR) + #DEL: snapshot_download(FINETUNED_MODEL, local_dir=FINETUNED_DIR) @modal.enter() def setup(self): @@ -64,8 +73,7 @@ class Pricer: device_map="auto" ) - #DEL: self.fine_tuned_model = PeftModel.from_pretrained(self.base_model, FINETUNED_DIR, revision=REVISION) - self.fine_tuned_model = PeftModel.from_pretrained(self.base_model, FINETUNED_DIR) + self.fine_tuned_model = PeftModel.from_pretrained(self.base_model, FINETUNED_DIR, revision=REVISION) @modal.method() def price(self, description: str) -> float: @@ -89,5 +97,4 @@ class Pricer: @modal.method() def wake_up(self) -> str: - return "ok" - + return "ok" \ No newline at end of file