CoolFace
Modelpublic

Hum-Works/lodestone-base-4096-v1

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
12likes143downloads
Dataloading.ipynb676 linesDownload Raw Back to root
1{2 "cells": [3  {4   "cell_type": "markdown",5   "id": "3f9ce240-fd1a-4550-83c7-8cf9658b1d3a",6   "metadata": {},7   "source": [8    "# Dataloading (1B+ Training Pairs)\n",9    "\n",10    "## This notebook collects and uploads all 50 relevant sentence embedding datasets to S3 as .json.gz files where each line contains one training record"11   ]12  },13  {14   "cell_type": "code",15   "execution_count": 62,16   "id": "d7af8d0e-b3ed-4007-abdd-5952d775e119",17   "metadata": {18    "tags": []19   },20   "outputs": [],21   "source": [22    "import os\n",23    "import pandas as pd\n",24    "\n",25    "os.chdir('/home/ec2-user/SageMaker')"26   ]27  },28  {29   "cell_type": "code",30   "execution_count": 63,31   "id": "686699fb-d2c9-4653-afca-580aef343451",32   "metadata": {33    "collapsed": true,34    "jupyter": {35     "outputs_hidden": true36    },37    "tags": []38   },39   "outputs": [40    {41     "name": "stdout",42     "output_type": "stream",43     "text": [44      "Loaded plugins: dkms-build-requires, extras_suggestions, langpacks, priorities,\n",45      "              : update-motd, versionlock\n",46      "Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-epel\n",47      "              : amzn2extra-kernel-5.10 amzn2extra-python3.8 centos-extras\n",48      "              : copr:copr.fedorainfracloud.org:vbatts:shadow-utils-newxidmap\n",49      "              : docker-ce-stable libnvidia-container neuron\n",50      "21 metadata files removed\n",51      "15 sqlite files removed\n",52      "0 metadata files removed\n",53      "Loaded plugins: dkms-build-requires, extras_suggestions, langpacks, priorities,\n",54      "              : update-motd, versionlock\n"55     ]56    },57    {58     "name": "stderr",59     "output_type": "stream",60     "text": [61      "https://download.docker.com/linux/centos/2/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found\n",62      "Trying other mirror.\n"63     ]64    },65    {66     "name": "stdout",67     "output_type": "stream",68     "text": [69      "62 packages excluded due to repository priority protections\n",70      "Resolving Dependencies\n",71      "--> Running transaction check\n",72      "---> Package epel-release.noarch 0:7-11 will be installed\n",73      "--> Finished Dependency Resolution\n",74      "\n",75      "Dependencies Resolved\n",76      "\n",77      "================================================================================\n",78      " Package              Arch           Version      Repository               Size\n",79      "================================================================================\n",80      "Installing:\n",81      " epel-release         noarch         7-11         amzn2extra-epel          15 k\n",82      "\n",83      "Transaction Summary\n",84      "================================================================================\n",85      "Install  1 Package\n",86      "\n",87      "Total download size: 15 k\n",88      "Installed size: 24 k\n",89      "Downloading packages:\n",90      "Running transaction check\n",91      "Running transaction test\n",92      "Transaction test succeeded\n",93      "Running transaction\n"94     ]95    },96    {97     "name": "stderr",98     "output_type": "stream",99     "text": [100      "Warning: RPMDB altered outside of yum.\n"101     ]102    },103    {104     "name": "stdout",105     "output_type": "stream",106     "text": [107      "  Installing : epel-release-7-11.noarch                                     1/1 \n",108      "  Verifying  : epel-release-7-11.noarch                                     1/1 \n",109      "\n",110      "Installed:\n",111      "  epel-release.noarch 0:7-11                                                    \n",112      "\n",113      "Complete!\n",114      "Installing epel-release\n",115      "  0  ansible2                 available    \\\n",116      "        [ =2.4.2  =2.4.6  =2.8  =stable ]\n",117      "  2  httpd_modules            available    [ =1.0  =stable ]\n",118      "  3  memcached1.5             available    \\\n",119      "        [ =1.5.1  =1.5.16  =1.5.17 ]\n",120      "  6  postgresql10             available    [ =10  =stable ]\n",121      "  9  R3.4                     available    [ =3.4.3  =stable ]\n",122      " 10  rust1                    available    \\\n",123      "        [ =1.22.1  =1.26.0  =1.26.1  =1.27.2  =1.31.0  =1.38.0\n",124      "          =stable ]\n",125      " 18  libreoffice              available    \\\n",126      "        [ =5.0.6.2_15  =5.3.6.1  =stable ]\n",127      " 19  gimp                     available    [ =2.8.22 ]\n",128      " 20  docker=latest            enabled      \\\n",129      "        [ =17.12.1  =18.03.1  =18.06.1  =18.09.9  =stable ]\n",130      " 21  mate-desktop1.x          available    \\\n",131      "        [ =1.19.0  =1.20.0  =stable ]\n",132      " 22  GraphicsMagick1.3        available    \\\n",133      "        [ =1.3.29  =1.3.32  =1.3.34  =stable ]\n",134      " 23  tomcat8.5                available    \\\n",135      "        [ =8.5.31  =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50\n",136      "          =stable ]\n",137      " 24  epel=latest              enabled      [ =7.11  =stable ]\n",138      " 25  testing                  available    [ =1.0  =stable ]\n",139      " 26  ecs                      available    [ =stable ]\n",140      " 27  corretto8                available    \\\n",141      "        [ =1.8.0_192  =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232\n",142      "          =1.8.0_242  =stable ]\n",143      " 29  golang1.11               available    \\\n",144      "        [ =1.11.3  =1.11.11  =1.11.13  =stable ]\n",145      " 30  squid4                   available    [ =4  =stable ]\n",146      " 32  lustre2.10               available    \\\n",147      "        [ =2.10.5  =2.10.8  =stable ]\n",148      " 33  java-openjdk11           available    [ =11  =stable ]\n",149      " 34  lynis                    available    [ =stable ]\n",150      " 36  BCC                      available    [ =0.x  =stable ]\n",151      " 37  mono                     available    [ =5.x  =stable ]\n",152      " 38  nginx1                   available    [ =stable ]\n",153      " 40  mock                     available    [ =stable ]\n",154      " 41  postgresql11             available    [ =11  =stable ]\n",155      " 43  livepatch                available    [ =stable ]\n",156      " 44  python3.8=latest         enabled      [ =stable ]\n",157      " 45  haproxy2                 available    [ =stable ]\n",158      " 46  collectd                 available    [ =stable ]\n",159      " 47  aws-nitro-enclaves-cli   available    [ =stable ]\n",160      " 48  R4                       available    [ =stable ]\n",161      "  _  kernel-5.4               available    [ =stable ]\n",162      " 50  selinux-ng               available    [ =stable ]\n",163      " 51  php8.0                   available    [ =stable ]\n",164      " 52  tomcat9                  available    [ =stable ]\n",165      " 53  unbound1.13              available    [ =stable ]\n",166      " 54  mariadb10.5              available    [ =stable ]\n",167      " 55  kernel-5.10=latest       enabled      [ =stable ]\n",168      " 56  redis6                   available    [ =stable ]\n",169      " 57  ruby3.0                  available    [ =stable ]\n",170      " 58  postgresql12             available    [ =stable ]\n",171      " 59  postgresql13             available    [ =stable ]\n",172      " 60  mock2                    available    [ =stable ]\n",173      " 61  dnsmasq2.85              available    [ =stable ]\n",174      " 62  kernel-5.15              available    [ =stable ]\n",175      " 63  postgresql14             available    [ =stable ]\n",176      " 64  firefox                  available    [ =stable ]\n",177      " 65  lustre                   available    [ =stable ]\n",178      " 66  php8.1                   available    [ =stable ]\n",179      " 67  awscli1                  available    [ =stable ]\n",180      " 68  php8.2                   available    [ =stable ]\n",181      " 69  dnsmasq                  available    [ =stable ]\n",182      " 70  unbound1.17              available    [ =stable ]\n",183      " 71  golang1.19               available    [ =stable ]\n",184      " 72  collectd-python3         available    [ =stable ]\n",185      "Loaded plugins: dkms-build-requires, extras_suggestions, langpacks, priorities,\n",186      "              : update-motd, versionlock\n",187      "================================== repo: epel ==================================\n",188      "[epel]\n",189      "async = True\n",190      "bandwidth = 0\n",191      "base_persistdir = /var/lib/yum/repos/x86_64/2\n",192      "baseurl = \n",193      "cache = 0\n",194      "cachedir = /var/cache/yum/x86_64/2/epel\n",195      "check_config_file_age = True\n",196      "compare_providers_priority = 80\n",197      "cost = 1000\n",198      "deltarpm_metadata_percentage = 100\n",199      "deltarpm_percentage = \n",200      "enabled = True\n",201      "enablegroups = True\n",202      "exclude = \n",203      "failovermethod = priority\n",204      "ftp_disable_epsv = False\n",205      "gpgcadir = /var/lib/yum/repos/x86_64/2/epel/gpgcadir\n",206      "gpgcakey = \n",207      "gpgcheck = True\n",208      "gpgdir = /var/lib/yum/repos/x86_64/2/epel/gpgdir\n",209      "gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7\n",210      "hdrdir = /var/cache/yum/x86_64/2/epel/headers\n",211      "http_caching = all\n",212      "includepkgs = \n",213      "ip_resolve = \n",214      "keepalive = True\n",215      "keepcache = False\n",216      "mddownloadpolicy = sqlite\n",217      "mdpolicy = group:small\n",218      "mediaid = \n",219      "metadata_expire = 21600\n",220      "metadata_expire_filter = read-only:present\n",221      "metalink = https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64\n",222      "minrate = 0\n",223      "mirrorlist = \n",224      "mirrorlist_expire = 86400\n",225      "name = Extra Packages for Enterprise Linux 7 - x86_64\n",226      "old_base_cache_dir = \n",227      "password = \n",228      "persistdir = /var/lib/yum/repos/x86_64/2/epel\n",229      "pkgdir = /var/cache/yum/x86_64/2/epel/packages\n",230      "priority = 99\n",231      "proxy = False\n",232      "proxy_dict = \n",233      "proxy_password = \n",234      "proxy_username = \n",235      "repo_gpgcheck = False\n",236      "report_instanceid = False\n",237      "retries = 7\n",238      "skip_if_unavailable = False\n",239      "ssl_check_cert_permissions = True\n",240      "sslcacert = \n",241      "sslclientcert = \n",242      "sslclientkey = \n",243      "sslverify = True\n",244      "throttle = 0\n",245      "timeout = 5.0\n",246      "ui_id = epel/x86_64\n",247      "ui_repoid_vars = releasever,\n",248      "   basearch\n",249      "username = \n",250      "\n",251      "Loaded plugins: dkms-build-requires, extras_suggestions, langpacks, priorities,\n",252      "              : update-motd, versionlock\n"253     ]254    },255    {256     "name": "stderr",257     "output_type": "stream",258     "text": [259      "https://download.docker.com/linux/centos/2/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found\n",260      "Trying other mirror.\n",261      "http://mirror.es.its.nyu.edu/epel/7/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirror.es.its.nyu.edu/epel/7/x86_64/repodata/repomd.xml: (28, 'Failed to connect to mirror.es.its.nyu.edu port 80 after 5001 ms: Timeout was reached')\n",262      "Trying other mirror.\n"263     ]264    },265    {266     "name": "stdout",267     "output_type": "stream",268     "text": [269      "286 packages excluded due to repository priority protections\n",270      "Resolving Dependencies\n",271      "--> Running transaction check\n",272      "---> Package git-lfs.x86_64 0:2.10.0-2.el7 will be installed\n",273      "--> Finished Dependency Resolution\n",274      "\n",275      "Dependencies Resolved\n",276      "\n",277      "================================================================================\n",278      " Package           Arch             Version                Repository      Size\n",279      "================================================================================\n",280      "Installing:\n",281      " git-lfs           x86_64           2.10.0-2.el7           epel           3.7 M\n",282      "\n",283      "Transaction Summary\n",284      "================================================================================\n",285      "Install  1 Package\n",286      "\n",287      "Total download size: 3.7 M\n",288      "Installed size: 13 M\n",289      "Downloading packages:\n"290     ]291    },292    {293     "name": "stderr",294     "output_type": "stream",295     "text": [296      "warning: /var/cache/yum/x86_64/2/epel/packages/git-lfs-2.10.0-2.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY\n",297      "Importing GPG key 0x352C64E5:\n",298      " Userid     : \"Fedora EPEL (7) <epel@fedoraproject.org>\"\n",299      " Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5\n",300      " Package    : epel-release-7-11.noarch (@amzn2extra-epel)\n",301      " From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7\n"302     ]303    },304    {305     "name": "stdout",306     "output_type": "stream",307     "text": [308      "Public key for git-lfs-2.10.0-2.el7.x86_64.rpm is not installed\n",309      "Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7\n",310      "Running transaction check\n",311      "Running transaction test\n",312      "Transaction test succeeded\n",313      "Running transaction\n",314      "  Installing : git-lfs-2.10.0-2.el7.x86_64                                  1/1 \n",315      "  Verifying  : git-lfs-2.10.0-2.el7.x86_64                                  1/1 \n",316      "\n",317      "Installed:\n",318      "  git-lfs.x86_64 0:2.10.0-2.el7                                                 \n",319      "\n",320      "Complete!\n",321      "Git LFS initialized.\n"322     ]323    },324    {325     "data": {326      "text/plain": [327       "0"328      ]329     },330     "execution_count": 63,331     "metadata": {},332     "output_type": "execute_result"333    }334   ],335   "source": [336    "# install git-lfs\n",337    "os.system('sudo amazon-linux-extras install epel -y')\n",338    "os.system('sudo yum-config-manager --enable epel')\n",339    "os.system('sudo yum install git-lfs -y')\n",340    "os.system('git lfs install')"341   ]342  },343  {344   "cell_type": "code",345   "execution_count": 3,346   "id": "6595a6c5-9fae-4bd4-b096-53475ec98294",347   "metadata": {348    "tags": []349   },350   "outputs": [351    {352     "name": "stderr",353     "output_type": "stream",354     "text": [355      "Cloning into 'stackexchange_title_body_jsonl'...\n",356      "Cloning into 'stackexchange_titlebody_best_voted_answer_jsonl'...\n",357      "Cloning into 'stackexchange_title_best_voted_answer_jsonl'...\n",358      "Cloning into 'stackexchange_titlebody_best_and_down_voted_answer_jsonl'...\n",359      "Cloning into 'reddit-title-body'...\n",360      "Cloning into '1B_sentence_embeddings'...\n"361     ]362    },363    {364     "data": {365      "text/plain": [366       "0"367      ]368     },369     "execution_count": 3,370     "metadata": {},371     "output_type": "execute_result"372    }373   ],374   "source": [375    "# clone relevant datasets' github repositories\n",376    "stacks = ['stackexchange_title_body_jsonl', #25.3M \n",377    "          'stackexchange_titlebody_best_voted_answer_jsonl', #4.75M\n",378    "          'stackexchange_title_best_voted_answer_jsonl', #4.75M\n",379    "          'stackexchange_titlebody_best_and_down_voted_answer_jsonl'] #210K\n",380    "\n",381    "os.environ['GIT_LFS_SKIP_SMUDGE'] = \"1\"\n",382    "\n",383    "# clone stackexchange repos\n",384    "for stack in stacks:\n",385    "    os.system(f'git clone https://huggingface.co/datasets/flax-sentence-embeddings/{stack}')\n",386    "# clone reddit repo\n",387    "os.system('git clone https://huggingface.co/datasets/sentence-transformers/reddit-title-body')\n",388    "# clone 1B+ sentence embeddings repo (this one is just for reference)\n",389    "os.system('git clone https://github.com/AntoineSimoulin/1B_sentence_embeddings')"390   ]391  },392  {393   "cell_type": "code",394   "execution_count": null,395   "id": "56438029-0f26-491c-b405-f92fb9caeff7",396   "metadata": {397    "collapsed": true,398    "jupyter": {399     "outputs_hidden": true400    },401    "tags": []402   },403   "outputs": [404    {405     "name": "stdout",406     "output_type": "stream",407     "text": [408      "Downloading 4 StackExchange GitHub datasets into s3://lodestone-rnd/data/\n",409      "upload: ./networkengineering.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/networkengineering.stackexchange.com.json.gz\n",410      "upload: ./emacs.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/emacs.stackexchange.com.json.gz\n",411      "upload: ./christianity.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/christianity.stackexchange.com.json.gz\n",412      "upload: ./bitcoin.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/bitcoin.stackexchange.com.json.gz\n",413      "upload: ./academia.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/academia.stackexchange.com.json.gz\n",414      "upload: ./music.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/music.stackexchange.com.json.gz\n",415      "upload: ./biology.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/biology.stackexchange.com.json.gz\n",416      "upload: ./history.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/history.stackexchange.com.json.gz\n",417      "upload: ./skeptics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/skeptics.stackexchange.com.json.gz\n",418      "upload: ./anime.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/anime.stackexchange.com.json.gz\n",419      "upload: ./quant.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/quant.stackexchange.com.json.gz\n",420      "upload: ./boardgames.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/boardgames.stackexchange.com.json.gz\n",421      "upload: ./judaism.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/judaism.stackexchange.com.json.gz\n",422      "upload: ./travel.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/travel.stackexchange.com.json.gz\n",423      "upload: ./gaming.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/gaming.stackexchange.com.json.gz\n",424      "upload: ./webapps.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/webapps.stackexchange.com.json.gz\n",425      "upload: ./stats.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/stats.stackexchange.com.json.gz\n",426      "upload: ./law.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/law.stackexchange.com.json.gz\n",427      "upload: ./scifi.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/scifi.stackexchange.com.json.gz\n",428      "upload: ./bicycles.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/bicycles.stackexchange.com.json.gz\n",429      "upload: ./datascience.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/datascience.stackexchange.com.json.gz\n",430      "upload: ./softwareengineering.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/softwareengineering.stackexchange.com.json.gz\n",431      "upload: ./islam.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/islam.stackexchange.com.json.gz\n",432      "upload: ./craftcms.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/craftcms.stackexchange.com.json.gz\n",433      "upload: ./diy.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/diy.stackexchange.com.json.gz\n",434      "upload: ./arduino.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/arduino.stackexchange.com.json.gz\n",435      "upload: ./raspberrypi.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/raspberrypi.stackexchange.com.json.gz\n",436      "upload: ./wordpress.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/wordpress.stackexchange.com.json.gz\n",437      "upload: ./dba.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/dba.stackexchange.com.json.gz\n",438      "upload: ./apple.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/apple.stackexchange.com.json.gz\n",439      "upload: ./hinduism.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/hinduism.stackexchange.com.json.gz\n",440      "upload: ./mechanics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/mechanics.stackexchange.com.json.gz\n",441      "upload: ./gamedev.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/gamedev.stackexchange.com.json.gz\n",442      "upload: ./writers.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/writers.stackexchange.com.json.gz\n",443      "upload: ./mathematica.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/mathematica.stackexchange.com.json.gz\n",444      "upload: ./unix.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/unix.stackexchange.com.json.gz\n",445      "upload: ./magento.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/magento.stackexchange.com.json.gz\n",446      "upload: ./ethereum.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/ethereum.stackexchange.com.json.gz\n",447      "upload: ./electronics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/electronics.stackexchange.com.json.gz\n",448      "upload: ./cs.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/cs.stackexchange.com.json.gz\n",449      "upload: ./blender.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/blender.stackexchange.com.json.gz\n",450      "upload: ./drupal.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/drupal.stackexchange.com.json.gz\n",451      "upload: ./small_stackexchanges.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/small_stackexchanges.json.gz\n",452      "upload: ./photo.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/photo.stackexchange.com.json.gz\n",453      "upload: ./engineering.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/engineering.stackexchange.com.json.gz\n",454      "upload: ./ux.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/ux.stackexchange.com.json.gz\n",455      "upload: ./german.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/german.stackexchange.com.json.gz\n",456      "upload: ./japanese.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/japanese.stackexchange.com.json.gz\n",457      "upload: ./civicrm.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/civicrm.stackexchange.com.json.gz\n",458      "upload: ./sharepoint.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/sharepoint.stackexchange.com.json.gz\n",459      "upload: ./mathoverflow.net.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/mathoverflow.net.json.gz\n",460      "upload: ./meta.stackoverflow.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/meta.stackoverflow.com.json.gz\n",461      "upload: ./rpg.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/rpg.stackexchange.com.json.gz\n",462      "upload: ./crypto.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/crypto.stackexchange.com.json.gz\n",463      "upload: ./vi.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/vi.stackexchange.com.json.gz\n",464      "upload: ./graphicdesign.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/graphicdesign.stackexchange.com.json.gz\n",465      "upload: ./cooking.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/cooking.stackexchange.com.json.gz\n",466      "upload: ./math.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/math.stackexchange.com.json.gz\n",467      "upload: ./expressionengine.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/expressionengine.stackexchange.com.json.gz\n",468      "upload: ./movies.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/movies.stackexchange.com.json.gz\n",469      "upload: ./salesforce.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/salesforce.stackexchange.com.json.gz\n",470      "upload: ./physics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/physics.stackexchange.com.json.gz\n",471      "upload: ./aviation.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/aviation.stackexchange.com.json.gz\n",472      "upload: ./gardening.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/gardening.stackexchange.com.json.gz\n",473      "upload: ./english.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/english.stackexchange.com.json.gz\n",474      "upload: ./askubuntu.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/askubuntu.com.json.gz\n",475      "upload: ./french.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/french.stackexchange.com.json.gz\n",476      "upload: ./codereview.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/codereview.stackexchange.com.json.gz\n",477      "upload: ./softwarerecs.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/softwarerecs.stackexchange.com.json.gz\n",478      "upload: ./rus.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/rus.stackexchange.com.json.gz\n",479      "upload: ./money.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/money.stackexchange.com.json.gz\n",480      "upload: ./philosophy.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/philosophy.stackexchange.com.json.gz\n",481      "upload: ./chemistry.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/chemistry.stackexchange.com.json.gz\n",482      "upload: ./meta.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/meta.stackexchange.com.json.gz\n",483      "upload: ./cstheory.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/cstheory.stackexchange.com.json.gz\n",484      "upload: ./space.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/space.stackexchange.com.json.gz\n",485      "upload: ./politics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/politics.stackexchange.com.json.gz\n",486      "upload: ./ell.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/ell.stackexchange.com.json.gz\n",487      "upload: ./puzzling.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/puzzling.stackexchange.com.json.gz\n",488      "upload: ./astronomy.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/astronomy.stackexchange.com.json.gz\n",489      "upload: ./worldbuilding.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/worldbuilding.stackexchange.com.json.gz\n",490      "upload: ./economics.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/economics.stackexchange.com.json.gz\n",491      "upload: ./workplace.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/workplace.stackexchange.com.json.gz\n",492      "upload: ./tex.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/tex.stackexchange.com.json.gz\n",493      "upload: ./android.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/android.stackexchange.com.json.gz\n",494      "upload: ./gis.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/gis.stackexchange.com.json.gz\n",495      "upload: ./dsp.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/dsp.stackexchange.com.json.gz\n",496      "upload: ./superuser.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_body_jsonl/superuser.com.json.gz\n",497      "upload: ./english.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/english.stackexchange.com.json.gz\n",498      "upload: ./meta.serverfault.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/meta.serverfault.com.json.gz\n",499      "upload: ./scicomp.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/scicomp.stackexchange.com.json.gz\n",500      "upload: ./askubuntu.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/askubuntu.com.json.gz\n",501      "upload: ./french.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/french.stackexchange.com.json.gz\n",502      "upload: ./coffee.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/coffee.stackexchange.com.json.gz\n",503      "upload: ./codereview.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/codereview.stackexchange.com.json.gz\n",504      "upload: ./sound.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/sound.stackexchange.com.json.gz\n",505      "upload: ./opensource.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/opensource.stackexchange.com.json.gz\n",506      "upload: ./woodworking.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/woodworking.stackexchange.com.json.gz\n",507      "upload: ./outdoors.stackexchange.com.jsonl.gz to s3://lodestone-rnd/data/stackexchange_title_best_voted_answer_jsonl/outdoors.stackexchange.com.json.gz\n",508      "upload: ./reddit_title_text_2018.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2018.json.gz\n",509      "upload: ./reddit_title_text_2011.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2011.json.gz\n",510      "upload: ./reddit_title_text_2020.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2020.json.gz\n",511      "upload: ./reddit_title_text_2012.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2012.json.gz\n",512      "upload: ./reddit_title_text_2021.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2021.json.gz\n",513      "upload: ./reddit_title_text_2019.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2019.json.gz\n",514      "upload: ./reddit_title_text_2010.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2010.json.gz\n",515      "upload: ./reddit_title_text_2014.jsonl.gz to s3://lodestone-rnd/data/reddit-title-body/reddit_title_text_2014.json.gz\n",516      "\u001b[32mDone\u001b[0m\n",517      "Total files uploaded: 12\n",518      "\n",519      "\n",520      "Downloading 9 HuggingFace datasets into s3://lodestone-rnd/data/\n",521      "Downloading dataset S2ORC_citations_abstracts (39,567,485 pairs) ... "522     ]523    }524   ],525   "source": [526    "# DOWNLOAD GITHUB DATASETS (STACKEXCHANGE (https://huggingface.co/flax-sentence-embeddings) & REDDIT (https://huggingface.co/datasets/sentence-transformers/reddit-title-body))\n",527    "\n",528    "# these are the files marked as unsafe by HuggingFace when viewing the each of the datasets' pages\n",529    "unsafe = [[\"serverfault.com.jsonl.gz\", \"security.stackexchange.com.jsonl.gz\"],\n",530    "          [\"monero.stackexchange.com.jsonl.gz\", \"serverfault.com.jsonl.gz\", \"security.stackexchange.com.jsonl.gz\"],\n",531    "          [\"elementaryos.stackexchange.com.jsonl.gz\", \"monero.stackexchange.com.jsonl.gz\", \"security.stackexchange.com.jsonl.gz\"],\n",532    "          [\"\"]]\n",533    "\n",534    "file_counts = []\n",535    "print('Downloading {:,} StackExchange GitHub datasets into s3://lodestone-rnd/data/'.format(len(stacks)))\n",536    "for i, stack in enumerate(stacks):\n",537    "    # get the names of all the files in the repository that are not unsafe\n",538    "    files = [file for file in os.listdir(f'/home/ec2-user/SageMaker/{stack}') if file.endswith(\".jsonl.gz\")==True if file not in unsafe[i]]\n",539    "    file_counts.append(len(files))\n",540    "    os.chdir(f'/home/ec2-user/SageMaker/{stack}')\n",541    "    print('Downloading dataset {} ({} files) ... '.format(stack, len(files)), end='', flush=True)\n",542    "    # sequentially pull each dataset from git lfs, stream it to S3, and then delete the local copy to free up disk memory\n",543    "    for file_name in files:\n",544    "        os.system(f'git lfs pull --include={file_name}')\n",545    "        os.system(f'aws s3 cp {file_name} s3://lodestone-rnd/data/{stack}/{file_name[:-9] + \".json.gz\"}')\n",546    "        os.remove(file_name)\n",547    "        os.system('rm -r .git/lfs/objects/*')\n",548    "        if len(os.listdir('.git/objects/pack')) == 4:\n",549    "            os.system('ls -t .git/objects/pack/* | head -2 | xargs rm --')\n",550    "    print('\\033[32m' + 'Done' + '\\033[0m')\n",551    "print(f'Total files uploaded: {sum(file_counts)}')\n",552    "\n",553    "print(\"\\n\")\n",554    "\n",555    "print('Downloading {:,} Reddit GitHub dataset into s3://lodestone-rnd/data/'.format(1))\n",556    "# get the names of all the files in the repository\n",557    "files = [file for file in os.listdir(f'/home/ec2-user/SageMaker/reddit-title-body') if file.endswith(\".jsonl.gz\")==True]\n",558    "os.chdir(f'/home/ec2-user/SageMaker/reddit-title-body')\n",559    "print('Downloading dataset {} ({} files) ... '.format(\"reddit-title-body\", len(files)), end='', flush=True)\n",560    "# sequentially pull each dataset from git lfs, stream it to S3, and then delete the local copy to free up disk memory\n",561    "for file_name in files:\n",562    "    os.system(f'git lfs pull --include={file_name}')\n",563    "    os.system(f'aws s3 cp {file_name} s3://lodestone-rnd/data/reddit-title-body/{file_name[:-9] + \".json.gz\"}')\n",564    "    os.remove(file_name)\n",565    "    os.system('rm -r .git/lfs/objects/*')\n",566    "    if len(os.listdir('.git/objects/pack')) == 4:\n",567    "            os.system('ls -t .git/objects/pack/* | head -2 | xargs rm --')\n",568    "print('\\033[32m' + 'Done' + '\\033[0m')\n",569    "print(f'Total files uploaded: {len(files)}')\n",570    "\n",571    "os.chdir('/home/ec2-user/SageMaker')\n",572    "\n",573    "print(\"\\n\")\n",574    "\n",575    "# DOWNLOAD HUGGINGFACE DATASETS (https://huggingface.co/datasets/sentence-transformers/embedding-training-data)\n",576    "\n",577    "# read dataset information from HuggingFace_datasets.tsv\n",578    "datasets = pd.read_csv(\n",579    "    'HuggingFace_datasets.tsv',\n",580    "    index_col=0,\n",581    "    sep='\\t',\n",582    "    dtype={\n",583    "          'Description': str,\n",584    "          'Size (#Pairs)': str,\n",585    "          'Performance': float,\n",586    "          'Download link': str,\n",587    "          'Source': str})\n",588    "datasets['Size (#Pairs)'] = datasets['Size (#Pairs)'].str.replace(',', '').astype(int)\n",589    "datasets = datasets.to_dict(orient='index')\n",590    "\n",591    "print('Downloading {:,} HuggingFace datasets into s3://lodestone-rnd/data/'.format(len(datasets)))\n",592    "\n",593    "# stream each of the datasets from the URL provided into S3\n",594    "# (note that S2ORC_citations_abstracts is larger than 50GB and therefore requires the expected size to be passed into the command line as well)\n",595    "for d in datasets.keys():\n",596    "    print('Downloading dataset {} ({:,} pairs) ... '.format(d, datasets[d]['Size (#Pairs)']), end='', flush=True)\n",597    "    if d == \"S2ORC_citations_abstracts\":\n",598    "        os.system(f'wget -qO- {datasets[d][\"Download link\"]} | aws s3 cp - s3://lodestone-rnd/data/{d + \".json.gz\"} --expected-size 120259084288')\n",599    "    else:\n",600    "        os.system(f'wget -qO- {datasets[d][\"Download link\"]} | aws s3 cp - s3://lodestone-rnd/data/{d + \".json.gz\"}')\n",601    "    print('\\033[32m' + 'Done' + '\\033[0m')\n",602    "\n",603    "print(\"\\n\")\n",604    "\n",605    "# DOWNLOAD GOOGLE SHEETS DATASETS (https://docs.google.com/spreadsheets/d/1vXJrIg38cEaKjOG5y4I4PQwAQFUmCkohbViJ9zj_Emg/edit#gid=0)\n",606    "\n",607    "# read dataset information from GoogleSheets_datasets.tsv\n",608    "datasets = pd.read_csv(\n",609    "    'GoogleSheets_datasets.tsv',\n",610    "    index_col=0,\n",611    "    sep='\\t',\n",612    "    dtype={\n",613    "          'Description': str,\n",614    "          'Size (#Pairs)': str,\n",615    "          'Performance': float,\n",616    "          'Download link': str,\n",617    "          'Source': str})\n",618    "datasets['Size (#Pairs)'] = datasets['Size (#Pairs)'].str.replace(',', '').astype(int)\n",619    "datasets = datasets.to_dict(orient='index')\n",620    "\n",621    "print('Downloading {:,} 1B+ Google Sheets datasets into s3://lodestone-rnd/data/'.format(len(datasets)))\n",622    "\n",623    "# stream each of the datasets from the URL provided into S3\n",624    "for d in datasets.keys():\n",625    "    print('Downloading dataset {} ({:,} pairs) ... '.format(d, datasets[d]['Size (#Pairs)']), end='', flush=True)\n",626    "    os.system(f'wget -qO- {datasets[d][\"Download link\"]} | aws s3 cp - s3://lodestone-rnd/data/{d + \".json.gz\"}')\n",627    "    print('\\033[32m' + 'Done' + '\\033[0m')\n",628    "\n",629    "print(\"\\n\")\n",630    "    \n",631    "print(f'Successfully downloaded 50 datasets and {621+12+9+36} files into s3://lodestone-rnd/data/')"632   ]633  },634  {635   "cell_type": "code",636   "execution_count": 1,637   "id": "216d4564-6b69-4688-94ec-a67287134a2d",638   "metadata": {639    "tags": []640   },641   "outputs": [],642   "source": [643    "# clean up (remove the cloned repositories)\n",644    "import shutil\n",645    "shutil.rmtree(\"/home/ec2-user/SageMaker/stackexchange_title_body_jsonl\")\n",646    "shutil.rmtree(\"/home/ec2-user/SageMaker/stackexchange_titlebody_best_voted_answer_jsonl\")\n",647    "shutil.rmtree(\"/home/ec2-user/SageMaker/stackexchange_title_best_voted_answer_jsonl\")\n",648    "shutil.rmtree(\"/home/ec2-user/SageMaker/stackexchange_titlebody_best_and_down_voted_answer_jsonl\")\n",649    "shutil.rmtree(\"/home/ec2-user/SageMaker/reddit-title-body\")\n",650    "shutil.rmtree(\"/home/ec2-user/SageMaker/1B_sentence_embeddings\")"651   ]652  }653 ],654 "metadata": {655  "kernelspec": {656   "display_name": "conda_pytorch_p310",657   "language": "python",658   "name": "conda_pytorch_p310"659  },660  "language_info": {661   "codemirror_mode": {662    "name": "ipython",663    "version": 3664   },665   "file_extension": ".py",666   "mimetype": "text/x-python",667   "name": "python",668   "nbconvert_exporter": "python",669   "pygments_lexer": "ipython3",670   "version": "3.10.10"671  }672 },673 "nbformat": 4,674 "nbformat_minor": 5675}676