diff --git "a/scripts/fuse_eval.ipynb" "b/scripts/fuse_eval.ipynb" new file mode 100644--- /dev/null +++ "b/scripts/fuse_eval.ipynb" @@ -0,0 +1,447 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a19a4492", + "metadata": {}, + "source": [ + "diffusers library has a slight bug / oversight which makes fuse_qkv_projections() ignore certain attention modules. I updated the method to actually fuse for the desired attention modules, and this is the speedup comparisons after the fix." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e76b6794", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/home/ubuntu/Qwen-Image-Edit-Angles\n" + ] + } + ], + "source": [ + "%cd /home/ubuntu/Qwen-Image-Edit-Angles" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f0f4ce28", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 1.26.4\n", + " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n", + "/home/ubuntu/.local/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n", + "Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.1 Please see https://github.com/pytorch/ao/issues/2919 for more info\n", + "TMA benchmarks will be running without grid constant TMA descriptor.\n", + "2025-11-19 08:13:16.330127: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2025-11-19 08:13:16.344397: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:467] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "E0000 00:00:1763539996.361808 2299732 cuda_dnn.cc:8579] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "E0000 00:00:1763539996.368224 2299732 cuda_blas.cc:1407] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "W0000 00:00:1763539996.380782 2299732 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n", + "W0000 00:00:1763539996.380799 2299732 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n", + "W0000 00:00:1763539996.380802 2299732 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n", + "W0000 00:00:1763539996.380803 2299732 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n", + "2025-11-19 08:13:16.385200: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX512F AVX512_VNNI AVX512_BF16 AVX512_FP16 AVX_VNNI, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "/usr/lib/python3/dist-packages/sklearn/utils/fixes.py:25: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " from pkg_resources import parse_version # type: ignore\n", + "Fetching 7 files: 100%|██████████| 7/7 [00:00<00:00, 82472.27it/s]\n" + ] + } + ], + "source": [ + "import math\n", + "from pathlib import Path\n", + "from collections import defaultdict\n", + "import statistics\n", + "\n", + "import pandas as pd\n", + "from matplotlib import pyplot as plt\n", + "from PIL import Image\n", + "import numpy as np\n", + "import lpips\n", + "import torch\n", + "import torchvision.transforms.v2 as T\n", + "import torchvision.transforms.v2.functional as TF\n", + "from pydantic import BaseModel\n", + "\n", + "from qwenimage.reporting.datamodels import ExperimentSet\n", + "from qwenimage.reporting.visualize_barplot import compare_sets, compare_sets_with_timing\n", + "from qwenimage.experiment import ExperimentConfig\n", + "from qwenimage.experiments.experiments_qwen import ExperimentRegistry" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "477d7613", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n", + " warnings.warn(\n", + "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]\n", + "Loading model from: /home/ubuntu/.local/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
experimentlpips_meanlpips_stdtime_meantime_std
0qwen_base0.0000000.0000001.7520800.038048
1qwen_fuse0.0000000.0000001.7711550.037701
2qwen_fa3_aot_int80.1897540.0833961.1254570.021317
3qwen_fa3_aot_int8_fuse0.1897540.0833961.1267470.021306
4qwen_fa3_aot_fp80.4069820.0922411.0669620.023784
5qwen_fa3_aot_fp8_fuse0.4068950.0974811.0679640.024570
\n", + "
" + ], + "text/plain": [ + " experiment lpips_mean lpips_std time_mean time_std\n", + "0 qwen_base 0.000000 0.000000 1.752080 0.038048\n", + "1 qwen_fuse 0.000000 0.000000 1.771155 0.037701\n", + "2 qwen_fa3_aot_int8 0.189754 0.083396 1.125457 0.021317\n", + "3 qwen_fa3_aot_int8_fuse 0.189754 0.083396 1.126747 0.021306\n", + "4 qwen_fa3_aot_fp8 0.406982 0.092241 1.066962 0.023784\n", + "5 qwen_fa3_aot_fp8_fuse 0.406895 0.097481 1.067964 0.024570" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "\n", + "experiment_names = [\n", + " \"qwen_base\",\n", + " \"qwen_fuse\",\n", + " # \"qwen_fa3\",\n", + " # \"qwen_aot\", \n", + " # \"qwen_fa3_aot\", \n", + "\n", + " # \"qwen_fa3_fuse\",\n", + " # \"qwen_fuse_aot\",\n", + "\n", + " \"qwen_fa3_aot_int8\",\n", + " \"qwen_fa3_aot_int8_fuse\",\n", + "\n", + " \"qwen_fa3_aot_fp8\",\n", + " \"qwen_fa3_aot_fp8_fuse\",\n", + "\n", + " # \"qwen_lightning_fa3_aot_int8_fuse_4step_fbcache_055_downsize512\",\n", + "]\n", + "\n", + "df_all = compare_sets_with_timing(\n", + " ExperimentSet.create(*experiment_names),\n", + " profile_target=\"loop\",\n", + " sort_by=None\n", + ")\n", + "\n", + "# Display the combined data\n", + "df_all\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2e99efc4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n", + " warnings.warn(\n", + "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading model from: /home/ubuntu/.local/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
experimentlpips_meanlpips_stdtime_meantime_std
1qwen_fuse0.0000000.0000001.7711550.037701
0qwen_base0.0000000.0000001.7520800.038048
3qwen_fa3_aot_int8_fuse0.1897540.0833961.1267470.021306
2qwen_fa3_aot_int80.1897540.0833961.1254570.021317
5qwen_fa3_aot_fp8_fuse0.4068950.0974811.0679640.024570
4qwen_fa3_aot_fp80.4069820.0922411.0669620.023784
\n", + "
" + ], + "text/plain": [ + " experiment lpips_mean lpips_std time_mean time_std\n", + "1 qwen_fuse 0.000000 0.000000 1.771155 0.037701\n", + "0 qwen_base 0.000000 0.000000 1.752080 0.038048\n", + "3 qwen_fa3_aot_int8_fuse 0.189754 0.083396 1.126747 0.021306\n", + "2 qwen_fa3_aot_int8 0.189754 0.083396 1.125457 0.021317\n", + "5 qwen_fa3_aot_fp8_fuse 0.406895 0.097481 1.067964 0.024570\n", + "4 qwen_fa3_aot_fp8 0.406982 0.092241 1.066962 0.023784" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "compare_sets_with_timing(\n", + " ExperimentSet.create(\n", + " *experiment_names\n", + " ),\n", + " profile_target=\"loop\",\n", + " sort_by=\"time\"\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06c65a7a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31dea8be", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4efef8a4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15b6d974", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}