diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 82b27d2343..8edd675d41 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -2474,7 +2474,8 @@ extern "C" { struct ggml_tensor * v, struct ggml_tensor * g, struct ggml_tensor * beta, - struct ggml_tensor * state); + struct ggml_tensor * state, + float eps); // custom operators diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index e7865b683a..e25287b8a3 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -6112,7 +6112,8 @@ struct ggml_tensor * ggml_gated_delta_net( struct ggml_tensor * v, struct ggml_tensor * g, struct ggml_tensor * beta, - struct ggml_tensor * state) { + struct ggml_tensor * state, + float eps) { GGML_ASSERT(ggml_is_contiguous(q)); GGML_ASSERT(ggml_is_contiguous(k)); GGML_ASSERT(ggml_is_contiguous(v)); @@ -6145,6 +6146,8 @@ struct ggml_tensor * ggml_gated_delta_net( const int64_t ne[4] = { S_v * H, n_tokens * n_seqs + S_v * n_seqs, 1, 1 }; struct ggml_tensor * result = ggml_new_tensor(ctx, GGML_TYPE_F32, 4, ne); + ggml_set_op_params_f32(result, 0, eps); + result->op = GGML_OP_GATED_DELTA_NET; result->src[0] = q; result->src[1] = k;