{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "machine_shape": "hm",
      "gpuType": "H100"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU",
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "557cded45d2f4985b1bf88d24a53fa5b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_01048abb466d40ad9d5eebb933e31d2e",
              "IPY_MODEL_0070a9cb654c454db2d50b6a45a0564d",
              "IPY_MODEL_8f0c8bd7c2314d3fa975b1ab0e2b11c3"
            ],
            "layout": "IPY_MODEL_61c37f92a6884a8b9040f5cd94455907"
          }
        },
        "01048abb466d40ad9d5eebb933e31d2e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_10b53f45b8b64f3f937059478260da97",
            "placeholder": "​",
            "style": "IPY_MODEL_24ffc90e04ca4e58934ad06c7a30a21a",
            "value": "Loading weights: 100%"
          }
        },
        "0070a9cb654c454db2d50b6a45a0564d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d8c02766a73142579e2d4b2e33d0e359",
            "max": 339,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_2152c0b928f54feeb0305eb8a3b5cedf",
            "value": 339
          }
        },
        "8f0c8bd7c2314d3fa975b1ab0e2b11c3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_059143add03442859bc657741923fe3d",
            "placeholder": "​",
            "style": "IPY_MODEL_fe4c4516392840729ec9ccb7f427de83",
            "value": " 339/339 [00:02&lt;00:00, 179.77it/s, Materializing param=model.norm.weight]"
          }
        },
        "61c37f92a6884a8b9040f5cd94455907": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "10b53f45b8b64f3f937059478260da97": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "24ffc90e04ca4e58934ad06c7a30a21a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d8c02766a73142579e2d4b2e33d0e359": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2152c0b928f54feeb0305eb8a3b5cedf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "059143add03442859bc657741923fe3d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "fe4c4516392840729ec9ccb7f427de83": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "334ddf69a2314198a5069867b4e2e3cd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_7682108068f14890874284f5c9aba375",
              "IPY_MODEL_f397136a96274b5caaa01d4f84e2f7dd",
              "IPY_MODEL_c158d5b4ad34499b8f4b3ba9ce0447a5"
            ],
            "layout": "IPY_MODEL_89d0744f46a346c593ec97db765e39e7"
          }
        },
        "7682108068f14890874284f5c9aba375": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_840d3075e18d4e45a8c21646766c50fc",
            "placeholder": "​",
            "style": "IPY_MODEL_94d343c4fc554b36a05240c785ef3288",
            "value": "Loading weights: 100%"
          }
        },
        "f397136a96274b5caaa01d4f84e2f7dd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f6883512d694495498c42a3b031a23a4",
            "max": 363,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_e35d2a7b7cd24c08a6aa0520c143382a",
            "value": 363
          }
        },
        "c158d5b4ad34499b8f4b3ba9ce0447a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_fe37d1a9297846de9a32e9c6c1228a03",
            "placeholder": "​",
            "style": "IPY_MODEL_46abe9fcd410449a973c0f0248766ace",
            "value": " 363/363 [00:03&lt;00:00, 121.18it/s, Materializing param=model.norm.weight]"
          }
        },
        "89d0744f46a346c593ec97db765e39e7": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "840d3075e18d4e45a8c21646766c50fc": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "94d343c4fc554b36a05240c785ef3288": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f6883512d694495498c42a3b031a23a4": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e35d2a7b7cd24c08a6aa0520c143382a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "fe37d1a9297846de9a32e9c6c1228a03": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "46abe9fcd410449a973c0f0248766ace": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "8aefc0da42d94b9799bb9b0c331e37a6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_dda2bfc698264b1d885ba238867fe0fe",
              "IPY_MODEL_aee3229e3cfc4c38a6d2846d75fb5682",
              "IPY_MODEL_3899f4345c594371a600295673dfb90c"
            ],
            "layout": "IPY_MODEL_4eab9017d5d24431bbd2522a045f6e95"
          }
        },
        "dda2bfc698264b1d885ba238867fe0fe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_556bd21f963040e1b6e0902f2b7eba42",
            "placeholder": "​",
            "style": "IPY_MODEL_feabe260083f436b8ffd2d0937decf61",
            "value": "config.json: 100%"
          }
        },
        "aee3229e3cfc4c38a6d2846d75fb5682": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_45cad523e54e406a95ffd54414790c39",
            "max": 857,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_cbba84361ab24426ab286ef1df1df3c5",
            "value": 857
          }
        },
        "3899f4345c594371a600295673dfb90c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3d752969fb3941cd92c303a1529253fd",
            "placeholder": "​",
            "style": "IPY_MODEL_7eca75d003a1455ab65f7236d1a416b3",
            "value": " 857/857 [00:00&lt;00:00, 179kB/s]"
          }
        },
        "4eab9017d5d24431bbd2522a045f6e95": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "556bd21f963040e1b6e0902f2b7eba42": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "feabe260083f436b8ffd2d0937decf61": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "45cad523e54e406a95ffd54414790c39": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "cbba84361ab24426ab286ef1df1df3c5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "3d752969fb3941cd92c303a1529253fd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7eca75d003a1455ab65f7236d1a416b3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "12c14cd992fe491d965121c1ed09c5b9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_ba7c30d74b914ad2a7a4d1aa23ee6ebd",
              "IPY_MODEL_0e3f94afb56240f893bc7665b9145c93",
              "IPY_MODEL_9a406d400a754d74b956066c14eb5cb0"
            ],
            "layout": "IPY_MODEL_c8d543015c3c4fd0b36a2343d920eba6"
          }
        },
        "ba7c30d74b914ad2a7a4d1aa23ee6ebd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_39d46af9cdc1446f8ae9406a0983df65",
            "placeholder": "​",
            "style": "IPY_MODEL_457b6b7d924241b2b2850b22212a2efe",
            "value": "tokenizer_config.json: "
          }
        },
        "0e3f94afb56240f893bc7665b9145c93": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f7769fdc27674329bcc733ccb39f879e",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_4c18dd9382c641d2b2c84473f5e86e78",
            "value": 1
          }
        },
        "9a406d400a754d74b956066c14eb5cb0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_72d61d20bfde4939abf3b75ef71126d3",
            "placeholder": "​",
            "style": "IPY_MODEL_75f3240c28f149808f69f24bd9c18bd5",
            "value": " 47.0k/? [00:00&lt;00:00, 7.36MB/s]"
          }
        },
        "c8d543015c3c4fd0b36a2343d920eba6": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "39d46af9cdc1446f8ae9406a0983df65": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "457b6b7d924241b2b2850b22212a2efe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f7769fdc27674329bcc733ccb39f879e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "4c18dd9382c641d2b2c84473f5e86e78": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "72d61d20bfde4939abf3b75ef71126d3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "75f3240c28f149808f69f24bd9c18bd5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d40be0519a414f24ada936ce4b8083fc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_88beea37caa0494dbe3e5a58cd2011cd",
              "IPY_MODEL_4ce8ebd8426f419e9e8854217aaa6dce",
              "IPY_MODEL_8ec5bc2e8b86458d87c00aa2db2cfae8"
            ],
            "layout": "IPY_MODEL_01b9987c9f8346eea602636fc045daff"
          }
        },
        "88beea37caa0494dbe3e5a58cd2011cd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f7f9ae5d5bd44c9bae231f4e363558f6",
            "placeholder": "​",
            "style": "IPY_MODEL_6f3c0ec5e54a4f8788f5809daf491662",
            "value": "tokenizer.json: 100%"
          }
        },
        "4ce8ebd8426f419e9e8854217aaa6dce": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b7567e9f37184773ac41645d3b6e4dd9",
            "max": 17525357,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_df7f19147f3442e0a450bfa2a70b9de7",
            "value": 17525357
          }
        },
        "8ec5bc2e8b86458d87c00aa2db2cfae8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0ce6e2fcacde4bf883d11b236a03010b",
            "placeholder": "​",
            "style": "IPY_MODEL_a69ef2196603447fb6f0b02aaa7e01d0",
            "value": " 17.5M/17.5M [00:00&lt;00:00, 64.7MB/s]"
          }
        },
        "01b9987c9f8346eea602636fc045daff": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f7f9ae5d5bd44c9bae231f4e363558f6": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6f3c0ec5e54a4f8788f5809daf491662": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b7567e9f37184773ac41645d3b6e4dd9": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "df7f19147f3442e0a450bfa2a70b9de7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "0ce6e2fcacde4bf883d11b236a03010b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a69ef2196603447fb6f0b02aaa7e01d0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "a3f1c86f171145f2a6c7473b9c415848": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_cfd6264fa13a4a0d840b2b0c78aa7fca",
              "IPY_MODEL_5080bd47816f42eeaff501b09449aa56",
              "IPY_MODEL_e31f8aed30374b3f93dc1007e421d01d"
            ],
            "layout": "IPY_MODEL_16b0a70731704e35a3fd257746f7bfcd"
          }
        },
        "cfd6264fa13a4a0d840b2b0c78aa7fca": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0f43ff4e36954c2a8e6735a37584049f",
            "placeholder": "​",
            "style": "IPY_MODEL_45716103a33a4444b8018253d95d2900",
            "value": "special_tokens_map.json: 100%"
          }
        },
        "5080bd47816f42eeaff501b09449aa56": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_5a8931b06fa343139f7f35f0dbdfec8d",
            "max": 636,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_bc3eb01643db443cb4c913e373db9e15",
            "value": 636
          }
        },
        "e31f8aed30374b3f93dc1007e421d01d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c4fcccaf7ca14bceb74f6fbb78d04c01",
            "placeholder": "​",
            "style": "IPY_MODEL_1013e3001a9c44129a8fd33b80f2f15d",
            "value": " 636/636 [00:00&lt;00:00, 123kB/s]"
          }
        },
        "16b0a70731704e35a3fd257746f7bfcd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0f43ff4e36954c2a8e6735a37584049f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "45716103a33a4444b8018253d95d2900": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5a8931b06fa343139f7f35f0dbdfec8d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "bc3eb01643db443cb4c913e373db9e15": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c4fcccaf7ca14bceb74f6fbb78d04c01": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1013e3001a9c44129a8fd33b80f2f15d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "8828c9790f6945868cdccb481d163505": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_66020aefa83640c2a934f159c7254fcd",
              "IPY_MODEL_cf09657c7c0947f5871c08327a7e9d2a",
              "IPY_MODEL_0cf7f6565fd34cdcb66bfa58f5058c1f"
            ],
            "layout": "IPY_MODEL_1077f2bfb06a4025bbe342a8e1ebf6e0"
          }
        },
        "66020aefa83640c2a934f159c7254fcd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_de51ccbf3cb240ba9811be37cc217d59",
            "placeholder": "​",
            "style": "IPY_MODEL_ffdd1c3f4cd141479066927ef2282aaa",
            "value": "model.safetensors.index.json: "
          }
        },
        "cf09657c7c0947f5871c08327a7e9d2a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_781255eff6754167804ad00189ce9bdf",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c62b3d50b9cc42faa4cf0f5b0350834a",
            "value": 1
          }
        },
        "0cf7f6565fd34cdcb66bfa58f5058c1f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_48db4c74ea1e49e39bfaa37ce0f8fa0f",
            "placeholder": "​",
            "style": "IPY_MODEL_14059b119c114452b5704f2af2a4e046",
            "value": " 39.1k/? [00:00&lt;00:00, 7.10MB/s]"
          }
        },
        "1077f2bfb06a4025bbe342a8e1ebf6e0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "de51ccbf3cb240ba9811be37cc217d59": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ffdd1c3f4cd141479066927ef2282aaa": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "781255eff6754167804ad00189ce9bdf": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "c62b3d50b9cc42faa4cf0f5b0350834a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "48db4c74ea1e49e39bfaa37ce0f8fa0f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "14059b119c114452b5704f2af2a4e046": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4aadd272791f4b6fa7e01aafe5dc248e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_16a3ce7dfe0a40d8933bb47eaab1017b",
              "IPY_MODEL_2f235648d563451f8eab2ceedd64fe1b",
              "IPY_MODEL_e2ea04e21b864b269726bd9271de0a16"
            ],
            "layout": "IPY_MODEL_c492ab9e07e14ec69e0128722622f769"
          }
        },
        "16a3ce7dfe0a40d8933bb47eaab1017b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_bc0cf09479d647deabd16528d7289b07",
            "placeholder": "​",
            "style": "IPY_MODEL_c2b4c282e6f74b6db5f02fb66754ebb5",
            "value": "Download complete: 100%"
          }
        },
        "2f235648d563451f8eab2ceedd64fe1b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1286d476b45f45d1900b72429d841a46",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_993ebce7ce474dc19859514c6f363b9a",
            "value": 1
          }
        },
        "e2ea04e21b864b269726bd9271de0a16": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1c44acb164a74fca918394504f4c7cbd",
            "placeholder": "​",
            "style": "IPY_MODEL_31477d7b171243bba0e5cd3bcda560c6",
            "value": " 18.5G/18.5G [00:40&lt;00:00, 539MB/s]"
          }
        },
        "c492ab9e07e14ec69e0128722622f769": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "bc0cf09479d647deabd16528d7289b07": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c2b4c282e6f74b6db5f02fb66754ebb5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "1286d476b45f45d1900b72429d841a46": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "993ebce7ce474dc19859514c6f363b9a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "1c44acb164a74fca918394504f4c7cbd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "31477d7b171243bba0e5cd3bcda560c6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "563050200bce440cbc2d4db427fdb6c6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_6a7ac0b0bba143f289f63f7d336c3ba7",
              "IPY_MODEL_c42b1f6332c047629754295b50d25e8e",
              "IPY_MODEL_ba3317c389214c9e96a39593446d5f7e"
            ],
            "layout": "IPY_MODEL_070decc6252f4b8ebdafe64fbe9b295c"
          }
        },
        "6a7ac0b0bba143f289f63f7d336c3ba7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0200ddb046aa43e19c613006bacef686",
            "placeholder": "​",
            "style": "IPY_MODEL_47ba15bcfe684c0b8cdd3980d0e46079",
            "value": "Fetching 4 files: 100%"
          }
        },
        "c42b1f6332c047629754295b50d25e8e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7c9ccfc37cf841edaa102e92541fe7d3",
            "max": 4,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_3e1ea5e89deb4323bb895968c281d357",
            "value": 4
          }
        },
        "ba3317c389214c9e96a39593446d5f7e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_4af85369d7b44ba292f68ba7feed9164",
            "placeholder": "​",
            "style": "IPY_MODEL_a9f0a8129fed41438153822e5509e2c8",
            "value": " 4/4 [00:40&lt;00:00, 17.02s/it]"
          }
        },
        "070decc6252f4b8ebdafe64fbe9b295c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0200ddb046aa43e19c613006bacef686": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "47ba15bcfe684c0b8cdd3980d0e46079": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7c9ccfc37cf841edaa102e92541fe7d3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3e1ea5e89deb4323bb895968c281d357": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "4af85369d7b44ba292f68ba7feed9164": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a9f0a8129fed41438153822e5509e2c8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5c5bc03060314242804dae6f5b0a5417": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_5251eaf482364ee7b7e77bce9a020c78",
              "IPY_MODEL_1462c97387304c00bc404498717530eb",
              "IPY_MODEL_b727aa2aaf6b464fb099c2be7c735c9b"
            ],
            "layout": "IPY_MODEL_578e04bc1f0743dc9110bddfae793869"
          }
        },
        "5251eaf482364ee7b7e77bce9a020c78": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_fb645a1e442f4ea890da787a4b61831f",
            "placeholder": "​",
            "style": "IPY_MODEL_18d190f48f3f45f697e7b66d2cc05a63",
            "value": "Loading weights: 100%"
          }
        },
        "1462c97387304c00bc404498717530eb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7ee4919967b245b3b0b1ebd29bc8a486",
            "max": 464,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_399051083ee848f4af55afa282f03593",
            "value": 464
          }
        },
        "b727aa2aaf6b464fb099c2be7c735c9b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a100336b2bea4abeb607444423f0df6f",
            "placeholder": "​",
            "style": "IPY_MODEL_bddb30356e744b4f8f13edcc86b4fc9c",
            "value": " 464/464 [00:02&lt;00:00, 178.93it/s, Materializing param=model.norm.weight]"
          }
        },
        "578e04bc1f0743dc9110bddfae793869": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "fb645a1e442f4ea890da787a4b61831f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "18d190f48f3f45f697e7b66d2cc05a63": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7ee4919967b245b3b0b1ebd29bc8a486": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "399051083ee848f4af55afa282f03593": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "a100336b2bea4abeb607444423f0df6f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "bddb30356e744b4f8f13edcc86b4fc9c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "25b0ac2021554e19a920524dab7f85e2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_a83b99f2fdff42beaef38c0a8290a7ab",
              "IPY_MODEL_fd3536a6e60d4b2a9018301c2b76982f",
              "IPY_MODEL_a707ec3127694641b362fa33fd71e195"
            ],
            "layout": "IPY_MODEL_896d734dc76a442f9932d4a62f681183"
          }
        },
        "a83b99f2fdff42beaef38c0a8290a7ab": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e31b7ef7dfff485098ba4d93efd64b0c",
            "placeholder": "​",
            "style": "IPY_MODEL_66d4e21ee1604d0ca56c512326bd4cee",
            "value": "generation_config.json: 100%"
          }
        },
        "fd3536a6e60d4b2a9018301c2b76982f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ed0b28bf2fa54c94b35c102cc68b5889",
            "max": 173,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_5356dd49d62f44b0a41d2d1752dbf20e",
            "value": 173
          }
        },
        "a707ec3127694641b362fa33fd71e195": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3f6dd7e4ed1840e0a8afe8aeab4aaaec",
            "placeholder": "​",
            "style": "IPY_MODEL_1c46d1eb67b4482c96329aecd3a9d69d",
            "value": " 173/173 [00:00&lt;00:00, 35.7kB/s]"
          }
        },
        "896d734dc76a442f9932d4a62f681183": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e31b7ef7dfff485098ba4d93efd64b0c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "66d4e21ee1604d0ca56c512326bd4cee": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ed0b28bf2fa54c94b35c102cc68b5889": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5356dd49d62f44b0a41d2d1752dbf20e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "3f6dd7e4ed1840e0a8afe8aeab4aaaec": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1c46d1eb67b4482c96329aecd3a9d69d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        }
      }
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "open-source models:\n",
        "\n",
        "\n",
        "```\n",
        "Qwen/Qwen2-7B-Instruct\n",
        "\n",
        "mistralai/Mistral-Nemo-Instruct-2407\n",
        "\n",
        "google/gemma-2-9b-it\n",
        "```\n",
        "\n",
        "ZSL, FSL, prompt sensitivity, and schema-constrained outputs—using a consistent interface so you can swap models easily.\n",
        "\n",
        "### 0) What each model is (and why we use it)?\n",
        "\n",
        "\n",
        "\n",
        "#### Qwen2-7B-Instruct\n",
        "\n",
        "A 7B instruction-tuned model from the Qwen2 family. It’s a strong general-purpose instruct model, typically reliable for structured prompting and multi-lingual-ish behavior in practice (depending on the prompt).\n",
        "\n",
        "#### Mistral-Nemo-Instruct-2407\n",
        "\n",
        "An instruction-tuned model from Mistral AI + NVIDIA collaboration, designed to be competitive in its size range. It’s a good choice to compare “Mistral-style” instruction-following and robustness.\n",
        "\n",
        "#### Gemma-2-9b-it\n",
        "\n",
        "Google’s Gemma 2 instruction-tuned 9B model (text-to-text, decoder-only). It can be excellent, but it’s often gated on Hugging Face (students may need access approval/token)."
      ],
      "metadata": {
        "id": "Fi73X-fanRDj"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "## 1) Environment setup (one-time)"
      ],
      "metadata": {
        "id": "0npkiPS8pPdy"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 1.1 Install packages"
      ],
      "metadata": {
        "id": "_ByIU3QVpXPS"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# install required libraries (run once)\n",
        "!pip install -q transformers accelerate torch huggingface_hub"
      ],
      "metadata": {
        "id": "QKie0_3Vo80I"
      },
      "execution_count": 26,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# import library used to login to Hugging Face\n",
        "from huggingface_hub import login\n",
        "\n",
        "# access secure secrets stored in Google Colab\n",
        "from google.colab import userdata\n",
        "\n",
        "# load the Hugging Face token from Colab secrets\n",
        "hf_token = userdata.get(\"HF_TOKEN\")\n",
        "\n",
        "# authenticate to Hugging Face\n",
        "# this is required for gated models such as Gemma\n",
        "login(token=hf_token)"
      ],
      "metadata": {
        "id": "KR_FkrpUtyG2"
      },
      "execution_count": 27,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 2)  model loader"
      ],
      "metadata": {
        "id": "je7asyDFpl04"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# import libraries used to load LLMs\n",
        "from transformers import AutoTokenizer, AutoModelForCausalLM\n",
        "import torch\n",
        "\n",
        "# model identifier on Hugging Face\n",
        "model_id = \"Qwen/Qwen2-7B-Instruct\"\n",
        "\n",
        "# load the tokenizer\n",
        "# tokenizer converts text → tokens (numbers the model understands)\n",
        "tokenizer_qwen = AutoTokenizer.from_pretrained(\n",
        "    model_id,\n",
        "    use_fast=True\n",
        ")\n",
        "\n",
        "# load the model\n",
        "model_qwen = AutoModelForCausalLM.from_pretrained(\n",
        "\n",
        "    model_id,\n",
        "\n",
        "    # bfloat16 reduces memory usage on GPU\n",
        "    torch_dtype=torch.bfloat16,\n",
        "\n",
        "    # automatically place model layers on GPU if available\n",
        "    device_map=\"auto\"\n",
        ")\n",
        "\n",
        "print(\"Qwen model loaded\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 67,
          "referenced_widgets": [
            "557cded45d2f4985b1bf88d24a53fa5b",
            "01048abb466d40ad9d5eebb933e31d2e",
            "0070a9cb654c454db2d50b6a45a0564d",
            "8f0c8bd7c2314d3fa975b1ab0e2b11c3",
            "61c37f92a6884a8b9040f5cd94455907",
            "10b53f45b8b64f3f937059478260da97",
            "24ffc90e04ca4e58934ad06c7a30a21a",
            "d8c02766a73142579e2d4b2e33d0e359",
            "2152c0b928f54feeb0305eb8a3b5cedf",
            "059143add03442859bc657741923fe3d",
            "fe4c4516392840729ec9ccb7f427de83"
          ]
        },
        "id": "EzXi0YpwpEMt",
        "outputId": "7026ae2b-18a3-45cd-c944-4ece19082b0e"
      },
      "execution_count": 28,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Loading weights:   0%|          | 0/339 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "557cded45d2f4985b1bf88d24a53fa5b"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Qwen model loaded\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# text prompt we send to the model\n",
        "prompt = \"Explain what a transformer model is in simple terms.\"\n",
        "\n",
        "# convert text into tokens\n",
        "inputs = tokenizer_qwen(prompt, return_tensors=\"pt\")\n",
        "\n",
        "# move tokens to the same device as the model\n",
        "inputs = inputs.to(model_qwen.device)\n",
        "\n",
        "# generate output from the model\n",
        "output = model_qwen.generate(\n",
        "\n",
        "    **inputs,\n",
        "\n",
        "    # maximum number of new tokens the model can generate\n",
        "    max_new_tokens=150\n",
        ")\n",
        "\n",
        "# convert tokens back into readable text\n",
        "print(tokenizer_qwen.decode(output[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "iH7DteUnwiwp",
        "outputId": "1c8cc679-a350-4223-f4dd-912cf00e1fce"
      },
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Explain what a transformer model is in simple terms. A transformer model is a type of artificial intelligence algorithm used in natural language processing (NLP) tasks, such as language translation and text summarization. It was introduced by researchers at Google in 2017 and has since become one of the most widely used models in NLP.\n",
            "\n",
            "In simple terms, a transformer model works by taking in a sequence of words or tokens from an input text and generating a corresponding output, such as a translated sentence or a summary of the text. The key innovation of the transformer model is its ability to understand the context of words within a sentence by using a mechanism called \"self-attention.\"\n",
            "\n",
            "Self-attention allows the model to weigh the importance of different words in a sentence when generating the output. This means that\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "_TpvubsHwik8"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# model identifier\n",
        "model_id = \"mistralai/Mistral-Nemo-Instruct-2407\"\n",
        "\n",
        "# load tokenizer\n",
        "tokenizer_mistral = AutoTokenizer.from_pretrained(\n",
        "    model_id,\n",
        "    use_fast=True\n",
        ")\n",
        "\n",
        "# load model\n",
        "model_mistral = AutoModelForCausalLM.from_pretrained(\n",
        "\n",
        "    model_id,\n",
        "\n",
        "    torch_dtype=torch.bfloat16,\n",
        "\n",
        "    device_map=\"auto\"\n",
        ")\n",
        "\n",
        "print(\"Mistral Nemo model loaded\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 105,
          "referenced_widgets": [
            "334ddf69a2314198a5069867b4e2e3cd",
            "7682108068f14890874284f5c9aba375",
            "f397136a96274b5caaa01d4f84e2f7dd",
            "c158d5b4ad34499b8f4b3ba9ce0447a5",
            "89d0744f46a346c593ec97db765e39e7",
            "840d3075e18d4e45a8c21646766c50fc",
            "94d343c4fc554b36a05240c785ef3288",
            "f6883512d694495498c42a3b031a23a4",
            "e35d2a7b7cd24c08a6aa0520c143382a",
            "fe37d1a9297846de9a32e9c6c1228a03",
            "46abe9fcd410449a973c0f0248766ace"
          ]
        },
        "id": "HZYaZL0qwVo9",
        "outputId": "98530332-a17b-4581-ace7-43b0361a936b"
      },
      "execution_count": 29,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "The tokenizer you are loading from 'mistralai/Mistral-Nemo-Instruct-2407' with an incorrect regex pattern: https://huggingface.co/mistralai/Mistral-Small-3.1-24B-Instruct-2503/discussions/84#69121093e8b480e709447d5e. This will lead to incorrect tokenization. You should set the `fix_mistral_regex=True` flag when loading this tokenizer to fix this issue.\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Loading weights:   0%|          | 0/363 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "334ddf69a2314198a5069867b4e2e3cd"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mistral Nemo model loaded\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"Explain what a transformer model is in simple terms.\"\n",
        "\n",
        "inputs = tokenizer_mistral(prompt, return_tensors=\"pt\").to(model_mistral.device)\n",
        "\n",
        "output = model_mistral.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=150\n",
        ")\n",
        "\n",
        "print(tokenizer_mistral.decode(output[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "TjXz4_hHw1Is",
        "outputId": "0aad0da2-b279-48d6-c90f-edb8c9836b7a"
      },
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Explain what a transformer model is in simple terms. A transformer model is a type of machine learning model that is designed to handle sequential data, such as text or time series data. It uses a mechanism called self-attention to weigh the importance of different parts of the input sequence when generating an output. This allows the model to capture complex dependencies between elements in the input sequence, making it well-suited for tasks like translation, summarization, and question answering.\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "fu8EAiq6w0_A"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Gemma instruction-tuned model\n",
        "model_id = \"google/gemma-2-9b-it\"\n",
        "\n",
        "# load tokenizer\n",
        "tokenizer_gemma = AutoTokenizer.from_pretrained(\n",
        "    model_id,\n",
        "    use_fast=True\n",
        ")\n",
        "\n",
        "# load model\n",
        "model_gemma = AutoModelForCausalLM.from_pretrained(\n",
        "\n",
        "    model_id,\n",
        "\n",
        "    torch_dtype=torch.bfloat16,\n",
        "\n",
        "    device_map=\"auto\"\n",
        ")\n",
        "\n",
        "print(\"Gemma model loaded\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 323,
          "referenced_widgets": [
            "8aefc0da42d94b9799bb9b0c331e37a6",
            "dda2bfc698264b1d885ba238867fe0fe",
            "aee3229e3cfc4c38a6d2846d75fb5682",
            "3899f4345c594371a600295673dfb90c",
            "4eab9017d5d24431bbd2522a045f6e95",
            "556bd21f963040e1b6e0902f2b7eba42",
            "feabe260083f436b8ffd2d0937decf61",
            "45cad523e54e406a95ffd54414790c39",
            "cbba84361ab24426ab286ef1df1df3c5",
            "3d752969fb3941cd92c303a1529253fd",
            "7eca75d003a1455ab65f7236d1a416b3",
            "12c14cd992fe491d965121c1ed09c5b9",
            "ba7c30d74b914ad2a7a4d1aa23ee6ebd",
            "0e3f94afb56240f893bc7665b9145c93",
            "9a406d400a754d74b956066c14eb5cb0",
            "c8d543015c3c4fd0b36a2343d920eba6",
            "39d46af9cdc1446f8ae9406a0983df65",
            "457b6b7d924241b2b2850b22212a2efe",
            "f7769fdc27674329bcc733ccb39f879e",
            "4c18dd9382c641d2b2c84473f5e86e78",
            "72d61d20bfde4939abf3b75ef71126d3",
            "75f3240c28f149808f69f24bd9c18bd5",
            "d40be0519a414f24ada936ce4b8083fc",
            "88beea37caa0494dbe3e5a58cd2011cd",
            "4ce8ebd8426f419e9e8854217aaa6dce",
            "8ec5bc2e8b86458d87c00aa2db2cfae8",
            "01b9987c9f8346eea602636fc045daff",
            "f7f9ae5d5bd44c9bae231f4e363558f6",
            "6f3c0ec5e54a4f8788f5809daf491662",
            "b7567e9f37184773ac41645d3b6e4dd9",
            "df7f19147f3442e0a450bfa2a70b9de7",
            "0ce6e2fcacde4bf883d11b236a03010b",
            "a69ef2196603447fb6f0b02aaa7e01d0",
            "a3f1c86f171145f2a6c7473b9c415848",
            "cfd6264fa13a4a0d840b2b0c78aa7fca",
            "5080bd47816f42eeaff501b09449aa56",
            "e31f8aed30374b3f93dc1007e421d01d",
            "16b0a70731704e35a3fd257746f7bfcd",
            "0f43ff4e36954c2a8e6735a37584049f",
            "45716103a33a4444b8018253d95d2900",
            "5a8931b06fa343139f7f35f0dbdfec8d",
            "bc3eb01643db443cb4c913e373db9e15",
            "c4fcccaf7ca14bceb74f6fbb78d04c01",
            "1013e3001a9c44129a8fd33b80f2f15d",
            "8828c9790f6945868cdccb481d163505",
            "66020aefa83640c2a934f159c7254fcd",
            "cf09657c7c0947f5871c08327a7e9d2a",
            "0cf7f6565fd34cdcb66bfa58f5058c1f",
            "1077f2bfb06a4025bbe342a8e1ebf6e0",
            "de51ccbf3cb240ba9811be37cc217d59",
            "ffdd1c3f4cd141479066927ef2282aaa",
            "781255eff6754167804ad00189ce9bdf",
            "c62b3d50b9cc42faa4cf0f5b0350834a",
            "48db4c74ea1e49e39bfaa37ce0f8fa0f",
            "14059b119c114452b5704f2af2a4e046",
            "4aadd272791f4b6fa7e01aafe5dc248e",
            "16a3ce7dfe0a40d8933bb47eaab1017b",
            "2f235648d563451f8eab2ceedd64fe1b",
            "e2ea04e21b864b269726bd9271de0a16",
            "c492ab9e07e14ec69e0128722622f769",
            "bc0cf09479d647deabd16528d7289b07",
            "c2b4c282e6f74b6db5f02fb66754ebb5",
            "1286d476b45f45d1900b72429d841a46",
            "993ebce7ce474dc19859514c6f363b9a",
            "1c44acb164a74fca918394504f4c7cbd",
            "31477d7b171243bba0e5cd3bcda560c6",
            "563050200bce440cbc2d4db427fdb6c6",
            "6a7ac0b0bba143f289f63f7d336c3ba7",
            "c42b1f6332c047629754295b50d25e8e",
            "ba3317c389214c9e96a39593446d5f7e",
            "070decc6252f4b8ebdafe64fbe9b295c",
            "0200ddb046aa43e19c613006bacef686",
            "47ba15bcfe684c0b8cdd3980d0e46079",
            "7c9ccfc37cf841edaa102e92541fe7d3",
            "3e1ea5e89deb4323bb895968c281d357",
            "4af85369d7b44ba292f68ba7feed9164",
            "a9f0a8129fed41438153822e5509e2c8",
            "5c5bc03060314242804dae6f5b0a5417",
            "5251eaf482364ee7b7e77bce9a020c78",
            "1462c97387304c00bc404498717530eb",
            "b727aa2aaf6b464fb099c2be7c735c9b",
            "578e04bc1f0743dc9110bddfae793869",
            "fb645a1e442f4ea890da787a4b61831f",
            "18d190f48f3f45f697e7b66d2cc05a63",
            "7ee4919967b245b3b0b1ebd29bc8a486",
            "399051083ee848f4af55afa282f03593",
            "a100336b2bea4abeb607444423f0df6f",
            "bddb30356e744b4f8f13edcc86b4fc9c",
            "25b0ac2021554e19a920524dab7f85e2",
            "a83b99f2fdff42beaef38c0a8290a7ab",
            "fd3536a6e60d4b2a9018301c2b76982f",
            "a707ec3127694641b362fa33fd71e195",
            "896d734dc76a442f9932d4a62f681183",
            "e31b7ef7dfff485098ba4d93efd64b0c",
            "66d4e21ee1604d0ca56c512326bd4cee",
            "ed0b28bf2fa54c94b35c102cc68b5889",
            "5356dd49d62f44b0a41d2d1752dbf20e",
            "3f6dd7e4ed1840e0a8afe8aeab4aaaec",
            "1c46d1eb67b4482c96329aecd3a9d69d"
          ]
        },
        "id": "Z2ttwMs2wdYt",
        "outputId": "55e2e7c8-6735-491c-a33e-8342602beb32"
      },
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "config.json:   0%|          | 0.00/857 [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "8aefc0da42d94b9799bb9b0c331e37a6"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "tokenizer_config.json: 0.00B [00:00, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "12c14cd992fe491d965121c1ed09c5b9"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "tokenizer.json:   0%|          | 0.00/17.5M [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "d40be0519a414f24ada936ce4b8083fc"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "special_tokens_map.json:   0%|          | 0.00/636 [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "a3f1c86f171145f2a6c7473b9c415848"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "model.safetensors.index.json: 0.00B [00:00, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "8828c9790f6945868cdccb481d163505"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Downloading (incomplete total...): 0.00B [00:00, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "4aadd272791f4b6fa7e01aafe5dc248e"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "563050200bce440cbc2d4db427fdb6c6"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Loading weights:   0%|          | 0/464 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "5c5bc03060314242804dae6f5b0a5417"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "generation_config.json:   0%|          | 0.00/173 [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "25b0ac2021554e19a920524dab7f85e2"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Gemma model loaded\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"Explain what a transformer model is in simple terms.\"\n",
        "\n",
        "inputs = tokenizer_gemma(prompt, return_tensors=\"pt\").to(model_gemma.device)\n",
        "\n",
        "output = model_gemma.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=150\n",
        ")\n",
        "\n",
        "print(tokenizer_gemma.decode(output[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "SMRJvYBbxCVV",
        "outputId": "c4511642-7fbc-4d2c-e4ff-993619cb249f"
      },
      "execution_count": 33,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Explain what a transformer model is in simple terms.\n",
            "\n",
            "Imagine you have a big box of LEGO bricks, and you want to build something amazing. But you don't know how to connect the bricks together.\n",
            "\n",
            "A transformer model is like a set of instructions that helps you build with LEGOs. It learns from looking at lots of different LEGO creations and figures out the best way to connect the bricks to make something new.\n",
            "\n",
            "Here's how it works:\n",
            "\n",
            "* **Input:** You give the transformer model a set of LEGO bricks (words or numbers).\n",
            "* **Processing:** The model uses its \"instructions\" (a complex mathematical system) to analyze the relationships between the bricks. It figures out which bricks go together and how they should be connected.\n",
            "* **Output:** The model\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "hLwG7q6txCLZ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 5) Experiment A — Zero-shot classification (ZSL) by prompting"
      ],
      "metadata": {
        "id": "F1gmwAJIqyx3"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# the label set (must match exactly what we allow the model to output)\n",
        "labels = [\"Hope\", \"Hopelessness\", \"None\"]\n",
        "\n",
        "# the input text we want to classify\n",
        "text = \"Nothing will ever get better. I feel like giving up.\"\n",
        "\n",
        "# a strict zero-shot prompt:\n",
        "# - tells the model the allowed labels\n",
        "# - tells it to return ONLY one label\n",
        "# - gives the text\n",
        "prompt = f\"\"\"\n",
        "You are a precise text classification system.\n",
        "\n",
        "Task: classify the text into exactly ONE label from:\n",
        "{labels}\n",
        "\n",
        "Rules:\n",
        "- Return ONLY the label string.\n",
        "- Do not explain.\n",
        "- Do not add punctuation.\n",
        "\n",
        "Text:\n",
        "{text}\n",
        "\n",
        "Label:\n",
        "\"\"\".strip()\n",
        "\n",
        "# show the prompt so students see what is sent to the model\n",
        "print(prompt)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "W60_GXuPqtcT",
        "outputId": "2aee2553-139c-45fd-dd19-9600a2d1bb5a"
      },
      "execution_count": 34,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "You are a precise text classification system.\n",
            "\n",
            "Task: classify the text into exactly ONE label from:\n",
            "['Hope', 'Hopelessness', 'None']\n",
            "\n",
            "Rules:\n",
            "- Return ONLY the label string.\n",
            "- Do not explain.\n",
            "- Do not add punctuation.\n",
            "\n",
            "Text:\n",
            "Nothing will ever get better. I feel like giving up.\n",
            "\n",
            "Label:\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "| Setting           | Behavior               | Use Case                   |\n",
        "| ----------------- | ---------------------- | -------------------------- |\n",
        "| `do_sample=False` | deterministic (argmax) | evaluation, classification |\n",
        "| `do_sample=True`  | probabilistic sampling | creative text generation   |\n"
      ],
      "metadata": {
        "id": "5BjOzXzdzMAp"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#Run zero-shot classification with Qwen/Qwen2-7B-Instruct\n",
        "\n",
        "# tokenize the prompt (text -> tokens)\n",
        "inputs = tokenizer_qwen(prompt, return_tensors=\"pt\")\n",
        "\n",
        "# move inputs to the same device as the model (GPU/CPU)\n",
        "inputs = inputs.to(model_qwen.device)\n",
        "\n",
        "# generate a short output (we only need a label)\n",
        "output = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=6,     # small because output should be one word\n",
        "    do_sample=False       # deterministic decoding (good for evaluation)\n",
        ")\n",
        "\n",
        "# decode tokens back to text\n",
        "decoded = tokenizer_qwen.decode(output[0], skip_special_tokens=True)\n",
        "\n",
        "# extract the part after \"Label:\" (simple parsing)\n",
        "prediction_qwen = decoded.split(\"Label:\")[-1].strip().splitlines()[0].strip()\n",
        "\n",
        "print(\"Qwen prediction:\", prediction_qwen)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "gZAWBub_xzmL",
        "outputId": "6a6b15f1-071a-4786-8a7b-ce2adc4d0e09"
      },
      "execution_count": 36,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "The following generation flags are not valid and may be ignored: ['temperature', 'top_p', 'top_k']. Set `TRANSFORMERS_VERBOSITY=info` for more details.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Qwen prediction: Hopelessness\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Run zero-shot classification with mistralai/Mistral-Nemo-Instruct-2407\n",
        "inputs = tokenizer_mistral(prompt, return_tensors=\"pt\")\n",
        "inputs = inputs.to(model_mistral.device)\n",
        "\n",
        "output = model_mistral.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=6,\n",
        "    do_sample=False\n",
        ")\n",
        "\n",
        "decoded = tokenizer_mistral.decode(output[0], skip_special_tokens=True)\n",
        "prediction_mistral = decoded.split(\"Label:\")[-1].strip().splitlines()[0].strip()\n",
        "\n",
        "print(\"Mistral-Nemo prediction:\", prediction_mistral)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "hdf-YrBSxziL",
        "outputId": "d5f1b361-4c10-4c13-8c5b-d4b5e3de8d13"
      },
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mistral-Nemo prediction: Hopelessness\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#Run zero-shot classification with google/gemma-2-9b-it\n",
        "inputs = tokenizer_gemma(prompt, return_tensors=\"pt\")\n",
        "inputs = inputs.to(model_gemma.device)\n",
        "\n",
        "output = model_gemma.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=6,\n",
        "    do_sample=False\n",
        ")\n",
        "\n",
        "decoded = tokenizer_gemma.decode(output[0], skip_special_tokens=True)\n",
        "prediction_gemma = decoded.split(\"Label:\")[-1].strip().splitlines()[0].strip()\n",
        "\n",
        "print(\"Gemma prediction:\", prediction_gemma)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "akdUBmbXypwd",
        "outputId": "6fa4e641-2cbe-40b5-a098-e86f74b62ebd"
      },
      "execution_count": 40,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Gemma prediction: Hopelessness\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 6) Experiment B — Few-shot learning (FSL)"
      ],
      "metadata": {
        "id": "KZVjtihY1SIR"
      }
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "UCGqT9Aq1T4_"
      },
      "execution_count": 60,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "ZMgDm0do1xDw"
      },
      "execution_count": 61,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "labels = [\"Hope\", \"Hopelessness\", \"None\"]\n",
        "\n",
        "content = f\"\"\"\n",
        "You are a text classifier.\n",
        "\n",
        "Allowed labels: {labels}\n",
        "Return ONLY one label. No explanation, no punctuation.\n",
        "\n",
        "Examples:\n",
        "Text: I can't wait for tomorrow. I believe things will improve.\n",
        "Label: Hope\n",
        "\n",
        "Text: Nothing will ever get better. I feel like giving up.\n",
        "Label: Hopelessness\n",
        "\n",
        "Text: I went to the grocery store and bought milk.\n",
        "Label: None\n",
        "\n",
        "Now classify:\n",
        "Text: I hope I pass my exam next week.\n",
        "Label:\n",
        "\"\"\".strip()"
      ],
      "metadata": {
        "id": "LemqfSpn1Ti0"
      },
      "execution_count": 71,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "prompt_qwen = f\"\"\"System: You follow instructions exactly.\n",
        "User: {content}\n",
        "Assistant:\"\"\"\n",
        "\n",
        "\n",
        "inputs = tokenizer_qwen(prompt_qwen, return_tensors=\"pt\").to(model_qwen.device)\n",
        "\n",
        "out = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=10,\n",
        "    do_sample=False,\n",
        "    pad_token_id=tokenizer_qwen.eos_token_id\n",
        ")\n",
        "\n",
        "decoded = tokenizer_qwen.decode(out[0], skip_special_tokens=True)\n",
        "print(decoded[len(prompt_qwen):].strip())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "BZXoLvkZ4F4L",
        "outputId": "42150c05-a754-42eb-87c1-7fdc958babfa"
      },
      "execution_count": 74,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Hope\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "l0w0oqDa4Fud"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Prompt Sensitivity Experiment\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "wIQ9GpoH5HCv"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def run_models(models, prompt, max_tokens=150):\n",
        "\n",
        "    \"\"\"\n",
        "    models: dictionary where\n",
        "        key   = model name (string)\n",
        "        value = tuple (tokenizer, model)\n",
        "\n",
        "    prompt: text prompt we want to send to all models\n",
        "\n",
        "    max_tokens: maximum number of tokens the model can generate\n",
        "    \"\"\"\n",
        "\n",
        "    # iterate through each model in the dictionary\n",
        "    for name, (tokenizer, model) in models.items():\n",
        "\n",
        "        print(\"\\n==============================\")\n",
        "        print(\"MODEL:\", name)\n",
        "        print(\"==============================\")\n",
        "\n",
        "        # convert the text prompt into tokens\n",
        "        inputs = tokenizer(prompt, return_tensors=\"pt\")\n",
        "\n",
        "        # move tokens to the same device as the model (GPU or CPU)\n",
        "        inputs = inputs.to(model.device)\n",
        "\n",
        "        # generate output text\n",
        "        output = model.generate(\n",
        "\n",
        "            **inputs,\n",
        "\n",
        "            # maximum number of tokens to generate\n",
        "            max_new_tokens=max_tokens,\n",
        "\n",
        "            # deterministic decoding (no randomness)\n",
        "            do_sample=False\n",
        "        )\n",
        "\n",
        "        # convert tokens back to human-readable text\n",
        "        decoded = tokenizer.decode(output[0], skip_special_tokens=True)\n",
        "\n",
        "        # print the result\n",
        "        print(decoded)"
      ],
      "metadata": {
        "id": "M59a5XM14FlW"
      },
      "execution_count": 99,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "\n",
        "models = {\n",
        "\n",
        "    \"Qwen\": (tokenizer_qwen, model_qwen),\n",
        "\n",
        "    \"Mistral Nemo\": (tokenizer_mistral, model_mistral),\n",
        "\n",
        "    \"Gemma\": (tokenizer_gemma, model_gemma)\n",
        "\n",
        "}"
      ],
      "metadata": {
        "id": "i2zAyjhCxzfL"
      },
      "execution_count": 100,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"\"\"\n",
        "Summarize the following text in one short sentences.\n",
        "\n",
        "Text:\n",
        "Large language models are neural networks trained on massive text corpora.\n",
        "They learn statistical patterns in language and can generate coherent text,\n",
        "answer questions, translate languages, and assist in many NLP tasks.\n",
        "\"\"\"\n",
        "\n",
        "\n",
        "\n",
        "run_models(models, prompt, max_tokens=10)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZNy2CGhCxzcb",
        "outputId": "8cbc99ff-dcac-4d26-f939-7cb198299bd1"
      },
      "execution_count": 101,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "==============================\n",
            "MODEL: Qwen\n",
            "==============================\n",
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "However, they may lack common sense or fail to\n",
            "\n",
            "==============================\n",
            "MODEL: Mistral Nemo\n",
            "==============================\n",
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "However, they can also produce factually incorrect or\n",
            "\n",
            "==============================\n",
            "MODEL: Gemma\n",
            "==============================\n",
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "\n",
            "\n",
            "\n",
            "Large language models are powerful AI systems\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"\"\"\n",
        "Summarize the following text in one short sentences.\n",
        "\n",
        "Text:\n",
        "Large language models are neural networks trained on massive text corpora.\n",
        "They learn statistical patterns in language and can generate coherent text,\n",
        "answer questions, translate languages, and assist in many NLP tasks.\n",
        "\n",
        "Summary:\n",
        "\"\"\"\n",
        "\n",
        "\n",
        "models = {\n",
        "\n",
        "    \"Qwen\": (tokenizer_qwen, model_qwen),\n",
        "\n",
        "    \"Mistral Nemo\": (tokenizer_mistral, model_mistral),\n",
        "\n",
        "    \"Gemma\": (tokenizer_gemma, model_gemma)\n",
        "\n",
        "}\n",
        "\n",
        "run_models(models, prompt)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_AtQJkthxzZi",
        "outputId": "2c2baf22-18fc-43dc-8f3a-c1e46edacbac"
      },
      "execution_count": 103,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "==============================\n",
            "MODEL: Qwen\n",
            "==============================\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "\n",
            "Summary:\n",
            "Large language models are neural networks trained on extensive text data that learn language patterns to generate coherent text, answer questions, translate languages, and support various natural language processing tasks.\n",
            "\n",
            "==============================\n",
            "MODEL: Mistral Nemo\n",
            "==============================\n",
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "\n",
            "Summary:\n",
            "Large language models are neural networks trained on vast text data to perform various NLP tasks.\n",
            "\n",
            "==============================\n",
            "MODEL: Gemma\n",
            "==============================\n",
            "\n",
            "Summarize the following text in one short sentences.\n",
            "\n",
            "Text:\n",
            "Large language models are neural networks trained on massive text corpora.\n",
            "They learn statistical patterns in language and can generate coherent text,\n",
            "answer questions, translate languages, and assist in many NLP tasks.\n",
            "\n",
            "Summary:\n",
            "Large language models are powerful AI systems trained on text data to perform various language-related tasks. \n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"\"\"\n",
        "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me ONLY final answer.\n",
        "\"\"\"\n",
        "\n",
        "\n",
        "models = {\n",
        "\n",
        "    \"Qwen\": (tokenizer_qwen, model_qwen),\n",
        "\n",
        "    \"Mistral Nemo\": (tokenizer_mistral, model_mistral),\n",
        "\n",
        "    \"Gemma\": (tokenizer_gemma, model_gemma)\n",
        "\n",
        "}\n",
        "\n",
        "run_models(models, prompt)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "HS0ZntMvxzWQ",
        "outputId": "29470232-4b71-485e-c3f3-b0e6f36fe346"
      },
      "execution_count": 104,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "==============================\n",
            "MODEL: Qwen\n",
            "==============================\n",
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me ONLY final answer.\n",
            "assistant: 120 km/h\n",
            "\n",
            "==============================\n",
            "MODEL: Mistral Nemo\n",
            "==============================\n",
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me ONLY final answer.\n",
            "10\n",
            "\n",
            "==============================\n",
            "MODEL: Gemma\n",
            "==============================\n",
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me ONLY final answer.\n",
            " \n",
            " 120\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"\"\"\n",
        "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me answer step by step.\n",
        "\"\"\"\n",
        "\n",
        "\n",
        "models = {\n",
        "\n",
        "    \"Qwen\": (tokenizer_qwen, model_qwen),\n",
        "\n",
        "    \"Mistral Nemo\": (tokenizer_mistral, model_mistral),\n",
        "\n",
        "    \"Gemma\": (tokenizer_gemma, model_gemma)\n",
        "\n",
        "}\n",
        "\n",
        "run_models(models, prompt)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "kz8LPGBsxzTJ",
        "outputId": "27eb98d3-df41-40ea-f7f1-1ec427525975"
      },
      "execution_count": 105,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "==============================\n",
            "MODEL: Qwen\n",
            "==============================\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me answer step by step.\n",
            "Answer: The train's speed is 120 km/h.\n",
            "\n",
            "Step-by-step explanation:\n",
            "\n",
            "1. **Convert time to hours**: Since the speed needs to be in km/h (kilometers per hour), we need to convert the time from minutes to hours. There are 60 minutes in an hour, so 30 minutes is equal to \\( \\frac{30}{60} = 0.5 \\) hours.\n",
            "\n",
            "2. **Calculate speed**: Speed is calculated using the formula:\n",
            "\\[ \\text{Speed} = \\frac{\\text{Distance}}{\\text{Time}} \\]\n",
            "\n",
            "Given that the distance is 60 km and the time is 0.5 hours, we can substitute these values into the\n",
            "\n",
            "==============================\n",
            "MODEL: Mistral Nemo\n",
            "==============================\n",
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me answer step by step.\n",
            "To find the speed of the train, we need to divide the distance traveled by the time taken. Let's do this step by step:\n",
            "\n",
            "1. First, convert the time from minutes to hours:\n",
            "   Time = 30 minutes\n",
            "   To convert minutes to hours, divide by 60 (since there are 60 minutes in an hour):\n",
            "   Time in hours = 30 minutes ÷ 60 = 0.5 hours\n",
            "\n",
            "2. Now, we can calculate the speed using the formula:\n",
            "   Speed = Distance ÷ Time\n",
            "   Speed = 60 km ÷ 0.5 hours\n",
            "\n",
            "3. Perform the division to find the speed:\n",
            "   Speed = 120 km/h\n",
            "\n",
            "So\n",
            "\n",
            "==============================\n",
            "MODEL: Gemma\n",
            "==============================\n",
            "\n",
            "If a train travels 60 km in 30 minutes, what is its speed in km/h? give me answer step by step.\n",
            "Here's how to calculate the speed:\n",
            "\n",
            "**1. Convert minutes to hours:**\n",
            "\n",
            "* There are 60 minutes in 1 hour.\n",
            "* So, 30 minutes is equal to 30/60 = 0.5 hours.\n",
            "\n",
            "**2. Calculate speed:**\n",
            "\n",
            "* Speed is calculated by dividing distance by time.\n",
            "* Speed = Distance / Time\n",
            "* Speed = 60 km / 0.5 hours\n",
            "* Speed = 120 km/h\n",
            "\n",
            "\n",
            "**Therefore, the speed of the train is 120 km/h.**\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "nCSJ2n7XxzPf"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "v4_iT2vOxzLC"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Experiment — Schema-constrained output (JSON) + validation"
      ],
      "metadata": {
        "id": "wLDg5xMkrUgw"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "!pip install -q pydantic"
      ],
      "metadata": {
        "id": "Hr7_vrI4rR15"
      },
      "execution_count": 106,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import json\n",
        "import re\n",
        "from pydantic import BaseModel, ValidationError\n",
        "from typing import Literal"
      ],
      "metadata": {
        "id": "huZAvtXyrqXk"
      },
      "execution_count": 107,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 1) Define the JSON schema (once)"
      ],
      "metadata": {
        "id": "_GbpZHfU7Uvw"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "class OutputSchema(BaseModel):\n",
        "    # primary label must be exactly one of these values\n",
        "    label: Literal[\"Hope\", \"Hopelessness\", \"None\"]\n",
        "\n",
        "    # exact supporting span copied from the original text (can be empty for None)\n",
        "    evidence_span: str\n",
        "\n",
        "    # short technical explanation (1–2 sentences)\n",
        "    rationale: str"
      ],
      "metadata": {
        "id": "u0lzqnMI7Cjz"
      },
      "execution_count": 108,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 2) Create the schema prompt (once)"
      ],
      "metadata": {
        "id": "3lAuT-7Z7af6"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "text = \"I really hope I can finish my thesis this semester, but I feel overwhelmed sometimes.\"\n",
        "\n",
        "schema_prompt_content = f\"\"\"\n",
        "Return ONLY a valid JSON object (no markdown, no extra text) with exactly these keys:\n",
        "- label: one of [\"Hope\",\"Hopelessness\",\"None\"]\n",
        "- evidence_span: copy the exact phrase from the text that supports the label (or \"\" if label is None)\n",
        "- rationale: 1-2 technical sentences explaining the decision\n",
        "\n",
        "Text:\n",
        "{text}\n",
        "\n",
        "JSON:\n",
        "\"\"\".strip()\n",
        "\n",
        "print(schema_prompt_content)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "MkK-ZFCm7Jzr",
        "outputId": "53bd4e13-2a25-4440-ea3b-a41e6bacc26a"
      },
      "execution_count": 109,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Return ONLY a valid JSON object (no markdown, no extra text) with exactly these keys:\n",
            "- label: one of [\"Hope\",\"Hopelessness\",\"None\"]\n",
            "- evidence_span: copy the exact phrase from the text that supports the label (or \"\" if label is None)\n",
            "- rationale: 1-2 technical sentences explaining the decision\n",
            "\n",
            "Text:\n",
            "I really hope I can finish my thesis this semester, but I feel overwhelmed sometimes.\n",
            "\n",
            "JSON:\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "### 3) Qwen: generate JSON + validate\n",
        "#### 3.1 Wrap prompt as plain string (Qwen-friendly)"
      ],
      "metadata": {
        "id": "bzdV27GF7hup"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "prompt_qwen = f\"\"\"System: You follow instructions exactly.\n",
        "User: {schema_prompt_content}\n",
        "Assistant:\"\"\"\n",
        "\n",
        "\n",
        "inputs = tokenizer_qwen(prompt_qwen, return_tensors=\"pt\").to(model_qwen.device)\n",
        "\n",
        "out = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=220,\n",
        "    do_sample=False,\n",
        "    pad_token_id=tokenizer_qwen.eos_token_id\n",
        ")\n",
        "\n",
        "decoded = tokenizer_qwen.decode(out[0], skip_special_tokens=True)\n",
        "\n",
        "# only the generated continuation (so prompt text doesn't confuse parsing)\n",
        "gen = decoded[len(prompt_qwen):].strip()\n",
        "print(gen)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Svm-45lV7OFS",
        "outputId": "79aa3bf3-868c-45d5-ab09-c2646740fc80"
      },
      "execution_count": 110,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{\"label\": \"Hope\", \"evidence_span\": \"I really hope I can finish my thesis this semester\", \"rationale\": \"The text expresses a positive sentiment and expectation about completing a task, indicating hope.\"}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "wEu-BTgL7ryk"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Deterministic vs Sampling (temperature)"
      ],
      "metadata": {
        "id": "y5Moo46wESOq"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"Write one paragraph explaining what overfitting is. one short sentence\"\n",
        "\n",
        "inputs = tokenizer_qwen(prompt, return_tensors=\"pt\").to(model_qwen.device)\n",
        "\n",
        "out = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=140,\n",
        "    do_sample=False,\n",
        "    temperature=0.1,       # lower = less randomness\n",
        "    pad_token_id=tokenizer_qwen.eos_token_id\n",
        ")\n",
        "\n",
        "print(tokenizer_qwen.decode(out[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "H4q3IahuAy1S",
        "outputId": "b263b6bc-d63c-4a9f-a8dd-8ebc132002dc"
      },
      "execution_count": 113,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Write one paragraph explaining what overfitting is. one short sentence: Overfitting occurs when a statistical model or machine learning algorithm captures the noise of the data in addition to the underlying pattern, resulting in poor generalization to new, unseen data. This typically happens when a model is overly complex or trained for too many iterations on a limited dataset, leading it to fit the training data too closely, including its random fluctuations and outliers, rather than learning the true relationship between the input features and the target variable. As a result, the model performs exceptionally well on the training data but fails to accurately predict outcomes on new data, thus reducing its predictive power and reliability. To mitigate overfitting, techniques such as cross-validation, regularization, early stopping, and increasing the\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"Write one paragraph explaining what overfitting is. one short sentence\"\n",
        "\n",
        "inputs = tokenizer_qwen(prompt, return_tensors=\"pt\").to(model_qwen.device)\n",
        "\n",
        "out = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=140,\n",
        "    do_sample=True,\n",
        "    temperature=0.5,       # lower = less randomness\n",
        "    pad_token_id=tokenizer_qwen.eos_token_id\n",
        ")\n",
        "\n",
        "print(tokenizer_qwen.decode(out[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ebA25DZuECDL",
        "outputId": "eb4bcb3a-a88e-4030-fc59-2bd42a839269"
      },
      "execution_count": 116,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Write one paragraph explaining what overfitting is. one short sentence that explains overfitting is when a statistical model or machine learning algorithm captures the noise of the data in addition to the underlying pattern, resulting in poor generalization to new, unseen data. This occurs when the model becomes too complex and learns the specific details and random fluctuations in the training data, rather than identifying the broader relationships that hold true for the entire population. As a result, while the model may perform exceptionally well on the dataset it was trained on, its predictive power significantly diminishes when applied to new data, leading to inaccurate predictions and decisions. To mitigate overfitting, techniques such as cross-validation, regularization, and increasing the size of the training dataset are commonly employed to ensure the model\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "prompt = \"Write one paragraph explaining what overfitting is. one short sentence\"\n",
        "\n",
        "inputs = tokenizer_qwen(prompt, return_tensors=\"pt\").to(model_qwen.device)\n",
        "\n",
        "out = model_qwen.generate(\n",
        "    **inputs,\n",
        "    max_new_tokens=140,\n",
        "    do_sample=True,        # turn on sampling\n",
        "    temperature=0.8,       # higher = more randomness\n",
        "\n",
        "    pad_token_id=tokenizer_qwen.eos_token_id\n",
        ")\n",
        "\n",
        "print(tokenizer_qwen.decode(out[0], skip_special_tokens=True))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "DYN8TtkXA0Af",
        "outputId": "f978889a-b4dc-433f-f2a4-038b89aa9e16"
      },
      "execution_count": 114,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Write one paragraph explaining what overfitting is. one short sentence explaining why it is a problem.\n",
            "\n",
            "Overfitting occurs when a machine learning model learns the training data too well, to the point where it starts to capture the noise and outliers in the data rather than the underlying pattern. This results in a model that performs exceptionally well on the training data but poorly on new, unseen data, making it unreliable for making accurate predictions or decisions. It's a problem because the ultimate goal of machine learning is to generalize well to new data, and an overfitted model fails to achieve this objective.\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "KCJFZsxkBr4G"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "p0oxSDcyE-A8"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}