From d033d375d2f5216a2f11fd0cc779ec897c202332 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 26 Aug 2024 19:43:08 -0400 Subject: [PATCH 01/21] Add peft implementation --- setup.py | 2 + text2text/__init__.py | 3 +- text2text/peft.py | 174 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 text2text/peft.py diff --git a/setup.py b/setup.py index 7f02187..5d15194 100755 --- a/setup.py +++ b/setup.py @@ -32,5 +32,7 @@ 'torch', 'tqdm', 'transformers', + 'trl', + 'peft' ], ) diff --git a/text2text/__init__.py b/text2text/__init__.py index 8ec8b1e..83db594 100755 --- a/text2text/__init__.py +++ b/text2text/__init__.py @@ -16,4 +16,5 @@ from .answerer import Answerer from .identifier import Identifier from .server import Server -from .handler import Handler \ No newline at end of file +from .handler import Handler +from .peft import Peft \ No newline at end of file diff --git a/text2text/peft.py b/text2text/peft.py new file mode 100644 index 0000000..450ead5 --- /dev/null +++ b/text2text/peft.py @@ -0,0 +1,174 @@ +import os +from dataclasses import dataclass, field + +import torch +from transformers import ( + TrainingArguments, + AutoModelForCausalLM, + AutoTokenizer, + BitsAndBytesConfig) +from trl import SFTTrainer +from peft import LoraConfig + +from datasets import DatasetDict, load_dataset + +@dataclass +class PeftModelArguments: + peft_method: str = field(default="qlora") + lora_alpha: int = field(default=16) + lora_dropout: float = field(default=0.1) + lora_r: float = field(default=8) + target_modules: str = field(default="all-linear") + use_reentrant: bool = field(default=True) + +@dataclass +class DataTrainingArguments: + dataset_name: str = field( + default="smangrul/ultrachat-10k-chatml", + metadata={"help": "Dataset for fine-tuning."} + ) + text_field: str = field( + default="text", + metadata={"help": "Field in dataset to use as input text."} + ) + splits: str = field(default="train,test") + max_seq_length: int = field(default=2048) + +@dataclass +class PeftTrainingArguments(TrainingArguments): + num_train_epochs: int = field( + default=1, + metadata={"help": "Number of epochs to train for."}) + eval_strategy: str = field( + default="epoch", + metadata={"help": "Evaluation strategy to use."}) + logging_steps: int = field( + default=5, + metadata={"help": "Number of steps to log at."}) + push_to_hub: bool = field( + default=True, + metadata={"help": "Uplaod model to Huggingface hub or not."}) + hub_private_repo: bool = field(default=True) + # bf16: bool = field(default=True) + learning_rate: float = field(default=1e-4) + lr_scheduler_type: str = field( + default="cosine", + metadata={"help": "LR scheduler type to use."}) + weight_decay: str = field(default=1e-4) + per_device_train_batch_size: int = field(default=8) + per_device_eval_batch_size: int = field(default=8) + gradient_accumulation_steps: int = field(default=8) + gradient_checkpointing: bool = field(default=True) + + +class Peft: + def __init__(self, model_name, output_dir, **kwargs): + self.llm = model_name + self.model_args = PeftModelArguments() + self.data_args = DataTrainingArguments() + self.train_args = PeftTrainingArguments( + output_dir=output_dir) + + # Try multiple inheritances for the dataclasses + for kwarg in kwargs: + if hasattr(self.model_args, kwarg): + setattr(self.model_args, kwarg, kwargs[kwarg]) + elif hasattr(self.data_args, kwarg): + setattr(self.data_args, kwarg, kwargs[kwarg]) + elif hasattr(self.train_args, kwarg): + setattr(self.train_args, kwarg, kwargs[kwarg]) + else: + raise AttributeError("Invalid Argument") + + def prepare_model(self): + # if self.model_args.peft_method == "qlora": + bnb_config = BitsAndBytesConfig( + load_in_4bit=True, + bnb_4bit_quant_type="nf4", + bnb_4bit_compute_dtype=torch.bfloat16, + bnb_4bit_use_double_quant=True, + bnb_4bit_quant_storage=torch.uint8 + ) + + model = AutoModelForCausalLM.from_pretrained( + self.llm, + quantization_config=bnb_config, + trust_remote_code=True, + attn_implementation="flash_attention_2", + torch_dtype=torch.float32 + ) + + peft_config = LoraConfig( + lora_alpha= self.model_args.lora_alpha, + lora_dropout= self.model_args.lora_dropout, + r=self.model_args.lora_r, + bias="none", + task_type="CAUSAL_LM", + target_modules=self.model_args.target_modules + ) + + tokenizer = AutoTokenizer(self.llm, trust_remote_code=True) + tokenizer.pad_token = tokenizer.eos_token + + return model, tokenizer, peft_config + + def prepare_dataset(self): + raw_datasets = DatasetDict() + for split in ["train", "test"]: + try: + dataset = load_dataset(self.data_args.dataset_name, + split=split) + raw_datasets[split] = dataset + except: + print(f"Split type {split} not recognized as part of {self.dataset_name}") + pass + + train_split = raw_datasets["train"] + test_split = raw_datasets["test"] + print(f"Size of training split: {len(train_split)}, Size of test split: {len(test_split)}") + + return train_split, test_split + + def train(self): + + model, tokenizer, peft_config = self.prepare_model() + train_dataset, test_dataset = self.prepare_dataset() + + # Gradient checkpointing + model.config.use_cache = not self.train_args.gradient_checkpointing + if self.train_args.gradient_checkpointing: + self.train_args.gradient_checkpointing_kwargs = { + "use_reentrant": self.model_args.use_reentrant + } + + trainer = SFTTrainer( + model=model, + tokenizer=tokenizer, + train_dataset=train_dataset, + eval_dataset=test_dataset, + args=self.train_args, + peft_config=peft_config, + packing=True, + dataset_kwargs={ + "append_concat_token": False, + "add_special_tokens": False + }, + dataset_text_field=self.data_args.text_field, + max_seq_length=self.data_args.max_seq_length) + + trainer.accelerator.print(f"{trainer.model}") + if hasattr(trainer.model, "print_trainable_parameters"): + trainer.model.print_trainable_parameters() + + # Train + checkpoint = None + if self.train_args.resume_from_checkpoint is not None: + checkpoint = self.train_args.resume_from_checkpoint + trainer.train(resume_from_checkpoint=checkpoint) + + # Save model + if trainer.is_fsdp_enabled: + trainer.accelerator.state.fsdp_plugin.set_state_dict_type("FULL_STATE_DICT") + trainer.save_model() + +#%env XLA_USE_BF16=1 \ No newline at end of file From 5332aeb8233c0a82f4cab8d32c5d863d9991780a Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Wed, 28 Aug 2024 14:03:22 -0400 Subject: [PATCH 02/21] Update implementation --- setup.py | 4 +- text2text/__init__.py | 2 +- text2text/{peft.py => sft.py} | 74 ++++++++++++++++++++++++----------- 3 files changed, 56 insertions(+), 24 deletions(-) rename text2text/{peft.py => sft.py} (75%) diff --git a/setup.py b/setup.py index 5d15194..f3a0b42 100755 --- a/setup.py +++ b/setup.py @@ -33,6 +33,8 @@ 'tqdm', 'transformers', 'trl', - 'peft' + 'peft', + 'bitsandbytes', + 'accelerate' ], ) diff --git a/text2text/__init__.py b/text2text/__init__.py index 83db594..02a8122 100755 --- a/text2text/__init__.py +++ b/text2text/__init__.py @@ -17,4 +17,4 @@ from .identifier import Identifier from .server import Server from .handler import Handler -from .peft import Peft \ No newline at end of file +from .sft import SFT \ No newline at end of file diff --git a/text2text/peft.py b/text2text/sft.py similarity index 75% rename from text2text/peft.py rename to text2text/sft.py index 450ead5..103e97c 100644 --- a/text2text/peft.py +++ b/text2text/sft.py @@ -12,30 +12,54 @@ from datasets import DatasetDict, load_dataset -@dataclass -class PeftModelArguments: - peft_method: str = field(default="qlora") - lora_alpha: int = field(default=16) - lora_dropout: float = field(default=0.1) - lora_r: float = field(default=8) - target_modules: str = field(default="all-linear") - use_reentrant: bool = field(default=True) - @dataclass class DataTrainingArguments: + """ + Defines data arguments and stores t2t default values. + """ dataset_name: str = field( default="smangrul/ultrachat-10k-chatml", - metadata={"help": "Dataset for fine-tuning."} - ) + metadata={"help": "Dataset for fine-tuning."}) text_field: str = field( default="text", - metadata={"help": "Field in dataset to use as input text."} - ) + metadata={"help": "Field in dataset to use as input text."}) splits: str = field(default="train,test") max_seq_length: int = field(default=2048) +@dataclass +class PeftModelArguments: + """ + Defines and stores t2t default values for PEFT model configs. + """ + peft_method: str = field( + default="qlora", + metadata={"help": "PEFT method to use. Only support QLoRA currently."}) + lora_alpha: int = field( + default=16, + metadata={"help": "The alpha parameter for Lora scaling."}) + lora_dropout: float = field( + default=0.1, + metadata={"help": "The dropout probability for Lora layers."}) + lora_r: float = field( + default=8, + metadata={"help": "Lora attention dimension (Rank)."}) + target_modules: str = field( + default="all-linear", + metadata={"help": ("Modules to apply to adapter to." + "Alternatively: 'q_proj,k_proj,v_proj,o_proj,down_proj,up_proj,gate_proj'" + ) + } + ) + use_reentrant: bool = field( + default=True, + metadata={"help": "For gradient checkpointing."}) + + @dataclass class PeftTrainingArguments(TrainingArguments): + """ + Stores t2t default values for training args. + """ num_train_epochs: int = field( default=1, metadata={"help": "Number of epochs to train for."}) @@ -53,23 +77,29 @@ class PeftTrainingArguments(TrainingArguments): learning_rate: float = field(default=1e-4) lr_scheduler_type: str = field( default="cosine", - metadata={"help": "LR scheduler type to use."}) - weight_decay: str = field(default=1e-4) + metadata={"help": "LR scheduler type to use."}) + weight_decay: str = field( + default=1e-4, + metadata={"help": "Weight decay for AdamW optimizer."}) per_device_train_batch_size: int = field(default=8) per_device_eval_batch_size: int = field(default=8) - gradient_accumulation_steps: int = field(default=8) + gradient_accumulation_steps: int = field( + default=8, + metadata={"help": "Default value to support memory constraints."}) gradient_checkpointing: bool = field(default=True) -class Peft: +class SFT: def __init__(self, model_name, output_dir, **kwargs): self.llm = model_name self.model_args = PeftModelArguments() self.data_args = DataTrainingArguments() + if not output_dir: + output_dir = f"{model_name.split("/")[-1]}-t2t-sft" self.train_args = PeftTrainingArguments( output_dir=output_dir) - # Try multiple inheritances for the dataclasses + # Update arguments in parsed for kwarg in kwargs: if hasattr(self.model_args, kwarg): setattr(self.model_args, kwarg, kwargs[kwarg]) @@ -78,8 +108,9 @@ def __init__(self, model_name, output_dir, **kwargs): elif hasattr(self.train_args, kwarg): setattr(self.train_args, kwarg, kwargs[kwarg]) else: - raise AttributeError("Invalid Argument") - + raise AttributeError("Invalid Argument.") + # Todo: option to use HF hub or not + def prepare_model(self): # if self.model_args.peft_method == "qlora": bnb_config = BitsAndBytesConfig( @@ -114,7 +145,7 @@ def prepare_model(self): def prepare_dataset(self): raw_datasets = DatasetDict() - for split in ["train", "test"]: + for split in self.data_args.splits: try: dataset = load_dataset(self.data_args.dataset_name, split=split) @@ -130,7 +161,6 @@ def prepare_dataset(self): return train_split, test_split def train(self): - model, tokenizer, peft_config = self.prepare_model() train_dataset, test_dataset = self.prepare_dataset() From d31d652cba7058c22f2f4220b261bddfc4b7e143 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Fri, 30 Aug 2024 18:09:58 -0400 Subject: [PATCH 03/21] Update implementation --- setup.py | 3 +-- text2text/sft.py | 34 +++++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/setup.py b/setup.py index f3a0b42..6315547 100755 --- a/setup.py +++ b/setup.py @@ -34,7 +34,6 @@ 'transformers', 'trl', 'peft', - 'bitsandbytes', - 'accelerate' + 'bitsandbytes' ], ) diff --git a/text2text/sft.py b/text2text/sft.py index 103e97c..5a0bb6a 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -11,11 +11,14 @@ from peft import LoraConfig from datasets import DatasetDict, load_dataset +from huggingface_hub import login, notebook_login + +from IPython import get_ipython @dataclass class DataTrainingArguments: """ - Defines data arguments and stores t2t default values. + Defines and stores t2t default values for data args. """ dataset_name: str = field( default="smangrul/ultrachat-10k-chatml", @@ -33,7 +36,7 @@ class PeftModelArguments: """ peft_method: str = field( default="qlora", - metadata={"help": "PEFT method to use. Only support QLoRA currently."}) + metadata={"help": "PEFT method to use. Only supports QLoRA currently."}) lora_alpha: int = field( default=16, metadata={"help": "The alpha parameter for Lora scaling."}) @@ -85,21 +88,25 @@ class PeftTrainingArguments(TrainingArguments): per_device_eval_batch_size: int = field(default=8) gradient_accumulation_steps: int = field( default=8, - metadata={"help": "Default value to support memory constraints."}) + metadata={"help": "Set here to support memory constraints."}) gradient_checkpointing: bool = field(default=True) class SFT: - def __init__(self, model_name, output_dir, **kwargs): + def __init__(self, + model_name: str, + output_dir: str = None, + **kwargs): self.llm = model_name self.model_args = PeftModelArguments() self.data_args = DataTrainingArguments() + if not output_dir: - output_dir = f"{model_name.split("/")[-1]}-t2t-sft" + output_dir = f"{model_name.split('/')[-1]}-t2t-sft" self.train_args = PeftTrainingArguments( output_dir=output_dir) - # Update arguments in parsed + # Update argument if parsed for kwarg in kwargs: if hasattr(self.model_args, kwarg): setattr(self.model_args, kwarg, kwargs[kwarg]) @@ -109,9 +116,14 @@ def __init__(self, model_name, output_dir, **kwargs): setattr(self.train_args, kwarg, kwargs[kwarg]) else: raise AttributeError("Invalid Argument.") - # Todo: option to use HF hub or not + # Todo: Add option to login to HF hub or not def prepare_model(self): + """ + Prepare config and model according to peft method. + Currently only works for QLoRA. + """ + # if self.model_args.peft_method == "qlora": bnb_config = BitsAndBytesConfig( load_in_4bit=True, @@ -120,7 +132,6 @@ def prepare_model(self): bnb_4bit_use_double_quant=True, bnb_4bit_quant_storage=torch.uint8 ) - model = AutoModelForCausalLM.from_pretrained( self.llm, quantization_config=bnb_config, @@ -144,6 +155,9 @@ def prepare_model(self): return model, tokenizer, peft_config def prepare_dataset(self): + """ + Prepare training (and eval) dataset. + """ raw_datasets = DatasetDict() for split in self.data_args.splits: try: @@ -199,6 +213,4 @@ def train(self): # Save model if trainer.is_fsdp_enabled: trainer.accelerator.state.fsdp_plugin.set_state_dict_type("FULL_STATE_DICT") - trainer.save_model() - -#%env XLA_USE_BF16=1 \ No newline at end of file + trainer.save_model() \ No newline at end of file From 930e67ea2ac942c1f10d3c425884262ed1a19c27 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 9 Sep 2024 19:39:59 -0400 Subject: [PATCH 04/21] update data formatting --- text2text/sft.py | 101 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 71 insertions(+), 30 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 5a0bb6a..71795ed 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -91,31 +91,31 @@ class PeftTrainingArguments(TrainingArguments): metadata={"help": "Set here to support memory constraints."}) gradient_checkpointing: bool = field(default=True) +# Chatml data formatting for starters +chatml_template = \ + "{% for message in messages %}"\ + "{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}"\ + "{% if loop.last and add_generation_prompt %}"\ + "{{ '<|im_start|>assistant\n' }}"\ + "{% endif %}"\ + "{% endfor %}" class SFT: def __init__(self, - model_name: str, - output_dir: str = None, + model_name: str, **kwargs): self.llm = model_name self.model_args = PeftModelArguments() self.data_args = DataTrainingArguments() - if not output_dir: - output_dir = f"{model_name.split('/')[-1]}-t2t-sft" - self.train_args = PeftTrainingArguments( - output_dir=output_dir) - # Update argument if parsed for kwarg in kwargs: if hasattr(self.model_args, kwarg): setattr(self.model_args, kwarg, kwargs[kwarg]) elif hasattr(self.data_args, kwarg): setattr(self.data_args, kwarg, kwargs[kwarg]) - elif hasattr(self.train_args, kwarg): - setattr(self.train_args, kwarg, kwargs[kwarg]) else: - raise AttributeError("Invalid Argument.") + raise AttributeError(f"Invalid model or data argument: {kwarg}.") # Todo: Add option to login to HF hub or not def prepare_model(self): @@ -132,7 +132,7 @@ def prepare_model(self): bnb_4bit_use_double_quant=True, bnb_4bit_quant_storage=torch.uint8 ) - model = AutoModelForCausalLM.from_pretrained( + self.model = AutoModelForCausalLM.from_pretrained( self.llm, quantization_config=bnb_config, trust_remote_code=True, @@ -140,7 +140,7 @@ def prepare_model(self): torch_dtype=torch.float32 ) - peft_config = LoraConfig( + self.peft_config = LoraConfig( lora_alpha= self.model_args.lora_alpha, lora_dropout= self.model_args.lora_dropout, r=self.model_args.lora_r, @@ -149,10 +149,34 @@ def prepare_model(self): target_modules=self.model_args.target_modules ) - tokenizer = AutoTokenizer(self.llm, trust_remote_code=True) - tokenizer.pad_token = tokenizer.eos_token - - return model, tokenizer, peft_config + # Prepping tokenizer only for chatml + self.tokenizer = AutoTokenizer( + self.llm, + pad_token="", + bos_token="", + eos_token="<|im_end|>", + additional_special_tokens=["<|im_start|>user", + "<|im_start|>assistant", + "<|im_start|>system", + "<|im_end|>", + "", ""], + trust_remote_code=True) + + self.tokenizer.chat_template = chatml_template + self.model.resize_token_embeddings(len(self.tokenizer), + pad_to_multiple_of=8) + # self.tokenizer.pad_token = self.tokenizer.eos_token + # return model, self.tokenizer, peft_config + + def preprocess_chat(self, samples): + conversations = samples['messages'] + for conversation in samples['messages']: + batch.append(self.tokenizer.apply_chat_template( + conversation, + tokenize=False)) + batch = [self.tokenizer.apply_chat_template(conv, + tokenize=False,) for conv in conversations] + return {'text': batch} def prepare_dataset(self): """ @@ -167,32 +191,49 @@ def prepare_dataset(self): except: print(f"Split type {split} not recognized as part of {self.dataset_name}") pass + + raw_datasets = raw_datasets.map( + self.preprocess_chat, + batched=True, + ) - train_split = raw_datasets["train"] - test_split = raw_datasets["test"] - print(f"Size of training split: {len(train_split)}, Size of test split: {len(test_split)}") + self.train_split = raw_datasets["train"] + self.test_split = raw_datasets["test"] + print(f"Size of training split: {len(self.train_split)}, Size of test split: {len(self.test_split)}") - return train_split, test_split + # return train_split, test_split - def train(self): - model, tokenizer, peft_config = self.prepare_model() - train_dataset, test_dataset = self.prepare_dataset() + def train(self, + output_dir:str = None, + **kwargs): + if not output_dir: + output_dir = f"{self.llm.split('/')[-1]}-t2t-sft" + self.train_args = PeftTrainingArguments( + output_dir=output_dir) + for kwarg in kwargs: + if hasattr(self.train_args, kwarg): + setattr(self.train_args, kwarg, kwargs[kwarg]) + else: + raise AttributeError(f"Invalid training argument: {kwarg}.") + + self.prepare_model() + self.prepare_dataset() # Gradient checkpointing - model.config.use_cache = not self.train_args.gradient_checkpointing + self.model.config.use_cache = not self.train_args.gradient_checkpointing if self.train_args.gradient_checkpointing: self.train_args.gradient_checkpointing_kwargs = { "use_reentrant": self.model_args.use_reentrant } trainer = SFTTrainer( - model=model, - tokenizer=tokenizer, - train_dataset=train_dataset, - eval_dataset=test_dataset, + model=self.model, + tokenizer=self.tokenizer, + train_dataset=self.train_dataset, + eval_dataset=self.test_dataset, args=self.train_args, - peft_config=peft_config, - packing=True, + peft_config=self.peft_config, + packing=False, dataset_kwargs={ "append_concat_token": False, "add_special_tokens": False From 229dfa898ee83015b7274c5e1367c8d3574c4c13 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 9 Sep 2024 20:18:37 -0400 Subject: [PATCH 05/21] Fix flash attn --- text2text/__init__.py | 2 +- text2text/sft.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/text2text/__init__.py b/text2text/__init__.py index 02a8122..61187f9 100755 --- a/text2text/__init__.py +++ b/text2text/__init__.py @@ -17,4 +17,4 @@ from .identifier import Identifier from .server import Server from .handler import Handler -from .sft import SFT \ No newline at end of file +from .sft import SFTTrainer \ No newline at end of file diff --git a/text2text/sft.py b/text2text/sft.py index 71795ed..d5d6740 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -56,6 +56,10 @@ class PeftModelArguments: use_reentrant: bool = field( default=True, metadata={"help": "For gradient checkpointing."}) + use_attention: bool = field( + default=False, + metadata={"help": "Flash attention for training."} + ) @dataclass @@ -100,7 +104,7 @@ class PeftTrainingArguments(TrainingArguments): "{% endif %}"\ "{% endfor %}" -class SFT: +class SFTTrainer: def __init__(self, model_name: str, **kwargs): @@ -132,11 +136,13 @@ def prepare_model(self): bnb_4bit_use_double_quant=True, bnb_4bit_quant_storage=torch.uint8 ) + + attn = "flash_attention_2" if self.model_args.use_attention else "eager" self.model = AutoModelForCausalLM.from_pretrained( self.llm, quantization_config=bnb_config, trust_remote_code=True, - attn_implementation="flash_attention_2", + attn_implementation=attn, torch_dtype=torch.float32 ) From f6c69ffb49c8582f63f64fe182fb8040c59e450e Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 9 Sep 2024 20:54:14 -0400 Subject: [PATCH 06/21] update implementation --- setup.py | 3 ++- text2text/sft.py | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 6315547..8e8b481 100755 --- a/setup.py +++ b/setup.py @@ -34,6 +34,7 @@ 'transformers', 'trl', 'peft', - 'bitsandbytes' + 'bitsandbytes', + 'flash-attn' ], ) diff --git a/text2text/sft.py b/text2text/sft.py index d5d6740..ecee251 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -56,10 +56,9 @@ class PeftModelArguments: use_reentrant: bool = field( default=True, metadata={"help": "For gradient checkpointing."}) - use_attention: bool = field( + use_flash_attn: bool = field( default=False, - metadata={"help": "Flash attention for training."} - ) + metadata={"help": "Flash attention for training."}) @dataclass @@ -137,7 +136,7 @@ def prepare_model(self): bnb_4bit_quant_storage=torch.uint8 ) - attn = "flash_attention_2" if self.model_args.use_attention else "eager" + attn = "flash_attention_2" if self.model_args.use_flash_attn else "eager" self.model = AutoModelForCausalLM.from_pretrained( self.llm, quantization_config=bnb_config, From df3887625b63e5988a4211e8388189265c46f8b5 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 9 Sep 2024 21:15:43 -0400 Subject: [PATCH 07/21] update implementation --- text2text/sft.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index ecee251..f9d2cfa 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -60,7 +60,6 @@ class PeftModelArguments: default=False, metadata={"help": "Flash attention for training."}) - @dataclass class PeftTrainingArguments(TrainingArguments): """ @@ -137,12 +136,14 @@ def prepare_model(self): ) attn = "flash_attention_2" if self.model_args.use_flash_attn else "eager" + model_dtype = torch.bfloat16 if attn == "flash_attention_2" else torch.float32 + self.model = AutoModelForCausalLM.from_pretrained( self.llm, quantization_config=bnb_config, trust_remote_code=True, attn_implementation=attn, - torch_dtype=torch.float32 + torch_dtype=model_dtype ) self.peft_config = LoraConfig( From 3ae28f5f7e6e277874247f9f43be7a3e05d7a533 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Thu, 26 Sep 2024 15:40:49 -0400 Subject: [PATCH 08/21] Modify loading tokenizer --- text2text/sft.py | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index f9d2cfa..02d0113 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -1,4 +1,5 @@ import os +import logging from dataclasses import dataclass, field import torch @@ -13,7 +14,8 @@ from datasets import DatasetDict, load_dataset from huggingface_hub import login, notebook_login -from IPython import get_ipython +logging.basicConfig(level=logging.INFO, + format='%(levelname)s: %(message)s') @dataclass class DataTrainingArguments: @@ -76,9 +78,10 @@ class PeftTrainingArguments(TrainingArguments): metadata={"help": "Number of steps to log at."}) push_to_hub: bool = field( default=True, - metadata={"help": "Uplaod model to Huggingface hub or not."}) + metadata={"help": "Upload model to Huggingface hub or not."}) hub_private_repo: bool = field(default=True) - # bf16: bool = field(default=True) + bf16: bool = field(default=True) + fp16: bool = field(default=False) learning_rate: float = field(default=1e-4) lr_scheduler_type: str = field( default="cosine", @@ -118,6 +121,7 @@ def __init__(self, setattr(self.data_args, kwarg, kwargs[kwarg]) else: raise AttributeError(f"Invalid model or data argument: {kwarg}.") + # Todo: Add option to login to HF hub or not def prepare_model(self): @@ -135,6 +139,17 @@ def prepare_model(self): bnb_4bit_quant_storage=torch.uint8 ) + # lora config + self.peft_config = LoraConfig( + lora_alpha= self.model_args.lora_alpha, + lora_dropout= self.model_args.lora_dropout, + r=self.model_args.lora_r, + bias="none", + task_type="CAUSAL_LM", + target_modules=self.model_args.target_modules + ) + + # Prepare model attn = "flash_attention_2" if self.model_args.use_flash_attn else "eager" model_dtype = torch.bfloat16 if attn == "flash_attention_2" else torch.float32 @@ -145,18 +160,9 @@ def prepare_model(self): attn_implementation=attn, torch_dtype=model_dtype ) - - self.peft_config = LoraConfig( - lora_alpha= self.model_args.lora_alpha, - lora_dropout= self.model_args.lora_dropout, - r=self.model_args.lora_r, - bias="none", - task_type="CAUSAL_LM", - target_modules=self.model_args.target_modules - ) - # Prepping tokenizer only for chatml - self.tokenizer = AutoTokenizer( + # Currently preparing tokenizer only for chatml + self.tokenizer = AutoTokenizer.from_pretrained( self.llm, pad_token="", bos_token="", @@ -171,8 +177,8 @@ def prepare_model(self): self.tokenizer.chat_template = chatml_template self.model.resize_token_embeddings(len(self.tokenizer), pad_to_multiple_of=8) - # self.tokenizer.pad_token = self.tokenizer.eos_token - # return model, self.tokenizer, peft_config + + logging.info(f"Prepared {self.llm} model for training with {self.model_args.peft_method}.") def preprocess_chat(self, samples): conversations = samples['messages'] @@ -205,9 +211,8 @@ def prepare_dataset(self): self.train_split = raw_datasets["train"] self.test_split = raw_datasets["test"] - print(f"Size of training split: {len(self.train_split)}, Size of test split: {len(self.test_split)}") - - # return train_split, test_split + logging.info(f"Prepared dataset {self.data_args.dataset_name}") + logging.info(f"Size of training split: {len(self.train_split)}, Size of test split: {len(self.test_split)}") def train(self, output_dir:str = None, From 4342494db00078b98e9c646bdf5044ef1d33bf8e Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Thu, 26 Sep 2024 16:29:08 -0400 Subject: [PATCH 09/21] Correct trainer error --- text2text/sft.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 02d0113..5ffb164 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -182,10 +182,6 @@ def prepare_model(self): def preprocess_chat(self, samples): conversations = samples['messages'] - for conversation in samples['messages']: - batch.append(self.tokenizer.apply_chat_template( - conversation, - tokenize=False)) batch = [self.tokenizer.apply_chat_template(conv, tokenize=False,) for conv in conversations] return {'text': batch} @@ -201,7 +197,7 @@ def prepare_dataset(self): split=split) raw_datasets[split] = dataset except: - print(f"Split type {split} not recognized as part of {self.dataset_name}") + print(f"Split type {split} not recognized as part of {self.data_args.dataset_name}") pass raw_datasets = raw_datasets.map( @@ -212,7 +208,8 @@ def prepare_dataset(self): self.train_split = raw_datasets["train"] self.test_split = raw_datasets["test"] logging.info(f"Prepared dataset {self.data_args.dataset_name}") - logging.info(f"Size of training split: {len(self.train_split)}, Size of test split: {len(self.test_split)}") + logging.info(f"Size of training split: {len(self.train_split)}, \ + Size of test split: {len(self.test_split)}") def train(self, output_dir:str = None, @@ -240,8 +237,8 @@ def train(self, trainer = SFTTrainer( model=self.model, tokenizer=self.tokenizer, - train_dataset=self.train_dataset, - eval_dataset=self.test_dataset, + train_dataset=self.train_split, + eval_dataset=self.test_split, args=self.train_args, peft_config=self.peft_config, packing=False, From 7c5496ff45459a8a0dc560100036f2c2364fdc30 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Fri, 27 Sep 2024 15:20:17 -0400 Subject: [PATCH 10/21] Modify data splits --- text2text/sft.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 5ffb164..94b635d 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -1,5 +1,6 @@ import os import logging +from typing import List from dataclasses import dataclass, field import torch @@ -121,7 +122,6 @@ def __init__(self, setattr(self.data_args, kwarg, kwargs[kwarg]) else: raise AttributeError(f"Invalid model or data argument: {kwarg}.") - # Todo: Add option to login to HF hub or not def prepare_model(self): @@ -155,7 +155,7 @@ def prepare_model(self): self.model = AutoModelForCausalLM.from_pretrained( self.llm, - quantization_config=bnb_config, + # quantization_config=bnb_config, trust_remote_code=True, attn_implementation=attn, torch_dtype=model_dtype @@ -191,7 +191,7 @@ def prepare_dataset(self): Prepare training (and eval) dataset. """ raw_datasets = DatasetDict() - for split in self.data_args.splits: + for split in self.data_args.splits.split(","): try: dataset = load_dataset(self.data_args.dataset_name, split=split) From 0dae188d34d743e8c5c11432a30b7b43d17137b8 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Fri, 27 Sep 2024 15:37:38 -0400 Subject: [PATCH 11/21] Correct quantization arg --- text2text/sft.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text2text/sft.py b/text2text/sft.py index 94b635d..8863dd4 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -155,7 +155,7 @@ def prepare_model(self): self.model = AutoModelForCausalLM.from_pretrained( self.llm, - # quantization_config=bnb_config, + quantization_config=bnb_config, trust_remote_code=True, attn_implementation=attn, torch_dtype=model_dtype From 235e32b1a67c2a2815a17a02899e98c07ad908b6 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Fri, 27 Sep 2024 17:02:05 -0400 Subject: [PATCH 12/21] Update model dtype implementation --- text2text/sft.py | 62 +++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 8863dd4..424c61f 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -1,6 +1,5 @@ import os import logging -from typing import List from dataclasses import dataclass, field import torch @@ -40,15 +39,19 @@ class PeftModelArguments: peft_method: str = field( default="qlora", metadata={"help": "PEFT method to use. Only supports QLoRA currently."}) + model_dtype: str = field( + default="fp16", + metadata={"help": "Load model in this dtype." + "fp16 for colab's T4, can be modified for other GPU machines."}) lora_alpha: int = field( default=16, - metadata={"help": "The alpha parameter for Lora scaling."}) + metadata={"help": "The alpha parameter for LoRA scaling."}) lora_dropout: float = field( default=0.1, - metadata={"help": "The dropout probability for Lora layers."}) + metadata={"help": "The dropout probability for LoRA layers."}) lora_r: float = field( default=8, - metadata={"help": "Lora attention dimension (Rank)."}) + metadata={"help": "LoRA attention dimension (Rank)."}) target_modules: str = field( default="all-linear", metadata={"help": ("Modules to apply to adapter to." @@ -108,35 +111,32 @@ class PeftTrainingArguments(TrainingArguments): class SFTTrainer: def __init__(self, - model_name: str, - **kwargs): - self.llm = model_name - self.model_args = PeftModelArguments() - self.data_args = DataTrainingArguments() - - # Update argument if parsed - for kwarg in kwargs: - if hasattr(self.model_args, kwarg): - setattr(self.model_args, kwarg, kwargs[kwarg]) - elif hasattr(self.data_args, kwarg): - setattr(self.data_args, kwarg, kwargs[kwarg]) - else: - raise AttributeError(f"Invalid model or data argument: {kwarg}.") + use_hf: bool = True): # Todo: Add option to login to HF hub or not + pass - def prepare_model(self): + def prepare_model(self, + model_name: str, + **kwargs): """ Prepare config and model according to peft method. Currently only works for QLoRA. """ + self.llm = model_name + self.model_args = PeftModelArguments() + for kwarg in kwargs: + if hasattr(self.model_args, kwarg): + setattr(self.model_args, kwarg, kwargs[kwarg]) + else: + raise AttributeError(f"Invalid model argument: {kwarg}.") + # if self.model_args.peft_method == "qlora": bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", - bnb_4bit_compute_dtype=torch.bfloat16, - bnb_4bit_use_double_quant=True, - bnb_4bit_quant_storage=torch.uint8 + bnb_4bit_compute_dtype=torch.bfloat16, # Compute dype for speedup + bnb_4bit_use_double_quant=True, # Nested quantization ) # lora config @@ -151,7 +151,8 @@ def prepare_model(self): # Prepare model attn = "flash_attention_2" if self.model_args.use_flash_attn else "eager" - model_dtype = torch.bfloat16 if attn == "flash_attention_2" else torch.float32 + model_dtype = getattr(torch, self.model_args.model_dtype) + # model_dtype = torch.bfloat16 if attn == "flash_attention_2" else torch.float16 self.model = AutoModelForCausalLM.from_pretrained( self.llm, @@ -186,10 +187,18 @@ def preprocess_chat(self, samples): tokenize=False,) for conv in conversations] return {'text': batch} - def prepare_dataset(self): + def prepare_dataset(self, **kwargs): """ Prepare training (and eval) dataset. """ + self.data_args = DataTrainingArguments() + + for kwarg in kwargs: + if hasattr(self.data_args, kwarg): + setattr(self.data_args, kwarg, kwargs[kwarg]) + else: + raise AttributeError(f"Invalid data argument: {kwarg}.") + raw_datasets = DatasetDict() for split in self.data_args.splits.split(","): try: @@ -223,9 +232,8 @@ def train(self, setattr(self.train_args, kwarg, kwargs[kwarg]) else: raise AttributeError(f"Invalid training argument: {kwarg}.") - - self.prepare_model() - self.prepare_dataset() + # self.prepare_model() + # self.prepare_dataset() # Gradient checkpointing self.model.config.use_cache = not self.train_args.gradient_checkpointing From 32a5880bf4f1b3f2d95f73dc0e9a54c7b69811ac Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Fri, 27 Sep 2024 17:22:10 -0400 Subject: [PATCH 13/21] Change fp16 to float16 --- text2text/sft.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text2text/sft.py b/text2text/sft.py index 424c61f..85136aa 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -40,7 +40,7 @@ class PeftModelArguments: default="qlora", metadata={"help": "PEFT method to use. Only supports QLoRA currently."}) model_dtype: str = field( - default="fp16", + default="float16", metadata={"help": "Load model in this dtype." "fp16 for colab's T4, can be modified for other GPU machines."}) lora_alpha: int = field( From 9054417710d3ded629fd27531336681e80abddfd Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Sun, 29 Sep 2024 20:34:24 -0400 Subject: [PATCH 14/21] Try remove_columns to resolve oom --- text2text/sft.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 85136aa..4daea30 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -201,18 +201,16 @@ def prepare_dataset(self, **kwargs): raw_datasets = DatasetDict() for split in self.data_args.splits.split(","): - try: - dataset = load_dataset(self.data_args.dataset_name, - split=split) - raw_datasets[split] = dataset - except: - print(f"Split type {split} not recognized as part of {self.data_args.dataset_name}") - pass + # Try: (1)removing columns, (2)streaming to solve oom issue + dataset = load_dataset(self.data_args.dataset_name, + split=split,) + # streaming=True) + raw_datasets[split] = dataset raw_datasets = raw_datasets.map( self.preprocess_chat, batched=True, - ) + remove_columns=raw_datasets["train"].column_names) self.train_split = raw_datasets["train"] self.test_split = raw_datasets["test"] From 9f8bfe5707751281ab2f985e0e17cd877fb7713f Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Sun, 29 Sep 2024 20:46:53 -0400 Subject: [PATCH 15/21] Try streaming to resolve oom --- text2text/sft.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index 4daea30..f13c921 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -203,14 +203,13 @@ def prepare_dataset(self, **kwargs): for split in self.data_args.splits.split(","): # Try: (1)removing columns, (2)streaming to solve oom issue dataset = load_dataset(self.data_args.dataset_name, - split=split,) - # streaming=True) + split=split, + streaming=True) raw_datasets[split] = dataset raw_datasets = raw_datasets.map( self.preprocess_chat, - batched=True, - remove_columns=raw_datasets["train"].column_names) + batched=True) self.train_split = raw_datasets["train"] self.test_split = raw_datasets["test"] From dfc1a6a15e51c499d1e9078e06cee3cd0e6b4539 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 30 Sep 2024 15:31:38 -0400 Subject: [PATCH 16/21] Change to IterableDatasetDict --- text2text/sft.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index f13c921..c3b8cda 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -11,7 +11,7 @@ from trl import SFTTrainer from peft import LoraConfig -from datasets import DatasetDict, load_dataset +from datasets import IterableDatasetDict, load_dataset from huggingface_hub import login, notebook_login logging.basicConfig(level=logging.INFO, @@ -199,7 +199,7 @@ def prepare_dataset(self, **kwargs): else: raise AttributeError(f"Invalid data argument: {kwarg}.") - raw_datasets = DatasetDict() + raw_datasets = IterableDatasetDict() for split in self.data_args.splits.split(","): # Try: (1)removing columns, (2)streaming to solve oom issue dataset = load_dataset(self.data_args.dataset_name, From e18f241feaa1aa64855a13f537024db1e7ec7e21 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 30 Sep 2024 15:48:07 -0400 Subject: [PATCH 17/21] Remove length checking --- text2text/sft.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index c3b8cda..1527d2b 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -214,8 +214,10 @@ def prepare_dataset(self, **kwargs): self.train_split = raw_datasets["train"] self.test_split = raw_datasets["test"] logging.info(f"Prepared dataset {self.data_args.dataset_name}") - logging.info(f"Size of training split: {len(self.train_split)}, \ - Size of test split: {len(self.test_split)}") + # logging.info(f"Size of training split: {len(self.train_split)}, \ + # Size of test split: {len(self.test_split)}") + + print(f"Sample from train set: \n{list(self.train_split.take(1))}") def train(self, output_dir:str = None, From 8c3bd1c48174ecdd2faf952a4afd42ac211a0068 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 30 Sep 2024 16:19:49 -0400 Subject: [PATCH 18/21] Change class name --- text2text/__init__.py | 2 +- text2text/sft.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/text2text/__init__.py b/text2text/__init__.py index 61187f9..86c33cf 100755 --- a/text2text/__init__.py +++ b/text2text/__init__.py @@ -17,4 +17,4 @@ from .identifier import Identifier from .server import Server from .handler import Handler -from .sft import SFTTrainer \ No newline at end of file +from .sft import SFTuner \ No newline at end of file diff --git a/text2text/sft.py b/text2text/sft.py index 1527d2b..fb16116 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -109,7 +109,7 @@ class PeftTrainingArguments(TrainingArguments): "{% endif %}"\ "{% endfor %}" -class SFTTrainer: +class SFTuner: def __init__(self, use_hf: bool = True): # Todo: Add option to login to HF hub or not @@ -201,7 +201,6 @@ def prepare_dataset(self, **kwargs): raw_datasets = IterableDatasetDict() for split in self.data_args.splits.split(","): - # Try: (1)removing columns, (2)streaming to solve oom issue dataset = load_dataset(self.data_args.dataset_name, split=split, streaming=True) @@ -218,6 +217,7 @@ def prepare_dataset(self, **kwargs): # Size of test split: {len(self.test_split)}") print(f"Sample from train set: \n{list(self.train_split.take(1))}") + return self.train_split def train(self, output_dir:str = None, @@ -231,8 +231,6 @@ def train(self, setattr(self.train_args, kwarg, kwargs[kwarg]) else: raise AttributeError(f"Invalid training argument: {kwarg}.") - # self.prepare_model() - # self.prepare_dataset() # Gradient checkpointing self.model.config.use_cache = not self.train_args.gradient_checkpointing From 6e1eac1f507e1152fffd93796c979ea97a2c700a Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 30 Sep 2024 17:31:27 -0400 Subject: [PATCH 19/21] Change to SFTConfig --- text2text/sft.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index fb16116..cbad568 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -8,7 +8,7 @@ AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig) -from trl import SFTTrainer +from trl import SFTConfig, SFTTrainer from peft import LoraConfig from datasets import IterableDatasetDict, load_dataset @@ -30,6 +30,8 @@ class DataTrainingArguments: metadata={"help": "Field in dataset to use as input text."}) splits: str = field(default="train,test") max_seq_length: int = field(default=2048) + append_concat_token: bool = field(default=False) + add_special_tokens: bool = field(default=False) @dataclass class PeftModelArguments: @@ -67,7 +69,7 @@ class PeftModelArguments: metadata={"help": "Flash attention for training."}) @dataclass -class PeftTrainingArguments(TrainingArguments): +class PeftTrainingArguments(SFTConfig): """ Stores t2t default values for training args. """ @@ -244,15 +246,15 @@ def train(self, tokenizer=self.tokenizer, train_dataset=self.train_split, eval_dataset=self.test_split, - args=self.train_args, peft_config=self.peft_config, packing=False, - dataset_kwargs={ - "append_concat_token": False, - "add_special_tokens": False - }, dataset_text_field=self.data_args.text_field, - max_seq_length=self.data_args.max_seq_length) + max_seq_length=self.data_args.max_seq_length, + args=self.train_args, + dataset_kwargs={ + "append_concat_token": self.data_args.append_concat_token, + "add_special_tokens": self.data_args.add_special_tokens + }) trainer.accelerator.print(f"{trainer.model}") if hasattr(trainer.model, "print_trainable_parameters"): From 89eb73d201c72f59f79c27e4e13252dedf451085 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Mon, 30 Sep 2024 22:06:28 -0400 Subject: [PATCH 20/21] Minor fixes --- text2text/sft.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/text2text/sft.py b/text2text/sft.py index cbad568..5e14a32 100644 --- a/text2text/sft.py +++ b/text2text/sft.py @@ -11,7 +11,7 @@ from trl import SFTConfig, SFTTrainer from peft import LoraConfig -from datasets import IterableDatasetDict, load_dataset +from datasets import DatasetDict, IterableDatasetDict, load_dataset from huggingface_hub import login, notebook_login logging.basicConfig(level=logging.INFO, @@ -154,7 +154,6 @@ def prepare_model(self, # Prepare model attn = "flash_attention_2" if self.model_args.use_flash_attn else "eager" model_dtype = getattr(torch, self.model_args.model_dtype) - # model_dtype = torch.bfloat16 if attn == "flash_attention_2" else torch.float16 self.model = AutoModelForCausalLM.from_pretrained( self.llm, @@ -189,7 +188,9 @@ def preprocess_chat(self, samples): tokenize=False,) for conv in conversations] return {'text': batch} - def prepare_dataset(self, **kwargs): + def prepare_dataset(self, + stream: bool = False, + **kwargs): """ Prepare training (and eval) dataset. """ @@ -201,15 +202,23 @@ def prepare_dataset(self, **kwargs): else: raise AttributeError(f"Invalid data argument: {kwarg}.") - raw_datasets = IterableDatasetDict() - for split in self.data_args.splits.split(","): - dataset = load_dataset(self.data_args.dataset_name, - split=split, - streaming=True) - raw_datasets[split] = dataset + if stream: + raw_datasets = IterableDatasetDict() + for split in self.data_args.splits.split(","): + dataset = load_dataset(self.data_args.dataset_name, + split=split, + streaming=True) + raw_datasets[split] = dataset + else: + raw_datasets = DatasetDict() + for split in self.data_args.splits.split(","): + dataset = load_dataset(self.data_args.dataset_name, + split=split) + raw_datasets[split] = dataset raw_datasets = raw_datasets.map( self.preprocess_chat, + remove_columns=raw_datasets["train"].column_names, batched=True) self.train_split = raw_datasets["train"] @@ -218,8 +227,7 @@ def prepare_dataset(self, **kwargs): # logging.info(f"Size of training split: {len(self.train_split)}, \ # Size of test split: {len(self.test_split)}") - print(f"Sample from train set: \n{list(self.train_split.take(1))}") - return self.train_split + print(f"Sample text train set: \n{list(self.train_split.take(1))[0]['text']}") def train(self, output_dir:str = None, From 1a90bb2ffddfe0691601d66b3f2e80484fb7f3f8 Mon Sep 17 00:00:00 2001 From: Mofetoluwa Adeyemi Date: Tue, 8 Oct 2024 11:36:26 -0400 Subject: [PATCH 21/21] Add peft demo notebook --- demos/T2T_Peft.ipynb | 4758 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4758 insertions(+) create mode 100644 demos/T2T_Peft.ipynb diff --git a/demos/T2T_Peft.ipynb b/demos/T2T_Peft.ipynb new file mode 100644 index 0000000..1cd2eff --- /dev/null +++ b/demos/T2T_Peft.ipynb @@ -0,0 +1,4758 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "IlngLeqMlNs_" + }, + "source": [ + "### Supervised Finetuning with Text2Text's SFTuner." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true, + "id": "PkkdOgYmF7Ku" + }, + "outputs": [], + "source": [ + "%%bash\n", + "python3 -m pip install -U \"git+https://github.com/Mofetoluwa/text2text.git@89eb73d201c72f59f79c27e4e13252dedf451085\"\n", + "pip install huggingface_hub" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 163, + "referenced_widgets": [ + "126291d4c0ff4e3da02f14a3999b78a0", + "598cf6d647d744709862948031ac8e6e", + "eeb1ecaeebee46e4a24ab7359ebcf469", + "d65803b4b91d4eada8276c0e1d4b7d06", + "390ca6cdcc844ff9b8f0960175d3c070", + "4d821a9bf2924be3b63583b4659bc2cc", + "7f1d1c578c694d93a93d5802966c8c6f", + "b9718dd63e9848ceab27f79d502e9a9b", + "2e878b8a28884f8e9398fc9b0868d2ee", + "0676a8c92eda446a8891a149052ebd73", + "ef2a7849eeb546fb92b47e363fd5f713", + "ac740a093d194f22aca00222ac696e77", + "c31dcc21346b4143b66977cc6ba5abd8", + "175d4a192a704d2ab0b602ed5154d710", + "443b884d808a483badf78a4ded1e2fed", + "3bcd923d9dcd46b4be7c371230dfa600", + "b220d2181d0a4e929af5474bda8e4f44", + "262af9c8188a4febaa9862bd34cc26d5", + "0e1fb334f97b4a5c9898377339c6b5a4", + "0eca7fa355e448329d4c8899a754047b", + "8e422b734e9f4f06af93b86d3360e08e", + "3a4537ff0b224f718b9e7a73d4251a83", + "5afe8dac0533410a98068aea948ac8a4", + "0724a845deb74ca08f7f949f3fff2da8", + "b3e6031ca17e476e8c48313ffcd5ea74", + "1060a85debc74b799dd5551ef1845000", + "bab73953f1f947dca1ed899be761b26b", + "37e82a3a36a74d46a0669843a8704a81", + "9e1d45e8a3754bdf88a4593d57cdf0e5", + "3a47071e884b40bc81b1a2ed884c1399", + "572db5edf7bc49c79bc3f258956435f8", + "0326cb1eb41f496590ae67404b257ace" + ] + }, + "id": "2HJu0J8ZIMVz", + "outputId": "bd874c1a-033b-42e4-f306-631aba201b85" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Better speed can be achieved with apex installed.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "126291d4c0ff4e3da02f14a3999b78a0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(HTML(value='
user\n", + "These instructions apply to section-based themes (Responsive 6.0+, Retina 4.0+, Parallax 3.0+ Turbo 2.0+, Mobilia 5.0+). What theme version am I using?\n", + "On your Collections pages & Featured Collections sections, you can easily show the secondary image of a product on hover by enabling one of the theme's built-in settings!\n", + "Your Collection pages & Featured Collections sections will now display the secondary product image just by hovering over that product image thumbnail.\n", + "Does this feature apply to all sections of the theme or just specific ones as listed in the text material?<|im_end|>\n", + "<|im_start|>assistant\n", + "This feature only applies to Collection pages and Featured Collections sections of the section-based themes listed in the text material.<|im_end|>\n", + "<|im_start|>user\n", + "Can you guide me through the process of enabling the secondary image hover feature on my Collection pages and Featured Collections sections?<|im_end|>\n", + "<|im_start|>assistant\n", + "Sure, here are the steps to enable the secondary image hover feature on your Collection pages and Featured Collections sections:\n", + "\n", + "1. Log in to your Shopify account and go to your Online Store.\n", + "2. Click on Customize theme for the section-based theme you are using.\n", + "3. Navigate to the Collection pages or Featured Collections section where you want to enable the secondary image hover feature.\n", + "4. With the section open, click on the section's setting (gear) icon in the top-left corner.\n", + "5. In the settings panel that appears, look for an option labeled 'Image display' or 'Image hover'.\n", + "6. If available, select 'Show secondary image on hover'.\n", + "7. Save the changes and preview the Collection/Featured Collection page to see the effect.\n", + "\n", + "If you're having trouble finding the setting, the best thing to do is refer to your theme's documentation, since the location and labeling of settings can vary between themes.<|im_end|>\n", + "<|im_start|>user\n", + "Can you provide me with a link to the documentation for my theme?<|im_end|>\n", + "<|im_start|>assistant\n", + "I don't have access to your store's theme information. However, you can usually find the documentation for your theme by going to the shopify theme store, finding your theme and clicking on the 'support' link located in the bottom right corner of the page. Alternatively, you can do a google search for the name of your theme followed by 'documentation' or 'user guide'.<|im_end|>\n", + "<|im_start|>user\n", + "Can you confirm if this feature also works for the Quick Shop section of my theme?<|im_end|>\n", + "<|im_start|>assistant\n", + "The secondary image hover feature may or may not work for your Quick Shop section, depending on the configuration of your theme. Some themes include this feature in the Quick Shop section by default, while others may require additional customization. To check if this feature is available for the Quick Shop section of your theme, follow these steps:\n", + "\n", + "1. Go to the Quick Shop section where you would like to enable the feature. 2. Click on the Quick Shop settings icon (gear icon) and look for 'Image display' or 'Image hover'. 3. If available, select 'Show secondary image on hover'. 4. Save the changes. If this option is not available in your Quick Shop section settings, you may need to reach out to your theme developer for assistance with customizing your Quick Shop section to include this feature.<|im_end|>\n", + "\n" + ] + } + ], + "source": [ + "# Prepare dataset\n", + "\n", + "peft_trainer.prepare_dataset() # Default finetuning on smangrul/ultrachat-10k-chatml" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000, + "referenced_widgets": [ + "ca6af03b6d39444991153268a19a93b1", + "5bd718592a744fe9a2eecedf90b88fd8", + "c0a1bbbf7c5b4b95a286a68a2077478f", + "e6cf457d1fdb4cd781e0b3b939fe5c00", + "914cfcf7a87943d6904ed6fce870adf8", + "07f00a9e5cb44e4ab1b89578fdcaa16e", + "99425f28ec044b3692072df581fb6eee", + "165b034d90e843358af88edda396363e", + "07e701fd23e9438a9e914bd4c646b465", + "39b8b0630453451f85fc9278196fdfce", + "c90f285d69474269863d4308438aed2b", + "68895ee28ae24871bb54a6787d5313a7", + "72d2047aa4f04dc58e8fbc7a4601bc6f", + "d5fe3db8bdfa4440aad15ebc4e96ca37", + "bd29cd0a49e7480fa439b8868d097623", + "e449e5eb6af845b0b35bba1218818fdc", + "ddf12a210ceb40c3b4d5beeff9597006", + "229597687a4c43499c206d0697a72414", + "94c5821d0a1b4f38a28ca08a5a5afd62", + "0c4d060f9e19440ba67e184a58aa8369", + "c9a28e2e47264ca5a1044789e171612b", + "b0d89d82b962455ca0ef6fac4ba58ecd" + ] + }, + "id": "BlqBrEYkWRi-", + "outputId": "306ae9dd-991b-4f7f-c0d7-0c2a2d71721e" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_deprecation.py:100: FutureWarning: Deprecated argument(s) used in '__init__': dataset_text_field, max_seq_length, dataset_kwargs. Will not be supported from version '1.0.0'.\n", + "\n", + "Deprecated positional argument(s) used in SFTTrainer, please use the SFTConfig to set these arguments instead.\n", + " warnings.warn(message, FutureWarning)\n", + "/usr/local/lib/python3.10/dist-packages/trl/trainer/sft_trainer.py:283: UserWarning: You passed a `max_seq_length` argument to the SFTTrainer, the value you passed will override the one in the `SFTConfig`.\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/trl/trainer/sft_trainer.py:321: UserWarning: You passed a `dataset_text_field` argument to the SFTTrainer, the value you passed will override the one in the `SFTConfig`.\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/trl/trainer/sft_trainer.py:327: UserWarning: You passed a `dataset_kwargs` argument to the SFTTrainer, the value you passed will override the one in the `SFTConfig`.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ca6af03b6d39444991153268a19a93b1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Map: 0%| | 0/10000 [00:00\n", + " \n", + " \n", + " [ 81/100 1:45:37 < 25:24, 0.01 it/s, Epoch 0.06/1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining LossValidation Loss
201.6782001.550285
401.5310001.500704
601.4301001.470880

