Fix non-QEP Runner quantization for large sharded MPS checkpoints - #61
Conversation
431c94c to
9666baf
Compare
|
@FKKimura さん、修正が完了しました。再レビューをお願いします。 |
|
ご対応ありがとうございます。 OneCompression/onecomp/runner_methods/chunked_quantization.py Lines 76 to 79 in 81ffb99 |
|
テストの追加もありがとうございます。
例えば、テスト関数内で以下のように その上で、 をパス条件にすると、 |
|
修正しました。これで漏れていたテスト内容も網羅されたと思います。 |
|
早速ご対応いただき、ありがとうございます!見たところ問題なさそうなのでそれぞれのパスで動作確認取れたら承認させていただきます。 |
|
すみません、utils/perplexity.pyなどほかの箇所でも呼ばれていました。。 今後新規にload_modelを呼ぶときにも毎回対応する必要が無くなることを考えると、大元のModelConfig.load_model() 内部を修正するのはいかがでしょうか。。 OneCompression/onecomp/model_config.py Lines 84 to 140 in 81ffb99 |
|
これでmodel_configのload_model自体の修正、テストを追加できたと思います。 |
|
@aki916f さん、何度もレビューいただきありがとう御座いました。 |
|
@y-vectorfield このPRのスコープ外のように思うので、暫定対応として、お手数ですがmps指定かつbatch_size指定の場合はRunner.check()内でValueErrorで[mps指定の場合はbatch_size指定しないで動かす]ようメッセージを追加いただけますか?このPRの対応としてはそこで十分かと思います。 |
修正を追加しておきました。 |
Summary
When running OneComp with qep=False on MPS, quantization can be unstable for large sharded checkpoints.
This change adjusts Runner's non-QEP quantization path for MPS so that model loading and quantization avoid the unstable device placement pattern. The QEP path is unchanged.
Validation