From 13d55f437e1c229b139343e7af41aeeef58fcebf Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Mon, 13 Mar 2023 22:38:22 -0700 Subject: [PATCH] update lengths notebook --- lengths.ipynb | 77 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 27 deletions(-) diff --git a/lengths.ipynb b/lengths.ipynb index 2b3610e..e4a01ad 100644 --- a/lengths.ipynb +++ b/lengths.ipynb @@ -12,8 +12,8 @@ "/home/eric/miniconda3/envs/dl3/lib/python3.10/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n", "Found cached dataset json (/home/eric/.cache/huggingface/datasets/json/default-789f51900889f651/0.0.0/0f7e3662623656454fcd2b650f34e886a7db4b9104504885bd462096cc7a9f51)\n", - "100%|██████████| 1/1 [00:00<00:00, 742.35it/s]\n", - " \r" + "100%|██████████| 1/1 [00:00<00:00, 703.62it/s]\n", + "Loading cached processed dataset at /home/eric/.cache/huggingface/datasets/json/default-789f51900889f651/0.0.0/0f7e3662623656454fcd2b650f34e886a7db4b9104504885bd462096cc7a9f51/cache-0d61d5bdc68bbe36.arrow\n" ] } ], @@ -22,23 +22,10 @@ "from transformers import LLaMATokenizer\n", "\n", "\n", - "tokenizer = LLaMATokenizer.from_pretrained(\"./7B/tokenizer\")\n", + "tokenizer = LLaMATokenizer.from_pretrained(\"decapoda-research/llama-7b-hf\", add_eos_token=True)\n", "tokenizer.pad_token = tokenizer.eos_token\n", "tokenizer.pad_token_id = tokenizer.eos_token_id\n", "\n", - "\"\"\"\n", - "data = load_dataset(\"laion/OIG\", streaming=True)\n", - "data = data.map(\n", - " lambda x: tokenizer(\n", - " x[\"text\"],\n", - " ),\n", - ")\n", - "\n", - "import itertools\n", - "\n", - "lens = [len(x[\"input_ids\"]) for x in itertools.islice(data[\"train\"], 1000)]\n", - "\"\"\"\n", - "\n", "data = load_dataset(\"json\", data_files=\"alpaca_data.json\")\n", "\n", "\n", @@ -70,25 +57,26 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(array([5.0967e+04, 8.9800e+02, 1.1400e+02, 8.0000e+00, 9.0000e+00,\n", - " 5.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]),\n", - " array([ 56., 116., 176., 236., 296., 356., 416., 476., 536., 596., 656.]),\n", + "(array([4.2516e+04, 8.2500e+03, 9.8300e+02, 1.9100e+02, 3.5000e+01,\n", + " 1.6000e+01, 9.0000e+00, 0.0000e+00, 1.0000e+00, 1.0000e+00]),\n", + " array([ 60. , 184.5, 309. , 433.5, 558. , 682.5, 807. , 931.5,\n", + " 1056. , 1180.5, 1305. ]),\n", " )" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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6FDr4MGD1okTJyyPx2N5PB77ePvlq1OnTrXKy8utoqIia9CgQcZdvrps2TKrtLTUqq6utt577z1r2bJlVlhYmPWrX/3Ksiz26Ytce3WVZbFf13rxxRetQ4cOWdXV1davf/1rKz093Ro4cKBVX19vWRZ7da1jx45ZkZGR1r/9279ZZ8+etd544w2rd+/e1n/+53/aM/x+7zoip4d5++23LUkdHllZWZZlfXqZ4b/+679acXFxltPptKZMmWJVVVWFnONPf/qTNWvWLKtv376Wy+Wy5syZY124cKEb3s3d09keSbJef/11e+bSpUvWP//zP1sPPfSQ1bt3b+vb3/629fHHH4ec56OPPrKeeuopKzo62ho4cKD14osvWleuXLnH7+bueu6556xhw4ZZDofDGjRokDVlyhQ7cCyLffoi10cO+/WZGTNmWIMHD7YcDof1V3/1V9aMGTNC7vvCXoXau3evNWbMGMvpdFqjRo2yfvazn4Uc5/d714VZlmV1z2dIAAAAdw/fyQEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABjp/wE2hg/VeTd1IwAAAABJRU5ErkJggg==", + "image/png": "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X/5ibd682frwww/tmoULF1put9vauHGj9d5771nf+973rLi4OOvUqVN2zT333GMNGTLE2rFjh/WHP/zB6tevnzV58uT2OKU29bOf/czq3r27lZeXZx06dMhav3691aVLF2vJkiV2zY3WnzfffNN6+umnrddff92SZG3YsCFgvC36UVtba0VFRVlTpkyxysvLrV//+tdWeHi49ctf/vJ6neYVu1h/ampqrOTkZGvt2rXWwYMHrZKSEmvkyJFWYmJiwBwm9+dK3bAhZ+TIkVZaWpr9urGx0YqJibFycnLacVXto7q62pJkFRcXW5b19x+om266yVq/fr1d86c//cmSZJWUlFiW9fcfyODgYMvn89k1K1assFwul1VfX399T+AaOXHihPWNb3zDKiwstP7pn/7JDjn0x7IyMzOtO++884LjTU1NVnR0tPXCCy/Y+2pqaiyn02n9+te/tizLst5//31LkrV79267ZtOmTVZQUJD1t7/97dot/jpISUmxHnvssYB9Dz74oDVlyhTLsujPlz/E26ofy5cvt26++eaAn7HMzEyrf//+1/iM2lZLIfDLdu3aZUmy/vrXv1qWdWP1pzVuyF9XNTQ0qLS0VMnJyfa+4OBgJScnq6SkpB1X1j5qa2slSd26dZMklZaW6syZMwH9GTBggHr37m33p6SkRAkJCQEPXvR6vfL7/Tpw4MB1XP21k5aWppSUlIA+SPRHkn73u99p+PDh+ud//mdFRkbqtttu03//93/b44cOHZLP5wvokdvtVlJSUkCPIiIiNHz4cLsmOTlZwcHB2rlz5/U7mWvg9ttvV1FRkf785z9Lkt577z298847uvfeeyXRny9rq36UlJRo9OjRcjgcdo3X61VFRYU+//zz63Q210dtba2CgoIUEREhif5cSId+4vGV+vTTT9XY2Hjek5GjoqJ08ODBdlpV+2hqatKcOXN0xx13aNCgQZIkn88nh8Nh//A0i4qKks/ns2ta6l/zWEe3Zs0a7d27V7t37z5vjP5If/nLX7RixQplZGToRz/6kXbv3q1///d/l8PhUGpqqn2OLfXg3B5FRkYGjIeGhqpbt24dvkfz58+X3+/XgAEDFBISosbGRv3sZz/TlClTJOmG78+XtVU/fD6f4uLizpujeezmm2++Juu/3k6fPq3MzExNnjzZ/gc56U/LbsiQg39IS0tTeXm53nnnnfZeylfG4cOH9dRTT6mwsFBhYWHtvZyvpKamJg0fPlz/8R//IUm67bbbVF5erpUrVyo1NbWdV9f+1q1bp1WrVmn16tX61re+pbKyMs2ZM0cxMTH0B1flzJkz+pd/+RdZlqUVK1a093K+8m7IX1f16NFDISEh590NU1VVpejo6HZa1fU3a9Ys5eXl6e2331avXr3s/dHR0WpoaFBNTU1A/bn9iY6ObrF/zWMdWWlpqaqrqzVs2DCFhoYqNDRUxcXFeumllxQaGqqoqKgbuj+S1LNnT8XHxwfsGzhwoCorKyX94xwv9jMWHR2t6urqgPGzZ8/q+PHjHb5Hc+fO1fz58zVp0iQlJCRo6tSpSk9PV05OjiT682Vt1Q/Tf+6aA85f//pXFRYW2t/iSPTnQm7IkONwOJSYmKiioiJ7X1NTk4qKiuTxeNpxZdeHZVmaNWuWNmzYoC1btpz39WViYqJuuummgP5UVFSosrLS7o/H49H+/fsDfqiaf+i+/OHX0YwdO1b79+9XWVmZvQ0fPlxTpkyx/3wj90eS7rjjjvMeO/DnP/9Zffr0kSTFxcUpOjo6oEd+v187d+4M6FFNTY1KS0vtmi1btqipqUlJSUnX4SyunS+++ELBwYF/vYaEhKipqUkS/fmytuqHx+PRtm3bdObMGbumsLBQ/fv37/C/imkOOB988IHeeustde/ePWD8Ru/PBbX3lc/tZc2aNZbT6bRyc3Ot999/33ryySetiIiIgLthTDVz5kzL7XZbW7dutY4ePWpvX3zxhV0zY8YMq3fv3taWLVusPXv2WB6Px/J4PPZ48y3S48aNs8rKyqyCggLrlltuMeYW6S879+4qy6I/u3btskJDQ62f/exn1gcffGCtWrXK6tSpk/V///d/ds3ChQutiIgI67e//a21b98+64EHHmjxluDbbrvN2rlzp/XOO+9Y3/jGNzrsLdLnSk1Ntb72ta/Zt5C//vrrVo8ePax58+bZNTdaf06cOGG9++671rvvvmtJsn7xi19Y7777rn13UFv0o6amxoqKirKmTp1qlZeXW2vWrLE6derUIW6Rvlh/GhoarO9973tWr169rLKysoC/t8+9U8rk/lypGzbkWJZl/dd//ZfVu3dvy+FwWCNHjrR27NjR3ku6LiS1uL366qt2zalTp6x/+7d/s26++WarU6dO1ve//33r6NGjAfN8/PHH1r333muFh4dbPXr0sH7wgx9YZ86cuc5nc318OeTQH8t64403rEGDBllOp9MaMGCA9fLLLweMNzU1WT/+8Y+tqKgoy+l0WmPHjrUqKioCaj777DNr8uTJVpcuXSyXy2VNmzbNOnHixPU8jWvC7/dbTz31lNW7d28rLCzM+vrXv249/fTTAR9IN1p/3n777Rb/3klNTbUsq+368d5771l33nmn5XQ6ra997WvWwoULr9cpXpWL9efQoUMX/Hv77bfftucwuT9XKsiyznkEJwAAgCFuyGtyAACA+Qg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADDS/wOlho9pMisvZAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -106,22 +94,52 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "634" + "[]" ] }, - "execution_count": 7, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGdCAYAAAAMm0nCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3sklEQVR4nO3de3hU1b3/8c9MJjO5kJncSEIkQFQUUQQFjfHWWvIjIsfqKT2VNq0cyyOtJW0pHi/0KGprxaLHo1CV2h7F/g5e6vlV68FKpSCgGAMEIveIigSFSYCQTBJIMplZvz9itgwBTDBxspP363nmeWb2XjP7O4s8zse1117bYYwxAgAAsBFntAsAAADoKgIMAACwHQIMAACwHQIMAACwHQIMAACwHQIMAACwHQIMAACwHQIMAACwHVe0C+gp4XBYe/fuVVJSkhwOR7TLAQAAnWCMUX19vbKzs+V0nnicpc8GmL179yonJyfaZQAAgFOwZ88eDR48+IT7+2yASUpKktTWAV6vN8rVAACAzggEAsrJybF+x0+kzwaY9tNGXq+XAAMAgM180fQPJvECAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADbIcAAAADb6bM3cwQAAD3jTyUfa9eBRk2+cLDOO80XlRoYgQEAAF3y+ma/nlnTFmKihQADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAABshwADAAC6xMhEuwQCDAAAODUOR/SOTYABAAC2Q4ABAAC20+UAs3r1al177bXKzs6Ww+HQK6+8Yu0LBoO64447NGrUKCUmJio7O1s33nij9u7dG/EZNTU1KioqktfrVXJysqZNm6aGhoaINps2bdIVV1yhuLg45eTkaN68eaf2DQEAQJ/T5QDT2Nio0aNH6/HHH++w7/Dhw9qwYYPuvvtubdiwQX/5y19UUVGhb37zmxHtioqKtHXrVi1btkxLlizR6tWrNX36dGt/IBDQhAkTNHToUJWVlemhhx7Svffeq6eeeuoUviIAAOhrXF19w8SJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(sorted(lens))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "49513" + ] + }, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "len([l for l in lens if l > 128])" + "len([l for l in lens if l < 256])" ] }, { @@ -150,7 +168,12 @@ "pygments_lexer": "ipython3", "version": "3.10.8" }, - "orig_nbformat": 4 + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "90bfda469df5ac7fed8d7e225d563f60a7a7aa420ccfadb091c914debf775e49" + } + } }, "nbformat": 4, "nbformat_minor": 2