🚀 Pruna AI - AIモデルを安価で小型、高速、グリーンに!
Pruna AIは、AIモデルを安価で小型、高速、グリーンにすることを目的としています。このモデルを使って、AIモデルの圧縮を簡単に行うことができます。

- このモデルが気に入ったら、いいねをしてください!
- 次に圧縮してほしいモデルを教えてくれる場合は、こちらからお問い合わせください。
- あなた自身のAIモデルを簡単に圧縮するためのアクセスをリクエストするには、こちらをクリックしてください。
- 詳細を知るには、こちらのドキュメントを読んでください。
- DiscordでPruna AIコミュニティに参加するには、こちらをクリックしてください。フィードバックや提案を共有したり、助けを求めたりすることができます。
✨ 主な機能
- メトリクス: memory_disk、memory_inference、inference_latency、inference_throughput、inference_CO2_emissions、inference_energy_consumption
- タグ: pruna-ai
📦 インストール
必要条件の確認
元のリポジトリmosaicml/mpt-7b-storywriterの要件を確認してください。特に、Python、CUDA、およびtransformersのバージョンを確認してください。
量子化関連パッケージのインストール
pip install transformers accelerate bitsandbytes>0.37.0
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("PrunaAI/mosaicml-mpt-7b-storywriter-bnb-4bit-smashed",
trust_remote_code=True, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained("mosaicml/mpt-7b-storywriter")
input_ids = tokenizer("What is the color of prunes?,", return_tensors='pt').to(model.device)["input_ids"]
outputs = model.generate(input_ids, max_new_tokens=216)
tokenizer.decode(outputs[0])
📚 ドキュメント
結果

よくある質問
- 圧縮はどのように行われますか? モデルはllm-int8で圧縮されます。
- モデルの品質はどのように変化しますか? モデル出力の品質は、ベースモデルと比較して異なる場合があります。
- モデルの効率はどのように評価されますか? これらの結果は、NVIDIA A100-PCIE-40GBで、
model/smash_config.json
に記載されている構成で取得され、ハードウェアのウォームアップ後に取得されます。圧縮されたモデルは、元のベースモデルと直接比較されます。効率の結果は、他の設定(例:他のハードウェア、画像サイズ、バッチサイズなど)では異なる場合があります。圧縮されたモデルがあなたに有益かどうかを知るために、実際のユースケース条件で直接実行することをお勧めします。
- モデルの形式は何ですか? 私たちはsafetensorsを使用しています。
- どのようなキャリブレーションデータが使用されていますか? 圧縮方法に必要な場合、キャリブレーションデータとしてWikiTextを使用しました。
- Pruna Huggingfaceモデルの命名規則は何ですか? 測定された推論速度、推論メモリ、または推論エネルギー消費が元のベースモデルの90%未満である場合、元のモデル名に「turbo」、「tiny」、または「green」を追加します。
- 自分のモデルを圧縮するにはどうすればいいですか? 特定のユースケースに対するより多くの圧縮方法と技術サポートへのプレミアムアクセスをリクエストすることができます。こちらから申請してください。
- 「first」メトリクスとは何ですか? 「first」と記載された結果は、モデルの最初の実行後に取得されます。最初の実行は、CUDAのオーバーヘッドのため、その後の実行よりも多くのメモリを使用するか、遅くなる場合があります。
- 「Sync」と「Async」メトリクスとは何ですか? 「Sync」メトリクスは、すべてのGPUプロセスを同期し、すべてのプロセスが実行されたときに測定を停止することで取得されます。「Async」メトリクスは、すべてのGPUプロセスを同期せず、モデル出力がCPUで使用できるようになったときに停止することで取得されます。どちらのメトリクスも提供しています。ユースケースに応じてどちらも関連する可能性があるためです。ユースケースで直接効率の向上をテストすることをお勧めします。
設定
設定情報はsmash_config.json
にあります。
📄 ライセンス
圧縮されたモデルのライセンスは、元のモデルのライセンスに従います。このモデルのベースとなった元のモデルmosaicml/mpt-7b-storywriterのライセンスを使用する前に確認してください。pruna-engine
のライセンスは、こちらのPypiにあります。
その他のモデルを圧縮したい場合
- 次に圧縮してほしいモデルを教えてくれる場合は、こちらからお問い合わせください。
- あなた自身のAIモデルを簡単に圧縮するためのアクセスをリクエストするには、こちらをクリックしてください。