2.7K Views
October 03, 24
スライド概要
DL輪読会資料
DuQuant: OutliersSession via Dual DL Hacks Distributing 2021 Introductory Transformation Makes Stronger Quantized LLMs 竹田悠哉 東京大学 大学院工学系研究科 Alfredo Solano, Matsuo Laboratory M2
書誌情報 • 公開日:2024/9/24(v2), 6/3(v1) • 著者: Haokun Lin, Haobo Xu, Yichen Wu, Jingzhi Cui, Yingtao Zhang, Linzhan Mou, Linqi Song, Zhenan Sun, Ying Wei • プロジェクトページ: https://duquant.github.io/ 概要 • 著しく大きな値を示すMassive な 外れ値についても緩和することの できる量子化 • ブロック単位の回転と並べ替えに よるDuQuantという手法を提案 • 4bit量子化で複数タスクにおいて SoTAを達成 • 備考:NeurIPS2024 Oral 2
選定理由 • OpenAIの蒸留APIが話題となっ ている中ではありますが… • NeurIPSのOralに通ってるもの で、古すぎず、ネットワーク内 部に関する論文だった (Federated Learningにしようか 迷ったが未公開だった) 3
背景 • 学習後の量子化では、活性化における外れ値への対処が課題 [1] – 量子化ステップサイズを拡大し、大幅な精度損失を起こす – 例)OPT-175Bの大幅な劣化 • 量子化での外れ値の問題は以前から指摘されている [2, 3] [1] Xiuying Wei, Yunchen Zhang, Yuhang Li, Xiangguo Zhang, Ruihao Gong, Jinyang Guo, and Xianglong Liu. Outlier suppression+: Accurate quantization of large language models by equivalent and effective shifting and scaling. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, pages 1648–1665, 2023 [2] Tim Dettmers, Mike Lewis, Younes Belkada, and Luke Zettlemoyer. Llm.int8(): 8-bit matrix multiplication for transformers at scale. In Conference on Neural Information Processing Systems, 2022 [3] Xiuying Wei, Yunchen Zhang, Xiangguo Zhang, Ruihao Gong, Shanghang Zhang, Qi Zhang, Fengwei Yu, and Xianglong Liu. Outlier suppression: Pushing the limit of low-bit transformer language models. In Conference on Neural Information Processing Systems, 2022 4
背景 通常の外れ値(Normal Outliers) • すべてのトークンに渡って 複数のチャネルで永続的 • 既に様々な対処が存在 巨大な外れ値(Massive Outliers) • トークンの部分集合で限定的 • 100以上で中央値の1000倍 • 既存の量子化では効果的に 対処できない 5
背景 巨大な外れ値(Massive Outliers) Attention Sinks [4]: 初期トークンのKVを維持することで、Window Attentionの性能が ほぼ回復する現象 – 初期トークンが意味的に重要でなくとも、強いAttentionスコアが ”Sink(集積場)”になっている – 自己回帰モデルでは、タスクに関係なく、大量のAttentionスコアが初 期トークンに割り当てられる(= Attention Sinks) – Softmaxが原因 • • 現在のクエリがその前の多くのトークンに強い一致を示さなかった場合でも、 Attentionスコアを割り当てる必要があるため 初期トークンは後続のほぼ全てのトークンに見えるので、注意シンクとして 機能するよう学習されやすい [4] Xiao, Guangxuan, et al. "Efficient streaming language models with attention sinks." arXiv preprint arXiv:2309.17453 (2023). (ICLR2024でも発表。Meta AIのインターンによる成果で著者にMIT、CMU、NVIDIAが並ぶ) 6
背景 巨大な外れ値(Massive Outliers) • Massive Activationとして[5] で指摘されたのが恐らく最初 • 性能に対する重要性が主張された – 入力に関係なくほぼ一定で、LLMに不可欠なバイアス項として機能 – 対応するトークンへのAttentionの集中につながり、出力における暗黙のバイ アス項をもたらす – ViTsにも存在 • 量子化の文脈で巨大な外れ値に注目したのは恐らく[6]がはじめて – Pivot Tokens (Attention Sinks)に着目 [5] Mingjie Sun, Xinlei Chen, J Zico Kolter, and Zhuang Liu. Massive activations in large language models. arXiv preprint arXiv:2402.17762, 2024.(COLM 2024に採録) [6] Ruikang Liu, Haoli Bai, Haokun Lin, Yuening Li, Han Gao, Zhengzhuo Xu, Lu Hou, Jun Yao, and Chun Yuan. Intactkv: Improving large language model quantization by keeping pivot tokens intact. arXiv preprint arXiv:2403.01241, 2024.(ACL2024に採録) 7
観察 • 先行研究では、Massive OutliersをTransformerブロックの出力で観測 • FFNの第2線型層(down projectionモジュールの入力)に存在することを発見 – モデルサイズ、学習データに関わらず存在 Llama2 13B Llama2 70B Vicuna-v1.5 13B 8
観察 量子化手法 • SmoothQuant – 活性化外れ値を重み部分にシフトするため、滑らかな係数を使用しているが、 Massive Outlier効果的に扱えていない • 活性化をチャンネルごとの平滑化係数で割り、重み行列に乗算 – Massive OutliersによりLossが爆発する可能性も 9
観察 量子化手法 • OmniQuant、AffineQuant – Massive Outlierにより学習が不安定になる – 勾配が不安定なためdown projection層の学習可能なパラメータを除外するし かなかった • QUIK – down projection層にINT8量子化を選択 INT4のような低ビット量子化では、 Massive Outlierにより、大きな 平滑化のスケーリング係数が誘発されてしまい、重み行列に新たな 外れ値が現れるため性能が劣化 10
提案手法 DuQuant (Dual transformations Quantization) 法 1. ブロック対角回転変換:特徴における外れ値の局所的な再分布 2. ジグザグ置換:異なるブロック間の外れ値のグローバルな並び替え 11
提案手法 DuQuant (Dual transformations Quantization) 法 1. ブロック対角回転変換 回転行列 : を満たす直行行列 線形層を以下のように再定式化 • Rは外れ値の位置を効果的にターゲットにし、行列の乗算によって外れ値を効果的 に緩和することができるはず • しかし、Massive Outliersは活性化空間内にランダムに分布するため、最適なRを直 接特定することは困難 →事前知識を持つ貪欲な探索を採用し、理想的な回転行列Rを近似 12
提案手法 DuQuant (Dual transformations Quantization) 法 1. ブロック対角回転変換 外れ値を含む特徴次元 E:活性化の1列目と を特定し、回転行列を以下のように構成 列目を入れ替えるためのスイッチング行列 :正規直行行列を初期化した回転行列。第1行は特に一様に分布 Q:この方法の目的は変換後の第1列で外れ値を軽減することであり、回転 操作のランダム性をさらに高めるため、外れ値が軽減された第1列を保持し、 13 他の列はランダムな直交行列 Q を掛けることでランダムに回転させる
提案手法 DuQuant (Dual transformations Quantization) 法 1. ブロック対角回転変換 行列全体を直接計算するのはコストが大きくオーバーヘッドも多いため、 ブロック単位で回転行列を以下のように近似
提案手法 DuQuant (Dual transformations Quantization) 法 1. ブロック対角回転変換 • 回転だけでは、全体的な外れ値を効果的に軽減できない – 各小さなブロック内で行われる回転変換が、他のブロックとの間で情報を統 合して外れ値をさらに軽減できないため – あるブロックでは大きな外れ値が存在する一方で、別のブロックでは小さい 外れ値が存在し、異なるブロック間での分散が高くなることがある
提案手法 DuQuant (Dual transformations Quantization) 法 2. ジグザグ置換:異なるブロック間の外れ値のグローバルな並び替え • 全体の外れ値を効果的に軽減するためには、各ブロック内の外れ値 の振幅をバランスさせることが重要 • 分散 を最小化すし、全体的な外れ値をさらに 軽減するためにジグザグ置換を導入 :次元 における最大の外れ値を ブロック内全ての の平均値 としたときのi番目の 16
提案手法 DuQuant (Dual transformations Quantization) 法 2. ジグザグ置換:異なるブロック間の外れ値のグローバルな並び替え • 最も高い活性化チャネルを最初のブロックに割り当てることから始 め、次に高い活性化を持つチャネルを逆順で後続のブロックに割り 当てる形で続ける • ブロック K に到達すると、順序が逆転し、次に高い活性化を持つチ ャネルから開始して昇順で進行 • この前後のパターンはすべてのブロックにおいて継続され、いかな る単一のブロックも一貫して最高または最低の活性化チャネルを受 け取らないようにすることが保証される 17
提案手法 DuQuant (Dual transformations Quantization) 法 18
提案手法 DuQuant (Dual transformations Quantization) 法 19
提案手法 DuQuant (Dual transformations Quantization) 法 2. ジグザグ置換:異なるブロック間の外れ値のグローバルな並び替え 20
理論的分析 • 各操作の有効性は以下の定理で裏付けられる 定理1(Rotation) 各ブロック内で、構築された回転行列が最大外れ値を効果的に緩和し、 greedyサーチによって外れ値の大きさを減少させる。 定理2(Zigzag Permutation) ジグザグ順列が、異なるブロック間で共有されるバランスの取れた上界 を保証する。そのため、分散を効果的に減少させ、回転行列が外れ値を さらに軽減するのを助けることを示唆する。 21
実験 • モデル – LLaMA (7B-65B) – LLaMA2 (7B-70B) – LLaMA3 (8B, 70B) – Vicuna-v1.5 (7B-13B) • タスク LWC(Learnable Wight Clipping) • 量子化ステップの計算において、 を学習 – 自然言語生成 – 常識推論QA • 実装 – トークンごとの活性化量子化とチャネル ごとの重み量子化を適用 – DeQuantとDeQuant+LWCを検証 22
結果 23
結果 24
結果 25
結果 量子化による劣化が激しいLlama3では6bitにおいてはFP16を上回る結果も 26
結果 27
アブレーション 各操作 外れ値 28
速度 量子化 推論 (詳細はAPPENDIX E) 29
まとめ • 活性化におけるNormal Outliers、Massive Outliers両方に対処可能な 量子化であるDuQuant法を提案 • DuQuant法は、回転と並べ替え置換を統合 – 外れ値を戦略的に再分配し、量子化プロセスを単純化 – モデル性能の大幅な向上にもつながり、4ビット量子化で最高性能 • リソース制約のある環境における効率的なLLMの展開に貢献 30
感想 • 量子化は、実用上GPTQやGGUFなどのPTQに関する手法や、 QLoRAのようなQATに関する論文を調べた程度で、論文をちゃんと 漁ったことがなかったが、内部表現に着目した研究が多く学びがあ った • 知識関連はMSRインターンに多いが、量子化や外れ値に関しては FAIRインターンが多く、企業の柄が出ているようで面白かった 31