\n", + "

\n", + " \n", + " \n", + " [ 847/1000 22:26 < 04:03, 0.63 it/s]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + " \n", + " [100/100 2:46:01, Epoch 0/1]\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining LossValidation Loss
201.6782001.550285
401.5310001.500704
601.4301001.470880
801.4762001.459645
1001.4795001.456614

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/peft/utils/save_and_load.py:257: UserWarning: Setting `save_embedding_layers` to `True` as the embedding layer has been resized during finetuning.\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/peft/utils/save_and_load.py:257: UserWarning: Setting `save_embedding_layers` to `True` as the embedding layer has been resized during finetuning.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "## Train\n", + "\n", + "peft_trainer.train(\n", + " max_steps = 100,\n", + " learning_rate = 2e-4,\n", + " lr_scheduler_type = \"linear\",\n", + " per_device_train_batch_size = 2,\n", + " per_device_eval_batch_size = 2,\n", + " gradient_accumulation_steps = 4,\n", + " warmup_steps = 5,\n", + " logging_steps = 20,\n", + " eval_strategy = \"steps\",\n", + " fp16 = True,\n", + " bf16 = False,\n", + " )" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "024e1cab0d8a4caab7e25b6f77d5af96": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e52b9191722c469ba4c00e9bb2aa800e", + "max": 524, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d8a210a82c2245169058c2c1c393e7cb", + "value": 524 + } + }, + "0326cb1eb41f496590ae67404b257ace": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0398deb563144938a1d2b466397e5239": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5d5b4955214a40f0a144dd2c961f74f4", + "IPY_MODEL_7edfff7813c3480fa8f071ab5b155955", + "IPY_MODEL_17c3d29158a34162981de2ad0aef08a5" + ], + "layout": "IPY_MODEL_5c11dd2999ab4adcad76f0c3bd658311" + } + }, + "0676a8c92eda446a8891a149052ebd73": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "06e8328ddeda41c796c6f4adae803c38": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_da39c9ac5e8d4056b5c8e3be9856782b", + "max": 35216562, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_65b002d1b1464260aea478bd95261875", + "value": 35216562 + } + }, + "0724a845deb74ca08f7f949f3fff2da8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_572db5edf7bc49c79bc3f258956435f8", + "placeholder": "​", + "style": "IPY_MODEL_0326cb1eb41f496590ae67404b257ace", + "value": "Login successful" + } + }, + "07e701fd23e9438a9e914bd4c646b465": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "07f00a9e5cb44e4ab1b89578fdcaa16e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0c4d060f9e19440ba67e184a58aa8369": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0e1fb334f97b4a5c9898377339c6b5a4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0eca7fa355e448329d4c8899a754047b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1060a85debc74b799dd5551ef1845000": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "126291d4c0ff4e3da02f14a3999b78a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8e422b734e9f4f06af93b86d3360e08e", + "IPY_MODEL_3a4537ff0b224f718b9e7a73d4251a83", + "IPY_MODEL_5afe8dac0533410a98068aea948ac8a4", + "IPY_MODEL_0724a845deb74ca08f7f949f3fff2da8" + ], + "layout": "IPY_MODEL_7f1d1c578c694d93a93d5802966c8c6f" + } + }, + "13f00700f498413aa7ea155656488814": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "14862fda428c42afa65134bbda113812": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9b49c1b9452a43d393cd649b32783edc", + "placeholder": "​", + "style": "IPY_MODEL_6f74a41a7c23445dafb00ae5d3bf9f46", + "value": " 524/524 [00:00<00:00, 13.4kB/s]" + } + }, + "165b034d90e843358af88edda396363e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "175d4a192a704d2ab0b602ed5154d710": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "17c3d29158a34162981de2ad0aef08a5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b7df4c3c2da74e87a850512803697717", + "placeholder": "​", + "style": "IPY_MODEL_27387293f38244cdb087151c7c3ca9aa", + "value": " 10000/10000 [00:01<00:00, 8319.85 examples/s]" + } + }, + "17faf954b5684fb7a7b789f50e6d952a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1cd3facbfc3044a5979a1d0c4fa29cdc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "21d03d71d4ff4140be17360b8a6171f2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "21f495eee7bc4668b15a3239923424eb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "229597687a4c43499c206d0697a72414": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "262af9c8188a4febaa9862bd34cc26d5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0e1fb334f97b4a5c9898377339c6b5a4", + "placeholder": "​", + "style": "IPY_MODEL_0eca7fa355e448329d4c8899a754047b", + "value": "Connecting..." + } + }, + "27387293f38244cdb087151c7c3ca9aa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2866ebb743cb412fbe6d42d848453ab8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d926e99e104c4db9be01e554bbce02c1", + "placeholder": "​", + "style": "IPY_MODEL_dfd4a1660e3d4ecd8c54a6295bb7dc6c", + "value": "Map: 100%" + } + }, + "29556422d72745b09cdff4634413b73b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2972f0a10dac4c54b0fc6fdf1c3be305": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dd89218862d34619bd25ff5e1f2c1ea2", + "placeholder": "​", + "style": "IPY_MODEL_ddf194daed814068a8fd792ac0e029ed", + "value": " 2000/2000 [00:00<00:00, 4877.58 examples/s]" + } + }, + "2a2bba3b8c6f489d9a0b4c3459994d2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2d14f71546054c4f8a782d0cb3ab1677": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_21d03d71d4ff4140be17360b8a6171f2", + "max": 10000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2d32f1aa625a472ca80ceb252df7e271", + "value": 10000 + } + }, + "2d32f1aa625a472ca80ceb252df7e271": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2e878b8a28884f8e9398fc9b0868d2ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2ed83b6802c04aef9cc16d7299eb5363": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_92c0339d02e946ada0ff98b88edc04a7", + "placeholder": "​", + "style": "IPY_MODEL_b608523b5c454b5ea56ef568dfcdb228", + "value": " 2000/2000 [00:00<00:00, 6352.91 examples/s]" + } + }, + "33424b1056d949e39d23951d5dfee393": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "37e82a3a36a74d46a0669843a8704a81": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "390ca6cdcc844ff9b8f0960175d3c070": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "", + "description": "Login", + "disabled": false, + "icon": "", + "layout": "IPY_MODEL_175d4a192a704d2ab0b602ed5154d710", + "style": "IPY_MODEL_443b884d808a483badf78a4ded1e2fed", + "tooltip": "" + } + }, + "39b8b0630453451f85fc9278196fdfce": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3a4537ff0b224f718b9e7a73d4251a83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bab73953f1f947dca1ed899be761b26b", + "placeholder": "​", + "style": "IPY_MODEL_37e82a3a36a74d46a0669843a8704a81", + "value": "Your token has been saved in your configured git credential helpers (store)." + } + }, + "3a47071e884b40bc81b1a2ed884c1399": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3bcd923d9dcd46b4be7c371230dfa600": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3cbd4d13a47243408ec742518709535f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a1af38206df949bbb96e4c07eacaddb9", + "placeholder": "​", + "style": "IPY_MODEL_573b36546d3e492297d2ed23c7841cdc", + "value": " 7.08M/7.08M [00:00<00:00, 13.0MB/s]" + } + }, + "3cbd9ee465034da4868ab8507108bf29": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "443b884d808a483badf78a4ded1e2fed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "button_color": null, + "font_weight": "" + } + }, + "462bdccb7c9f44678dca646d1f913c81": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4a1f578ec85b40babe8418b47187c0af": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_17faf954b5684fb7a7b789f50e6d952a", + "max": 2000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_29556422d72745b09cdff4634413b73b", + "value": 2000 + } + }, + "4aec1ce50ff5404cb9b3fb783eeb22d4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4d821a9bf2924be3b63583b4659bc2cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3bcd923d9dcd46b4be7c371230dfa600", + "placeholder": "​", + "style": "IPY_MODEL_b220d2181d0a4e929af5474bda8e4f44", + "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks.

