GPT-OSS używa kwantyzacji MXFP4 (którą teraz wspiera MLX). Obecnie krążą dwa formaty FP4: MXFP4 i NVFP4 (NV dla Nvidii). Patrząc na to, jak GPT-OSS używa MXFP4, jest to w pewnym sensie suboptymalne. Myślę, że NVFP4 będzie bardziej powszechnie używanym formatem w przyszłości. Więcej szczegółów poniżej: Oba formaty kwantyzują wagi do 4-bitowego punktu zmiennoprzecinkowego (e2 m1) z unikalną skalą dla każdej grupy. Różnica polega na rozmiarze grupy i sposobie kodowania skali dla każdej grupy. - MXFP4 używa skali e8m0 (stałoprzecinkowej, 8-bitowej) z rozmiarem grupy 32. Jest podnoszona do potęgi 2 przed pomnożeniem przez wagę. - NVFP4 używa skali e4m3 (fp8) z rozmiarem grupy 16. Jest mnożona bezpośrednio przez wagę. Kodowanie skali w MXFP4 jest dość suboptymalne, ponieważ nie ma reprezentacji dla wielu wartości w zakresie, którego potrzebujemy. W rzeczywistości, jeśli spojrzysz na rozkład skal dla GPT-OSS, jest on niezwykle skoncentrowany wokół zaledwie kilku wartości. Na przykład, dla drugiej warstwy MoE, na którą patrzę, używanych jest tylko 8/256 możliwych wartości. (Zobacz wykres).
17,34K