{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.12"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceType":"competition","sourceId":121150,"databundleVersionId":15833391}],"dockerImageVersionId":31236,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true},"papermill":{"default_parameters":{},"duration":3870.55189,"end_time":"2025-12-18T07:43:25.319371","environment_variables":{},"exception":null,"input_path":"__notebook__.ipynb","output_path":"__notebook__.ipynb","parameters":{},"start_time":"2025-12-18T06:38:54.767481","version":"2.6.0"},"widgets":{"application/vnd.jupyter.widget-state+json":{"state":{"06ddd6effe974605b76c7b810df08d2e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"07b49898304c40f68323c0f21a8b6d99":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"0896b8040e0549298457ec167a5633d8":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"09cbd0f7d8d34922b2528aa1d24869e0":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"09d77c856e434a56a882eaaa4be04298":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"0c942d27f585479bac20e036f6285697":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_324db65fd54446a9a9381ae079c647db","IPY_MODEL_d42448bfd9854b6382c50a4cb2abe816","IPY_MODEL_8d62ac9efef241bfbb81f497a45021b2"],"layout":"IPY_MODEL_a491bd513d7046d1b37307cf685fd3e6","tabbable":null,"tooltip":null}},"0f095d5dcd084700bd1c867f68e12b46":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"12e3da456b96492f9861efed20d44343":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"13c49b7127a648e2b21eaba05f105541":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"1ac9ca29a1974fd3af6286d4e3ca3446":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"1c6d315bd0b2420abf0bc14162873c72":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_30b7c1f663ed4038bc37a3d4fdb84af5","placeholder":"​","style":"IPY_MODEL_6da31c02025c439db703aa66a5124ea5","tabbable":null,"tooltip":null,"value":"config.json: 100%"}},"20250f77239c4a7fbea7d5580d544e49":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_68bfe4dbe24f4a0c8daae66420a10ec7","max":1,"min":0,"orientation":"horizontal","style":"IPY_MODEL_5f3775a58b9c4e529dc42788c2885634","tabbable":null,"tooltip":null,"value":1}},"25342f8769cf46cb9ed277a011d5e0f7":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_9e1d810da8ae4e7ea68dad629537468e","placeholder":"​","style":"IPY_MODEL_509b1c1679e348abae8c6fd05eca3e36","tabbable":null,"tooltip":null,"value":"tokenizer_config.json: "}},"26c5e2f1a5e24de7816930d6da1f8032":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"26f767aaaf324144bfce458fc45c9553":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_3a40f28a05a44d54bd66d0f639404734","max":1198627927,"min":0,"orientation":"horizontal","style":"IPY_MODEL_59870ca3bbcb459c97f643f8625b6532","tabbable":null,"tooltip":null,"value":1198627927}},"286c3ea3a77242b1ac01ecd9208eb1de":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_0f095d5dcd084700bd1c867f68e12b46","max":157,"min":0,"orientation":"horizontal","style":"IPY_MODEL_f6fd195c38124e608263530277f487e6","tabbable":null,"tooltip":null,"value":157}},"2872e78738ef4e9ea0eee0a67246000f":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"2ab938eb6f1d46b18993d59e00c6ac58":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_1c6d315bd0b2420abf0bc14162873c72","IPY_MODEL_4810edc81b9d4101a57a82baf4510efe","IPY_MODEL_af7eaf016992474eb544cdb670c033d3"],"layout":"IPY_MODEL_923b1190aeb94c68938e6ba2920384f9","tabbable":null,"tooltip":null}},"30b7c1f663ed4038bc37a3d4fdb84af5":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"324db65fd54446a9a9381ae079c647db":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_fe7e7a36737f43e985c786d0f30c44ac","placeholder":"​","style":"IPY_MODEL_824fd4787e5d4573b1ff373a14c34711","tabbable":null,"tooltip":null,"value":"Downloading builder script: "}},"32bef6e6618140ccb420e9596db02fe3":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_a16bcedcdade46369eb5aa5a856687bb","IPY_MODEL_286c3ea3a77242b1ac01ecd9208eb1de","IPY_MODEL_bd0ea3aa939149a88392c7e37401ab52"],"layout":"IPY_MODEL_615100c932bf4b02bc8f1f53b156a655","tabbable":null,"tooltip":null}},"35d2b02f912b4a0f8913cdef016cfaf0":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_add2c24748794c2897c6ec204ef0a566","max":1198571496,"min":0,"orientation":"horizontal","style":"IPY_MODEL_8fa03fc8e07e4f2595c00b67750e19ce","tabbable":null,"tooltip":null,"value":1198571496}},"37aa5033e9354176b421e502efa6a577":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"3947c6d427024a8a92cacd1f5c13d1e2":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":"20px"}},"3a40f28a05a44d54bd66d0f639404734":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"3b25439ab38745a085543f847be2c02f":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"3c27271501254da0b395d86448b3f2fe":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_25342f8769cf46cb9ed277a011d5e0f7","IPY_MODEL_20250f77239c4a7fbea7d5580d544e49","IPY_MODEL_8555e4650755493489739392fd4271cc"],"layout":"IPY_MODEL_7b096b05d9464860bf25eaf0b2239bac","tabbable":null,"tooltip":null}},"3cb9bee24de84d5baad41a882187bc70":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_589b5837299f49b5b4e3370d43579708","max":147,"min":0,"orientation":"horizontal","style":"IPY_MODEL_09cbd0f7d8d34922b2528aa1d24869e0","tabbable":null,"tooltip":null,"value":147}},"41ed6a46d6a6449c88b6b2b1b420709e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"45217d7355b047dca8abb66ba183a82a":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"4810edc81b9d4101a57a82baf4510efe":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_07b49898304c40f68323c0f21a8b6d99","max":698,"min":0,"orientation":"horizontal","style":"IPY_MODEL_26c5e2f1a5e24de7816930d6da1f8032","tabbable":null,"tooltip":null,"value":698}},"4d5511a2c1314afc8233da111770b949":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"4f572e2635cc43cba8af8c21a8085856":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"509b1c1679e348abae8c6fd05eca3e36":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"5499bdfe082a4e0d9c6e7f6bf6d20a8e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"556abed07b32442ebf02a9ead8b598d5":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"589b5837299f49b5b4e3370d43579708":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"59870ca3bbcb459c97f643f8625b6532":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"5be30bcd54d44debb7da71fe85c39c72":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_4d5511a2c1314afc8233da111770b949","max":1404,"min":0,"orientation":"horizontal","style":"IPY_MODEL_12e3da456b96492f9861efed20d44343","tabbable":null,"tooltip":null,"value":1404}},"5c0a3a06906043d89d889595d06d07ec":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"5f3775a58b9c4e529dc42788c2885634":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"615100c932bf4b02bc8f1f53b156a655":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"638ac321ffb4469dba780f7c31eb24b5":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_1ac9ca29a1974fd3af6286d4e3ca3446","placeholder":"​","style":"IPY_MODEL_e3819cd5db61473d806b9ecb5de6f022","tabbable":null,"tooltip":null,"value":" 147/147 [00:00&lt;00:00, 16.5kB/s]"}},"68bfe4dbe24f4a0c8daae66420a10ec7":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":"20px"}},"6da31c02025c439db703aa66a5124ea5":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"6f1aa91792c7470aae853194fcd61202":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"6f256a1fbc1a496bb7be2d7c71666aee":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"7135a156e5b84befa1da250b20cc2c28":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"73e1d208bb61463eba6453742c911e9c":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"7691c6dcde104421ba9a4d2b8c7e3862":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":"20px"}},"7b096b05d9464860bf25eaf0b2239bac":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"7e71dde019724aad820333749d1a33f7":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_7ee170d22ddd498f968c16287eeaad9a","placeholder":"​","style":"IPY_MODEL_f481aafcb5564665beb68899ebf0cae4","tabbable":null,"tooltip":null,"value":"special_tokens_map.json: "}},"7ee170d22ddd498f968c16287eeaad9a":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"824fd4787e5d4573b1ff373a14c34711":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"84036252ec294b2f94e5de18f2643b05":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"8412c644449540fead9b6c371978861e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"8555e4650755493489739392fd4271cc":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_ffcb3cbe7a3d41d5b87e1891d4c296ce","placeholder":"​","style":"IPY_MODEL_09d77c856e434a56a882eaaa4be04298","tabbable":null,"tooltip":null,"value":" 2.59k/? [00:00&lt;00:00, 286kB/s]"}},"86ab377d471147ceb2e03ad21e757b29":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"8d62ac9efef241bfbb81f497a45021b2":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_d4b80402090f4066971ed520c5fba30e","placeholder":"​","style":"IPY_MODEL_ef5f1da80da74c4b925128f346100a0c","tabbable":null,"tooltip":null,"value":" 9.01k/? [00:00&lt;00:00, 410kB/s]"}},"8fa03fc8e07e4f2595c00b67750e19ce":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"923b1190aeb94c68938e6ba2920384f9":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"9e1d810da8ae4e7ea68dad629537468e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"a0dcb37bbf2d4c828693ae28d866ae36":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"a16bcedcdade46369eb5aa5a856687bb":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_556abed07b32442ebf02a9ead8b598d5","placeholder":"​","style":"IPY_MODEL_c27412ca371141659db444657e017c49","tabbable":null,"tooltip":null,"value":"Map: 100%"}},"a2e87ae185714291a4e0ef7fee248a31":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_5499bdfe082a4e0d9c6e7f6bf6d20a8e","placeholder":"​","style":"IPY_MODEL_37aa5033e9354176b421e502efa6a577","tabbable":null,"tooltip":null,"value":" 2.50k/? [00:00&lt;00:00, 289kB/s]"}},"a491bd513d7046d1b37307cf685fd3e6":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"a555281edc464e2bb075847d17a0623f":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_c0e27ed47648484b9b60f11a51a77006","IPY_MODEL_5be30bcd54d44debb7da71fe85c39c72","IPY_MODEL_b0967cb6478b490288580dd1efcb772c"],"layout":"IPY_MODEL_2872e78738ef4e9ea0eee0a67246000f","tabbable":null,"tooltip":null}},"a6168ccee2ce40aea6130bcc71e65d78":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_8412c644449540fead9b6c371978861e","placeholder":"​","style":"IPY_MODEL_45217d7355b047dca8abb66ba183a82a","tabbable":null,"tooltip":null,"value":"model.safetensors: 100%"}},"ab2cf09d296d49ae8ee647e84faa895b":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_ca005e4db64b41769640d3e1752c3b94","placeholder":"​","style":"IPY_MODEL_5c0a3a06906043d89d889595d06d07ec","tabbable":null,"tooltip":null,"value":" 1.20G/1.20G [00:05&lt;00:00, 498MB/s]"}},"add2c24748794c2897c6ec204ef0a566":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"af7eaf016992474eb544cdb670c033d3":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_b7c3cde7af0b488e980352259b61d9df","placeholder":"​","style":"IPY_MODEL_7135a156e5b84befa1da250b20cc2c28","tabbable":null,"tooltip":null,"value":" 698/698 [00:00&lt;00:00, 68.4kB/s]"}},"b0967cb6478b490288580dd1efcb772c":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_fece47288304484b88910c42563a7e71","placeholder":"​","style":"IPY_MODEL_3b25439ab38745a085543f847be2c02f","tabbable":null,"tooltip":null,"value":" 1404/1404 [00:01&lt;00:00, 1025.74 examples/s]"}},"b0a4271dacb547c199497b4ff568b642":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"b7c3cde7af0b488e980352259b61d9df":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"b8e5d01de8624c849fea9e2ebaf52190":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"bb86eefd25ce45c79325eee993a9cd7b":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"bd0ea3aa939149a88392c7e37401ab52":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_b8e5d01de8624c849fea9e2ebaf52190","placeholder":"​","style":"IPY_MODEL_0896b8040e0549298457ec167a5633d8","tabbable":null,"tooltip":null,"value":" 157/157 [00:00&lt;00:00, 864.77 examples/s]"}},"bd40005ec8704745b4769a10fc79871c":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_13c49b7127a648e2b21eaba05f105541","placeholder":"​","style":"IPY_MODEL_6f1aa91792c7470aae853194fcd61202","tabbable":null,"tooltip":null,"value":"pytorch_model.bin: 100%"}},"c0e27ed47648484b9b60f11a51a77006":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_86ab377d471147ceb2e03ad21e757b29","placeholder":"​","style":"IPY_MODEL_e948c3b338c944d7b0f097159327432d","tabbable":null,"tooltip":null,"value":"Map: 100%"}},"c27412ca371141659db444657e017c49":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"ca005e4db64b41769640d3e1752c3b94":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"cd65c4b3e3884114b241282b28d2024e":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_ec1f9e69a1224aa5a55e0d5533a76b60","placeholder":"​","style":"IPY_MODEL_84036252ec294b2f94e5de18f2643b05","tabbable":null,"tooltip":null,"value":" 1.20G/1.20G [00:05&lt;00:00, 838MB/s]"}},"d118d8e000ca4c4582fa8861ac72a545":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_a6168ccee2ce40aea6130bcc71e65d78","IPY_MODEL_35d2b02f912b4a0f8913cdef016cfaf0","IPY_MODEL_ab2cf09d296d49ae8ee647e84faa895b"],"layout":"IPY_MODEL_06ddd6effe974605b76c7b810df08d2e","tabbable":null,"tooltip":null}},"d42448bfd9854b6382c50a4cb2abe816":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_3947c6d427024a8a92cacd1f5c13d1e2","max":1,"min":0,"orientation":"horizontal","style":"IPY_MODEL_73e1d208bb61463eba6453742c911e9c","tabbable":null,"tooltip":null,"value":1}},"d4b80402090f4066971ed520c5fba30e":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"e0cecf7838ef4aa9b30e091a682d4806":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_fc50f759b1194f85bf79a2f13d679631","IPY_MODEL_3cb9bee24de84d5baad41a882187bc70","IPY_MODEL_638ac321ffb4469dba780f7c31eb24b5"],"layout":"IPY_MODEL_6f256a1fbc1a496bb7be2d7c71666aee","tabbable":null,"tooltip":null}},"e362d0f5ccc1418ba84c0c3e0d00acb8":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_7e71dde019724aad820333749d1a33f7","IPY_MODEL_f22c61966a484688a485f32c3d7839c6","IPY_MODEL_a2e87ae185714291a4e0ef7fee248a31"],"layout":"IPY_MODEL_41ed6a46d6a6449c88b6b2b1b420709e","tabbable":null,"tooltip":null}},"e3819cd5db61473d806b9ecb5de6f022":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"e5e1cf5487d2487ca531215d2762bb9d":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HBoxModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_bd40005ec8704745b4769a10fc79871c","IPY_MODEL_26f767aaaf324144bfce458fc45c9553","IPY_MODEL_cd65c4b3e3884114b241282b28d2024e"],"layout":"IPY_MODEL_bb86eefd25ce45c79325eee993a9cd7b","tabbable":null,"tooltip":null}},"e948c3b338c944d7b0f097159327432d":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"ec1f9e69a1224aa5a55e0d5533a76b60":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"ef5f1da80da74c4b925128f346100a0c":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"f22c61966a484688a485f32c3d7839c6":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"FloatProgressModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"ProgressView","bar_style":"success","description":"","description_allow_html":false,"layout":"IPY_MODEL_7691c6dcde104421ba9a4d2b8c7e3862","max":1,"min":0,"orientation":"horizontal","style":"IPY_MODEL_b0a4271dacb547c199497b4ff568b642","tabbable":null,"tooltip":null,"value":1}},"f481aafcb5564665beb68899ebf0cae4":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","background":null,"description_width":"","font_size":null,"text_color":null}},"f6fd195c38124e608263530277f487e6":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"ProgressStyleModel","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"fc50f759b1194f85bf79a2f13d679631":{"model_module":"@jupyter-widgets/controls","model_module_version":"2.0.0","model_name":"HTMLModel","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"2.0.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"2.0.0","_view_name":"HTMLView","description":"","description_allow_html":false,"layout":"IPY_MODEL_4f572e2635cc43cba8af8c21a8085856","placeholder":"​","style":"IPY_MODEL_a0dcb37bbf2d4c828693ae28d866ae36","tabbable":null,"tooltip":null,"value":"generation_config.json: 100%"}},"fe7e7a36737f43e985c786d0f30c44ac":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"fece47288304484b88910c42563a7e71":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"ffcb3cbe7a3d41d5b87e1891d4c296ce":{"model_module":"@jupyter-widgets/base","model_module_version":"2.0.0","model_name":"LayoutModel","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"2.0.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"2.0.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border_bottom":null,"border_left":null,"border_right":null,"border_top":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,"padding":null,"right":null,"top":null,"visibility":null,"width":null}}},"version_major":2,"version_minor":0}}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Deep Past Initiative – Machine Translation (Training Notebook)\n\nThis notebook is a **starter / baseline** for this Kaggle competition.\n\nMain ideas:\n- Use **ByT5** to handle noisy Akkadian transliterations at the character level\n- Perform **simple sentence alignment** to increase training data\n- Fine-tune using HuggingFace `Trainer`\n\n\nInference Code is [here](https://www.kaggle.com/code/takamichitoda/dpc-starter-infer).","metadata":{}},{"cell_type":"code","source":"!pip install evaluate sacrebleu","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","execution":{"iopub.status.busy":"2026-03-22T16:53:24.557254Z","iopub.execute_input":"2026-03-22T16:53:24.557573Z","iopub.status.idle":"2026-03-22T16:53:29.595883Z","shell.execute_reply.started":"2026-03-22T16:53:24.557537Z","shell.execute_reply":"2026-03-22T16:53:29.595142Z"},"papermill":{"duration":5.195469,"end_time":"2025-12-18T06:39:02.528153","exception":false,"start_time":"2025-12-18T06:38:57.332684","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\nimport gc\nimport re\nimport pandas as pd\nimport numpy as np\nimport torch\nimport random\nimport sacrebleu\nfrom sklearn.model_selection import train_test_split\nfrom datasets import Dataset\nfrom transformers import (\n    AutoTokenizer, \n    AutoModelForSeq2SeqLM, \n    DataCollatorForSeq2Seq, \n    Seq2SeqTrainingArguments, \n    Seq2SeqTrainer\n)\nfrom sentence_transformers import SentenceTransformer, util\nimport evaluate\nfrom transformers import EarlyStoppingCallback","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:53:29.597328Z","iopub.execute_input":"2026-03-22T16:53:29.597719Z","iopub.status.idle":"2026-03-22T16:53:59.828395Z","shell.execute_reply.started":"2026-03-22T16:53:29.597692Z","shell.execute_reply":"2026-03-22T16:53:59.827534Z"},"papermill":{"duration":32.26918,"end_time":"2025-12-18T06:39:34.800016","exception":false,"start_time":"2025-12-18T06:39:02.530836","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"class Config:\n    # Akkadian transliteration contains a lot of noise and many unknown words, so\n    # ByT5, which processes text at the character (byte) level rather than the word level, is the strongest choice.\n    MODEL_NAME = \"google/byt5-base\" # we changed the model type from the small to the base\n    \n    # ByT5 tends to produce longer token sequences, but 512 tokens is enough at the sentence level.\n    MAX_LENGTH = 512\n    \n    BATCH_SIZE = 1       # Adjust depending on GPU memory (on a P100 you can usually go with 8–16).\n    EPOCHS = 7\n    LEARNING_RATE = 2e-4\n    OUTPUT_DIR = \"./byt5-akkadian-model\"\n\nSKIP_OVERFIT = False","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:53:59.829432Z","iopub.execute_input":"2026-03-22T16:53:59.830295Z","iopub.status.idle":"2026-03-22T16:53:59.834778Z","shell.execute_reply.started":"2026-03-22T16:53:59.830239Z","shell.execute_reply":"2026-03-22T16:53:59.834066Z"},"papermill":{"duration":0.008757,"end_time":"2025-12-18T06:39:34.811471","exception":false,"start_time":"2025-12-18T06:39:34.802714","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Fix the seed (for reproducibility).\ndef seed_everything(seed=42):\n    torch.manual_seed(seed)\n    np.random.seed(seed)\n    torch.cuda.manual_seed(seed)\n    \nseed_everything()","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:53:59.836407Z","iopub.execute_input":"2026-03-22T16:53:59.836733Z","iopub.status.idle":"2026-03-22T16:53:59.854416Z","shell.execute_reply.started":"2026-03-22T16:53:59.836710Z","shell.execute_reply":"2026-03-22T16:53:59.853709Z"},"papermill":{"duration":0.011227,"end_time":"2025-12-18T06:39:34.825004","exception":false,"start_time":"2025-12-18T06:39:34.813777","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"INPUT_DIR = \"/kaggle/input/deep-past-initiative-machine-translation\"\ntrain_df = pd.read_csv(f\"{INPUT_DIR}/train.csv\")\ntest_df = pd.read_csv(f\"{INPUT_DIR}/test.csv\")\nprint(f\"Original Train Data: {len(train_df)} docs\")\npublished_df = pd.read_csv(f\"{INPUT_DIR}/published_texts.csv\")\nprint(f\"Published unlabeled data: {len(published_df)} rows\")","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:53:59.855333Z","iopub.execute_input":"2026-03-22T16:53:59.855744Z","iopub.status.idle":"2026-03-22T16:54:00.171204Z","shell.execute_reply.started":"2026-03-22T16:53:59.855688Z","shell.execute_reply":"2026-03-22T16:54:00.170544Z"},"papermill":{"duration":0.064163,"end_time":"2025-12-18T06:39:34.891536","exception":false,"start_time":"2025-12-18T06:39:34.827373","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\n# simple data cleaning:\n\nCHAR_MAPPING = {\n    # Akkadian special letters → simple Latin\n    \"š\": \"s\", \"ṣ\": \"s\", \"ṭ\": \"t\", \"ḫ\": \"h\",\n    \"Š\": \"S\", \"Ṣ\": \"S\", \"Ṭ\": \"T\", \"Ḫ\": \"H\",\n    \"á\": \"a\", \"í\": \"i\", \"ú\": \"u\",\n    \"Á\": \"A\", \"Í\": \"I\", \"Ú\": \"U\",\n}\n\nNOTATIONS_TO_REMOVE = ['!', '?', '/', '˹', '˺']\n\ndef clean_transliteration(text):\n    if not text or not isinstance(text, str):\n        return \"\"\n        \n    # 1. Normalize special characters\n    #for old, new in CHAR_MAPPING.items():\n        #text = text.replace(old, new)\n    text = re.sub(r\"<gap>\", \"<GAP>\", text, flags=re.IGNORECASE)\n    text = re.sub(r\"\\{d\\}\", \"<GOD>\", text)\n\n    text = re.sub(r\"[₀₁₂₃₄₅₆₇₈₉]\", \"\", text)\n    text = re.sub(r\"\\([^)]*\\)\", \"\", text)\n\n    return text\n\ndef clean_translation(text):\n    if not text or not isinstance(text, str):\n        return \"\"\n\n    #for old, new in CHAR_MAPPING.items():\n       # text = text.replace(old, new)\n    text = re.sub(r\"<gap>\", \"<GAP>\", text, flags=re.IGNORECASE)\n\n    return text\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.180633Z","iopub.execute_input":"2026-03-22T16:54:00.180931Z","iopub.status.idle":"2026-03-22T16:54:00.196442Z","shell.execute_reply.started":"2026-03-22T16:54:00.180884Z","shell.execute_reply":"2026-03-22T16:54:00.195774Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\n#filter the published data\npublished_df = published_df.dropna(subset=[\"transliteration\"]).copy()\npublished_df[\"transliteration\"] = published_df[\"transliteration\"].astype(str).map(clean_transliteration)\npublished_df = published_df[published_df[\"transliteration\"].str.len() > 0].reset_index(drop=True)\nprint(f\"Published unlabeled data filtered: {len(published_df)} rows\")\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.197043Z","iopub.execute_input":"2026-03-22T16:54:00.197226Z","iopub.status.idle":"2026-03-22T16:54:00.318189Z","shell.execute_reply.started":"2026-03-22T16:54:00.197207Z","shell.execute_reply":"2026-03-22T16:54:00.317579Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# denoising corruption function\n\n#OUR CODE STARTS HERE:\ndef corrupt_transliteration(text: str, noise_density: float = 0.15) -> tuple[str, str]:\n    tokens = text.split()\n    if len(tokens) < 2:\n        return text, text\n\n    n_to_mask = max(1, int(round(len(tokens) * noise_density)))\n    n_to_mask = min(n_to_mask, len(tokens))\n\n    start = random.randint(0, max(0, len(tokens) - n_to_mask))\n    end = start + n_to_mask\n\n    corrupted = tokens[:start] + [\"<extra_id_0>\"] + tokens[end:]\n    target = [\"<extra_id_0>\"] + tokens[start:end]\n\n    return \" \".join(corrupted), \" \".join(target)\n\n# Build a denoising dataset for Trainer\ndef preprocess_denoising_function(examples):\n    inputs = []\n    targets = []\n\n    for text in examples[\"transliteration\"]:\n        clean_text = clean_transliteration(str(text))\n        corrupted, target = corrupt_transliteration(clean_text)\n        inputs.append(corrupted)\n        targets.append(target)\n\n    model_inputs = tokenizer(inputs, max_length=Config.MAX_LENGTH, truncation=True)\n    labels = tokenizer(targets, max_length=Config.MAX_LENGTH, truncation=True)\n\n    model_inputs[\"labels\"] = labels[\"input_ids\"]\n    return model_inputs\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.331658Z","iopub.execute_input":"2026-03-22T16:54:00.331989Z","iopub.status.idle":"2026-03-22T16:54:00.340655Z","shell.execute_reply.started":"2026-03-22T16:54:00.331967Z","shell.execute_reply":"2026-03-22T16:54:00.339951Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\ntokenizer = AutoTokenizer.from_pretrained(Config.MODEL_NAME)\n\ndenoising_dataset = Dataset.from_pandas(\n    published_df[[\"transliteration\"]]\n)\n\ndenoising_split = denoising_dataset.train_test_split(test_size=0.05, seed=42)\n\ntokenized_denoising_train = denoising_split[\"train\"].map(\n    preprocess_denoising_function,\n    batched=True,\n    remove_columns=denoising_split[\"train\"].column_names,\n)\n\ntokenized_denoising_val = denoising_split[\"test\"].map(\n    preprocess_denoising_function,\n    batched=True,\n    remove_columns=denoising_split[\"test\"].column_names,\n)\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.341690Z","iopub.execute_input":"2026-03-22T16:54:00.342162Z","iopub.status.idle":"2026-03-22T16:54:00.357397Z","shell.execute_reply.started":"2026-03-22T16:54:00.342137Z","shell.execute_reply":"2026-03-22T16:54:00.356768Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\npretrain_model = AutoModelForSeq2SeqLM.from_pretrained(Config.MODEL_NAME)\n\npretrain_args = Seq2SeqTrainingArguments(\n    output_dir=\"./byt5-akkadian-denoising\",\n    eval_strategy=\"epoch\",\n    save_strategy=\"epoch\",\n    learning_rate=1e-4,\n    fp16=False,\n    per_device_train_batch_size=1,\n    per_device_eval_batch_size=4,\n    gradient_accumulation_steps=8,\n    weight_decay=0.01,\n    save_total_limit=2,\n    num_train_epochs=2,\n    predict_with_generate=False,\n    logging_steps=50,\n    report_to=\"none\",\n    save_only_model=True,\n    load_best_model_at_end=False,\n)\n\npretrain_trainer = Seq2SeqTrainer(\n    model=pretrain_model,\n    args=pretrain_args,\n    train_dataset=tokenized_denoising_train,\n    eval_dataset=tokenized_denoising_val,\n    data_collator=DataCollatorForSeq2Seq(tokenizer, model=pretrain_model),\n    tokenizer=tokenizer,\n)\n\nprint(\"Starting denoising pretraining...\")\npretrain_trainer.train()\n\npretrain_trainer.save_model(\"./byt5-akkadian-denoising\")\ntokenizer.save_pretrained(\"./byt5-akkadian-denoising\")\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.358470Z","iopub.execute_input":"2026-03-22T16:54:00.358809Z","iopub.status.idle":"2026-03-22T16:54:00.369055Z","shell.execute_reply.started":"2026-03-22T16:54:00.358786Z","shell.execute_reply":"2026-03-22T16:54:00.368186Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# freeing the gpu:\ndel pretrain_trainer\ndel pretrain_model\ngc.collect()\ntorch.cuda.empty_cache()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.369991Z","iopub.execute_input":"2026-03-22T16:54:00.370360Z","iopub.status.idle":"2026-03-22T16:54:00.382615Z","shell.execute_reply.started":"2026-03-22T16:54:00.370329Z","shell.execute_reply":"2026-03-22T16:54:00.381927Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#PRE_TRAINED_MODEL = \"/kaggle/input/models/beatrizferrao/pre-denoise-large/pytorch/default/1\"","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.383486Z","iopub.execute_input":"2026-03-22T16:54:00.383792Z","iopub.status.idle":"2026-03-22T16:54:00.394238Z","shell.execute_reply.started":"2026-03-22T16:54:00.383760Z","shell.execute_reply":"2026-03-22T16:54:00.393372Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\ndef clean_dataset(df):\n\n    df = df.copy()\n\n    df[\"transliteration\"] = df[\"transliteration\"].apply(clean_transliteration)\n    df[\"translation\"] = df[\"translation\"].apply(clean_translation)\n\n    # remove empty rows\n    df = df[\n        (df[\"transliteration\"].str.len() > 3) &\n        (df[\"translation\"].str.len() > 3)\n    ]\n\n    return df.reset_index(drop=True)\n# OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.395199Z","iopub.execute_input":"2026-03-22T16:54:00.395476Z","iopub.status.idle":"2026-03-22T16:54:00.406768Z","shell.execute_reply.started":"2026-03-22T16:54:00.395446Z","shell.execute_reply":"2026-03-22T16:54:00.406076Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\nimport random\n\ndef augment_transliteration(text):\n    \n    replacements = {\n        \"š\": \"s\",\n        \"ṣ\": \"s\",\n        \"ṭ\": \"t\",\n        \"ḫ\": \"h\",\n        \"ā\": \"a\",\n        \"ī\": \"i\",\n        \"ū\": \"u\"\n    }\n    \n    for k, v in replacements.items():\n        if random.random() < 0.5:\n            text = text.replace(k, v)\n    \n    # random dash removal\n    if random.random() < 0.3:\n        text = text.replace(\"-\", \"\")\n        \n    # random spacing\n    if random.random() < 0.2:\n        text = text.replace(\" \", \"  \")\n        \n    return text\n#OUR CODE ENDS HERE:","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.407687Z","iopub.execute_input":"2026-03-22T16:54:00.407994Z","iopub.status.idle":"2026-03-22T16:54:00.418327Z","shell.execute_reply.started":"2026-03-22T16:54:00.407960Z","shell.execute_reply":"2026-03-22T16:54:00.417765Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\ndef augment_dataset(df, n_aug=2):\n    \n    augmented_rows = []\n    \n    for _, row in df.iterrows():\n        src = row[\"transliteration\"]\n        tgt = row[\"translation\"]\n        \n        for _ in range(n_aug):\n            new_src = augment_transliteration(src)\n            \n            augmented_rows.append({\n                \"transliteration\": new_src,\n                \"translation\": tgt\n            })\n    \n    return pd.DataFrame(augmented_rows)\n#OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.419183Z","iopub.execute_input":"2026-03-22T16:54:00.419447Z","iopub.status.idle":"2026-03-22T16:54:00.433620Z","shell.execute_reply.started":"2026-03-22T16:54:00.419415Z","shell.execute_reply":"2026-03-22T16:54:00.432901Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\n#train_expanded = train_df\ntrain_expanded = train_df.drop(columns=['oare_id'])\nprint(f\"Expanded Train Data: {len(train_expanded)} sentences (Alignment applied)\")\n\n# Convert to Hugging Face Dataset format & split into Train/Val.\n#dataset = Dataset.from_pandas(train_expanded)\n# Create a validation set with test_size=0.1.\n#split_datasets = dataset.train_test_split(test_size=0.1, seed=42)\n\n# After splitting, the keys are 'train' and 'test' (we'll use 'test' as validation).\nprint(train_expanded.head())\n","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:54:00.434679Z","iopub.execute_input":"2026-03-22T16:54:00.435179Z","iopub.status.idle":"2026-03-22T16:54:00.452417Z","shell.execute_reply.started":"2026-03-22T16:54:00.435151Z","shell.execute_reply":"2026-03-22T16:54:00.451796Z"},"papermill":{"duration":0.13294,"end_time":"2025-12-18T06:39:35.050272","exception":false,"start_time":"2025-12-18T06:39:34.917332","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_clean = clean_dataset(train_expanded)\nprint(train_clean.head())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.453608Z","iopub.execute_input":"2026-03-22T16:54:00.454270Z","iopub.status.idle":"2026-03-22T16:54:00.485949Z","shell.execute_reply.started":"2026-03-22T16:54:00.454235Z","shell.execute_reply":"2026-03-22T16:54:00.485294Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\ndataset = Dataset.from_pandas(train_clean)\n\nsplit = dataset.train_test_split(test_size=0.1, seed=42)\n\ntrain_df = split[\"train\"].to_pandas()\nval_df   = split[\"test\"].to_pandas()\n\n# augment only training\naug_train = augment_dataset(train_df, n_aug=2)\n\ntrain_final = pd.concat([train_df, aug_train])\nprint(\"Final training size:\", len(train_final))\n# #OUR CODE ENDS HERE","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:00.486770Z","iopub.execute_input":"2026-03-22T16:54:00.487028Z","iopub.status.idle":"2026-03-22T16:54:00.601718Z","shell.execute_reply.started":"2026-03-22T16:54:00.487006Z","shell.execute_reply":"2026-03-22T16:54:00.600804Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# ==========================================\n# 3. Tokenization & preprocessing\n# ==========================================\n\n# Fix the corresponding section in dpc-starter-train.\nPREFIX = \"translate Akkadian to English: \"\n\ndef preprocess_function(examples):\n    inputs = [PREFIX + str(ex) for ex in examples[\"transliteration\"]]\n    targets = [str(ex) for ex in examples[\"translation\"]]\n    \n    model_inputs = tokenizer(inputs, max_length=Config.MAX_LENGTH, truncation=True)\n    labels = tokenizer(targets, max_length=Config.MAX_LENGTH, truncation=True)\n    \n    model_inputs[\"labels\"] = labels[\"input_ids\"]\n    return model_inputs\n    \ntrain_dataset = Dataset.from_pandas(train_final)\nval_dataset = Dataset.from_pandas(val_df)\ntokenized_train = train_dataset.map(preprocess_function, batched=True)\ntokenized_val = val_dataset.map(preprocess_function, batched=True)\n","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:54:00.602901Z","iopub.execute_input":"2026-03-22T16:54:00.603671Z","iopub.status.idle":"2026-03-22T16:54:02.673631Z","shell.execute_reply.started":"2026-03-22T16:54:00.603647Z","shell.execute_reply":"2026-03-22T16:54:02.672916Z"},"papermill":{"duration":3.481316,"end_time":"2025-12-18T06:39:38.534136","exception":false,"start_time":"2025-12-18T06:39:35.05282","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Print a few samples from the tokenized training set\nnum_samples_to_print = 5\n\nprint(\"=== VERIFYING TOKENIZED DATA ===\")\n\nfor i in range(num_samples_to_print):\n    # Grab a single example from the dataset\n    sample = tokenized_train[i]\n    \n    # Decode the input_ids back to a string\n    # skip_special_tokens=False allows us to see the <pad>, <NAME>, etc.\n    decoded_input = tokenizer.decode(sample[\"input_ids\"], skip_special_tokens=False)\n    \n    # Decode the labels back to a string\n    decoded_label = tokenizer.decode(sample[\"labels\"], skip_special_tokens=False)\n    \n    print(f\"\\n--- Sample {i + 1} ---\")\n    \n    # We use .replace to make the output readable if there are hundreds of pad tokens\n    print(f\"**INPUT:**\\n{decoded_input.replace('<pad>', '').strip()}\")\n    print(f\"\\n**LABEL (TARGET):**\\n{decoded_label.replace('<pad>', '').strip()}\")\n    print(\"-\" * 40)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:02.680076Z","iopub.execute_input":"2026-03-22T16:54:02.680368Z","iopub.status.idle":"2026-03-22T16:54:02.860360Z","shell.execute_reply.started":"2026-03-22T16:54:02.680335Z","shell.execute_reply":"2026-03-22T16:54:02.859432Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Overfitting check:","metadata":{}},{"cell_type":"code","source":"#OUR CODE STARTS HERE:\nif not SKIP_OVERFIT:\n    # Overfit on 8 examples, loss should drop to near 0\n    gc.collect()\n    torch.cuda.empty_cache()\n\n    tiny_train = tokenized_train.select(range(8))\n\n    overfit_model = AutoModelForSeq2SeqLM.from_pretrained(\"./byt5-akkadian-denoising\")\n    overfit_collator = DataCollatorForSeq2Seq(tokenizer, model=overfit_model)\n\n    overfit_args = Seq2SeqTrainingArguments(\n        output_dir=\"./overfit-test\",\n        num_train_epochs=100,\n        learning_rate=3e-4,\n        per_device_train_batch_size=1,\n        gradient_accumulation_steps=8,\n        gradient_checkpointing=True,\n        fp16=False,\n        optim=\"adafactor\",\n        logging_steps=10,\n        save_strategy=\"no\",\n        report_to=\"none\",\n    )\n\n    overfit_trainer = Seq2SeqTrainer(\n        model=overfit_model,\n        args=overfit_args,\n        train_dataset=tiny_train,\n        data_collator=overfit_collator,\n        processing_class=tokenizer,\n    )\n\n    print(\"Overfitting on 8 examples, loss should approach 0...\")\n    overfit_trainer.train()\nelse:\n    print(\"Skipping overfit check (SKIP_OVERFIT=True)\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:02.861429Z","iopub.execute_input":"2026-03-22T16:54:02.862159Z","iopub.status.idle":"2026-03-22T16:54:02.868068Z","shell.execute_reply.started":"2026-03-22T16:54:02.862112Z","shell.execute_reply":"2026-03-22T16:54:02.867266Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"if not SKIP_OVERFIT:\n    # Re-run this cell to train more epochs without reloading the model\n    overfit_args.num_train_epochs = 50\n    overfit_trainer.train(resume_from_checkpoint=False)\nelse:\n    print(\"Skipping (SKIP_OVERFIT=True)\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:02.868963Z","iopub.execute_input":"2026-03-22T16:54:02.869321Z","iopub.status.idle":"2026-03-22T16:54:02.882060Z","shell.execute_reply.started":"2026-03-22T16:54:02.869287Z","shell.execute_reply":"2026-03-22T16:54:02.881370Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"'''\nif not SKIP_OVERFIT:\n    # Check predictions on the overfit set\n    overfit_model.eval()\n    all_preds = []\n    all_trues = []\n\n    for i in range(len(tiny_train)):\n        row = split[\"train\"][i]\n        inp = tokenizer(row[\"input_text\"], return_tensors=\"pt\", max_length=MAX_LENGTH, truncation=True).to(overfit_model.device)\n        with torch.no_grad():\n            out = overfit_model.generate(**inp, max_length=MAX_LENGTH, num_beams=1)\n        pred = tokenizer.decode(out[0], skip_special_tokens=True)\n        true = row[\"target_text\"]\n        all_preds.append(pred)\n        all_trues.append(true)\n        print(f\"\\nTRUE: {true[:200]}\")\n        print(f\"PRED: {pred[:200]}\")\n\n    bleu = sacrebleu.corpus_bleu(all_preds, [all_trues])\n    chrf = sacrebleu.corpus_chrf(all_preds, [all_trues], word_order=2)\n    geo = math.sqrt(bleu.score * chrf.score) if bleu.score > 0 and chrf.score > 0 else 0.0\n\n    print(f\"\\n{'='*50}\")\n    print(f\"BLEU:                {bleu.score:.2f}\")\n    print(f\"chrF++:              {chrf.score:.2f}\")\n    print(f\"Competition metric:  {geo:.2f}  (sqrt(BLEU * chrF++))\")\n    print(f\"{'='*50}\")\nelse:\n    print(\"Skipping (SKIP_OVERFIT=True)\")\n'''","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:02.883007Z","iopub.execute_input":"2026-03-22T16:54:02.883470Z","iopub.status.idle":"2026-03-22T16:54:02.896077Z","shell.execute_reply.started":"2026-03-22T16:54:02.883448Z","shell.execute_reply":"2026-03-22T16:54:02.895242Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"if not SKIP_OVERFIT:\n    del overfit_model, overfit_trainer\n    gc.collect()\n    torch.cuda.empty_cache()\n    print(\"Overfit check complete. Moving on to full training.\")\nelse:\n    print(\"Skipping (SKIP_OVERFIT=True)\")\n#OUR CODE ENDS HERE:","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-03-22T16:54:02.896995Z","iopub.execute_input":"2026-03-22T16:54:02.897342Z","iopub.status.idle":"2026-03-22T16:54:02.910088Z","shell.execute_reply.started":"2026-03-22T16:54:02.897320Z","shell.execute_reply":"2026-03-22T16:54:02.909457Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from transformers import EarlyStoppingCallback\n# ==========================================\n# 4. Model training (fine-tuning)\n# ==========================================\n\n#model = AutoModelForSeq2SeqLM.from_pretrained(Config.MODEL_NAME)\nmodel = AutoModelForSeq2SeqLM.from_pretrained(\"./byt5-akkadian-denoising\")\ndata_collator = DataCollatorForSeq2Seq(tokenizer, model=model)\n\n\n# Metric (chrF++ is part of the competition metric and measures character-level precision/overlap).\nmetric = evaluate.load(\"chrf\")\n\ndef compute_metrics(eval_preds):\n    preds, labels = eval_preds\n    if isinstance(preds, tuple): preds = preds[0]\n    \n    decoded_preds = tokenizer.batch_decode(preds, skip_special_tokens=True)\n    # Ignore -100 in the labels.\n    labels = np.where(labels != -100, labels, tokenizer.pad_token_id)\n    decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=True)\n    \n    decoded_preds = [pred.strip() for pred in decoded_preds]\n    decoded_labels = [[label.strip()] for label in decoded_labels]\n    \n    result = metric.compute(predictions=decoded_preds, references=decoded_labels)\n    return {\"chrf\": result[\"score\"]}\n\nargs = Seq2SeqTrainingArguments(\n    output_dir=Config.OUTPUT_DIR,\n    eval_strategy=\"epoch\",\n    save_strategy=\"epoch\",\n    learning_rate=Config.LEARNING_RATE,\n    \n    # === Key fixes ===\n    fp16=False,                     # ★Set to False to prevent a NaN error (required).\n    per_device_train_batch_size=1,  # ★fp32 uses more memory, so reduce the batch size.\n    per_device_eval_batch_size=4,\n    gradient_accumulation_steps=8,  # ★To compensate, accumulate gradients to keep the effective batch size at 8.\n    # ======================\n    \n    weight_decay=0.01,\n    save_total_limit=2,\n    num_train_epochs=15,\n    predict_with_generate=True,\n    logging_steps=10,               # Inspect logs in more detail.\n    report_to=\"none\",\n    save_only_model=True,\n    load_best_model_at_end=True,\n    metric_for_best_model=\"chrf\"\n    #greater_is_better=True\n)\n\ntrainer = Seq2SeqTrainer(\n    model=model,\n    args=args,\n    train_dataset=tokenized_train,\n    eval_dataset=tokenized_val,\n    data_collator=data_collator,\n    tokenizer=tokenizer,\n    compute_metrics=compute_metrics,\n    callbacks=[EarlyStoppingCallback(early_stopping_patience=3)]\n)\n\nprint(\"Starting Training ...\")\ntrainer.train()","metadata":{"execution":{"iopub.status.busy":"2026-03-22T16:54:03.286837Z","iopub.execute_input":"2026-03-22T16:54:03.287156Z","execution_failed":"2026-03-22T16:55:42.382Z"},"papermill":{"duration":3815.090022,"end_time":"2025-12-18T07:43:13.627558","exception":false,"start_time":"2025-12-18T06:39:38.537536","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# --- Save Model ---\n# Important: the model saved here will be loaded in the next notebook.\ntrainer.save_model(Config.OUTPUT_DIR)\ntokenizer.save_pretrained(Config.OUTPUT_DIR)\nprint(f\"Model saved to {Config.OUTPUT_DIR}\")\n","metadata":{"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"},"papermill":{"duration":8.315075,"end_time":"2025-12-18T07:43:21.974867","exception":false,"start_time":"2025-12-18T07:43:13.659792","status":"completed"},"tags":[],"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#INFERENCE PART:\nTEST_DATA_PATH = \"/kaggle/input/deep-past-initiative-machine-translation/test.csv\"\nBATCH_SIZE = 16\nMAX_LENGTH = 512\nDEVICE = \"cuda\" if torch.cuda.is_available() else \"cpu\"\nmodel.eval()\n\n# --- Data Preparation ---\ntest_df = pd.read_csv(TEST_DATA_PATH)","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\nimport pandas as pd\nimport torch\nfrom torch.utils.data import DataLoader, Dataset\nfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLM\nfrom tqdm.auto import tqdm","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from torch.utils.data import DataLoader, Dataset\n# Make sure your clean_transliteration function is defined or imported before this cell\n\nPREFIX = \"translate Akkadian to English: \"\n\nclass InferenceDataset(Dataset):\n    def __init__(self, df, tokenizer):\n        # Extract the raw text\n        raw_texts = df['transliteration'].astype(str).tolist()\n        \n        # --- FIX: Apply the cleaning function to every text ---\n        cleaned_texts = [clean_transliteration(text) for text in raw_texts]\n        \n        # Add the prefix to the cleaned text\n        self.texts = [PREFIX + text for text in cleaned_texts]\n        self.tokenizer = tokenizer\n        \n    def __len__(self):\n        return len(self.texts)\n    \n    def __getitem__(self, idx):\n        text = self.texts[idx]\n        inputs = self.tokenizer(\n            text, \n            max_length=MAX_LENGTH, \n            padding=\"max_length\", \n            truncation=True, \n            return_tensors=\"pt\"\n        )\n        return {\n            \"input_ids\": inputs[\"input_ids\"].squeeze(0),\n            \"attention_mask\": inputs[\"attention_mask\"].squeeze(0)\n        }\n\n# Create the dataset and loader\ntest_dataset = InferenceDataset(test_df, tokenizer)\ntest_loader = DataLoader(test_dataset, batch_size=BATCH_SIZE, shuffle=False)\n\n# --- Inference Loop ---\nprint(\"Starting Inference...\")\nall_predictions = []","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"with torch.no_grad():\n    for batch in tqdm(test_loader):\n        input_ids = batch[\"input_ids\"].to(DEVICE)\n        attention_mask = batch[\"attention_mask\"].to(DEVICE)\n  \n        outputs = model.generate(\n            input_ids=input_ids,\n            attention_mask=attention_mask,\n            max_length=MAX_LENGTH,\n            repetition_penalty=1.05,\n            #max_new_tokens=512,\n            num_beams=4\n            #early_stopping=True,\n            #no_repeat_ngram_size=4,      # up from 3\n            \n        )\n        decoded = tokenizer.batch_decode(outputs, skip_special_tokens=True)\n        all_predictions.extend([d.strip() for d in decoded])","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# --- Submission ---\nsubmission = pd.DataFrame({\n    \"id\": test_df[\"id\"],\n    \"translation\": all_predictions\n})\n\nsubmission[\"translation\"] = submission[\"translation\"].apply(lambda x: x if len(x) > 0 else \"broken text\")\n\nsubmission.to_csv(\"submission.csv\", index=False)\nprint(\"Submission file saved successfully!\")\nprint(submission)","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\nimport shutil\n\n#output_dir = Config.OUTPUT_DIR  # e.g., \"./fine_tuned_model\"\noutput_dir = \"./byt5-akkadian-denoising\"\n# 1. Clean up: Delete all 'checkpoint-' folders\nprint(f\"Cleaning up checkpoints in {output_dir}...\")\n\nif os.path.exists(output_dir):\n    for filename in os.listdir(output_dir):\n        file_path = os.path.join(output_dir, filename)\n        \n        # Check if it's a directory and starts with \"checkpoint-\"\n        if os.path.isdir(file_path) and filename.startswith(\"checkpoint-\"):\n            shutil.rmtree(file_path)  # Delete the folder and its contents\n            print(f\"   Deleted: {filename}\")\n\n# 2. Create the Zip file (now that checkpoints are gone)\nprint(\"Zipping the remaining files...\")\nshutil.make_archive(\"dataaug_pretraining\", 'zip', output_dir)\n\nprint(f\"\\nSUCCESS! Download 'final_model.zip' from the Output section.\")","metadata":{"trusted":true,"execution":{"execution_failed":"2026-03-22T16:55:42.383Z"}},"outputs":[],"execution_count":null}]}