diff options
Diffstat (limited to 'bpc')
| -rw-r--r-- | bpc/bpc.go | 22 | ||||
| -rw-r--r-- | bpc/cmd/bpc/main.go | 3 |
2 files changed, 10 insertions, 15 deletions
@@ -3,26 +3,20 @@ package bpc import ( "fmt" "llm" + "log" ) func Run(model llm.Causal, tokenizer llm.Tokenizer) { - t := tokenizer.Tokenize("The quick brown") + e := llm.NewEvaluator() - logits := make([][]float32, 0) + e.AddModel(model) + e.SetTokenizer(tokenizer) - if _, err := model.Generate(toInt64(t), 0, &logits); err != nil { - // TODO handle - } - - fmt.Println(logits) -} - -func toInt64(s []int) []int64 { - r := make([]int64, len(s)) + ppl, err := e.Perplexity("data/shakespeare.txt") - for i, v := range s { - r[i] = int64(v) + if err != nil { + log.Fatal(err) } - return r + fmt.Printf("\nPerplexity: %.2f\n", ppl) } diff --git a/bpc/cmd/bpc/main.go b/bpc/cmd/bpc/main.go index b6ebef1..8f7fc1e 100644 --- a/bpc/cmd/bpc/main.go +++ b/bpc/cmd/bpc/main.go @@ -5,6 +5,7 @@ import ( "gpt2" "log" mbpe "mbpe-dyn" + "os" ) func main() { @@ -24,7 +25,7 @@ func main() { } func model() *gpt2.Model { - return gpt2.NewModel("../gpt2/models/base/model.onnx") + return gpt2.NewModel("../gpt2/models/base/model.onnx", os.Getenv("BPC_CUDA_DEVICE_ID")) } func tokenizer() *mbpe.Tokenizer { |