" + } + }, + "52eab5931a814a24a35c9b4fd8a3822d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "572db5edf7bc49c79bc3f258956435f8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "573b36546d3e492297d2ed23c7841cdc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "57ce96262b244dc39aa46d7b015e25c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "598cf6d647d744709862948031ac8e6e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b9718dd63e9848ceab27f79d502e9a9b", + "placeholder": "​", + "style": "IPY_MODEL_2e878b8a28884f8e9398fc9b0868d2ee", + "value": "

Copy a token from your Hugging Face\ntokens page and paste it below.
Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file.
" + } + }, + "5ac74924ad7b4a719fcfc831dd116aa9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5ac7a555cffa43f497105ece20b4ac81": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5afe8dac0533410a98068aea948ac8a4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9e1d45e8a3754bdf88a4593d57cdf0e5", + "placeholder": "​", + "style": "IPY_MODEL_3a47071e884b40bc81b1a2ed884c1399", + "value": "Your token has been saved to /root/.cache/huggingface/token" + } + }, + "5bd718592a744fe9a2eecedf90b88fd8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_07f00a9e5cb44e4ab1b89578fdcaa16e", + "placeholder": "​", + "style": "IPY_MODEL_99425f28ec044b3692072df581fb6eee", + "value": "Map: 100%" + } + }, + "5c11dd2999ab4adcad76f0c3bd658311": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5d5b4955214a40f0a144dd2c961f74f4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5ac7a555cffa43f497105ece20b4ac81", + "placeholder": "​", + "style": "IPY_MODEL_c6878d1d67404e8f8b5581eff872a9f4", + "value": "Map: 100%" + } + }, + "5ddce51195f84da1823cd18452aa6c8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_2866ebb743cb412fbe6d42d848453ab8", + "IPY_MODEL_4a1f578ec85b40babe8418b47187c0af", + "IPY_MODEL_2972f0a10dac4c54b0fc6fdf1c3be305" + ], + "layout": "IPY_MODEL_1cd3facbfc3044a5979a1d0c4fa29cdc" + } + }, + "62f5811561044eefa771ccd1c1982b52": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "65b002d1b1464260aea478bd95261875": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "68895ee28ae24871bb54a6787d5313a7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_72d2047aa4f04dc58e8fbc7a4601bc6f", + "IPY_MODEL_d5fe3db8bdfa4440aad15ebc4e96ca37", + "IPY_MODEL_bd29cd0a49e7480fa439b8868d097623" + ], + "layout": "IPY_MODEL_e449e5eb6af845b0b35bba1218818fdc" + } + }, + "6a0da82f39c94642b2191bcc5622e57e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_33424b1056d949e39d23951d5dfee393", + "placeholder": "​", + "style": "IPY_MODEL_baa6cb39743c4d2384081c81dab65d36", + "value": "test-00000-of-00001.parquet: 100%" + } + }, + "6dff2690bd1f469a9f5151f30422c741": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_6a0da82f39c94642b2191bcc5622e57e", + "IPY_MODEL_c9cadfff99fa4c6b945124ce84d3c721", + "IPY_MODEL_3cbd4d13a47243408ec742518709535f" + ], + "layout": "IPY_MODEL_52eab5931a814a24a35c9b4fd8a3822d" + } + }, + "6f74a41a7c23445dafb00ae5d3bf9f46": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "72d2047aa4f04dc58e8fbc7a4601bc6f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ddf12a210ceb40c3b4d5beeff9597006", + "placeholder": "​", + "style": "IPY_MODEL_229597687a4c43499c206d0697a72414", + "value": "Map: 100%" + } + }, + "7d438dd9e5104597a4c43d0553ee2fe8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fadb71cc1306401a982deef44362447b", + "max": 2000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a42a64987dd141989c3a1710ede1f5ba", + "value": 2000 + } + }, + "7edfff7813c3480fa8f071ab5b155955": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4aec1ce50ff5404cb9b3fb783eeb22d4", + "max": 10000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3cbd9ee465034da4868ab8507108bf29", + "value": 10000 + } + }, + "7f1d1c578c694d93a93d5802966c8c6f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": "center", + "align_self": null, + "border": null, + "bottom": null, + "display": "flex", + "flex": null, + "flex_flow": "column", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "50%" + } + }, + "874f4a4119d54b80af223dc5997ec9be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_462bdccb7c9f44678dca646d1f913c81", + "placeholder": "​", + "style": "IPY_MODEL_57ce96262b244dc39aa46d7b015e25c0", + "value": "Generating test split: 100%" + } + }, + "88e2205a48324221a486d4fbfef0ffac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dfddbe2c3f2e42828965c7e8989cf17f", + "placeholder": "​", + "style": "IPY_MODEL_8ac8b33209704d489fdf4a49ada1b9ef", + "value": "README.md: 100%" + } + }, + "8985fcae5f9943518fcf1324872bd435": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8a88ba79d0774d53b252fe0f9f4f920a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8a90ae7feecd4d88b3b598be7daa5607": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_874f4a4119d54b80af223dc5997ec9be", + "IPY_MODEL_7d438dd9e5104597a4c43d0553ee2fe8", + "IPY_MODEL_2ed83b6802c04aef9cc16d7299eb5363" + ], + "layout": "IPY_MODEL_5ac74924ad7b4a719fcfc831dd116aa9" + } + }, + "8ac8b33209704d489fdf4a49ada1b9ef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8e422b734e9f4f06af93b86d3360e08e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "LabelModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b3e6031ca17e476e8c48313ffcd5ea74", + "placeholder": "​", + "style": "IPY_MODEL_1060a85debc74b799dd5551ef1845000", + "value": "Token is valid (permission: fineGrained)." + } + }, + "914cfcf7a87943d6904ed6fce870adf8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "92c0339d02e946ada0ff98b88edc04a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "94c5821d0a1b4f38a28ca08a5a5afd62": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "99425f28ec044b3692072df581fb6eee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9b49c1b9452a43d393cd649b32783edc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ce7fe0f6cf24aca949018b7b777bd1d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8a88ba79d0774d53b252fe0f9f4f920a", + "placeholder": "​", + "style": "IPY_MODEL_a4be17d394894d51951bce759f52686f", + "value": " 10000/10000 [00:01<00:00, 11116.82 examples/s]" + } + }, + "9e1d45e8a3754bdf88a4593d57cdf0e5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a1af38206df949bbb96e4c07eacaddb9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a3fb8b9e2b1844d2bef01fd2e46710e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a420ed0378b74bffba46b3b58f5a0533": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e2c1204da3564eb38b3ae2777af00924", + "placeholder": "​", + "style": "IPY_MODEL_bb23ee4802d54363b80767811c9c06df", + "value": "train-00000-of-00001.parquet: 100%" + } + }, + "a42a64987dd141989c3a1710ede1f5ba": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a4be17d394894d51951bce759f52686f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ac740a093d194f22aca00222ac696e77": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ae61ab84840e45abb72f75cdb11350ad": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ae7c2216eddb4830880d0a2c00af1d54": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b0d89d82b962455ca0ef6fac4ba58ecd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b220d2181d0a4e929af5474bda8e4f44": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b3e6031ca17e476e8c48313ffcd5ea74": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b608523b5c454b5ea56ef568dfcdb228": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b7df4c3c2da74e87a850512803697717": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b9718dd63e9848ceab27f79d502e9a9b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "baa6cb39743c4d2384081c81dab65d36": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "bab73953f1f947dca1ed899be761b26b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bb23ee4802d54363b80767811c9c06df": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "bc7dabf5f2264c3581549a7b31d0df71": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ffcc7857cd30422480a914c80e7e7c0d", + "IPY_MODEL_2d14f71546054c4f8a782d0cb3ab1677", + "IPY_MODEL_9ce7fe0f6cf24aca949018b7b777bd1d" + ], + "layout": "IPY_MODEL_8985fcae5f9943518fcf1324872bd435" + } + }, + "bd29cd0a49e7480fa439b8868d097623": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c9a28e2e47264ca5a1044789e171612b", + "placeholder": "​", + "style": "IPY_MODEL_b0d89d82b962455ca0ef6fac4ba58ecd", + "value": " 2000/2000 [00:06<00:00, 292.25 examples/s]" + } + }, + "c0a1bbbf7c5b4b95a286a68a2077478f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_165b034d90e843358af88edda396363e", + "max": 10000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_07e701fd23e9438a9e914bd4c646b465", + "value": 10000 + } + }, + "c31dcc21346b4143b66977cc6ba5abd8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c6878d1d67404e8f8b5581eff872a9f4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c90f285d69474269863d4308438aed2b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c9a28e2e47264ca5a1044789e171612b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c9cadfff99fa4c6b945124ce84d3c721": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_62f5811561044eefa771ccd1c1982b52", + "max": 7079590, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2a2bba3b8c6f489d9a0b4c3459994d2d", + "value": 7079590 + } + }, + "ca6af03b6d39444991153268a19a93b1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5bd718592a744fe9a2eecedf90b88fd8", + "IPY_MODEL_c0a1bbbf7c5b4b95a286a68a2077478f", + "IPY_MODEL_e6cf457d1fdb4cd781e0b3b939fe5c00" + ], + "layout": "IPY_MODEL_914cfcf7a87943d6904ed6fce870adf8" + } + }, + "d5fe3db8bdfa4440aad15ebc4e96ca37": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_94c5821d0a1b4f38a28ca08a5a5afd62", + "max": 2000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0c4d060f9e19440ba67e184a58aa8369", + "value": 2000 + } + }, + "d65803b4b91d4eada8276c0e1d4b7d06": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "CheckboxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "CheckboxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "CheckboxView", + "description": "Add token as git credential?", + "description_tooltip": null, + "disabled": false, + "indent": true, + "layout": "IPY_MODEL_ac740a093d194f22aca00222ac696e77", + "style": "IPY_MODEL_c31dcc21346b4143b66977cc6ba5abd8", + "value": true + } + }, + "d8a210a82c2245169058c2c1c393e7cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d926e99e104c4db9be01e554bbce02c1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "da31c6effe9f4e94a5fedf1bebb3ebeb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "da39c9ac5e8d4056b5c8e3be9856782b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "db62ec09213c4795b47c3b27369e943d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_88e2205a48324221a486d4fbfef0ffac", + "IPY_MODEL_024e1cab0d8a4caab7e25b6f77d5af96", + "IPY_MODEL_14862fda428c42afa65134bbda113812" + ], + "layout": "IPY_MODEL_21f495eee7bc4668b15a3239923424eb" + } + }, + "dd89218862d34619bd25ff5e1f2c1ea2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ddf12a210ceb40c3b4d5beeff9597006": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ddf194daed814068a8fd792ac0e029ed": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dfd4a1660e3d4ecd8c54a6295bb7dc6c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dfddbe2c3f2e42828965c7e8989cf17f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e2c1204da3564eb38b3ae2777af00924": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e449e5eb6af845b0b35bba1218818fdc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e52b9191722c469ba4c00e9bb2aa800e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e6cf457d1fdb4cd781e0b3b939fe5c00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_39b8b0630453451f85fc9278196fdfce", + "placeholder": "​", + "style": "IPY_MODEL_c90f285d69474269863d4308438aed2b", + "value": " 10000/10000 [00:33<00:00, 321.92 examples/s]" + } + }, + "eca3acfeed1540d380cf228f0e7ba062": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a420ed0378b74bffba46b3b58f5a0533", + "IPY_MODEL_06e8328ddeda41c796c6f4adae803c38", + "IPY_MODEL_ed31336894e94ca89550033f840b6cc1" + ], + "layout": "IPY_MODEL_a3fb8b9e2b1844d2bef01fd2e46710e3" + } + }, + "ed31336894e94ca89550033f840b6cc1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ae7c2216eddb4830880d0a2c00af1d54", + "placeholder": "​", + "style": "IPY_MODEL_ae61ab84840e45abb72f75cdb11350ad", + "value": " 35.2M/35.2M [00:00<00:00, 55.9MB/s]" + } + }, + "eeb1ecaeebee46e4a24ab7359ebcf469": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "PasswordModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "PasswordModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "PasswordView", + "continuous_update": true, + "description": "Token:", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_0676a8c92eda446a8891a149052ebd73", + "placeholder": "​", + "style": "IPY_MODEL_ef2a7849eeb546fb92b47e363fd5f713", + "value": "" + } + }, + "ef2a7849eeb546fb92b47e363fd5f713": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "fadb71cc1306401a982deef44362447b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ffcc7857cd30422480a914c80e7e7c0d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_da31c6effe9f4e94a5fedf1bebb3ebeb", + "placeholder": "​", + "style": "IPY_MODEL_13f00700f498413aa7ea155656488814", + "value": "Generating train split: 100%" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}