Skip to content

Latest commit

 

History

History
264 lines (159 loc) · 15.3 KB

README_ja.md

File metadata and controls

264 lines (159 loc) · 15.3 KB

LLMC: 正確で効率的なLLM圧縮に向けて

llmc

License arXiv GitHub Stars visitors Discord Banner QQ Doc Doc

[ English | 中文 | 日本語 ]

LLMC は、大規模言語モデル(LLM)の圧縮を目的とした、最新の圧縮アルゴリズムを活用して、パフォーマンスを損なうことなく効率を向上させ、モデルサイズを削減するためのツールです。

英語のドキュメントこちら

中国語のドキュメントこちら

Docker Hubこちら

aliyun docker: registry.cn-hangzhou.aliyuncs.com/yongyang/llmcompression:[tag]

以下のコマンドを使用して、llmcを実行できるDockerイメージをダウンロードできます。中国大陸のユーザーは、阿里云Dockerを使用することを推奨します。

docker hub

docker pull llmcompression/llmc:pure-latest

阿里云Docker

docker pull registry.cn-hangzhou.aliyuncs.com/yongyang/llmcompression:pure-latest

コミュニティ:

最新情報

  • 2024年9月26日: 🔥 LLMCからの✨ FP8量子化(E4M3、E5M2)モデルを、VLLMやSGLangのような高度な推理バックエンドにエクスポートできるようになりました。🚀 詳細な使用方法については、VLLMのドキュメントSGLangのドキュメントを参照してください。

  • 2024年9月24日: 🔥 私たちは正式に ✨Llama-3.1-405B の ✅INT4 と ✅INT8 モデルをリリースしました。これらは 🚀LLMCsave_lightllm モードを使用して量子化されています。モデルパラメータはこちらからダウンロードできます。

  • 2024年9月23日: 🔥 私たちは、🚀LLMC から ✨実際の量子化された(INT4, INT8) モデルを、 VLLM, SGLang, AutoAWQ, MLC-LLM などの高度な推論バックエンドにエクスポートするサポートを追加しました。これにより、✨メモリ使用量の削減 と ✨推論速度の向上 が可能になります。 詳細については、VLLMドキュメントSGLangドキュメントAutoAWQドキュメント、および MLC-LLMドキュメント を参照してください。

  • 2024年9月9日: 🔥 パフォーマンス向上のためのベストプラクティス構成をいくつか提供しています(ベストプラクティスはこちらをご覧ください)。

  • 2024年9月3日: 🔥 私たちは、opencompass を使用して 🚀LLMC モデルを評価するサポートを提供しています。このドキュメントに従って試してみてください!

  • 2024年8月22日: 🔥私たちは現在のSOTAモデル SmolLM を含む多くの小型言語モデルをサポートしています(サポートされているモデルリストを参照してください)。

  • 2024年8月22日: 🔥また、修正された lm-evaluation-harness を使用した下流タスクの評価もサポートしています 🤗。具体的には、save_trans モードを使用して(構成save 部分を参照)変換されたモデルを保存し、その後、run_lm_eval.sh を参照して量子化されたモデルを直接評価できます。詳細はこちらをご覧ください。

  • 2024年7月23日: 🍺🍺🍺 新しいベンチマーク論文をリリースしました:

    LLMC: Benchmarking Large Language Model Quantization with a Versatile Compression Toolkit

    Ruihao Gong*, Yang Yong*, Shiqiao Gu*, Yushi Huang*, Chengtao Lv, Yunchen Zhang, Xianglong Liu📧, Dacheng Tao

    (*は同等の貢献を示し、📧は対応する著者を示します。)

過去のニュース
  • 2024年7月16日: 🔥私たちはLLMの疎化のためのWanda/Naive(マグニチュード)および層ごとの混合ビット量子化のサポートを追加しました!

  • 2024年7月14日: 🔥私たちは回転ベースの量子化 QuaRot のサポートを追加しました!

  • 2024年5月17日: 🚀 私たちは、LLaVA、Mixtral、LLaMA V3、Qwen V2などのいくつかの高度な大規模モデルをサポートしています。お試しください!

  • 2024年5月13日: 🍺🍺🍺 私たちは量子化ベンチマーク論文をリリースしました:

    LLM-QBench: A Benchmark Towards the Best Practice for Post-training Quantization of Large Language Models

    Ruihao Gong*, Yang Yong*, Shiqiao Gu*, Yushi Huang*, Yunchen Zhang, Xianglong Liu📧, Dacheng Tao

    (*は同等の貢献を示し、📧は対応する著者を示します。)

    comp

    私たちは、校正コスト、推論効率、量子化精度を考慮して、量子化技術を公正にベンチマークしました。さまざまなモデルとデータセットに関して600件近い実験を行い、校正データ、アルゴリズムパイプライン、および量子化構成の選択に関する3つの洞察を得ました。これらの洞察に基づいて、LLMの後処理量子化パイプラインに対するベストプラクティスが設計され、さまざまなシナリオでのパフォーマンスと効率のバランスを実現します。

  • 2024年3月7日: 🚀 私たちは強力で効率的なLLM圧縮ツールの量子化部分をリリースしました。なお、ベンチマーク論文は近日中に公開予定です😊。

