「SINQ」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし タグ: 手動差し戻し |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の1版が非表示) | |||
| 119行目: | 119行目: | ||
} | } | ||
return new QuantizedBlock { Values = qVals, Stats = stats }; | return new QuantizedBlock { Values = qVals, Stats = stats }; | ||
} | |||
// 行方向の分散 | |||
private float RowVariance(float[,] W, int row, float[] colScale) | |||
{ | |||
int C = W.GetLength(1); | |||
float mean = 0f; | |||
for (int j = 0; j < C; j++) | |||
mean += W[row, j] * colScale[j]; | |||
mean /= C; | |||
float var = 0f; | |||
for (int j = 0; j < C; j++) | |||
{ | |||
float val = W[row, j] * colScale[j] - mean; | |||
var += val * val; | |||
} | |||
return var / C; | |||
} | |||
// 列方向の分散 | |||
private float ColVariance(float[,] W, int col, float[] rowScale) | |||
{ | |||
int R = W.GetLength(0); | |||
float mean = 0f; | |||
for (int i = 0; i < R; i++) | |||
mean += rowScale[i] * W[i, col]; | |||
mean /= R; | |||
float var = 0f; | |||
for (int i = 0; i < R; i++) | |||
{ | |||
float val = rowScale[i] * W[i, col] - mean; | |||
var += val * val; | |||
} | |||
return var / R; | |||
} | } | ||
} | } | ||
| 140行目: | 176行目: | ||
== 外部リンク == | == 外部リンク == | ||
* https://www.arxiv.org/abs/2509.22944 | * https://www.arxiv.org/abs/2509.22944 | ||
[[category: Huawei]] | |||
[[category: 大規模言語モデル]] | [[category: 大規模言語モデル]] | ||
[[category: 量子化アルゴリズム]] | [[category: 量子化アルゴリズム]] | ||