|
8 | 8 | #pragma warning(disable: 4244 4267) // possible loss of data
|
9 | 9 | #endif
|
10 | 10 |
|
| 11 | +static const float rms_norm_eps = 1e-6f; |
| 12 | + |
11 | 13 | float frand() {
|
12 | 14 | return (float)rand()/(float)RAND_MAX;
|
13 | 15 | }
|
@@ -562,7 +564,7 @@ struct ggml_tensor * forward(
|
562 | 564 | // norm
|
563 | 565 | {
|
564 | 566 | // cur shape [n_embd,N,1,1]
|
565 |
| - cur = ggml_rms_norm(ctx0, inpL); |
| 567 | + cur = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
566 | 568 |
|
567 | 569 | // cur = attention_norm*cur
|
568 | 570 | cur = ggml_mul(ctx0,
|
@@ -685,7 +687,7 @@ struct ggml_tensor * forward(
|
685 | 687 | // norm
|
686 | 688 | {
|
687 | 689 | // cur shape [n_embd,N,1,1]
|
688 |
| - cur = ggml_rms_norm(ctx0, inpFF); |
| 690 | + cur = ggml_rms_norm(ctx0, inpFF, rms_norm_eps); |
689 | 691 |
|
690 | 692 | // cur = ffn_norm*cur
|
691 | 693 | // cur shape [n_embd,N,1,1]
|
@@ -729,7 +731,7 @@ struct ggml_tensor * forward(
|
729 | 731 | {
|
730 | 732 |
|
731 | 733 | // inpL shape [n_embd,N,1,1]
|
732 |
| - inpL = ggml_rms_norm(ctx0, inpL); |
| 734 | + inpL = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
733 | 735 |
|
734 | 736 | // inpL = norm*inpL
|
735 | 737 | // inpL shape [n_embd,N,1,1]
|
@@ -817,7 +819,7 @@ struct ggml_tensor * forward_batch(
|
817 | 819 | // norm
|
818 | 820 | {
|
819 | 821 | // cur shape [n_embd,N*n_batch,1,1]
|
820 |
| - cur = ggml_rms_norm(ctx0, inpL); |
| 822 | + cur = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
821 | 823 | assert_shape_2d(cur, n_embd, N*n_batch);
|
822 | 824 |
|
823 | 825 | // cur = attention_norm*cur
|
@@ -981,7 +983,7 @@ struct ggml_tensor * forward_batch(
|
981 | 983 | // norm
|
982 | 984 | {
|
983 | 985 | // cur shape [n_embd,N*n_batch,1,1]
|
984 |
| - cur = ggml_rms_norm(ctx0, inpFF); |
| 986 | + cur = ggml_rms_norm(ctx0, inpFF, rms_norm_eps); |
985 | 987 | assert_shape_2d(cur, n_embd, N*n_batch);
|
986 | 988 |
|
987 | 989 | // cur = ffn_norm*cur
|
@@ -1034,7 +1036,7 @@ struct ggml_tensor * forward_batch(
|
1034 | 1036 | {
|
1035 | 1037 |
|
1036 | 1038 | // inpL shape [n_embd,N*n_batch,1,1]
|
1037 |
| - inpL = ggml_rms_norm(ctx0, inpL); |
| 1039 | + inpL = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
1038 | 1040 | assert_shape_2d(inpL, n_embd, N*n_batch);
|
1039 | 1041 |
|
1040 | 1042 | // inpL = norm*inpL
|
@@ -1104,7 +1106,7 @@ struct ggml_tensor * forward_lora(
|
1104 | 1106 | // norm
|
1105 | 1107 | {
|
1106 | 1108 | // cur shape [n_embd,N,1,1]
|
1107 |
| - cur = ggml_rms_norm(ctx0, inpL); |
| 1109 | + cur = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
1108 | 1110 |
|
1109 | 1111 | // cur = attention_norm*cur
|
1110 | 1112 | cur = ggml_mul(ctx0,
|
@@ -1251,7 +1253,7 @@ struct ggml_tensor * forward_lora(
|
1251 | 1253 | // norm
|
1252 | 1254 | {
|
1253 | 1255 | // cur shape [n_embd,N,1,1]
|
1254 |
| - cur = ggml_rms_norm(ctx0, inpFF); |
| 1256 | + cur = ggml_rms_norm(ctx0, inpFF, rms_norm_eps); |
1255 | 1257 |
|
1256 | 1258 | // cur = ffn_norm*cur
|
1257 | 1259 | // cur shape [n_embd,N,1,1]
|
@@ -1295,7 +1297,7 @@ struct ggml_tensor * forward_lora(
|
1295 | 1297 | {
|
1296 | 1298 |
|
1297 | 1299 | // inpL shape [n_embd,N,1,1]
|
1298 |
| - inpL = ggml_rms_norm(ctx0, inpL); |
| 1300 | + inpL = ggml_rms_norm(ctx0, inpL, rms_norm_eps); |
1299 | 1301 |
|
1300 | 1302 | // inpL = norm*inpL
|
1301 | 1303 | // inpL shape [n_embd,N,1,1]
|
|
0 commit comments