summaryrefslogtreecommitdiff
path: root/bpc/bpc.go
diff options
context:
space:
mode:
authorJonas Knobloch <jonas.knobloch@t-online.de>2025-11-18 02:04:41 +0100
committerJonas Knobloch <jonas.knobloch@t-online.de>2025-11-18 02:09:09 +0100
commit321802e7b1f77f684a720d1052befd6d36280875 (patch)
tree7312584cc5db9b30acef5151dff242dbbd7a7379 /bpc/bpc.go
parent7073b124c5eb31169442ef18d1627b7ed7401280 (diff)
Add perplexity evaluation
Diffstat (limited to 'bpc/bpc.go')
-rw-r--r--bpc/bpc.go22
1 files changed, 8 insertions, 14 deletions
diff --git a/bpc/bpc.go b/bpc/bpc.go
index 67804d3..fd4ab6a 100644
--- a/bpc/bpc.go
+++ b/bpc/bpc.go
@@ -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)
}