summaryrefslogtreecommitdiff
path: root/gpt2/model.go
diff options
context:
space:
mode:
authorJonas Knobloch <jonas.knobloch@t-online.de>2026-02-16 20:54:18 +0100
committerJonas Knobloch <jonas.knobloch@t-online.de>2026-02-16 20:54:18 +0100
commitf35de835c3b0068f5a2e992c4a0af2acf59f7bb9 (patch)
tree1f111a77e0b0f435f571628783a3aa88b240331b /gpt2/model.go
parent966213896cae3faf8d6dbb0e07b98d9f370cb423 (diff)
Verify sequence length
Diffstat (limited to 'gpt2/model.go')
-rw-r--r--gpt2/model.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/gpt2/model.go b/gpt2/model.go
index 3655b8a..79a4407 100644
--- a/gpt2/model.go
+++ b/gpt2/model.go
@@ -14,10 +14,11 @@ import (
)
const (
- vocabSize = 50257
- nLayers = 12
- nHeads = 12
- headDim = 64
+ vocabSize = 50257
+ nLayers = 12
+ nHeads = 12
+ headDim = 64
+ nPositions = 1024
)
type Model struct {
@@ -122,6 +123,10 @@ func (m *Model) Generate(prompt []int64, steps int64, logits *[][]float32) ([]in
return nil, errors.New("empty prompt")
}
+ if int64(len(prompt))+steps > nPositions {
+ return nil, errors.New("sequence length exceeds context limit")
+ }
+
n := int64(len(prompt))
r := make([]int64, steps)