英語帝国を打倒しよう

言語の壁に計算機で挑もう!

LLM構築タイムアタック

目標

自習室みたいなところでバイトを始めた。そこにいれば何しててもいいらしい。→なーんか、今日、暇だな.....人も来ないし.....→LLM作るか

とりあえず、話すようになれば何でもいいかな

タイムライン

14:30 スタート GPU:家のPC(RTX3090) CC-100が良さそうか?よく分からん。日本語で話してほしいな なんか開かないといけないページが多いので、大量の画面の環境構築

15:00 とりあえずGPT-neoXの環境構築。 データの形式とかについてreadmeになんも書いてないところがめんどくせぇ。 prepare_data.pyを読むか→意外に面倒そうやんけ....

こんな感じのこと書いてあったから、とりあえずc4でやってみるか。ただ、デフォルトでやろうとすると多分日本語だけにできないな....全言語ダウンロードするのめんどくさそうだし.... DATA_DOWNLOADERS = { "pass": "pass", "enron": Enron, "pile_subset": PileSubset, "pile": Pile, "github": Github, "arxiv": ArXiv, "europarl": EuroParl, "freelaw": FreeLaw, "nih": NiH, "pubmed": PubMed, "books1": Books1, "books3": Books3, "hackernews": HackerNews, "openwebtext2": OpenWebText2, "stackexchange": StackExchange, "ubuntu_irc": UbuntuIRC, "youtube_subtitles": YoutubeSubtitles, "c4": C4, "c4_openwebtext": C4OpenWebText, "enwik8": Enwik8, }

15:30 eleutherが作るものってなんか秘密結社っぽくてかっこいい 下のenではなくja版のファイルないかなーって思って探すけど、enしかねぇ。英語帝国に従順な秘密結社だった....

class C4(DataDownloader):
    name = "c4"
    urls = [
        f"https://the-eye.eu/eleuther_staging/c4/en/c4-train.{i:05}-of-01024.json.gz"
        for i in range(1024)
    ]

C4をダウンロードしようとした。allenaiというところからjaだけダウンロードできるらしい

github.com

しかし、800GBある。うーん。とりあえず、C100(15G)とかで試してみるか

16:00 通信律速!!!!!!!!!!許せん。家の通信環境も悪いのだが、大学でも8時間ぐらいかかる。 多分、元の方に問題がある。

データについてよく考えてみる GPT-2のデータ数はこんな感じらしい(モデルサイズは1.5B) 50,000 BPE token -> 200,000 文字位 → 1文字3バイトとして、600,000 byte →0.6Gぐらい?ということはGPT-2の再現ならC100でも十分すぎるか

一旦中断