著者はeqx-zooを構築しました。これは、Hugging Face HubのチェックポイントをプレーンなEquinoxモジュールとして直接読み込み、各モデルをtransformersライブラリに対して検証するライブラリです。現在、生成にはLlama、Qwen2、Qwen3、Qwen3-MoEをサポートし、埋め込みにはBERT、RoBERTa、XLM-RoBERTaをサポートしています。
- 検証により、float32の出力がtransformersとレイヤーごとに一致し、greedy生成がトークンを正確に再現することが保証されます。
- 著者は、bf16の実装を直接比較することは丸め誤差の違いにより欠陥があるため、ソースのエラーに対してfloat32と比較する必要があることを発見しました。
- XXLでデコーダをJITコンパイルすると、eager実行よりも測定可能なほど精度が低いことがわかりました。エンコーダーにはこの問題は表示されませんでした。
- bf16におけるLayerNormの微妙なバグはブロックレベルでのみ検出可能であり、粒度の細かいテストの必要性が浮き彫りになりました。
検証済みチェックポイントはHugging Faceコレクションで利用可能であり、ライブラリはpip経由でインストール可能です。