主要機能

  • 💥包括的なアルゴリズムサポート: 広範な ✨SOTA圧縮アルゴリズム をサポートし、✅量子化、✅混合精度量子化、✅疎性を含み、元のリポジトリと同じ精度を維持します。✨量子化ベストプラクティス(ベストプラクティスはこちらをご覧ください)も提供されており、最適なパフォーマンスと効率を確保します。

  • 💥サポートされているフォーマット: ✨量子化(整数および浮動小数点)と ✨疎性 の両方をサポートし、具体的には ✅重量-活性化、✅重量のみ、✅混合精度量子化、および ✅構造化疎性 と ✅非構造化疎性 を含みます。

  • 💥広範なモデルサポート: 多様な ✨LLMモデル をサポートしており、✅LLama、✅Mistral、✅InternLM2、✅Qwen2 など、さらに ✅MOE モデルや ✅VLM モデルもサポートしています(サポートされているモデルリストを参照してください)。

  • 💥マルチバックエンドの互換性: 複数のバックエンドとシームレスに統合し、展開の柔軟性を強化します。さまざまな量子化設定およびモデルフォーマットが、✅VLLM、✅Sglang、✅LightLLM、✅MLC-LLM、✅AutoAWQ など、幅広いバックエンドおよびハードウェアプラットフォームと互換性があり、高い柔軟性を実現しています(Backendセクションはこちらをご覧ください)。

  • 💥パフォーマンス効率: ✨Llama3.1-405B や ✨OPT-175B などの大規模LLMの量子化をサポートし、単一の A100/H100/H800 GPU でPPL評価を可能にします。

使用方法

使用ガイドは 🚀Quick Startセクションこちらをご覧ください。

サポートされているモデルリスト

BLOOM

LLaMA

LLaMA V2

StarCoder

OPT

Falcon

InternLM2

Mistral

LLaMA V3

Mixtral

Qwen V2

LLaVA

InternLM2.5

StableLM

Gemma2

Phi2

Phi 1.5

MiniCPM

SmolLM

独自のモデルタイプを追加するには、llmc/models/*.py ファイルを参照してください。

サポートされているバックエンドリスト

VLLM

LightLLM

Sglang

MLC-LLM

AutoAWQ

サポートされているアルゴリズムリスト

量子化

✅ Naive

AWQ

GPTQ

SmoothQuant

OS+

OmniQuant

NormTweaking

AdaDim

QUIK

SpQR

DGQ

OWQ

LLM.int8()

HQQ

QuaRot

プルーニング(剪定)

✅ Naive(マグニチュード)

Wanda

ShortGPT

謝辞

以下のリポジトリを参考にしてコードを開発しました:

スター履歴

スター履歴チャート

引用

LLM-QBench論文/llmcツールキットが研究に役立つまたは関連している場合は、論文を引用してください:

@misc{llmc,
   author = {llmc contributors},
   title = {llmc: Towards Accurate and Efficient LLM Compression},
   year = {2024},
   publisher = {GitHub},
   journal = {GitHub repository},
   howpublished = {\url{https://github.com/ModelTC/llmc}},
}

@misc{gong2024llmqbench,
      title={LLM-QBench: A Benchmark Towards the Best Practice for Post-training Quantization of Large Language Models},
      author={Ruihao Gong and Yang Yong and Shiqiao Gu and Yushi Huang and Yunchen Zhang and Xianglong Liu and Dacheng Tao},
      year={2024},
      eprint={2405.06001},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

@misc{gong2024llmcbenchmarkinglargelanguage,
      title={LLMC: Benchmarking Large Language Model Quantization with a Versatile Compression Toolkit},
      author={Ruihao Gong and Yang Yong and Shiqiao Gu and Yushi Huang and Chentao Lv and Yunchen Zhang and Xianglong Liu and Dacheng Tao},
      year={2024},
      eprint={2405.06001},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2405.06001},
}