arxivとopen-web-mathに関してはslimpajamaのダウンロードに用いたスクリプトを少し変更して対応しました.

algebraic-stackは個々のファイル名が中身の言語によって異なりEleutherAI/proof-pile-2 at main (huggingface.co),現在の私の知識では解決できていません.何かいい方法があったらよろしくお願いします.

データセットの内訳

DOMAIN MODE ファイル数 個々のサイズ
algebraic-stack train 78 ~120MB
test 19 ~3MB(Pythonだけ20MB程度)
validation 19 ~3MB(Pythonだけ20MB程度)
arxiv train 100 300MB前後
test 100 1MB前後
validation 100 1MB前後
open-web-math train 63 300MB前後
test 1 80MBほど
validation 1 80MBほど

分担表

DOMAIN MODE 担当者
arxiv test
validation
math test 村上
validation 村上

arxivとopen-web-mathのtest, validationに関してはファイルのサイズが小さいか個数が小さいかなので,あまり手間ではないと思います.したがって,trainを分担するのが良いと考えています(要相談).

arxivのダウンロードスクリプト:

#!/bin/bash
mkdir -p ./download_zstd
cd ./download_zstd
Initialize the variable i
DOMAIN=arxiv # fix
MODE=train # or test, validation
FROM=0
TO=99

for ((i=FROM; i<=TO; i++))
do
	formatted_number=$(printf "%03d" $i)
	url="<https://huggingface.co/datasets/EleutherAI/proof-pile-2/resolve/main/${DOMAIN}/${MODE}/arXiv_${formatted_number}.jsonl.zst>"
	wget -p -A zst "$url"
done

cd ./huggingface.co/datasets/EleutherAI/proof-pile-2/resolve/main/${DOMAIN}/${MODE}
zstd -d *.zst
mkdir -p ~/proof-pile-2/${DOMAIN}/${MODE}/
mv *.jsonl ~/proof-pile-2/${DOMAIN}/${MODE}

open-web-mathのダウンロードスクリプト:

#!/bin/bash
mkdir -p ./download_zstd
cd ./download_zstd
Initialize the variable i
DOMAIN=open-web-math # fix
MODE=train # fix
FROM=0
TO=62

for ((i=FROM; i<=TO; i++))
do
	formatted_number=$(printf "%04d" $i)
	url="<https://huggingface.co/datasets/EleutherAI/proof-pile-2/resolve/main/${DOMAIN}/${MODE}/shard-${formatted_number}.jsonl.zst>"
	wget -p -A zst "$url"
done

cd ./huggingface.co/datasets/EleutherAI/proof-pile-2/resolve/main/${DOMAIN}/${MODE}
zstd -d *.zst
mkdir -p ~/proof-pile-2/${DOMAIN}/${MODE}/
mv *.jsonl ~/proof-pile-2/${DOMAIN}/${MODE}

実行手順はslimpajamaのほうと変わりません.また,jsonlを保存するディレクトリを指定する最後の2行はどうすべきかよく分かっていないので僕のほうで適当に書きました.命名規則などありましたらそちらを使用していただければと思います.

open-web-mathのtest, validationはひとつだけで,サイズもそこまで大きくないのでコンソールからベタ打ち,若しくはブラウザからダウンロードでいいと思います.

バックグラウンド実行例

nohup~でバックグラウンド実行できます.この場合,tail~で進行状況を確認できます.

nohup bash {ファイル名} > log.txt &
tail -f log.txt

bash {ファイル名}で普通に実行することもできますが,この場合タスクの進行状況がコンソールに直に出力され,実行を終えるまで別のタスクをすることができなくなります.