summaryrefslogtreecommitdiff
path: root/bpc
diff options
context:
space:
mode:
Diffstat (limited to 'bpc')
-rw-r--r--bpc/bpc.go22
-rw-r--r--bpc/cmd/bpc/main.go3
2 files changed, 10 insertions, 15 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)
}
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 {