[論文レビュー] LORD: Low Rank Decomposition Of Monolingual Code LLMs For One-Shot Compression
この論文では、再訓練を伴わずに単語言語のコード LLM を圧縮するためのワンショット低ランク分解手法 LoRD を提案する。密度行列を低ランク行列に分解することにより、LoRD は最大 39.58% のランク削減を達成し、 perplexity の上昇が 1% 未満に抑えられ、推論速度が 22.35% 向上し、StarCoder 16B をパラメータ数 13.2B に圧縮するが、性能に低下は生じない。
Low Rank Decomposition of matrix - splitting a large matrix into a product of two smaller matrix offers a means for compression that reduces the parameters of a model without sparsification, and hence delivering more speedup on modern hardware. Moreover, unlike quantization, the compressed linear layers remain fully differentiable and all the parameters trainable, while being able to leverage the existing highly efficient kernels over floating point matrices. We study the potential to compress Large Language Models (LLMs) for monolingual Code generation via Low Rank Decomposition (LoRD) and observe that ranks for the linear layers in these models can be reduced by upto 39.58% with less than 1% increase in perplexity. We then use Low Rank Decomposition (LoRD) to compress StarCoder 16B to 13.2B parameter with no drop and to 12.3B with minimal drop in HumanEval Pass@1 score, in less than 10 minutes on a single A100. The compressed models speeds up inference by up to 22.35% with just a single line of change in code over huggingface's implementation with pytorch backend. Low Rank Decomposition (LoRD) models remain compatible with state of the art near-lossless quantization method such as SpQR, which allows leveraging further compression gains of quantization. Lastly, QLoRA over Low Rank Decomposition (LoRD) model further reduces memory requirements by as much as 21.2% over vanilla QLoRA while offering similar gains from parameter efficient fine tuning. Our work shows Low Rank Decomposition (LoRD) as a promising new paradigm for LLM compression.
研究の動機と目的
- 大規模な単語言語のコード LLM に対する再訓練を要しない、低ランク分解が実用的であるかを検討すること。
- ハードウェアに依存するカーネルや微分不能性といった、量子化やプルーニングの限界を、密行列乗算を活用することで克服すること。
- 効率的で完全に微分可能かつ学習可能な圧縮モデルを用いて、高速かつハードウェア最適化された推論を実現すること。
- QLoRA などの最先端の量子化およびパrameter効率の良い微調整手法と互換性を持つことを示すこと。
- メモリと計算リソースの要件を低減することで、大規模なコード LLM をコンsumer レベルのハードウェアにデプロイ可能にする。
提案手法
- LoRD は、トランスフォーマー ブロック内の各密度行列線形層を、より小さな低ランク行列に分解することで、行列因子分解によりパラメータ数を削減する。
- 本手法は、再訓練を伴わずに重み行列の低ランク近似を特定するために特徴値分解 (SVD) またはデータに依存する分解を適用する。
- 反復的な微調整や蒸留を回避するため、フルモデル重みを用いてワンショットで圧縮を実行する。
- 得られた分解された層は完全に微分可能であり、既存の浮動小数点 GEMM カーネル (例: cuBLAS) と互換性があり、高速な推論を可能にする。
- Hugging Face の PyTorch バックエンドとシームレスに統合され、デプロイにはたった 1 行のコード変更で十分である。
- LoRD モデルは、ニアロスレス量子化 (SpQR) および QLoRA 微調整をさらに用いて圧縮され、モデルサイズおよびメモリ効率のさらなる向上が達成される。

実験結果
リサーチクエスチョン
- RQ1再訓練を伴わず、大規模な単語言語のコード LLM (例: StarCoder, CodeGen) に低ランク分解を効果的に適用できるか?
- RQ2コード LLM の線形層のランクをどれだけ削減できるか、かつモデル性能を維持できるか?
- RQ3推論速度、ハードウェア互換性、モデルの微分可能性という観点から、LoRD は量子化やプルーニングと比べてどのように差をつけるか?
- RQ4LoRD は、既存の量子化およびパrameter効率の良い微調整手法を組み合わせることで、さらなる圧縮および効率性の向上を達成できるか?
- RQ5制限されたメモリを備えたコンsumer レベルの GPU にデプロイされた分解モデルでも、性能が維持されるか?
主な発見
- LoRD は、コード LLM の線形層のランクを最大 39.58% 削減可能であり、 perplexity の上昇が 1% 未満に抑えられる。
- StarCoder 16B は、パラメータ数を 13.2B に圧縮したが、HumanEval Pass@1 スコアに低下はなく (31.67 vs. 31.57)、12.3B に圧縮した場合もわずかな低下にとどまる (29.22)。
- Hugging Face のデフォルト実装に 1 行のコード変更を加えるだけで、1 枚の A100 で最大 22.35% の推論速度向上が達成された。
- LoRD モデルは完全に微分可能であり、最先端の量子化 (SpQR) と互換性があり、さらなる圧縮の向上が可能である。
- LoRD モデル上で QLoRA 微調整を実行したところ、通常の QLoRA と比較してメモリ使用量が最大 21.2% 減少したが、微調整性能はほぼ同等を維持した。
- 本手法はハードウェア最適化されており、既存の cuBLAS カーネルを活用し、スパース行列のオーバーヘッドを回避しているため、多くの GPU ではスパースまたは量子化推論よりも高速である。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。