diff options
| author | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-04-17 16:07:14 +0200 |
|---|---|---|
| committer | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-04-17 16:07:14 +0200 |
| commit | 3fe37224ccc2500e7e767e5fc00163ef61182828 (patch) | |
| tree | 7bd14e080c080b24026660beda42817a3c9dc77f /research/sander/cmd | |
| parent | 4d8f647bfb54899e3052931790e288da7af97050 (diff) | |
Add sander module
Diffstat (limited to 'research/sander/cmd')
| -rw-r--r-- | research/sander/cmd/sander/main.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/research/sander/cmd/sander/main.go b/research/sander/cmd/sander/main.go new file mode 100644 index 0000000..fd9ece3 --- /dev/null +++ b/research/sander/cmd/sander/main.go @@ -0,0 +1,42 @@ +package main + +import ( + "fmt" + "log" + "path" + + "go.jknobloc.com/x/research/sander" + "go.jknobloc.com/x/tokenizer/bpe" +) + +func main() { + vocab := []string{"50256"} + alpha := []string{"m000", "m010", "m020", "m030", "m040", "m050", "m060", "m070", "m080", "m090", "m100"} + + for _, v := range vocab { + for _, a := range alpha { + src := fmt.Sprintf("gpt2/models/mbpe/gpt2_%s_%s_babylm_v2", v, a) + dst := fmt.Sprintf("out/sander/mbpe/gpt2_%s_%s_babylm_v2", v, a) + + if err := run(src, dst); err != nil { + log.Fatal(err) + } + } + } + +} + +func run(src, dst string) error { + t := must(bpe.NewTokenizerFromFiles(path.Join(src, "vocab.json"), path.Join(src, "merges.txt"))) + e := must(sander.NewExperiment(dst, path.Join(src, "model.onnx"), sander.UnusedTokensMBPE(t))) + + return e.Run() +} + +func must[T any](v T, err error) T { + if err != nil { + log.Fatal(err) + } + + return v +} |
