diff options
| author | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-04-30 13:26:16 +0200 |
|---|---|---|
| committer | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-04-30 13:26:49 +0200 |
| commit | a421c03b3de473c7082132717574ae61cf2969cd (patch) | |
| tree | 44c48f56ff4670d8374d7314ce81b30fab592c6d /llmc/cmd/data/minipile.go | |
| parent | e2aa50000f5ac1a0672c25a1e116e81ff54009c8 (diff) | |
Add MiniPile preparation
Diffstat (limited to 'llmc/cmd/data/minipile.go')
| -rw-r--r-- | llmc/cmd/data/minipile.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/llmc/cmd/data/minipile.go b/llmc/cmd/data/minipile.go new file mode 100644 index 0000000..2afeffe --- /dev/null +++ b/llmc/cmd/data/minipile.go @@ -0,0 +1,47 @@ +package main + +import ( + "log" + + "go.jknobloc.com/x/dataset" + "go.jknobloc.com/x/llm" + "go.jknobloc.com/x/llmc" + "go.jknobloc.com/x/shelf" + "go.jknobloc.com/x/tokenizer/bpe" +) + +func miniPile() { + prepareSplit := func(datasetPath, shardName string) { + var reader dataset.Reader + + if r, err := dataset.NewParquetReader(datasetPath); err != nil { + log.Fatal(err) + } else { + reader = r + } + + var tokenizer llm.Tokenizer + + v := shelf.Abs("tokenizers/tokenizer_gpt2_50256_m000_minipile/vocab.json") + m := shelf.Abs("tokenizers/tokenizer_gpt2_50256_m000_minipile/merges.txt") + + if t, err := bpe.NewTokenizerFromFiles(v, m, bpe.DefaultConfig()); err != nil { + log.Fatal(err) + } else { + tokenizer = t + } + + docs := llmc.TokenizeAll(reader, tokenizer, 50256) + + if _, err := llmc.WriteShards(shelf.Abs("llmc/minipile/m000"), "", 100_000_000, docs); err != nil { + log.Fatal(err) + } + + if err := reader.Err(); err != nil { + log.Fatal(err) + } + } + + prepareSplit(shelf.Abs("data/minipile/train"), "minipile_train") + prepareSplit(shelf.Abs("data/minipile/validation"), "minipile_val") +} |
