From 3a6c3e4a6ae09536dfeba3a2d5371dce861bb6c6 Mon Sep 17 00:00:00 2001 From: wassname <1103714+wassname@users.noreply.github.com> Date: Sun, 25 Aug 2024 12:54:36 +0800 Subject: [PATCH] convert to pref data on hf --- .gitignore | 7 + __pycache__/download_data.cpython-310.pyc | Bin 1215 -> 0 bytes nbs/01_mjc_convert_data_to_preference.ipynb | 2803 +++++++++++++++++++ 3 files changed, 2810 insertions(+) delete mode 100644 __pycache__/download_data.cpython-310.pyc create mode 100644 nbs/01_mjc_convert_data_to_preference.ipynb diff --git a/.gitignore b/.gitignore index 10fdd19..1a5c7ea 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,10 @@ env/ upload_data.py genies-datasets.tar distributions/ +.venv/ +__pycache__/ +*.pyc + +# jypter notebook +.ipynb_checkpoints/ + diff --git a/__pycache__/download_data.cpython-310.pyc b/__pycache__/download_data.cpython-310.pyc deleted file mode 100644 index d694dc90880b10f6ed361df13c272a87011f6b62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1215 zcmZux&2H345O)7~re~5FSQhcGm8F#kW)+VXZU`YHAgjGZNQs2j7pvp$$vE-YLwB1Y zBhM*Z5f6YOB}ZO?C*T?Sgv5#K9`^#(o=gpzzteb4*i zl=F*%@)%fegAkrTxfd^X6r)DRF>ZDe6M-caMA9J@RQPXb?2DFYzwzRhYzwxJ)g4KW znQWaP1V~#Ahn=s0>}^^$%yL=qv9znAoECY>MIthlV&^_x40gv)fc0k(0@dDo?+DLv z?afJz=G1t{sKzH~?$`bv78s%q4XKGBhxlE8-l|*26gNXZy~Ut)jvXpHaj5OOz1Ia_=k5QYZvTYZZBSQg3fQYh zzQY#YmW$VOIlFq6wy?iB8;p#Z=m&$rt}HUC*9A8`()XiEuS>4Y`n`yc`K&DXR7Yt! z9(?@-jj?#TGiz-?OM|u9?`y$`>tIL9B3SlTia=LsDzzR~d43RWhsZMdI@2a8_bpPO z(g`=CS?@_%7+Dw{ltaL};jmuG1(Et=ik;1IMiEJFomBm;N5QLtsW zsdSK*LOuw>70Z--SxIfQCA-qZE4uL~&TnZsk%jfADl^iy(?u56pQx-b7MI$xG2fRk zBHFeMS1y3p^jv}rbq*8f&d6|$Di94OR`r_VM5pLXEMtV{f8sayI1fV~7 z>MEf8_s78Xey~^SQN@!qKNw3j`0Lr`-_N!NOYEe%p2>l|cxE|Gt_2YKHxOM+2_;>i zRoq9nzFj1JNAPunT*m4;97%zHSgwj@>aW0ufw^xc5((_)dNDsC-JIQedir#-VmAy pd.DataFrame:\n", + " \"\"\"takes the GENIE format and convert it to to a dataframe of preference format.\"\"\"\n", + " outs = []\n", + " for i, row in enumerate(train):\n", + " s = pd.Series(row['responses'])\n", + " chosen = s[s==1].index[0]\n", + " rejected = s[s==0].index\n", + " outs += [dict(prompt=row['prompt'], chosen=chosen, rejected=r, i=i) for r in rejected]\n", + "\n", + " df = pd.DataFrame(outs)\n", + " return df\n", + "\n", + "\n", + "\n", + "def json2ds(source_dir: Path) -> Dataset:\n", + " test = json.load(open(source_dir / 'test.json'))\n", + " train = json.load(open(source_dir / 'train.json'))\n", + " metadata = json.load(open(source_dir / 'metadata.json'))\n", + " ds_info = DatasetInfo(\n", + " description= f\"GENIE:{metadata['id']}\",\n", + " citation= \"\"\"@misc{clymer2023generalizationanalogiestestbedgeneralizing,\n", + " title={Generalization Analogies: A Testbed for Generalizing AI Oversight to Hard-To-Measure Domains}, \n", + " author={Joshua Clymer and Garrett Baker and Rohan Subramani and Sam Wang},\n", + " year={2023},\n", + " eprint={2311.07723},\n", + " archivePrefix={arXiv},\n", + " primaryClass={cs.AI},\n", + " url={https://arxiv.org/abs/2311.07723}, \n", + " }\"\"\",\n", + " homepage= \"https://joshuaclymer.github.io/generalization-analogies-website/\",\n", + " license= \"MIT\",\n", + " config_name=f\"{metadata['id']}\",\n", + " )\n", + "\n", + "\n", + " df_train = genie2ds(train)\n", + " df_test = genie2ds(test)\n", + " dataset2 = datasets.DatasetDict(\n", + " {'train': datasets.Dataset.from_pandas(df_train, info=ds_info),\n", + " 'test': datasets.Dataset.from_pandas(df_test, info=ds_info)}\n", + " )\n", + " return dataset2" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../distributions/alpaca_easy alpaca_easy\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "70cf450126b54157bab78571208e91d4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Pushing dataset shards to the dataset hub: 0%| | 0/1 [00:00