├── README.md └── docs ├── useful_miner_scirpts ├── start_model_endpoint.md ├── auto_firewall_for_miners.md ├── auto_registration.py └── simple_similarity_checker.ipynb ├── tips_subnet_11.md ├── readme.md └── start_mining.md /README.md: -------------------------------------------------------------------------------- 1 | # bittensor-mining-tutorial 2 | 3 | Welcome to the `bittensor-mining-tutorial` repository by TensorTeacher! 4 | 5 | This repo show you how to start mining on Bittensor using a center-endpoint, meaning that all queries to your miners get forwarded to one central endpoint, for increased scalability and customizability. 6 | 7 | ## Tutorial 8 | 9 | Find out how to set up an endpoint-center for mining on Bittensor: https://github.com/TensorTeacher/bittensor-mining-tutorial/blob/main/docs/start_mining_aws.md 10 | 11 | You can also find video tutorials here: https://www.youtube.com/watch?v=Ko1Y4n0DEIo&list=PL0CZ9z4_TIxce1sAJr8DCCLIJNwfE8ON1 12 | 13 | ## Contributions 14 | 15 | I am open to suggestions and feedback! If you have any specific topics or areas you would like to learn more about regarding mining on Bittensor, feel free to share your thoughts. Your suggestions will help shape the content of future tutorials and scripts. 16 | 17 | -------------------------------------------------------------------------------- /docs/useful_miner_scirpts/start_model_endpoint.md: -------------------------------------------------------------------------------- 1 | ## This Tutorial Shows How to Start a Model Endpoint 2 | 3 | 1. Get a server from Runpod or Vast AI that uses the Bittensor image 4 | 5 | 2. Run: 6 | ``` 7 | sudo apt update && sudo apt upgrade -y && sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates && curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - && sudo apt -y install nodejs && node -v && npm install pm2 -g && printf '\n\n' 8 | ``` 9 | 3. Pick a model from Huggingface 10 | 11 | 4. Modify the model endpoint script to use the new model: 12 | https://github.com/TensorTeacher/endpoint-center/blob/main/model_endpoint.py 13 | 14 | 5. Copy the script to the server: 15 | ``` 16 | cat > endpoint.py 17 | ``` 18 | 6. Modify the pm2.json file: 19 | ``` 20 | { 21 | "apps": [ 22 | { 23 | "name": "s1", 24 | "script": "endpoint.py", 25 | "args": [ 26 | "--auth_token", 27 | "auth_token_to_access_your_server", 28 | "--model_name", 29 | "name_on_huggingface", 30 | "--port", 31 | "port_you_want_to_use" 32 | ], 33 | "interpreter": "python", 34 | "env": { 35 | "CUDA_VISIBLE_DEVICES": "0" 36 | } 37 | }, 38 | ] 39 | } 40 | ``` 41 | 7. Copy it to the server: 42 | ``` 43 | cat > pm2.json 44 | ``` 45 | 8. Start the model inference: 46 | pm2 start pm2.json 47 | 48 | 9. Test that it works: 49 | ``` 50 | import requests 51 | import json 52 | 53 | url = "http://IP_ADDRES_HERE:PORT_HERE" 54 | 55 | 56 | messages = [{'role': 'user', 'content': "What is 2+1?"}] 57 | 58 | headers = {"Content-Type": "application/json"} 59 | 60 | response = requests.post( 61 | url, 62 | data=json.dumps({"messages": messages}), 63 | headers={"Content-Type": "application/json"} 64 | ) 65 | 66 | print("Response:", response.json()["response"]) 67 | ``` 68 | -------------------------------------------------------------------------------- /docs/tips_subnet_11.md: -------------------------------------------------------------------------------- 1 | Subnet 11 and subnet 21 will have a lot lower emission than net 1, while also having more miners. 2 | 3 | This means cost efficiency becomes very important, since if you pay too much for compute, the generated tao will not cover the expenses. 4 | 5 | ## Earnings 6 | Subent 11 will have 2048 miners, and initally get 512 Tao per day in emission. Half of this goes to miners. 7 | 8 | Thus, the average miner will earn about 0.14 Tao per day. Thus the compute cost needs to be very low to be profitable, and you need a large number of miners for it to be worth your time. 9 | 10 | ## Setup Recommendation 11 | 12 | ### 1. Use an API 13 | The easiest way to mine, will be to use an API, for use gpt-3.5-turbo by OpenAI. However, this might get expensive, and hard to make profitable. 14 | 15 | If you do use an API, I suggest you try to limit the amount of tokens you input, and also set the max length of generation. 16 | 17 | ###2. Use a Small Open Source Model from Huggingface 18 | There are some good models around 7B parameters in size, and you can hopefully fit them on cost efficient GPUs such as 3090 or 4090 GPUs. 19 | 20 | You might have to limit the amount of tokens though not to run out of vram. If you need more vram you can always use an A6000. 21 | 22 | Further, I highly recomend you use one GPU for many miners, for example using the endpoint-center repo: https://github.com/TensorTeacher/endpoint-center/tree/main 23 | 24 | ## Other tips 25 | 26 | ### Blacklist if Your Incentive Allows it 27 | 28 | If you want to cut costs, and your miners have good enough incentive not to get deregistered, you can blacklist validators with low stakes. 29 | 30 | Here are two ways to do it: 31 | #### Option 1. 32 | Change the blacklisting value in the bittensor/_blacklist/init.py file. 33 | 34 | If you are in the bittensor repo, you can use: nano bittensor/_blacklist/init.py 35 | And then go down to "default = 0.0" and change the value from 0 to the desired value. 36 | 37 | You need to restart the miners that are already running for the change to take effect. 38 | 39 | #### Option 2. 40 | Pass the flag "--neuron.blacklist.default_stake" to you miner, followed by the stake you want to set as minimum. 41 | 42 | -------------------------------------------------------------------------------- /docs/readme.md: -------------------------------------------------------------------------------- 1 | # Getting Started with Bittensor Mining 2 | 3 | ## Inital remarks 4 | Mining on net 1 is very different from how it was to mine on net 3. 5 | 6 | The goal is to give the best and most unique replies to prompts sent by the validators in a chat format. You can check out the code that validators use for scoring here: https://github.com/opentensor/validators 7 | 8 | There is a big penalty for generating replies that are similar to replies generated by other miners. Therefore it can be a good idea to use unusual models, high temperature (randomness when generating) and prompt injection to get more unique responses. 9 | 10 | I very highly recommend starting with mining on subnet 11 that is likely to get emission soon, and only if your miners works really well there, try your hand at the much more competetive subnet 1. 11 | 12 | 13 | 14 | 15 | ## Models to Use 16 | One popular model to use, is gpt-3.5-turbo (chatgpt), by OpenAI. However, since it is widely used, you need to make your generations different somehow, for example through prompt injection or high temperature. 17 | 18 | You can also browse Huggingface for open source models, for exampel by searching on "chat": https://huggingface.co/models?sort=trending&search=chat 19 | 20 | Or you can simply Google "best open source chat models". 21 | 22 | ## Prompt injection 23 | Prompt injection means in text giving specific instructions to the model on what type of response to generate. 24 | 25 | For example, if you get the prompt "What is the capital of Egypt?", you could have a prompt you add to your questions, for example "Answer using academic language.", so the full prompt would be "What is the capital of Egypt? Answer using academic language." 26 | 27 | This way, the responses would be more academic than responses by other miners using, which might give you a better uniqueness score. 28 | 29 | 30 | 31 | ## GPU Recommendations 32 | Most miners use either Vast.ai for rundpod.io for GPUs. 33 | 34 | What GPUs are most suitable depends on the model you want to run, as well as your price sensetivity. 35 | 36 | 4090 GPUs are both extremely fast and cost effective, so if your model fits in the 24GB vram it is highly recommended 37 | 38 | A6000 Ada and L40 GPUs are roughly as fast as 4090s, but have twice the vram, meaning they can fit bigger models. However, they are about twice as expensive. 39 | 40 | Normal A6000s are a cheaper option if you need 48 GB ram, but the GPUs are slower. 41 | 42 | If you need even more ram H100 is the best option, although expensive, they are the fastest in most cases, and has 80 GB vram. 43 | 44 | ## Fine-Tuning 45 | Fine-tuning is not as straight forward as it was on net 3. The data asked by validators is constantly changing, and you are optimizing for good and unique answers, rather than predicting text. 46 | 47 | However, if you are experience with fine-tuning, you could take a look on the data shared by the validators, and based on that create a dataset for fine tuning: https://wandb.ai/opentensor-dev/openvalidators 48 | 49 | The last option is RL4HF based on the reward models the validators use, but that seems like a tricky endevour. 50 | -------------------------------------------------------------------------------- /docs/useful_miner_scirpts/auto_firewall_for_miners.md: -------------------------------------------------------------------------------- 1 | Recently, there have been ddos attacks on the bittensor network, and to protect your miners, you can modify the server running your miners to only accept requests from validator IP address ranges. 2 | 3 | This code was provided by carro for blocking all non-validator IP addresses, you should run it using pm2 since you want it to be permanent: 4 | 5 | ```python3 6 | import copy 7 | import time 8 | import torch 9 | import argparse 10 | import bittensor as bt 11 | import subprocess 12 | 13 | def resync_metagraph(): 14 | bt.logging.info("resync_metagraph()") 15 | 16 | previous_metagraph = copy.deepcopy(metagraph) 17 | 18 | # sync metagraph 19 | metagraph.sync(subtensor=subtensor) 20 | 21 | # Check if the metagraph axon info has changed. 22 | metagraph_axon_info_updated = previous_metagraph.axons != metagraph.axons 23 | 24 | if metagraph_axon_info_updated: 25 | bt.logging.info("Metagraph updated, re-syncing hotkeys") 26 | 27 | bt.logging.info("Metagraph synced!") 28 | 29 | def check_metagraph(): 30 | bt.logging.info("check_metagraph()") 31 | indices = torch.topk(metagraph.stake, 60).indices 32 | 33 | uids_with_highest_stake = metagraph.uids[indices].tolist() 34 | 35 | axons = [metagraph.axons[uid] for uid in uids_with_highest_stake] 36 | 37 | ips = [axon.ip for axon in axons] 38 | 39 | uids_with_highest_stake, ips = zip(*[(uid, ip) for uid, ip in zip(uids_with_highest_stake, ips)]) 40 | 41 | unique_ip_to_uid = {ip: uid for ip, uid in zip(ips, uids_with_highest_stake)} 42 | ips = list(unique_ip_to_uid.keys()) 43 | 44 | bt.logging.info(f"Top 50 uids: {uids_with_highest_stake}") 45 | 46 | return ips 47 | 48 | def whitelist_ips_in_ufw(ips): 49 | 50 | stop_cmd = "sudo ufw disable" 51 | reset_cmd = "echo y | sudo ufw reset" 52 | 53 | subprocess.run(stop_cmd, shell=True) 54 | subprocess.run(reset_cmd, shell=True) 55 | 56 | ssh_cmd = "sudo ufw allow ssh" 57 | subprocess.run(ssh_cmd, shell=True) 58 | for ip in ips: 59 | cmd = f"sudo ufw allow proto tcp from {ip}/16" 60 | subprocess.run(cmd, shell=True) 61 | bt.logging.info(f"Whitelisted IP {ip} for bittensor") 62 | 63 | 64 | start_cmd = "echo y | sudo ufw enable" 65 | subprocess.run(start_cmd, shell=True) 66 | 67 | 68 | def parse_arguments(): 69 | parser = argparse.ArgumentParser(description="Run firewall") 70 | parser.add_argument('--netuid', help='Machine to connect to', choices=[1, 11, 21], default=1) 71 | 72 | args = parser.parse_args() 73 | return args 74 | 75 | if __name__ == "__main__": 76 | args = parse_arguments() 77 | subtensor = bt.subtensor(network="finney") 78 | metagraph = subtensor.metagraph(netuid=args.netuid) 79 | 80 | # ips = check_metagraph() 81 | 82 | # # take the first two places from ip e.g. 131.186.1.1 -> 131.186.0.0 83 | # ips = [ip.split(".")[0] + "." + ip.split(".")[1] + ".0.0" for ip in ips] 84 | 85 | while True: 86 | # Resync the metagraph 87 | resync_metagraph() 88 | 89 | # get the ips of the top 60 validator 90 | ips = check_metagraph() 91 | 92 | # take the first two places from ip e.g. 131.186.1.1 -> 131.186.0.0 93 | ips = [ip.split(".")[0] + "." + ip.split(".")[1] + ".0.0" for ip in ips] 94 | 95 | # Whitelist the IPs in UFW 96 | whitelist_ips_in_ufw(ips) 97 | 98 | 99 | # Wait for 100 blocks (1200 seconds or 20 minutes) 100 | bt.logging.info("Waiting for 100 blocks, sleeping") 101 | time.sleep(1200) 102 | 103 | ``` 104 | 105 | To use it, create a file called ufw.py by running this command: 106 | ``` 107 | cat > ufw.py 108 | ``` 109 | And then copy paste the code above into the file. 110 | 111 | Then start the process by running: 112 | ``` 113 | pm2 start ufw.py --name ufw 114 | ``` 115 | -------------------------------------------------------------------------------- /docs/useful_miner_scirpts/auto_registration.py: -------------------------------------------------------------------------------- 1 | """ 2 | This is a script for automatically registering keys on the Bittensor network when the price is under the limit you set. 3 | This script is provided as is, and has no guarantee. 4 | It mostly works in my test, but some errors are unhandeled and in that case it will skip to the next hotkey. 5 | 6 | NEVER EVER share coldkey mnemonics with anyone or put it in any script. And always be extremely careful with how you use your keys. Please check this script to make sure it hasn't been tampered with. 7 | 8 | Usage: 9 | 1. Check the script to control it has not been tampered with, and you know it is safe. 10 | 2. Fill in wallet name, hotkey names, and the max cost and password for your coldkey. 11 | 3. Paste all the code into a file called re_keys.py 12 | 4. Start the program by running: python3 reg_keys.py 13 | """ 14 | 15 | 16 | wallet = "name_of_your_coldkey" 17 | hotkeys = ["1","2","3"] #a list with the names of all the hotkeys you want to register 18 | highest_cost = 2.0 #The maximal amount of Tao you are willing to burn to register 19 | password = "" #Password for your cold key 20 | 21 | import pexpect 22 | import re 23 | import sys 24 | import time 25 | import traceback 26 | from datetime import datetime 27 | 28 | iterate=False 29 | while True: 30 | for hotkey in hotkeys: 31 | while True: 32 | try: 33 | iterate=False 34 | command = 'btcli recycle_register -subtensor.network finney --netuid 1 --wallet.name {} --wallet.hotkey {}'.format(wallet,hotkey) 35 | # Get the current time 36 | current_time = datetime.now().time() 37 | 38 | # Format the time as HH:MM:SS 39 | formatted_time = current_time.strftime("%H:%M:%S") 40 | 41 | # Print the formatted time 42 | print("\nColdkey:",wallet,"Hotkey:", hotkey, flush=True) 43 | print(formatted_time,flush=True) 44 | 45 | child = pexpect.spawn(command) 46 | 47 | child.logfile_read = sys.stdout.buffer 48 | 49 | child.expect('Enter subtensor network') 50 | print("\nSending: ", flush=True) 51 | child.sendline('') 52 | 53 | child.expect(r'The cost to register by recycle is (.*?)(?:\n|$)') 54 | cost_str = child.match.group(1).decode('utf-8').replace('τ', '') 55 | clean_cost_str = re.sub(r'\x1b\[[0-9;]*m', '', cost_str).strip() 56 | cost = float(clean_cost_str) 57 | 58 | if cost > highest_cost: 59 | print("Not buying: n", flush=True) 60 | child.sendline('n') 61 | continue 62 | else: 63 | print("Sending1: y", flush=True) 64 | child.sendline('y') 65 | 66 | child.expect('Enter password to unlock key') 67 | print("\nSending: password") 68 | child.sendline(password) 69 | print("\nPassword sent") 70 | try: 71 | child.expect(r'Recycle (.*?) to register on subnet') 72 | except: 73 | break 74 | recycle_cost_str = child.match.group(1).decode('utf-8').replace('τ', '') 75 | clean_recycle_cost_str = re.sub(r'\x1b\[[0-9;]*m', '', recycle_cost_str).strip() 76 | recycle_cost = float(clean_recycle_cost_str) 77 | print("Recycle cost:", recycle_cost) 78 | 79 | if recycle_cost > highest_cost: 80 | print("Sending: n", flush=True) 81 | child.sendline('n') 82 | else: 83 | print("Sending2: y", flush=True) 84 | child.sendline('y') 85 | 86 | child.expect(r'Registered',timeout=120) 87 | break 88 | except Exception as e: 89 | print("An error occured", e) 90 | print(traceback.format_exc()) 91 | child.sendintr() # Send Ctrl+C 92 | child.expect(pexpect.EOF) # Wait for the command to exit 93 | if iterate: 94 | break 95 | else: 96 | continue 97 | -------------------------------------------------------------------------------- /docs/start_mining.md: -------------------------------------------------------------------------------- 1 | # Bittensor Mining Tutorial 2 | 3 | This tutorial will guide you through the process of setting up a miner on the Bittensor Network, a blockchain for decentralized AIs. 4 | There might be slight differences depending on platform. This tutorial was confirmed working for AWS servers with the ubuntu image. 5 | The following steps will be covered: 6 | 7 | - Step 1: Set up Subtensor 8 | - Step 2: Create a Wallet 9 | - Step 3: Set up the Miner 10 | - Step 4: Register Your Miner 11 | 12 | Please note that Steps 1, 2, and 4 have detailed documentation available on the official Bittensor website (https://bittensor.com/documentation/intro/index). 13 | 14 | Here, we will focus on step 3, setting up the miner, and for that we will be using the Center endpoint script. 15 | 16 | ## Getting Started with the Endpoint Miner Script 17 | 18 | ### Step 1: Set up the center-endpoint 19 | 20 | The center-endpoint acts as a server that forwards requests from your miners. It provides an easy way to manage, update, experiment, and scale your miners. Follow these steps to set it up: 21 | 22 | 1. Start the server, and update and instal python and pip: 23 | ``` 24 | sudo apt update && sudo apt upgrade -y 25 | sudo apt install python3-pip -y 26 | ``` 27 | 2. Clone the center-endpoint repository: 28 | ``` 29 | git clone https://github.com/TensorTeacher/endpoint-center 30 | ``` 31 | 3. Install the required dependencies: 32 | ``` 33 | cd endpoint-center 34 | pip3 install -r requirements.txt 35 | ``` 36 | 4. You can either modify the `endpoint_center.py` script or use the default script that utilizes OpenAI. To run the default script, execute the following command: 37 | ``` 38 | python3 endpoint_center.py --openai_api_key "YOUR_OPENAI_KEY" --auth_token "any_auth_token_you_want" 39 | ``` 40 | If you want the script to run in the background, you can use the following command: 41 | ``` 42 | nohup python3 endpoint_center.py --openai_api_key "YOUR_OPENAI_KEY" --auth_token "any_auth_token_you_want" & 43 | ``` 44 | You can view the output using `tail -n 100 nohup.out`. 45 | 46 | ### Step 2: Set up the miner 47 | 48 | You can run multiple miners on a single server. As a general guideline, allocate around 0.5 GB of RAM per miner. For example, if your server has 8 GB of RAM, you can run approximately 16 miners without any issues. Follow these steps to set up a miner: 49 | 50 | 1. Start the server, and update and instal python and pip: 51 | ``` 52 | sudo apt update && sudo apt upgrade -y 53 | sudo apt install python3-pip -y 54 | ``` 55 | 2. Install Bittensor by cloning the repository: 56 | ``` 57 | git clone https://github.com/opentensor/bittensor 58 | cd bittensor 59 | python3 -m pip install -e . 60 | ``` 61 | 3. Add the package to path: 62 | ``` 63 | echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc 64 | source ~/.bashrc 65 | ``` 66 | 5. Create keys if you don't already have them: 67 | ``` 68 | btcli new_coldkey 69 | btcli new_hotkey 70 | ``` 71 | 7. You then need to add the endpoint miner script found at: https://github.com/TensorTeacher/endpoint-center/blob/main/endpoint_miner.py 72 | 73 | In the terminal to create a file with the endpoint miner script, enter: 74 | ``` 75 | cat > endpoint_miner.py 76 | ``` 77 | Then aste the endpoint miner script, press enter, and then press `Ctrl + D`. 78 | 79 | 8. Install pm2: 80 | ``` 81 | sudo apt-get install nodejs -y -y 82 | sudo apt-get install npm 83 | sudo npm install pm2 -g 84 | ``` 85 | 10. It is recommended to use pm2 to manage miners instead of running them directly with Python. Once you have installed pm2, create a pm2 config file as shown below: 86 | 87 | ``` 88 | cat > pm2-config.json 89 | ``` 90 | 91 | Paste the following example config file, modifying it to match your requirements: 92 | 93 | ```json 94 | { 95 | "apps": [ 96 | { 97 | "name": "miner_1", 98 | "script": "endpoint_miner.py", 99 | "interpreter": "python3", 100 | "args": "--name hotkey_name --axon.port your_axon_port --wallet.hotkey hotkey_name --wallet.name your_wallet_name --logging.debug --endpoint.url url_to_where_center_endpoint_is --endpoint.verify_token your_verification_token --subtensor.network finney --subtensor.chain_endpoint your_subtensor_endpoint:9944 --netuid netuid_you_want_to_mine_on", 101 | "error_file": "nohup1.err", 102 | "out_file": "nohup1.out" 103 | } 104 | ] 105 | } 106 | ``` 107 | 108 | You can include multiple miners in the same pm2-config.json file. 109 | 110 | 11. Start the miner(s) by running the following command: 111 | ``` 112 | pm2 start pm2-config.json 113 | ``` 114 | 12. Recyle register 115 | You then need to burn tao to get your miner registered. The cost varies depending on time and on what network. 116 | ``` 117 | btcli recycle_register -subtensor.network finney --netuid netuid_you_want_to_mine_on --wallet.name your_wallet_name --wallet.hotkey hotkey_name 118 | ``` 119 | -------------------------------------------------------------------------------- /docs/useful_miner_scirpts/simple_similarity_checker.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "provenance": [], 7 | "gpuType": "T4" 8 | }, 9 | "kernelspec": { 10 | "name": "python3", 11 | "display_name": "Python 3" 12 | }, 13 | "language_info": { 14 | "name": "python" 15 | }, 16 | "accelerator": "GPU", 17 | "widgets": { 18 | "application/vnd.jupyter.widget-state+json": { 19 | "000b2771027e404688802d9724cb23ce": { 20 | "model_module": "@jupyter-widgets/controls", 21 | "model_name": "HBoxModel", 22 | "model_module_version": "1.5.0", 23 | "state": { 24 | "_dom_classes": [], 25 | "_model_module": "@jupyter-widgets/controls", 26 | "_model_module_version": "1.5.0", 27 | "_model_name": "HBoxModel", 28 | "_view_count": null, 29 | "_view_module": "@jupyter-widgets/controls", 30 | "_view_module_version": "1.5.0", 31 | "_view_name": "HBoxView", 32 | "box_style": "", 33 | "children": [ 34 | "IPY_MODEL_6441fbdb2890492ea78a49168b435f4b", 35 | "IPY_MODEL_73494315bb7641d4883818bf40b585d4", 36 | "IPY_MODEL_56f0ac289c3e4afdad619f58af533d47" 37 | ], 38 | "layout": "IPY_MODEL_8831ef6ef10f4ba19502f2ef5eea23a1" 39 | } 40 | }, 41 | "6441fbdb2890492ea78a49168b435f4b": { 42 | "model_module": "@jupyter-widgets/controls", 43 | "model_name": "HTMLModel", 44 | "model_module_version": "1.5.0", 45 | "state": { 46 | "_dom_classes": [], 47 | "_model_module": "@jupyter-widgets/controls", 48 | "_model_module_version": "1.5.0", 49 | "_model_name": "HTMLModel", 50 | "_view_count": null, 51 | "_view_module": "@jupyter-widgets/controls", 52 | "_view_module_version": "1.5.0", 53 | "_view_name": "HTMLView", 54 | "description": "", 55 | "description_tooltip": null, 56 | "layout": "IPY_MODEL_c3b71b092f904fcb90938dede42acfc9", 57 | "placeholder": "​", 58 | "style": "IPY_MODEL_c0108eff8a1048cf8d5649b74101a996", 59 | "value": "Downloading (…)okenizer_config.json: 100%" 60 | } 61 | }, 62 | "73494315bb7641d4883818bf40b585d4": { 63 | "model_module": "@jupyter-widgets/controls", 64 | "model_name": "FloatProgressModel", 65 | "model_module_version": "1.5.0", 66 | "state": { 67 | "_dom_classes": [], 68 | "_model_module": "@jupyter-widgets/controls", 69 | "_model_module_version": "1.5.0", 70 | "_model_name": "FloatProgressModel", 71 | "_view_count": null, 72 | "_view_module": "@jupyter-widgets/controls", 73 | "_view_module_version": "1.5.0", 74 | "_view_name": "ProgressView", 75 | "bar_style": "success", 76 | "description": "", 77 | "description_tooltip": null, 78 | "layout": "IPY_MODEL_63f0e85f8fd44f9292dffa285d98fb4f", 79 | "max": 363, 80 | "min": 0, 81 | "orientation": "horizontal", 82 | "style": "IPY_MODEL_17ad3e068db640cbbc340f6df89d392c", 83 | "value": 363 84 | } 85 | }, 86 | "56f0ac289c3e4afdad619f58af533d47": { 87 | "model_module": "@jupyter-widgets/controls", 88 | "model_name": "HTMLModel", 89 | "model_module_version": "1.5.0", 90 | "state": { 91 | "_dom_classes": [], 92 | "_model_module": "@jupyter-widgets/controls", 93 | "_model_module_version": "1.5.0", 94 | "_model_name": "HTMLModel", 95 | "_view_count": null, 96 | "_view_module": "@jupyter-widgets/controls", 97 | "_view_module_version": "1.5.0", 98 | "_view_name": "HTMLView", 99 | "description": "", 100 | "description_tooltip": null, 101 | "layout": "IPY_MODEL_71a19fedf87d43b2ab9c528e51b8d8f4", 102 | "placeholder": "​", 103 | "style": "IPY_MODEL_9b6da1b7014d4c87b6c67a6f0ec72872", 104 | "value": " 363/363 [00:00<00:00, 7.78kB/s]" 105 | } 106 | }, 107 | "8831ef6ef10f4ba19502f2ef5eea23a1": { 108 | "model_module": "@jupyter-widgets/base", 109 | "model_name": "LayoutModel", 110 | "model_module_version": "1.2.0", 111 | "state": { 112 | "_model_module": "@jupyter-widgets/base", 113 | "_model_module_version": "1.2.0", 114 | "_model_name": "LayoutModel", 115 | "_view_count": null, 116 | "_view_module": "@jupyter-widgets/base", 117 | "_view_module_version": "1.2.0", 118 | "_view_name": "LayoutView", 119 | "align_content": null, 120 | "align_items": null, 121 | "align_self": null, 122 | "border": null, 123 | "bottom": null, 124 | "display": null, 125 | "flex": null, 126 | "flex_flow": null, 127 | "grid_area": null, 128 | "grid_auto_columns": null, 129 | "grid_auto_flow": null, 130 | "grid_auto_rows": null, 131 | "grid_column": null, 132 | "grid_gap": null, 133 | "grid_row": null, 134 | "grid_template_areas": null, 135 | "grid_template_columns": null, 136 | "grid_template_rows": null, 137 | "height": null, 138 | "justify_content": null, 139 | "justify_items": null, 140 | "left": null, 141 | "margin": null, 142 | "max_height": null, 143 | "max_width": null, 144 | "min_height": null, 145 | "min_width": null, 146 | "object_fit": null, 147 | "object_position": null, 148 | "order": null, 149 | "overflow": null, 150 | "overflow_x": null, 151 | "overflow_y": null, 152 | "padding": null, 153 | "right": null, 154 | "top": null, 155 | "visibility": null, 156 | "width": null 157 | } 158 | }, 159 | "c3b71b092f904fcb90938dede42acfc9": { 160 | "model_module": "@jupyter-widgets/base", 161 | "model_name": "LayoutModel", 162 | "model_module_version": "1.2.0", 163 | "state": { 164 | "_model_module": "@jupyter-widgets/base", 165 | "_model_module_version": "1.2.0", 166 | "_model_name": "LayoutModel", 167 | "_view_count": null, 168 | "_view_module": "@jupyter-widgets/base", 169 | "_view_module_version": "1.2.0", 170 | "_view_name": "LayoutView", 171 | "align_content": null, 172 | "align_items": null, 173 | "align_self": null, 174 | "border": null, 175 | "bottom": null, 176 | "display": null, 177 | "flex": null, 178 | "flex_flow": null, 179 | "grid_area": null, 180 | "grid_auto_columns": null, 181 | "grid_auto_flow": null, 182 | "grid_auto_rows": null, 183 | "grid_column": null, 184 | "grid_gap": null, 185 | "grid_row": null, 186 | "grid_template_areas": null, 187 | "grid_template_columns": null, 188 | "grid_template_rows": null, 189 | "height": null, 190 | "justify_content": null, 191 | "justify_items": null, 192 | "left": null, 193 | "margin": null, 194 | "max_height": null, 195 | "max_width": null, 196 | "min_height": null, 197 | "min_width": null, 198 | "object_fit": null, 199 | "object_position": null, 200 | "order": null, 201 | "overflow": null, 202 | "overflow_x": null, 203 | "overflow_y": null, 204 | "padding": null, 205 | "right": null, 206 | "top": null, 207 | "visibility": null, 208 | "width": null 209 | } 210 | }, 211 | "c0108eff8a1048cf8d5649b74101a996": { 212 | "model_module": "@jupyter-widgets/controls", 213 | "model_name": "DescriptionStyleModel", 214 | "model_module_version": "1.5.0", 215 | "state": { 216 | "_model_module": "@jupyter-widgets/controls", 217 | "_model_module_version": "1.5.0", 218 | "_model_name": "DescriptionStyleModel", 219 | "_view_count": null, 220 | "_view_module": "@jupyter-widgets/base", 221 | "_view_module_version": "1.2.0", 222 | "_view_name": "StyleView", 223 | "description_width": "" 224 | } 225 | }, 226 | "63f0e85f8fd44f9292dffa285d98fb4f": { 227 | "model_module": "@jupyter-widgets/base", 228 | "model_name": "LayoutModel", 229 | "model_module_version": "1.2.0", 230 | "state": { 231 | "_model_module": "@jupyter-widgets/base", 232 | "_model_module_version": "1.2.0", 233 | "_model_name": "LayoutModel", 234 | "_view_count": null, 235 | "_view_module": "@jupyter-widgets/base", 236 | "_view_module_version": "1.2.0", 237 | "_view_name": "LayoutView", 238 | "align_content": null, 239 | "align_items": null, 240 | "align_self": null, 241 | "border": null, 242 | "bottom": null, 243 | "display": null, 244 | "flex": null, 245 | "flex_flow": null, 246 | "grid_area": null, 247 | "grid_auto_columns": null, 248 | "grid_auto_flow": null, 249 | "grid_auto_rows": null, 250 | "grid_column": null, 251 | "grid_gap": null, 252 | "grid_row": null, 253 | "grid_template_areas": null, 254 | "grid_template_columns": null, 255 | "grid_template_rows": null, 256 | "height": null, 257 | "justify_content": null, 258 | "justify_items": null, 259 | "left": null, 260 | "margin": null, 261 | "max_height": null, 262 | "max_width": null, 263 | "min_height": null, 264 | "min_width": null, 265 | "object_fit": null, 266 | "object_position": null, 267 | "order": null, 268 | "overflow": null, 269 | "overflow_x": null, 270 | "overflow_y": null, 271 | "padding": null, 272 | "right": null, 273 | "top": null, 274 | "visibility": null, 275 | "width": null 276 | } 277 | }, 278 | "17ad3e068db640cbbc340f6df89d392c": { 279 | "model_module": "@jupyter-widgets/controls", 280 | "model_name": "ProgressStyleModel", 281 | "model_module_version": "1.5.0", 282 | "state": { 283 | "_model_module": "@jupyter-widgets/controls", 284 | "_model_module_version": "1.5.0", 285 | "_model_name": "ProgressStyleModel", 286 | "_view_count": null, 287 | "_view_module": "@jupyter-widgets/base", 288 | "_view_module_version": "1.2.0", 289 | "_view_name": "StyleView", 290 | "bar_color": null, 291 | "description_width": "" 292 | } 293 | }, 294 | "71a19fedf87d43b2ab9c528e51b8d8f4": { 295 | "model_module": "@jupyter-widgets/base", 296 | "model_name": "LayoutModel", 297 | "model_module_version": "1.2.0", 298 | "state": { 299 | "_model_module": "@jupyter-widgets/base", 300 | "_model_module_version": "1.2.0", 301 | "_model_name": "LayoutModel", 302 | "_view_count": null, 303 | "_view_module": "@jupyter-widgets/base", 304 | "_view_module_version": "1.2.0", 305 | "_view_name": "LayoutView", 306 | "align_content": null, 307 | "align_items": null, 308 | "align_self": null, 309 | "border": null, 310 | "bottom": null, 311 | "display": null, 312 | "flex": null, 313 | "flex_flow": null, 314 | "grid_area": null, 315 | "grid_auto_columns": null, 316 | "grid_auto_flow": null, 317 | "grid_auto_rows": null, 318 | "grid_column": null, 319 | "grid_gap": null, 320 | "grid_row": null, 321 | "grid_template_areas": null, 322 | "grid_template_columns": null, 323 | "grid_template_rows": null, 324 | "height": null, 325 | "justify_content": null, 326 | "justify_items": null, 327 | "left": null, 328 | "margin": null, 329 | "max_height": null, 330 | "max_width": null, 331 | "min_height": null, 332 | "min_width": null, 333 | "object_fit": null, 334 | "object_position": null, 335 | "order": null, 336 | "overflow": null, 337 | "overflow_x": null, 338 | "overflow_y": null, 339 | "padding": null, 340 | "right": null, 341 | "top": null, 342 | "visibility": null, 343 | "width": null 344 | } 345 | }, 346 | "9b6da1b7014d4c87b6c67a6f0ec72872": { 347 | "model_module": "@jupyter-widgets/controls", 348 | "model_name": "DescriptionStyleModel", 349 | "model_module_version": "1.5.0", 350 | "state": { 351 | "_model_module": "@jupyter-widgets/controls", 352 | "_model_module_version": "1.5.0", 353 | "_model_name": "DescriptionStyleModel", 354 | "_view_count": null, 355 | "_view_module": "@jupyter-widgets/base", 356 | "_view_module_version": "1.2.0", 357 | "_view_name": "StyleView", 358 | "description_width": "" 359 | } 360 | }, 361 | "d21f993dfe134b838631e89c3ba765e2": { 362 | "model_module": "@jupyter-widgets/controls", 363 | "model_name": "HBoxModel", 364 | "model_module_version": "1.5.0", 365 | "state": { 366 | "_dom_classes": [], 367 | "_model_module": "@jupyter-widgets/controls", 368 | "_model_module_version": "1.5.0", 369 | "_model_name": "HBoxModel", 370 | "_view_count": null, 371 | "_view_module": "@jupyter-widgets/controls", 372 | "_view_module_version": "1.5.0", 373 | "_view_name": "HBoxView", 374 | "box_style": "", 375 | "children": [ 376 | "IPY_MODEL_0d972ee29467495da310c066776d7092", 377 | "IPY_MODEL_2cf08a14de4446ac942a574a9ffdb6b4", 378 | "IPY_MODEL_3e3802deb68d4552a73e665a683698b2" 379 | ], 380 | "layout": "IPY_MODEL_1c024ac202ca45e79653225cf014944d" 381 | } 382 | }, 383 | "0d972ee29467495da310c066776d7092": { 384 | "model_module": "@jupyter-widgets/controls", 385 | "model_name": "HTMLModel", 386 | "model_module_version": "1.5.0", 387 | "state": { 388 | "_dom_classes": [], 389 | "_model_module": "@jupyter-widgets/controls", 390 | "_model_module_version": "1.5.0", 391 | "_model_name": "HTMLModel", 392 | "_view_count": null, 393 | "_view_module": "@jupyter-widgets/controls", 394 | "_view_module_version": "1.5.0", 395 | "_view_name": "HTMLView", 396 | "description": "", 397 | "description_tooltip": null, 398 | "layout": "IPY_MODEL_303cf3f63c55408d9158c8e3fce149d2", 399 | "placeholder": "​", 400 | "style": "IPY_MODEL_fe0e74463b1248549889ad28ec8d3232", 401 | "value": "Downloading (…)solve/main/vocab.txt: 100%" 402 | } 403 | }, 404 | "2cf08a14de4446ac942a574a9ffdb6b4": { 405 | "model_module": "@jupyter-widgets/controls", 406 | "model_name": "FloatProgressModel", 407 | "model_module_version": "1.5.0", 408 | "state": { 409 | "_dom_classes": [], 410 | "_model_module": "@jupyter-widgets/controls", 411 | "_model_module_version": "1.5.0", 412 | "_model_name": "FloatProgressModel", 413 | "_view_count": null, 414 | "_view_module": "@jupyter-widgets/controls", 415 | "_view_module_version": "1.5.0", 416 | "_view_name": "ProgressView", 417 | "bar_style": "success", 418 | "description": "", 419 | "description_tooltip": null, 420 | "layout": "IPY_MODEL_f8e5ef09dd3544daae06878f5e5855b3", 421 | "max": 231536, 422 | "min": 0, 423 | "orientation": "horizontal", 424 | "style": "IPY_MODEL_a4ea9b5adfde40b6b6698addc8bfd5d0", 425 | "value": 231536 426 | } 427 | }, 428 | "3e3802deb68d4552a73e665a683698b2": { 429 | "model_module": "@jupyter-widgets/controls", 430 | "model_name": "HTMLModel", 431 | "model_module_version": "1.5.0", 432 | "state": { 433 | "_dom_classes": [], 434 | "_model_module": "@jupyter-widgets/controls", 435 | "_model_module_version": "1.5.0", 436 | "_model_name": "HTMLModel", 437 | "_view_count": null, 438 | "_view_module": "@jupyter-widgets/controls", 439 | "_view_module_version": "1.5.0", 440 | "_view_name": "HTMLView", 441 | "description": "", 442 | "description_tooltip": null, 443 | "layout": "IPY_MODEL_d9f340d6a86d4f01a924e17347703fd1", 444 | "placeholder": "​", 445 | "style": "IPY_MODEL_afdd4b889249418099e17573081ee6ec", 446 | "value": " 232k/232k [00:00<00:00, 6.20MB/s]" 447 | } 448 | }, 449 | "1c024ac202ca45e79653225cf014944d": { 450 | "model_module": "@jupyter-widgets/base", 451 | "model_name": "LayoutModel", 452 | "model_module_version": "1.2.0", 453 | "state": { 454 | "_model_module": "@jupyter-widgets/base", 455 | "_model_module_version": "1.2.0", 456 | "_model_name": "LayoutModel", 457 | "_view_count": null, 458 | "_view_module": "@jupyter-widgets/base", 459 | "_view_module_version": "1.2.0", 460 | "_view_name": "LayoutView", 461 | "align_content": null, 462 | "align_items": null, 463 | "align_self": null, 464 | "border": null, 465 | "bottom": null, 466 | "display": null, 467 | "flex": null, 468 | "flex_flow": null, 469 | "grid_area": null, 470 | "grid_auto_columns": null, 471 | "grid_auto_flow": null, 472 | "grid_auto_rows": null, 473 | "grid_column": null, 474 | "grid_gap": null, 475 | "grid_row": null, 476 | "grid_template_areas": null, 477 | "grid_template_columns": null, 478 | "grid_template_rows": null, 479 | "height": null, 480 | "justify_content": null, 481 | "justify_items": null, 482 | "left": null, 483 | "margin": null, 484 | "max_height": null, 485 | "max_width": null, 486 | "min_height": null, 487 | "min_width": null, 488 | "object_fit": null, 489 | "object_position": null, 490 | "order": null, 491 | "overflow": null, 492 | "overflow_x": null, 493 | "overflow_y": null, 494 | "padding": null, 495 | "right": null, 496 | "top": null, 497 | "visibility": null, 498 | "width": null 499 | } 500 | }, 501 | "303cf3f63c55408d9158c8e3fce149d2": { 502 | "model_module": "@jupyter-widgets/base", 503 | "model_name": "LayoutModel", 504 | "model_module_version": "1.2.0", 505 | "state": { 506 | "_model_module": "@jupyter-widgets/base", 507 | "_model_module_version": "1.2.0", 508 | "_model_name": "LayoutModel", 509 | "_view_count": null, 510 | "_view_module": "@jupyter-widgets/base", 511 | "_view_module_version": "1.2.0", 512 | "_view_name": "LayoutView", 513 | "align_content": null, 514 | "align_items": null, 515 | "align_self": null, 516 | "border": null, 517 | "bottom": null, 518 | "display": null, 519 | "flex": null, 520 | "flex_flow": null, 521 | "grid_area": null, 522 | "grid_auto_columns": null, 523 | "grid_auto_flow": null, 524 | "grid_auto_rows": null, 525 | "grid_column": null, 526 | "grid_gap": null, 527 | "grid_row": null, 528 | "grid_template_areas": null, 529 | "grid_template_columns": null, 530 | "grid_template_rows": null, 531 | "height": null, 532 | "justify_content": null, 533 | "justify_items": null, 534 | "left": null, 535 | "margin": null, 536 | "max_height": null, 537 | "max_width": null, 538 | "min_height": null, 539 | "min_width": null, 540 | "object_fit": null, 541 | "object_position": null, 542 | "order": null, 543 | "overflow": null, 544 | "overflow_x": null, 545 | "overflow_y": null, 546 | "padding": null, 547 | "right": null, 548 | "top": null, 549 | "visibility": null, 550 | "width": null 551 | } 552 | }, 553 | "fe0e74463b1248549889ad28ec8d3232": { 554 | "model_module": "@jupyter-widgets/controls", 555 | "model_name": "DescriptionStyleModel", 556 | "model_module_version": "1.5.0", 557 | "state": { 558 | "_model_module": "@jupyter-widgets/controls", 559 | "_model_module_version": "1.5.0", 560 | "_model_name": "DescriptionStyleModel", 561 | "_view_count": null, 562 | "_view_module": "@jupyter-widgets/base", 563 | "_view_module_version": "1.2.0", 564 | "_view_name": "StyleView", 565 | "description_width": "" 566 | } 567 | }, 568 | "f8e5ef09dd3544daae06878f5e5855b3": { 569 | "model_module": "@jupyter-widgets/base", 570 | "model_name": "LayoutModel", 571 | "model_module_version": "1.2.0", 572 | "state": { 573 | "_model_module": "@jupyter-widgets/base", 574 | "_model_module_version": "1.2.0", 575 | "_model_name": "LayoutModel", 576 | "_view_count": null, 577 | "_view_module": "@jupyter-widgets/base", 578 | "_view_module_version": "1.2.0", 579 | "_view_name": "LayoutView", 580 | "align_content": null, 581 | "align_items": null, 582 | "align_self": null, 583 | "border": null, 584 | "bottom": null, 585 | "display": null, 586 | "flex": null, 587 | "flex_flow": null, 588 | "grid_area": null, 589 | "grid_auto_columns": null, 590 | "grid_auto_flow": null, 591 | "grid_auto_rows": null, 592 | "grid_column": null, 593 | "grid_gap": null, 594 | "grid_row": null, 595 | "grid_template_areas": null, 596 | "grid_template_columns": null, 597 | "grid_template_rows": null, 598 | "height": null, 599 | "justify_content": null, 600 | "justify_items": null, 601 | "left": null, 602 | "margin": null, 603 | "max_height": null, 604 | "max_width": null, 605 | "min_height": null, 606 | "min_width": null, 607 | "object_fit": null, 608 | "object_position": null, 609 | "order": null, 610 | "overflow": null, 611 | "overflow_x": null, 612 | "overflow_y": null, 613 | "padding": null, 614 | "right": null, 615 | "top": null, 616 | "visibility": null, 617 | "width": null 618 | } 619 | }, 620 | "a4ea9b5adfde40b6b6698addc8bfd5d0": { 621 | "model_module": "@jupyter-widgets/controls", 622 | "model_name": "ProgressStyleModel", 623 | "model_module_version": "1.5.0", 624 | "state": { 625 | "_model_module": "@jupyter-widgets/controls", 626 | "_model_module_version": "1.5.0", 627 | "_model_name": "ProgressStyleModel", 628 | "_view_count": null, 629 | "_view_module": "@jupyter-widgets/base", 630 | "_view_module_version": "1.2.0", 631 | "_view_name": "StyleView", 632 | "bar_color": null, 633 | "description_width": "" 634 | } 635 | }, 636 | "d9f340d6a86d4f01a924e17347703fd1": { 637 | "model_module": "@jupyter-widgets/base", 638 | "model_name": "LayoutModel", 639 | "model_module_version": "1.2.0", 640 | "state": { 641 | "_model_module": "@jupyter-widgets/base", 642 | "_model_module_version": "1.2.0", 643 | "_model_name": "LayoutModel", 644 | "_view_count": null, 645 | "_view_module": "@jupyter-widgets/base", 646 | "_view_module_version": "1.2.0", 647 | "_view_name": "LayoutView", 648 | "align_content": null, 649 | "align_items": null, 650 | "align_self": null, 651 | "border": null, 652 | "bottom": null, 653 | "display": null, 654 | "flex": null, 655 | "flex_flow": null, 656 | "grid_area": null, 657 | "grid_auto_columns": null, 658 | "grid_auto_flow": null, 659 | "grid_auto_rows": null, 660 | "grid_column": null, 661 | "grid_gap": null, 662 | "grid_row": null, 663 | "grid_template_areas": null, 664 | "grid_template_columns": null, 665 | "grid_template_rows": null, 666 | "height": null, 667 | "justify_content": null, 668 | "justify_items": null, 669 | "left": null, 670 | "margin": null, 671 | "max_height": null, 672 | "max_width": null, 673 | "min_height": null, 674 | "min_width": null, 675 | "object_fit": null, 676 | "object_position": null, 677 | "order": null, 678 | "overflow": null, 679 | "overflow_x": null, 680 | "overflow_y": null, 681 | "padding": null, 682 | "right": null, 683 | "top": null, 684 | "visibility": null, 685 | "width": null 686 | } 687 | }, 688 | "afdd4b889249418099e17573081ee6ec": { 689 | "model_module": "@jupyter-widgets/controls", 690 | "model_name": "DescriptionStyleModel", 691 | "model_module_version": "1.5.0", 692 | "state": { 693 | "_model_module": "@jupyter-widgets/controls", 694 | "_model_module_version": "1.5.0", 695 | "_model_name": "DescriptionStyleModel", 696 | "_view_count": null, 697 | "_view_module": "@jupyter-widgets/base", 698 | "_view_module_version": "1.2.0", 699 | "_view_name": "StyleView", 700 | "description_width": "" 701 | } 702 | }, 703 | "8645b184eb89416daa42dec7bc98fcc5": { 704 | "model_module": "@jupyter-widgets/controls", 705 | "model_name": "HBoxModel", 706 | "model_module_version": "1.5.0", 707 | "state": { 708 | "_dom_classes": [], 709 | "_model_module": "@jupyter-widgets/controls", 710 | "_model_module_version": "1.5.0", 711 | "_model_name": "HBoxModel", 712 | "_view_count": null, 713 | "_view_module": "@jupyter-widgets/controls", 714 | "_view_module_version": "1.5.0", 715 | "_view_name": "HBoxView", 716 | "box_style": "", 717 | "children": [ 718 | "IPY_MODEL_416c253788284ac9a0d9d4f1b3990d6c", 719 | "IPY_MODEL_a7c79d445f0c4b08a38cded2f80c92ea", 720 | "IPY_MODEL_434f09de59ec44b9afd734d6a4f44169" 721 | ], 722 | "layout": "IPY_MODEL_2e4b59500822422591e59cf791e19352" 723 | } 724 | }, 725 | "416c253788284ac9a0d9d4f1b3990d6c": { 726 | "model_module": "@jupyter-widgets/controls", 727 | "model_name": "HTMLModel", 728 | "model_module_version": "1.5.0", 729 | "state": { 730 | "_dom_classes": [], 731 | "_model_module": "@jupyter-widgets/controls", 732 | "_model_module_version": "1.5.0", 733 | "_model_name": "HTMLModel", 734 | "_view_count": null, 735 | "_view_module": "@jupyter-widgets/controls", 736 | "_view_module_version": "1.5.0", 737 | "_view_name": "HTMLView", 738 | "description": "", 739 | "description_tooltip": null, 740 | "layout": "IPY_MODEL_04d3ef77f3d34fb9b2e8f37b236f92d4", 741 | "placeholder": "​", 742 | "style": "IPY_MODEL_7f7170ebb81946bbacc8d4ba9c09905b", 743 | "value": "Downloading (…)/main/tokenizer.json: 100%" 744 | } 745 | }, 746 | "a7c79d445f0c4b08a38cded2f80c92ea": { 747 | "model_module": "@jupyter-widgets/controls", 748 | "model_name": "FloatProgressModel", 749 | "model_module_version": "1.5.0", 750 | "state": { 751 | "_dom_classes": [], 752 | "_model_module": "@jupyter-widgets/controls", 753 | "_model_module_version": "1.5.0", 754 | "_model_name": "FloatProgressModel", 755 | "_view_count": null, 756 | "_view_module": "@jupyter-widgets/controls", 757 | "_view_module_version": "1.5.0", 758 | "_view_name": "ProgressView", 759 | "bar_style": "success", 760 | "description": "", 761 | "description_tooltip": null, 762 | "layout": "IPY_MODEL_e54319b2922c4994a514013d05bdb6d9", 763 | "max": 466021, 764 | "min": 0, 765 | "orientation": "horizontal", 766 | "style": "IPY_MODEL_e0f27b6aec9e4c97b928880bdb7c7d8d", 767 | "value": 466021 768 | } 769 | }, 770 | "434f09de59ec44b9afd734d6a4f44169": { 771 | "model_module": "@jupyter-widgets/controls", 772 | "model_name": "HTMLModel", 773 | "model_module_version": "1.5.0", 774 | "state": { 775 | "_dom_classes": [], 776 | "_model_module": "@jupyter-widgets/controls", 777 | "_model_module_version": "1.5.0", 778 | "_model_name": "HTMLModel", 779 | "_view_count": null, 780 | "_view_module": "@jupyter-widgets/controls", 781 | "_view_module_version": "1.5.0", 782 | "_view_name": "HTMLView", 783 | "description": "", 784 | "description_tooltip": null, 785 | "layout": "IPY_MODEL_0584e8db79624f3284625828536b613f", 786 | "placeholder": "​", 787 | "style": "IPY_MODEL_2f0e5c15638b4aa29a21a12c6f128124", 788 | "value": " 466k/466k [00:00<00:00, 9.68MB/s]" 789 | } 790 | }, 791 | "2e4b59500822422591e59cf791e19352": { 792 | "model_module": "@jupyter-widgets/base", 793 | "model_name": "LayoutModel", 794 | "model_module_version": "1.2.0", 795 | "state": { 796 | "_model_module": "@jupyter-widgets/base", 797 | "_model_module_version": "1.2.0", 798 | "_model_name": "LayoutModel", 799 | "_view_count": null, 800 | "_view_module": "@jupyter-widgets/base", 801 | "_view_module_version": "1.2.0", 802 | "_view_name": "LayoutView", 803 | "align_content": null, 804 | "align_items": null, 805 | "align_self": null, 806 | "border": null, 807 | "bottom": null, 808 | "display": null, 809 | "flex": null, 810 | "flex_flow": null, 811 | "grid_area": null, 812 | "grid_auto_columns": null, 813 | "grid_auto_flow": null, 814 | "grid_auto_rows": null, 815 | "grid_column": null, 816 | "grid_gap": null, 817 | "grid_row": null, 818 | "grid_template_areas": null, 819 | "grid_template_columns": null, 820 | "grid_template_rows": null, 821 | "height": null, 822 | "justify_content": null, 823 | "justify_items": null, 824 | "left": null, 825 | "margin": null, 826 | "max_height": null, 827 | "max_width": null, 828 | "min_height": null, 829 | "min_width": null, 830 | "object_fit": null, 831 | "object_position": null, 832 | "order": null, 833 | "overflow": null, 834 | "overflow_x": null, 835 | "overflow_y": null, 836 | "padding": null, 837 | "right": null, 838 | "top": null, 839 | "visibility": null, 840 | "width": null 841 | } 842 | }, 843 | "04d3ef77f3d34fb9b2e8f37b236f92d4": { 844 | "model_module": "@jupyter-widgets/base", 845 | "model_name": "LayoutModel", 846 | "model_module_version": "1.2.0", 847 | "state": { 848 | "_model_module": "@jupyter-widgets/base", 849 | "_model_module_version": "1.2.0", 850 | "_model_name": "LayoutModel", 851 | "_view_count": null, 852 | "_view_module": "@jupyter-widgets/base", 853 | "_view_module_version": "1.2.0", 854 | "_view_name": "LayoutView", 855 | "align_content": null, 856 | "align_items": null, 857 | "align_self": null, 858 | "border": null, 859 | "bottom": null, 860 | "display": null, 861 | "flex": null, 862 | "flex_flow": null, 863 | "grid_area": null, 864 | "grid_auto_columns": null, 865 | "grid_auto_flow": null, 866 | "grid_auto_rows": null, 867 | "grid_column": null, 868 | "grid_gap": null, 869 | "grid_row": null, 870 | "grid_template_areas": null, 871 | "grid_template_columns": null, 872 | "grid_template_rows": null, 873 | "height": null, 874 | "justify_content": null, 875 | "justify_items": null, 876 | "left": null, 877 | "margin": null, 878 | "max_height": null, 879 | "max_width": null, 880 | "min_height": null, 881 | "min_width": null, 882 | "object_fit": null, 883 | "object_position": null, 884 | "order": null, 885 | "overflow": null, 886 | "overflow_x": null, 887 | "overflow_y": null, 888 | "padding": null, 889 | "right": null, 890 | "top": null, 891 | "visibility": null, 892 | "width": null 893 | } 894 | }, 895 | "7f7170ebb81946bbacc8d4ba9c09905b": { 896 | "model_module": "@jupyter-widgets/controls", 897 | "model_name": "DescriptionStyleModel", 898 | "model_module_version": "1.5.0", 899 | "state": { 900 | "_model_module": "@jupyter-widgets/controls", 901 | "_model_module_version": "1.5.0", 902 | "_model_name": "DescriptionStyleModel", 903 | "_view_count": null, 904 | "_view_module": "@jupyter-widgets/base", 905 | "_view_module_version": "1.2.0", 906 | "_view_name": "StyleView", 907 | "description_width": "" 908 | } 909 | }, 910 | "e54319b2922c4994a514013d05bdb6d9": { 911 | "model_module": "@jupyter-widgets/base", 912 | "model_name": "LayoutModel", 913 | "model_module_version": "1.2.0", 914 | "state": { 915 | "_model_module": "@jupyter-widgets/base", 916 | "_model_module_version": "1.2.0", 917 | "_model_name": "LayoutModel", 918 | "_view_count": null, 919 | "_view_module": "@jupyter-widgets/base", 920 | "_view_module_version": "1.2.0", 921 | "_view_name": "LayoutView", 922 | "align_content": null, 923 | "align_items": null, 924 | "align_self": null, 925 | "border": null, 926 | "bottom": null, 927 | "display": null, 928 | "flex": null, 929 | "flex_flow": null, 930 | "grid_area": null, 931 | "grid_auto_columns": null, 932 | "grid_auto_flow": null, 933 | "grid_auto_rows": null, 934 | "grid_column": null, 935 | "grid_gap": null, 936 | "grid_row": null, 937 | "grid_template_areas": null, 938 | "grid_template_columns": null, 939 | "grid_template_rows": null, 940 | "height": null, 941 | "justify_content": null, 942 | "justify_items": null, 943 | "left": null, 944 | "margin": null, 945 | "max_height": null, 946 | "max_width": null, 947 | "min_height": null, 948 | "min_width": null, 949 | "object_fit": null, 950 | "object_position": null, 951 | "order": null, 952 | "overflow": null, 953 | "overflow_x": null, 954 | "overflow_y": null, 955 | "padding": null, 956 | "right": null, 957 | "top": null, 958 | "visibility": null, 959 | "width": null 960 | } 961 | }, 962 | "e0f27b6aec9e4c97b928880bdb7c7d8d": { 963 | "model_module": "@jupyter-widgets/controls", 964 | "model_name": "ProgressStyleModel", 965 | "model_module_version": "1.5.0", 966 | "state": { 967 | "_model_module": "@jupyter-widgets/controls", 968 | "_model_module_version": "1.5.0", 969 | "_model_name": "ProgressStyleModel", 970 | "_view_count": null, 971 | "_view_module": "@jupyter-widgets/base", 972 | "_view_module_version": "1.2.0", 973 | "_view_name": "StyleView", 974 | "bar_color": null, 975 | "description_width": "" 976 | } 977 | }, 978 | "0584e8db79624f3284625828536b613f": { 979 | "model_module": "@jupyter-widgets/base", 980 | "model_name": "LayoutModel", 981 | "model_module_version": "1.2.0", 982 | "state": { 983 | "_model_module": "@jupyter-widgets/base", 984 | "_model_module_version": "1.2.0", 985 | "_model_name": "LayoutModel", 986 | "_view_count": null, 987 | "_view_module": "@jupyter-widgets/base", 988 | "_view_module_version": "1.2.0", 989 | "_view_name": "LayoutView", 990 | "align_content": null, 991 | "align_items": null, 992 | "align_self": null, 993 | "border": null, 994 | "bottom": null, 995 | "display": null, 996 | "flex": null, 997 | "flex_flow": null, 998 | "grid_area": null, 999 | "grid_auto_columns": null, 1000 | "grid_auto_flow": null, 1001 | "grid_auto_rows": null, 1002 | "grid_column": null, 1003 | "grid_gap": null, 1004 | "grid_row": null, 1005 | "grid_template_areas": null, 1006 | "grid_template_columns": null, 1007 | "grid_template_rows": null, 1008 | "height": null, 1009 | "justify_content": null, 1010 | "justify_items": null, 1011 | "left": null, 1012 | "margin": null, 1013 | "max_height": null, 1014 | "max_width": null, 1015 | "min_height": null, 1016 | "min_width": null, 1017 | "object_fit": null, 1018 | "object_position": null, 1019 | "order": null, 1020 | "overflow": null, 1021 | "overflow_x": null, 1022 | "overflow_y": null, 1023 | "padding": null, 1024 | "right": null, 1025 | "top": null, 1026 | "visibility": null, 1027 | "width": null 1028 | } 1029 | }, 1030 | "2f0e5c15638b4aa29a21a12c6f128124": { 1031 | "model_module": "@jupyter-widgets/controls", 1032 | "model_name": "DescriptionStyleModel", 1033 | "model_module_version": "1.5.0", 1034 | "state": { 1035 | "_model_module": "@jupyter-widgets/controls", 1036 | "_model_module_version": "1.5.0", 1037 | "_model_name": "DescriptionStyleModel", 1038 | "_view_count": null, 1039 | "_view_module": "@jupyter-widgets/base", 1040 | "_view_module_version": "1.2.0", 1041 | "_view_name": "StyleView", 1042 | "description_width": "" 1043 | } 1044 | }, 1045 | "2648c5eb7c834ed391209f114fc20771": { 1046 | "model_module": "@jupyter-widgets/controls", 1047 | "model_name": "HBoxModel", 1048 | "model_module_version": "1.5.0", 1049 | "state": { 1050 | "_dom_classes": [], 1051 | "_model_module": "@jupyter-widgets/controls", 1052 | "_model_module_version": "1.5.0", 1053 | "_model_name": "HBoxModel", 1054 | "_view_count": null, 1055 | "_view_module": "@jupyter-widgets/controls", 1056 | "_view_module_version": "1.5.0", 1057 | "_view_name": "HBoxView", 1058 | "box_style": "", 1059 | "children": [ 1060 | "IPY_MODEL_a38ac0d6ccd043daac75b63bc84397db", 1061 | "IPY_MODEL_eff2c84087c544878d99631a116a9df5", 1062 | "IPY_MODEL_28e2a299bc5f4956ba336dace3806f05" 1063 | ], 1064 | "layout": "IPY_MODEL_1818cd7ac74143ea953e7146279d6de7" 1065 | } 1066 | }, 1067 | "a38ac0d6ccd043daac75b63bc84397db": { 1068 | "model_module": "@jupyter-widgets/controls", 1069 | "model_name": "HTMLModel", 1070 | "model_module_version": "1.5.0", 1071 | "state": { 1072 | "_dom_classes": [], 1073 | "_model_module": "@jupyter-widgets/controls", 1074 | "_model_module_version": "1.5.0", 1075 | "_model_name": "HTMLModel", 1076 | "_view_count": null, 1077 | "_view_module": "@jupyter-widgets/controls", 1078 | "_view_module_version": "1.5.0", 1079 | "_view_name": "HTMLView", 1080 | "description": "", 1081 | "description_tooltip": null, 1082 | "layout": "IPY_MODEL_9fc04d05729c45178e4176883f74fc90", 1083 | "placeholder": "​", 1084 | "style": "IPY_MODEL_f38105e2e43a4ebe83de39a29c257b68", 1085 | "value": "Downloading (…)cial_tokens_map.json: 100%" 1086 | } 1087 | }, 1088 | "eff2c84087c544878d99631a116a9df5": { 1089 | "model_module": "@jupyter-widgets/controls", 1090 | "model_name": "FloatProgressModel", 1091 | "model_module_version": "1.5.0", 1092 | "state": { 1093 | "_dom_classes": [], 1094 | "_model_module": "@jupyter-widgets/controls", 1095 | "_model_module_version": "1.5.0", 1096 | "_model_name": "FloatProgressModel", 1097 | "_view_count": null, 1098 | "_view_module": "@jupyter-widgets/controls", 1099 | "_view_module_version": "1.5.0", 1100 | "_view_name": "ProgressView", 1101 | "bar_style": "success", 1102 | "description": "", 1103 | "description_tooltip": null, 1104 | "layout": "IPY_MODEL_1aac7127941449108a6df9b936eb5dbd", 1105 | "max": 239, 1106 | "min": 0, 1107 | "orientation": "horizontal", 1108 | "style": "IPY_MODEL_c6aa2d048815432893c7116952da16d2", 1109 | "value": 239 1110 | } 1111 | }, 1112 | "28e2a299bc5f4956ba336dace3806f05": { 1113 | "model_module": "@jupyter-widgets/controls", 1114 | "model_name": "HTMLModel", 1115 | "model_module_version": "1.5.0", 1116 | "state": { 1117 | "_dom_classes": [], 1118 | "_model_module": "@jupyter-widgets/controls", 1119 | "_model_module_version": "1.5.0", 1120 | "_model_name": "HTMLModel", 1121 | "_view_count": null, 1122 | "_view_module": "@jupyter-widgets/controls", 1123 | "_view_module_version": "1.5.0", 1124 | "_view_name": "HTMLView", 1125 | "description": "", 1126 | "description_tooltip": null, 1127 | "layout": "IPY_MODEL_aef516e922604020a8fe9fb93edb67ee", 1128 | "placeholder": "​", 1129 | "style": "IPY_MODEL_35229d0130584065bdd9df07d7a0b832", 1130 | "value": " 239/239 [00:00<00:00, 5.42kB/s]" 1131 | } 1132 | }, 1133 | "1818cd7ac74143ea953e7146279d6de7": { 1134 | "model_module": "@jupyter-widgets/base", 1135 | "model_name": "LayoutModel", 1136 | "model_module_version": "1.2.0", 1137 | "state": { 1138 | "_model_module": "@jupyter-widgets/base", 1139 | "_model_module_version": "1.2.0", 1140 | "_model_name": "LayoutModel", 1141 | "_view_count": null, 1142 | "_view_module": "@jupyter-widgets/base", 1143 | "_view_module_version": "1.2.0", 1144 | "_view_name": "LayoutView", 1145 | "align_content": null, 1146 | "align_items": null, 1147 | "align_self": null, 1148 | "border": null, 1149 | "bottom": null, 1150 | "display": null, 1151 | "flex": null, 1152 | "flex_flow": null, 1153 | "grid_area": null, 1154 | "grid_auto_columns": null, 1155 | "grid_auto_flow": null, 1156 | "grid_auto_rows": null, 1157 | "grid_column": null, 1158 | "grid_gap": null, 1159 | "grid_row": null, 1160 | "grid_template_areas": null, 1161 | "grid_template_columns": null, 1162 | "grid_template_rows": null, 1163 | "height": null, 1164 | "justify_content": null, 1165 | "justify_items": null, 1166 | "left": null, 1167 | "margin": null, 1168 | "max_height": null, 1169 | "max_width": null, 1170 | "min_height": null, 1171 | "min_width": null, 1172 | "object_fit": null, 1173 | "object_position": null, 1174 | "order": null, 1175 | "overflow": null, 1176 | "overflow_x": null, 1177 | "overflow_y": null, 1178 | "padding": null, 1179 | "right": null, 1180 | "top": null, 1181 | "visibility": null, 1182 | "width": null 1183 | } 1184 | }, 1185 | "9fc04d05729c45178e4176883f74fc90": { 1186 | "model_module": "@jupyter-widgets/base", 1187 | "model_name": "LayoutModel", 1188 | "model_module_version": "1.2.0", 1189 | "state": { 1190 | "_model_module": "@jupyter-widgets/base", 1191 | "_model_module_version": "1.2.0", 1192 | "_model_name": "LayoutModel", 1193 | "_view_count": null, 1194 | "_view_module": "@jupyter-widgets/base", 1195 | "_view_module_version": "1.2.0", 1196 | "_view_name": "LayoutView", 1197 | "align_content": null, 1198 | "align_items": null, 1199 | "align_self": null, 1200 | "border": null, 1201 | "bottom": null, 1202 | "display": null, 1203 | "flex": null, 1204 | "flex_flow": null, 1205 | "grid_area": null, 1206 | "grid_auto_columns": null, 1207 | "grid_auto_flow": null, 1208 | "grid_auto_rows": null, 1209 | "grid_column": null, 1210 | "grid_gap": null, 1211 | "grid_row": null, 1212 | "grid_template_areas": null, 1213 | "grid_template_columns": null, 1214 | "grid_template_rows": null, 1215 | "height": null, 1216 | "justify_content": null, 1217 | "justify_items": null, 1218 | "left": null, 1219 | "margin": null, 1220 | "max_height": null, 1221 | "max_width": null, 1222 | "min_height": null, 1223 | "min_width": null, 1224 | "object_fit": null, 1225 | "object_position": null, 1226 | "order": null, 1227 | "overflow": null, 1228 | "overflow_x": null, 1229 | "overflow_y": null, 1230 | "padding": null, 1231 | "right": null, 1232 | "top": null, 1233 | "visibility": null, 1234 | "width": null 1235 | } 1236 | }, 1237 | "f38105e2e43a4ebe83de39a29c257b68": { 1238 | "model_module": "@jupyter-widgets/controls", 1239 | "model_name": "DescriptionStyleModel", 1240 | "model_module_version": "1.5.0", 1241 | "state": { 1242 | "_model_module": "@jupyter-widgets/controls", 1243 | "_model_module_version": "1.5.0", 1244 | "_model_name": "DescriptionStyleModel", 1245 | "_view_count": null, 1246 | "_view_module": "@jupyter-widgets/base", 1247 | "_view_module_version": "1.2.0", 1248 | "_view_name": "StyleView", 1249 | "description_width": "" 1250 | } 1251 | }, 1252 | "1aac7127941449108a6df9b936eb5dbd": { 1253 | "model_module": "@jupyter-widgets/base", 1254 | "model_name": "LayoutModel", 1255 | "model_module_version": "1.2.0", 1256 | "state": { 1257 | "_model_module": "@jupyter-widgets/base", 1258 | "_model_module_version": "1.2.0", 1259 | "_model_name": "LayoutModel", 1260 | "_view_count": null, 1261 | "_view_module": "@jupyter-widgets/base", 1262 | "_view_module_version": "1.2.0", 1263 | "_view_name": "LayoutView", 1264 | "align_content": null, 1265 | "align_items": null, 1266 | "align_self": null, 1267 | "border": null, 1268 | "bottom": null, 1269 | "display": null, 1270 | "flex": null, 1271 | "flex_flow": null, 1272 | "grid_area": null, 1273 | "grid_auto_columns": null, 1274 | "grid_auto_flow": null, 1275 | "grid_auto_rows": null, 1276 | "grid_column": null, 1277 | "grid_gap": null, 1278 | "grid_row": null, 1279 | "grid_template_areas": null, 1280 | "grid_template_columns": null, 1281 | "grid_template_rows": null, 1282 | "height": null, 1283 | "justify_content": null, 1284 | "justify_items": null, 1285 | "left": null, 1286 | "margin": null, 1287 | "max_height": null, 1288 | "max_width": null, 1289 | "min_height": null, 1290 | "min_width": null, 1291 | "object_fit": null, 1292 | "object_position": null, 1293 | "order": null, 1294 | "overflow": null, 1295 | "overflow_x": null, 1296 | "overflow_y": null, 1297 | "padding": null, 1298 | "right": null, 1299 | "top": null, 1300 | "visibility": null, 1301 | "width": null 1302 | } 1303 | }, 1304 | "c6aa2d048815432893c7116952da16d2": { 1305 | "model_module": "@jupyter-widgets/controls", 1306 | "model_name": "ProgressStyleModel", 1307 | "model_module_version": "1.5.0", 1308 | "state": { 1309 | "_model_module": "@jupyter-widgets/controls", 1310 | "_model_module_version": "1.5.0", 1311 | "_model_name": "ProgressStyleModel", 1312 | "_view_count": null, 1313 | "_view_module": "@jupyter-widgets/base", 1314 | "_view_module_version": "1.2.0", 1315 | "_view_name": "StyleView", 1316 | "bar_color": null, 1317 | "description_width": "" 1318 | } 1319 | }, 1320 | "aef516e922604020a8fe9fb93edb67ee": { 1321 | "model_module": "@jupyter-widgets/base", 1322 | "model_name": "LayoutModel", 1323 | "model_module_version": "1.2.0", 1324 | "state": { 1325 | "_model_module": "@jupyter-widgets/base", 1326 | "_model_module_version": "1.2.0", 1327 | "_model_name": "LayoutModel", 1328 | "_view_count": null, 1329 | "_view_module": "@jupyter-widgets/base", 1330 | "_view_module_version": "1.2.0", 1331 | "_view_name": "LayoutView", 1332 | "align_content": null, 1333 | "align_items": null, 1334 | "align_self": null, 1335 | "border": null, 1336 | "bottom": null, 1337 | "display": null, 1338 | "flex": null, 1339 | "flex_flow": null, 1340 | "grid_area": null, 1341 | "grid_auto_columns": null, 1342 | "grid_auto_flow": null, 1343 | "grid_auto_rows": null, 1344 | "grid_column": null, 1345 | "grid_gap": null, 1346 | "grid_row": null, 1347 | "grid_template_areas": null, 1348 | "grid_template_columns": null, 1349 | "grid_template_rows": null, 1350 | "height": null, 1351 | "justify_content": null, 1352 | "justify_items": null, 1353 | "left": null, 1354 | "margin": null, 1355 | "max_height": null, 1356 | "max_width": null, 1357 | "min_height": null, 1358 | "min_width": null, 1359 | "object_fit": null, 1360 | "object_position": null, 1361 | "order": null, 1362 | "overflow": null, 1363 | "overflow_x": null, 1364 | "overflow_y": null, 1365 | "padding": null, 1366 | "right": null, 1367 | "top": null, 1368 | "visibility": null, 1369 | "width": null 1370 | } 1371 | }, 1372 | "35229d0130584065bdd9df07d7a0b832": { 1373 | "model_module": "@jupyter-widgets/controls", 1374 | "model_name": "DescriptionStyleModel", 1375 | "model_module_version": "1.5.0", 1376 | "state": { 1377 | "_model_module": "@jupyter-widgets/controls", 1378 | "_model_module_version": "1.5.0", 1379 | "_model_name": "DescriptionStyleModel", 1380 | "_view_count": null, 1381 | "_view_module": "@jupyter-widgets/base", 1382 | "_view_module_version": "1.2.0", 1383 | "_view_name": "StyleView", 1384 | "description_width": "" 1385 | } 1386 | }, 1387 | "2d10edae401f467ab1f57ef1922a3a32": { 1388 | "model_module": "@jupyter-widgets/controls", 1389 | "model_name": "HBoxModel", 1390 | "model_module_version": "1.5.0", 1391 | "state": { 1392 | "_dom_classes": [], 1393 | "_model_module": "@jupyter-widgets/controls", 1394 | "_model_module_version": "1.5.0", 1395 | "_model_name": "HBoxModel", 1396 | "_view_count": null, 1397 | "_view_module": "@jupyter-widgets/controls", 1398 | "_view_module_version": "1.5.0", 1399 | "_view_name": "HBoxView", 1400 | "box_style": "", 1401 | "children": [ 1402 | "IPY_MODEL_a69a4a6dd60c44a4bbceb2a4dbe825b2", 1403 | "IPY_MODEL_02b40f18d4664beda17cce83f1ba3aa3", 1404 | "IPY_MODEL_1e2cb03de3ab4b3e92db023a4d70d1c9" 1405 | ], 1406 | "layout": "IPY_MODEL_d10d91f714ca46f4a2de0997439deac2" 1407 | } 1408 | }, 1409 | "a69a4a6dd60c44a4bbceb2a4dbe825b2": { 1410 | "model_module": "@jupyter-widgets/controls", 1411 | "model_name": "HTMLModel", 1412 | "model_module_version": "1.5.0", 1413 | "state": { 1414 | "_dom_classes": [], 1415 | "_model_module": "@jupyter-widgets/controls", 1416 | "_model_module_version": "1.5.0", 1417 | "_model_name": "HTMLModel", 1418 | "_view_count": null, 1419 | "_view_module": "@jupyter-widgets/controls", 1420 | "_view_module_version": "1.5.0", 1421 | "_view_name": "HTMLView", 1422 | "description": "", 1423 | "description_tooltip": null, 1424 | "layout": "IPY_MODEL_98158158f64243459d3acf99bce274cd", 1425 | "placeholder": "​", 1426 | "style": "IPY_MODEL_957dc3ad1edc4cfd9bc82cfa3acad2d4", 1427 | "value": "Downloading (…)lve/main/config.json: 100%" 1428 | } 1429 | }, 1430 | "02b40f18d4664beda17cce83f1ba3aa3": { 1431 | "model_module": "@jupyter-widgets/controls", 1432 | "model_name": "FloatProgressModel", 1433 | "model_module_version": "1.5.0", 1434 | "state": { 1435 | "_dom_classes": [], 1436 | "_model_module": "@jupyter-widgets/controls", 1437 | "_model_module_version": "1.5.0", 1438 | "_model_name": "FloatProgressModel", 1439 | "_view_count": null, 1440 | "_view_module": "@jupyter-widgets/controls", 1441 | "_view_module_version": "1.5.0", 1442 | "_view_name": "ProgressView", 1443 | "bar_style": "success", 1444 | "description": "", 1445 | "description_tooltip": null, 1446 | "layout": "IPY_MODEL_e5a13d3286c34657a5c29936cc631ea8", 1447 | "max": 571, 1448 | "min": 0, 1449 | "orientation": "horizontal", 1450 | "style": "IPY_MODEL_46b53af736e44feab7ef6683bfc9e5b2", 1451 | "value": 571 1452 | } 1453 | }, 1454 | "1e2cb03de3ab4b3e92db023a4d70d1c9": { 1455 | "model_module": "@jupyter-widgets/controls", 1456 | "model_name": "HTMLModel", 1457 | "model_module_version": "1.5.0", 1458 | "state": { 1459 | "_dom_classes": [], 1460 | "_model_module": "@jupyter-widgets/controls", 1461 | "_model_module_version": "1.5.0", 1462 | "_model_name": "HTMLModel", 1463 | "_view_count": null, 1464 | "_view_module": "@jupyter-widgets/controls", 1465 | "_view_module_version": "1.5.0", 1466 | "_view_name": "HTMLView", 1467 | "description": "", 1468 | "description_tooltip": null, 1469 | "layout": "IPY_MODEL_328287edc5f94d6e99db1046cd6db407", 1470 | "placeholder": "​", 1471 | "style": "IPY_MODEL_01381c7edf55401d87611b3ab0f1e39a", 1472 | "value": " 571/571 [00:00<00:00, 10.1kB/s]" 1473 | } 1474 | }, 1475 | "d10d91f714ca46f4a2de0997439deac2": { 1476 | "model_module": "@jupyter-widgets/base", 1477 | "model_name": "LayoutModel", 1478 | "model_module_version": "1.2.0", 1479 | "state": { 1480 | "_model_module": "@jupyter-widgets/base", 1481 | "_model_module_version": "1.2.0", 1482 | "_model_name": "LayoutModel", 1483 | "_view_count": null, 1484 | "_view_module": "@jupyter-widgets/base", 1485 | "_view_module_version": "1.2.0", 1486 | "_view_name": "LayoutView", 1487 | "align_content": null, 1488 | "align_items": null, 1489 | "align_self": null, 1490 | "border": null, 1491 | "bottom": null, 1492 | "display": null, 1493 | "flex": null, 1494 | "flex_flow": null, 1495 | "grid_area": null, 1496 | "grid_auto_columns": null, 1497 | "grid_auto_flow": null, 1498 | "grid_auto_rows": null, 1499 | "grid_column": null, 1500 | "grid_gap": null, 1501 | "grid_row": null, 1502 | "grid_template_areas": null, 1503 | "grid_template_columns": null, 1504 | "grid_template_rows": null, 1505 | "height": null, 1506 | "justify_content": null, 1507 | "justify_items": null, 1508 | "left": null, 1509 | "margin": null, 1510 | "max_height": null, 1511 | "max_width": null, 1512 | "min_height": null, 1513 | "min_width": null, 1514 | "object_fit": null, 1515 | "object_position": null, 1516 | "order": null, 1517 | "overflow": null, 1518 | "overflow_x": null, 1519 | "overflow_y": null, 1520 | "padding": null, 1521 | "right": null, 1522 | "top": null, 1523 | "visibility": null, 1524 | "width": null 1525 | } 1526 | }, 1527 | "98158158f64243459d3acf99bce274cd": { 1528 | "model_module": "@jupyter-widgets/base", 1529 | "model_name": "LayoutModel", 1530 | "model_module_version": "1.2.0", 1531 | "state": { 1532 | "_model_module": "@jupyter-widgets/base", 1533 | "_model_module_version": "1.2.0", 1534 | "_model_name": "LayoutModel", 1535 | "_view_count": null, 1536 | "_view_module": "@jupyter-widgets/base", 1537 | "_view_module_version": "1.2.0", 1538 | "_view_name": "LayoutView", 1539 | "align_content": null, 1540 | "align_items": null, 1541 | "align_self": null, 1542 | "border": null, 1543 | "bottom": null, 1544 | "display": null, 1545 | "flex": null, 1546 | "flex_flow": null, 1547 | "grid_area": null, 1548 | "grid_auto_columns": null, 1549 | "grid_auto_flow": null, 1550 | "grid_auto_rows": null, 1551 | "grid_column": null, 1552 | "grid_gap": null, 1553 | "grid_row": null, 1554 | "grid_template_areas": null, 1555 | "grid_template_columns": null, 1556 | "grid_template_rows": null, 1557 | "height": null, 1558 | "justify_content": null, 1559 | "justify_items": null, 1560 | "left": null, 1561 | "margin": null, 1562 | "max_height": null, 1563 | "max_width": null, 1564 | "min_height": null, 1565 | "min_width": null, 1566 | "object_fit": null, 1567 | "object_position": null, 1568 | "order": null, 1569 | "overflow": null, 1570 | "overflow_x": null, 1571 | "overflow_y": null, 1572 | "padding": null, 1573 | "right": null, 1574 | "top": null, 1575 | "visibility": null, 1576 | "width": null 1577 | } 1578 | }, 1579 | "957dc3ad1edc4cfd9bc82cfa3acad2d4": { 1580 | "model_module": "@jupyter-widgets/controls", 1581 | "model_name": "DescriptionStyleModel", 1582 | "model_module_version": "1.5.0", 1583 | "state": { 1584 | "_model_module": "@jupyter-widgets/controls", 1585 | "_model_module_version": "1.5.0", 1586 | "_model_name": "DescriptionStyleModel", 1587 | "_view_count": null, 1588 | "_view_module": "@jupyter-widgets/base", 1589 | "_view_module_version": "1.2.0", 1590 | "_view_name": "StyleView", 1591 | "description_width": "" 1592 | } 1593 | }, 1594 | "e5a13d3286c34657a5c29936cc631ea8": { 1595 | "model_module": "@jupyter-widgets/base", 1596 | "model_name": "LayoutModel", 1597 | "model_module_version": "1.2.0", 1598 | "state": { 1599 | "_model_module": "@jupyter-widgets/base", 1600 | "_model_module_version": "1.2.0", 1601 | "_model_name": "LayoutModel", 1602 | "_view_count": null, 1603 | "_view_module": "@jupyter-widgets/base", 1604 | "_view_module_version": "1.2.0", 1605 | "_view_name": "LayoutView", 1606 | "align_content": null, 1607 | "align_items": null, 1608 | "align_self": null, 1609 | "border": null, 1610 | "bottom": null, 1611 | "display": null, 1612 | "flex": null, 1613 | "flex_flow": null, 1614 | "grid_area": null, 1615 | "grid_auto_columns": null, 1616 | "grid_auto_flow": null, 1617 | "grid_auto_rows": null, 1618 | "grid_column": null, 1619 | "grid_gap": null, 1620 | "grid_row": null, 1621 | "grid_template_areas": null, 1622 | "grid_template_columns": null, 1623 | "grid_template_rows": null, 1624 | "height": null, 1625 | "justify_content": null, 1626 | "justify_items": null, 1627 | "left": null, 1628 | "margin": null, 1629 | "max_height": null, 1630 | "max_width": null, 1631 | "min_height": null, 1632 | "min_width": null, 1633 | "object_fit": null, 1634 | "object_position": null, 1635 | "order": null, 1636 | "overflow": null, 1637 | "overflow_x": null, 1638 | "overflow_y": null, 1639 | "padding": null, 1640 | "right": null, 1641 | "top": null, 1642 | "visibility": null, 1643 | "width": null 1644 | } 1645 | }, 1646 | "46b53af736e44feab7ef6683bfc9e5b2": { 1647 | "model_module": "@jupyter-widgets/controls", 1648 | "model_name": "ProgressStyleModel", 1649 | "model_module_version": "1.5.0", 1650 | "state": { 1651 | "_model_module": "@jupyter-widgets/controls", 1652 | "_model_module_version": "1.5.0", 1653 | "_model_name": "ProgressStyleModel", 1654 | "_view_count": null, 1655 | "_view_module": "@jupyter-widgets/base", 1656 | "_view_module_version": "1.2.0", 1657 | "_view_name": "StyleView", 1658 | "bar_color": null, 1659 | "description_width": "" 1660 | } 1661 | }, 1662 | "328287edc5f94d6e99db1046cd6db407": { 1663 | "model_module": "@jupyter-widgets/base", 1664 | "model_name": "LayoutModel", 1665 | "model_module_version": "1.2.0", 1666 | "state": { 1667 | "_model_module": "@jupyter-widgets/base", 1668 | "_model_module_version": "1.2.0", 1669 | "_model_name": "LayoutModel", 1670 | "_view_count": null, 1671 | "_view_module": "@jupyter-widgets/base", 1672 | "_view_module_version": "1.2.0", 1673 | "_view_name": "LayoutView", 1674 | "align_content": null, 1675 | "align_items": null, 1676 | "align_self": null, 1677 | "border": null, 1678 | "bottom": null, 1679 | "display": null, 1680 | "flex": null, 1681 | "flex_flow": null, 1682 | "grid_area": null, 1683 | "grid_auto_columns": null, 1684 | "grid_auto_flow": null, 1685 | "grid_auto_rows": null, 1686 | "grid_column": null, 1687 | "grid_gap": null, 1688 | "grid_row": null, 1689 | "grid_template_areas": null, 1690 | "grid_template_columns": null, 1691 | "grid_template_rows": null, 1692 | "height": null, 1693 | "justify_content": null, 1694 | "justify_items": null, 1695 | "left": null, 1696 | "margin": null, 1697 | "max_height": null, 1698 | "max_width": null, 1699 | "min_height": null, 1700 | "min_width": null, 1701 | "object_fit": null, 1702 | "object_position": null, 1703 | "order": null, 1704 | "overflow": null, 1705 | "overflow_x": null, 1706 | "overflow_y": null, 1707 | "padding": null, 1708 | "right": null, 1709 | "top": null, 1710 | "visibility": null, 1711 | "width": null 1712 | } 1713 | }, 1714 | "01381c7edf55401d87611b3ab0f1e39a": { 1715 | "model_module": "@jupyter-widgets/controls", 1716 | "model_name": "DescriptionStyleModel", 1717 | "model_module_version": "1.5.0", 1718 | "state": { 1719 | "_model_module": "@jupyter-widgets/controls", 1720 | "_model_module_version": "1.5.0", 1721 | "_model_name": "DescriptionStyleModel", 1722 | "_view_count": null, 1723 | "_view_module": "@jupyter-widgets/base", 1724 | "_view_module_version": "1.2.0", 1725 | "_view_name": "StyleView", 1726 | "description_width": "" 1727 | } 1728 | }, 1729 | "07511d6165e5438b8afa899478c3fd20": { 1730 | "model_module": "@jupyter-widgets/controls", 1731 | "model_name": "HBoxModel", 1732 | "model_module_version": "1.5.0", 1733 | "state": { 1734 | "_dom_classes": [], 1735 | "_model_module": "@jupyter-widgets/controls", 1736 | "_model_module_version": "1.5.0", 1737 | "_model_name": "HBoxModel", 1738 | "_view_count": null, 1739 | "_view_module": "@jupyter-widgets/controls", 1740 | "_view_module_version": "1.5.0", 1741 | "_view_name": "HBoxView", 1742 | "box_style": "", 1743 | "children": [ 1744 | "IPY_MODEL_e33c01b489da403c98a80d7ee0971875", 1745 | "IPY_MODEL_ef485f8a1df4477e98071812c7458c5b", 1746 | "IPY_MODEL_77d97b47d68d44cfbfed6e856178f587" 1747 | ], 1748 | "layout": "IPY_MODEL_a41609e521394c6ab4de19d7af43461f" 1749 | } 1750 | }, 1751 | "e33c01b489da403c98a80d7ee0971875": { 1752 | "model_module": "@jupyter-widgets/controls", 1753 | "model_name": "HTMLModel", 1754 | "model_module_version": "1.5.0", 1755 | "state": { 1756 | "_dom_classes": [], 1757 | "_model_module": "@jupyter-widgets/controls", 1758 | "_model_module_version": "1.5.0", 1759 | "_model_name": "HTMLModel", 1760 | "_view_count": null, 1761 | "_view_module": "@jupyter-widgets/controls", 1762 | "_view_module_version": "1.5.0", 1763 | "_view_name": "HTMLView", 1764 | "description": "", 1765 | "description_tooltip": null, 1766 | "layout": "IPY_MODEL_63571815b1cc4a048363acc58349ea19", 1767 | "placeholder": "​", 1768 | "style": "IPY_MODEL_e5d16a307c7340cba44330644571189e", 1769 | "value": "Downloading pytorch_model.bin: 100%" 1770 | } 1771 | }, 1772 | "ef485f8a1df4477e98071812c7458c5b": { 1773 | "model_module": "@jupyter-widgets/controls", 1774 | "model_name": "FloatProgressModel", 1775 | "model_module_version": "1.5.0", 1776 | "state": { 1777 | "_dom_classes": [], 1778 | "_model_module": "@jupyter-widgets/controls", 1779 | "_model_module_version": "1.5.0", 1780 | "_model_name": "FloatProgressModel", 1781 | "_view_count": null, 1782 | "_view_module": "@jupyter-widgets/controls", 1783 | "_view_module_version": "1.5.0", 1784 | "_view_name": "ProgressView", 1785 | "bar_style": "success", 1786 | "description": "", 1787 | "description_tooltip": null, 1788 | "layout": "IPY_MODEL_9ab90eacac07411bbcc3104dc7d86a7d", 1789 | "max": 438011953, 1790 | "min": 0, 1791 | "orientation": "horizontal", 1792 | "style": "IPY_MODEL_ed4a6b2ff55a418c969ce442b18686fc", 1793 | "value": 438011953 1794 | } 1795 | }, 1796 | "77d97b47d68d44cfbfed6e856178f587": { 1797 | "model_module": "@jupyter-widgets/controls", 1798 | "model_name": "HTMLModel", 1799 | "model_module_version": "1.5.0", 1800 | "state": { 1801 | "_dom_classes": [], 1802 | "_model_module": "@jupyter-widgets/controls", 1803 | "_model_module_version": "1.5.0", 1804 | "_model_name": "HTMLModel", 1805 | "_view_count": null, 1806 | "_view_module": "@jupyter-widgets/controls", 1807 | "_view_module_version": "1.5.0", 1808 | "_view_name": "HTMLView", 1809 | "description": "", 1810 | "description_tooltip": null, 1811 | "layout": "IPY_MODEL_f3cec6e8592044a9b4c8cc9353b12e2d", 1812 | "placeholder": "​", 1813 | "style": "IPY_MODEL_9bc286446bab47798509d455ab08ae7c", 1814 | "value": " 438M/438M [00:02<00:00, 212MB/s]" 1815 | } 1816 | }, 1817 | "a41609e521394c6ab4de19d7af43461f": { 1818 | "model_module": "@jupyter-widgets/base", 1819 | "model_name": "LayoutModel", 1820 | "model_module_version": "1.2.0", 1821 | "state": { 1822 | "_model_module": "@jupyter-widgets/base", 1823 | "_model_module_version": "1.2.0", 1824 | "_model_name": "LayoutModel", 1825 | "_view_count": null, 1826 | "_view_module": "@jupyter-widgets/base", 1827 | "_view_module_version": "1.2.0", 1828 | "_view_name": "LayoutView", 1829 | "align_content": null, 1830 | "align_items": null, 1831 | "align_self": null, 1832 | "border": null, 1833 | "bottom": null, 1834 | "display": null, 1835 | "flex": null, 1836 | "flex_flow": null, 1837 | "grid_area": null, 1838 | "grid_auto_columns": null, 1839 | "grid_auto_flow": null, 1840 | "grid_auto_rows": null, 1841 | "grid_column": null, 1842 | "grid_gap": null, 1843 | "grid_row": null, 1844 | "grid_template_areas": null, 1845 | "grid_template_columns": null, 1846 | "grid_template_rows": null, 1847 | "height": null, 1848 | "justify_content": null, 1849 | "justify_items": null, 1850 | "left": null, 1851 | "margin": null, 1852 | "max_height": null, 1853 | "max_width": null, 1854 | "min_height": null, 1855 | "min_width": null, 1856 | "object_fit": null, 1857 | "object_position": null, 1858 | "order": null, 1859 | "overflow": null, 1860 | "overflow_x": null, 1861 | "overflow_y": null, 1862 | "padding": null, 1863 | "right": null, 1864 | "top": null, 1865 | "visibility": null, 1866 | "width": null 1867 | } 1868 | }, 1869 | "63571815b1cc4a048363acc58349ea19": { 1870 | "model_module": "@jupyter-widgets/base", 1871 | "model_name": "LayoutModel", 1872 | "model_module_version": "1.2.0", 1873 | "state": { 1874 | "_model_module": "@jupyter-widgets/base", 1875 | "_model_module_version": "1.2.0", 1876 | "_model_name": "LayoutModel", 1877 | "_view_count": null, 1878 | "_view_module": "@jupyter-widgets/base", 1879 | "_view_module_version": "1.2.0", 1880 | "_view_name": "LayoutView", 1881 | "align_content": null, 1882 | "align_items": null, 1883 | "align_self": null, 1884 | "border": null, 1885 | "bottom": null, 1886 | "display": null, 1887 | "flex": null, 1888 | "flex_flow": null, 1889 | "grid_area": null, 1890 | "grid_auto_columns": null, 1891 | "grid_auto_flow": null, 1892 | "grid_auto_rows": null, 1893 | "grid_column": null, 1894 | "grid_gap": null, 1895 | "grid_row": null, 1896 | "grid_template_areas": null, 1897 | "grid_template_columns": null, 1898 | "grid_template_rows": null, 1899 | "height": null, 1900 | "justify_content": null, 1901 | "justify_items": null, 1902 | "left": null, 1903 | "margin": null, 1904 | "max_height": null, 1905 | "max_width": null, 1906 | "min_height": null, 1907 | "min_width": null, 1908 | "object_fit": null, 1909 | "object_position": null, 1910 | "order": null, 1911 | "overflow": null, 1912 | "overflow_x": null, 1913 | "overflow_y": null, 1914 | "padding": null, 1915 | "right": null, 1916 | "top": null, 1917 | "visibility": null, 1918 | "width": null 1919 | } 1920 | }, 1921 | "e5d16a307c7340cba44330644571189e": { 1922 | "model_module": "@jupyter-widgets/controls", 1923 | "model_name": "DescriptionStyleModel", 1924 | "model_module_version": "1.5.0", 1925 | "state": { 1926 | "_model_module": "@jupyter-widgets/controls", 1927 | "_model_module_version": "1.5.0", 1928 | "_model_name": "DescriptionStyleModel", 1929 | "_view_count": null, 1930 | "_view_module": "@jupyter-widgets/base", 1931 | "_view_module_version": "1.2.0", 1932 | "_view_name": "StyleView", 1933 | "description_width": "" 1934 | } 1935 | }, 1936 | "9ab90eacac07411bbcc3104dc7d86a7d": { 1937 | "model_module": "@jupyter-widgets/base", 1938 | "model_name": "LayoutModel", 1939 | "model_module_version": "1.2.0", 1940 | "state": { 1941 | "_model_module": "@jupyter-widgets/base", 1942 | "_model_module_version": "1.2.0", 1943 | "_model_name": "LayoutModel", 1944 | "_view_count": null, 1945 | "_view_module": "@jupyter-widgets/base", 1946 | "_view_module_version": "1.2.0", 1947 | "_view_name": "LayoutView", 1948 | "align_content": null, 1949 | "align_items": null, 1950 | "align_self": null, 1951 | "border": null, 1952 | "bottom": null, 1953 | "display": null, 1954 | "flex": null, 1955 | "flex_flow": null, 1956 | "grid_area": null, 1957 | "grid_auto_columns": null, 1958 | "grid_auto_flow": null, 1959 | "grid_auto_rows": null, 1960 | "grid_column": null, 1961 | "grid_gap": null, 1962 | "grid_row": null, 1963 | "grid_template_areas": null, 1964 | "grid_template_columns": null, 1965 | "grid_template_rows": null, 1966 | "height": null, 1967 | "justify_content": null, 1968 | "justify_items": null, 1969 | "left": null, 1970 | "margin": null, 1971 | "max_height": null, 1972 | "max_width": null, 1973 | "min_height": null, 1974 | "min_width": null, 1975 | "object_fit": null, 1976 | "object_position": null, 1977 | "order": null, 1978 | "overflow": null, 1979 | "overflow_x": null, 1980 | "overflow_y": null, 1981 | "padding": null, 1982 | "right": null, 1983 | "top": null, 1984 | "visibility": null, 1985 | "width": null 1986 | } 1987 | }, 1988 | "ed4a6b2ff55a418c969ce442b18686fc": { 1989 | "model_module": "@jupyter-widgets/controls", 1990 | "model_name": "ProgressStyleModel", 1991 | "model_module_version": "1.5.0", 1992 | "state": { 1993 | "_model_module": "@jupyter-widgets/controls", 1994 | "_model_module_version": "1.5.0", 1995 | "_model_name": "ProgressStyleModel", 1996 | "_view_count": null, 1997 | "_view_module": "@jupyter-widgets/base", 1998 | "_view_module_version": "1.2.0", 1999 | "_view_name": "StyleView", 2000 | "bar_color": null, 2001 | "description_width": "" 2002 | } 2003 | }, 2004 | "f3cec6e8592044a9b4c8cc9353b12e2d": { 2005 | "model_module": "@jupyter-widgets/base", 2006 | "model_name": "LayoutModel", 2007 | "model_module_version": "1.2.0", 2008 | "state": { 2009 | "_model_module": "@jupyter-widgets/base", 2010 | "_model_module_version": "1.2.0", 2011 | "_model_name": "LayoutModel", 2012 | "_view_count": null, 2013 | "_view_module": "@jupyter-widgets/base", 2014 | "_view_module_version": "1.2.0", 2015 | "_view_name": "LayoutView", 2016 | "align_content": null, 2017 | "align_items": null, 2018 | "align_self": null, 2019 | "border": null, 2020 | "bottom": null, 2021 | "display": null, 2022 | "flex": null, 2023 | "flex_flow": null, 2024 | "grid_area": null, 2025 | "grid_auto_columns": null, 2026 | "grid_auto_flow": null, 2027 | "grid_auto_rows": null, 2028 | "grid_column": null, 2029 | "grid_gap": null, 2030 | "grid_row": null, 2031 | "grid_template_areas": null, 2032 | "grid_template_columns": null, 2033 | "grid_template_rows": null, 2034 | "height": null, 2035 | "justify_content": null, 2036 | "justify_items": null, 2037 | "left": null, 2038 | "margin": null, 2039 | "max_height": null, 2040 | "max_width": null, 2041 | "min_height": null, 2042 | "min_width": null, 2043 | "object_fit": null, 2044 | "object_position": null, 2045 | "order": null, 2046 | "overflow": null, 2047 | "overflow_x": null, 2048 | "overflow_y": null, 2049 | "padding": null, 2050 | "right": null, 2051 | "top": null, 2052 | "visibility": null, 2053 | "width": null 2054 | } 2055 | }, 2056 | "9bc286446bab47798509d455ab08ae7c": { 2057 | "model_module": "@jupyter-widgets/controls", 2058 | "model_name": "DescriptionStyleModel", 2059 | "model_module_version": "1.5.0", 2060 | "state": { 2061 | "_model_module": "@jupyter-widgets/controls", 2062 | "_model_module_version": "1.5.0", 2063 | "_model_name": "DescriptionStyleModel", 2064 | "_view_count": null, 2065 | "_view_module": "@jupyter-widgets/base", 2066 | "_view_module_version": "1.2.0", 2067 | "_view_name": "StyleView", 2068 | "description_width": "" 2069 | } 2070 | } 2071 | } 2072 | } 2073 | }, 2074 | "cells": [ 2075 | { 2076 | "cell_type": "code", 2077 | "source": [ 2078 | "#FIRST! Make sure you have a GPU instance colab. Then you can run all cells\n", 2079 | "!pip install transformers\n", 2080 | "!pip install torchmetrics" 2081 | ], 2082 | "metadata": { 2083 | "colab": { 2084 | "base_uri": "https://localhost:8080/" 2085 | }, 2086 | "id": "veYusZ0nyU5J", 2087 | "outputId": "cb6122fd-13a2-42d7-f50a-a4f689c26dbe" 2088 | }, 2089 | "execution_count": null, 2090 | "outputs": [ 2091 | { 2092 | "output_type": "stream", 2093 | "name": "stdout", 2094 | "text": [ 2095 | "Collecting transformers\n", 2096 | " Downloading transformers-4.31.0-py3-none-any.whl (7.4 MB)\n", 2097 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.4/7.4 MB\u001b[0m \u001b[31m61.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", 2098 | "\u001b[?25hRequirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from transformers) (3.12.2)\n", 2099 | "Collecting huggingface-hub<1.0,>=0.14.1 (from transformers)\n", 2100 | " Downloading huggingface_hub-0.16.4-py3-none-any.whl (268 kB)\n", 2101 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m268.8/268.8 kB\u001b[0m \u001b[31m34.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", 2102 | "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (1.23.5)\n", 2103 | "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from transformers) (23.1)\n", 2104 | "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (6.0.1)\n", 2105 | "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (2023.6.3)\n", 2106 | "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from transformers) (2.31.0)\n", 2107 | "Collecting tokenizers!=0.11.3,<0.14,>=0.11.1 (from transformers)\n", 2108 | " Downloading tokenizers-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB)\n", 2109 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m107.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", 2110 | "\u001b[?25hCollecting safetensors>=0.3.1 (from transformers)\n", 2111 | " Downloading safetensors-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", 2112 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m61.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", 2113 | "\u001b[?25hRequirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.10/dist-packages (from transformers) (4.66.1)\n", 2114 | "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from huggingface-hub<1.0,>=0.14.1->transformers) (2023.6.0)\n", 2115 | "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub<1.0,>=0.14.1->transformers) (4.7.1)\n", 2116 | "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.2.0)\n", 2117 | "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.4)\n", 2118 | "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2.0.4)\n", 2119 | "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2023.7.22)\n", 2120 | "Installing collected packages: tokenizers, safetensors, huggingface-hub, transformers\n", 2121 | "Successfully installed huggingface-hub-0.16.4 safetensors-0.3.2 tokenizers-0.13.3 transformers-4.31.0\n" 2122 | ] 2123 | } 2124 | ] 2125 | }, 2126 | { 2127 | "cell_type": "code", 2128 | "execution_count": null, 2129 | "metadata": { 2130 | "colab": { 2131 | "base_uri": "https://localhost:8080/", 2132 | "height": 209, 2133 | "referenced_widgets": [ 2134 | "000b2771027e404688802d9724cb23ce", 2135 | "6441fbdb2890492ea78a49168b435f4b", 2136 | "73494315bb7641d4883818bf40b585d4", 2137 | "56f0ac289c3e4afdad619f58af533d47", 2138 | "8831ef6ef10f4ba19502f2ef5eea23a1", 2139 | "c3b71b092f904fcb90938dede42acfc9", 2140 | "c0108eff8a1048cf8d5649b74101a996", 2141 | "63f0e85f8fd44f9292dffa285d98fb4f", 2142 | "17ad3e068db640cbbc340f6df89d392c", 2143 | "71a19fedf87d43b2ab9c528e51b8d8f4", 2144 | "9b6da1b7014d4c87b6c67a6f0ec72872", 2145 | "d21f993dfe134b838631e89c3ba765e2", 2146 | "0d972ee29467495da310c066776d7092", 2147 | "2cf08a14de4446ac942a574a9ffdb6b4", 2148 | "3e3802deb68d4552a73e665a683698b2", 2149 | "1c024ac202ca45e79653225cf014944d", 2150 | "303cf3f63c55408d9158c8e3fce149d2", 2151 | "fe0e74463b1248549889ad28ec8d3232", 2152 | "f8e5ef09dd3544daae06878f5e5855b3", 2153 | "a4ea9b5adfde40b6b6698addc8bfd5d0", 2154 | "d9f340d6a86d4f01a924e17347703fd1", 2155 | "afdd4b889249418099e17573081ee6ec", 2156 | "8645b184eb89416daa42dec7bc98fcc5", 2157 | "416c253788284ac9a0d9d4f1b3990d6c", 2158 | "a7c79d445f0c4b08a38cded2f80c92ea", 2159 | "434f09de59ec44b9afd734d6a4f44169", 2160 | "2e4b59500822422591e59cf791e19352", 2161 | "04d3ef77f3d34fb9b2e8f37b236f92d4", 2162 | "7f7170ebb81946bbacc8d4ba9c09905b", 2163 | "e54319b2922c4994a514013d05bdb6d9", 2164 | "e0f27b6aec9e4c97b928880bdb7c7d8d", 2165 | "0584e8db79624f3284625828536b613f", 2166 | "2f0e5c15638b4aa29a21a12c6f128124", 2167 | "2648c5eb7c834ed391209f114fc20771", 2168 | "a38ac0d6ccd043daac75b63bc84397db", 2169 | "eff2c84087c544878d99631a116a9df5", 2170 | "28e2a299bc5f4956ba336dace3806f05", 2171 | "1818cd7ac74143ea953e7146279d6de7", 2172 | "9fc04d05729c45178e4176883f74fc90", 2173 | "f38105e2e43a4ebe83de39a29c257b68", 2174 | "1aac7127941449108a6df9b936eb5dbd", 2175 | "c6aa2d048815432893c7116952da16d2", 2176 | "aef516e922604020a8fe9fb93edb67ee", 2177 | "35229d0130584065bdd9df07d7a0b832", 2178 | "2d10edae401f467ab1f57ef1922a3a32", 2179 | "a69a4a6dd60c44a4bbceb2a4dbe825b2", 2180 | "02b40f18d4664beda17cce83f1ba3aa3", 2181 | "1e2cb03de3ab4b3e92db023a4d70d1c9", 2182 | "d10d91f714ca46f4a2de0997439deac2", 2183 | "98158158f64243459d3acf99bce274cd", 2184 | "957dc3ad1edc4cfd9bc82cfa3acad2d4", 2185 | "e5a13d3286c34657a5c29936cc631ea8", 2186 | "46b53af736e44feab7ef6683bfc9e5b2", 2187 | "328287edc5f94d6e99db1046cd6db407", 2188 | "01381c7edf55401d87611b3ab0f1e39a", 2189 | "07511d6165e5438b8afa899478c3fd20", 2190 | "e33c01b489da403c98a80d7ee0971875", 2191 | "ef485f8a1df4477e98071812c7458c5b", 2192 | "77d97b47d68d44cfbfed6e856178f587", 2193 | "a41609e521394c6ab4de19d7af43461f", 2194 | "63571815b1cc4a048363acc58349ea19", 2195 | "e5d16a307c7340cba44330644571189e", 2196 | "9ab90eacac07411bbcc3104dc7d86a7d", 2197 | "ed4a6b2ff55a418c969ce442b18686fc", 2198 | "f3cec6e8592044a9b4c8cc9353b12e2d", 2199 | "9bc286446bab47798509d455ab08ae7c" 2200 | ] 2201 | }, 2202 | "id": "phu9vfXhyRNC", 2203 | "outputId": "00f119cb-749a-42f3-cf2c-4b784f938b61" 2204 | }, 2205 | "outputs": [ 2206 | { 2207 | "output_type": "display_data", 2208 | "data": { 2209 | "text/plain": [ 2210 | "Downloading (…)okenizer_config.json: 0%| | 0.00/363 [00:00 \"torch.FloatTensor\":\n", 2332 | " \"\"\"Runs a forward pass through the model.\n", 2333 | " Args:\n", 2334 | " sentences (:obj:`List[str]`):\n", 2335 | " text message to be encoded.\n", 2336 | " Returns:\n", 2337 | " embedding (:obj:`torch.FloatTensor`):\n", 2338 | " Embedding for the message.\n", 2339 | " \"\"\"\n", 2340 | " # Tokenizing sentences\n", 2341 | " encoded_input = self.tokenizer(\n", 2342 | " sentences,\n", 2343 | " padding=True,\n", 2344 | " truncation=True,\n", 2345 | " return_tensors=\"pt\",\n", 2346 | " ).to(self.device)\n", 2347 | "\n", 2348 | " # Compute token embedding\n", 2349 | " with torch.no_grad():\n", 2350 | " embeddings = self.model(**encoded_input)\n", 2351 | "\n", 2352 | " # Pooling\n", 2353 | " sentence_embeddings = mean_pooling(embeddings, encoded_input[\"attention_mask\"])\n", 2354 | "\n", 2355 | " # Normalizing\n", 2356 | " sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)\n", 2357 | " return sentence_embeddings\n", 2358 | "\n", 2359 | " def get_rewards( self, completions ) :\n", 2360 | "\n", 2361 | " # Get embeddings for all completions.\n", 2362 | " embeddings = self.get_embeddings( completions )\n", 2363 | "\n", 2364 | " # Calculate the pairwise cosine similarity.\n", 2365 | " similarity = pairwise_cosine_similarity( embeddings, embeddings )\n", 2366 | "\n", 2367 | " return similarity.tolist()\n", 2368 | " # Reward to be at the 10% quantile of the 1 - similarity score.\n", 2369 | " rewards = (1 - similarity).quantile(self.reward_quantile, dim = 1 )\n", 2370 | "\n", 2371 | " # Return all\n", 2372 | " return rewards\n", 2373 | "\n", 2374 | "\n", 2375 | "\n", 2376 | "\n", 2377 | "cl = DiversityRewardModel(\"cuda\")" 2378 | ] 2379 | }, 2380 | { 2381 | "cell_type": "code", 2382 | "source": [ 2383 | "responses = [\"Bonjour, je m'appelle Viktor.\",\"Hello, my name is Viktor\"]\n", 2384 | "\n", 2385 | "similarity = cl.get_rewards(responses)\n", 2386 | "print(similarity)" 2387 | ], 2388 | "metadata": { 2389 | "colab": { 2390 | "base_uri": "https://localhost:8080/" 2391 | }, 2392 | "id": "s2WZSfGIyec4", 2393 | "outputId": "f53e796c-d74f-4da1-f664-cb4a3f22e668" 2394 | }, 2395 | "execution_count": null, 2396 | "outputs": [ 2397 | { 2398 | "output_type": "stream", 2399 | "name": "stdout", 2400 | "text": [ 2401 | "[[1.0000001192092896, 0.5952279567718506], [0.5952279567718506, 1.0000001192092896]]\n" 2402 | ] 2403 | } 2404 | ] 2405 | }, 2406 | { 2407 | "cell_type": "code", 2408 | "source": [ 2409 | "def regularise( rewards ):\n", 2410 | " # sigmoid function that maps 0.07 -> 0.23; 0.1 -> 0.5; 0.2 -> 0.98\n", 2411 | " return 1/(1 + torch.exp(-40 * rewards + 4))\n", 2412 | "\n", 2413 | "\n", 2414 | "print(regularise(torch.tensor([1 - 0.9396640062332153])))" 2415 | ], 2416 | "metadata": { 2417 | "colab": { 2418 | "base_uri": "https://localhost:8080/" 2419 | }, 2420 | "id": "g4fIJbrmzqcP", 2421 | "outputId": "49ff1e83-e98a-4b62-fe68-c988858f4998" 2422 | }, 2423 | "execution_count": null, 2424 | "outputs": [ 2425 | { 2426 | "output_type": "stream", 2427 | "name": "stdout", 2428 | "text": [ 2429 | "tensor([0.1699])\n" 2430 | ] 2431 | } 2432 | ] 2433 | }, 2434 | { 2435 | "cell_type": "code", 2436 | "source": [ 2437 | "reward = (open_assitant_score *0.6 + reciprocate_score *0.4) * relevance * diversity" 2438 | ], 2439 | "metadata": { 2440 | "id": "Nvy8eEtT0tki" 2441 | }, 2442 | "execution_count": null, 2443 | "outputs": [] 2444 | } 2445 | ] 2446 | } 2447 | --------------------------------------------------------------------------------