Unsloth Dynamic Quants 2.0 の内部手法に関する質問

#1
by rikunarita-2 - opened

Unsloth Dynamic Quants 2.0 の量子化手法について興味があり、いくつかお伺いしたいです。

公開されているGGUFモデル(例:Unsloth公式やgoichi harada さんのもの)を拝見すると、一般的な一様量子化と比べて性能劣化が非常に小さく、レイヤーごとにビット幅を最適化されているように見受けられます。

その上で、以下の点について可能な範囲でご教示いただけますと幸いです。

・レイヤーごとの重要度はどのような指標で評価されているのでしょうか?
 (perplexityの変化やKL divergenceなどに基づく感度分析に近いのか気になっています)

・ビット幅の割り当てはどのように決定されているのでしょうか?
 (グリーディ法や探索アルゴリズムなどによる最適化が行われているのか、あるいは別のアプローチなのか興味があります)

・キャリブレーションに用いるデータは、どのような分布・用途(対話・コードなど)を想定されているのでしょうか?

公開可能な範囲で構いませんので、ヒントや方向性だけでもご教示いただけますと嬉しいです。

@rikunarita-2 さん
あぁ、通知マークがついていなかったので気が付かずに返信が遅れてごめんなさい

現在、UD-japanese-imatrixシリーズは「オープンソースAI/オープンウェイトAIは持続可能なのか?(ビジネスとして収益を上げて存続できるのか?)」
という観点で挑戦中なので、手法の詳細をお伝えする事って控えたいんですね。

経緯はwebbigdata/VoiceCoreという日本初レベルの独自開発の合成音声モデルを昨年オープンウェイトで公開して、サポートやカスタマイズで収益をあげて持続性を確保しようと挑戦したのですが、経産省のコンペで1位を取ったプロジェクトに貢献したにも関わらず、収益に一切結び付かず、メディア等で取り上げられる事も一切ないという、非常に悲しい出来事があったんです。

国からGPUを支援してもらってAI開発した会社は国が表彰してスポットライトを当てて貰えるんですが、独自資金でやると「インターネット上で拾えるちょっと古いが無料で使えるモデル」扱いにされてしまう。
非常に理不尽と感じているのですが、なんとかしてこの状況を変えないといけないと思って挑戦中なんです。

なので、お伝え出来る事は、動的量子化手法は、リサーチテーマというよりエンジニアリングテーマと感じています。

  • フレームワーク、元モデルの重み、元モデルの設定、各種ツール群、データ等々が内包する潜在的不具合や特性を見極めつつ、最高性能を追求する作業
  • 例えば、レイヤーの重要度測定手法もモデルアーキテクチャによって異なってくるので常に再現可能な方法論はおそらく現時点で存在しない
    という感じです。

少なくとも私は常に試行錯誤を繰り返しており、確定した手法はまだ持っていません。
直接的な回答になってなくて申し訳ないですが、ご理解ください

dahara1 changed discussion status to closed

ご丁寧にご返信いただき、ありがとうございます。

また、VoiceCoreのお話も含めて経緯を共有してくださりありがとうございました。オープンウェイトで高品質な成果物を公開し続けることの難しさや、持続可能性に関する問題意識について、とても興味深く拝読しました。

動的量子化についても、「リサーチというよりエンジニアリング」というお考えや、モデルごとに試行錯誤を重ねながら最適化されているというお話は大変参考になりました。普遍的な手法が存在するというより、実際の挙動を見ながら積み上げていく部分が大きいのだと理解できました。

公開を控えられている理由についても承知いたしました。貴重なお話を聞かせていただき、ありがとうございました。今後の取り組みも応援しております。

Sign up or log in to comment