🚀 PrunaAI - AIモデルを安価で小型、高速、グリーンに!
PrunaAIは、AIモデルを圧縮することで、より安価で小型、高速、エコなモデルを提供します。モデルの圧縮技術を使って、AIの利用コストを削減し、環境負荷を低減します。
ソーシャルリンク
アクションコール
- このモデルが気に入ったら、いいねをしてください!
- 次に圧縮してほしいモデルをこちらからお知らせください。
- 独自のAIモデルを簡単に圧縮するアクセスをこちらから申請してください。
- 詳細を知るには、ドキュメントを読んでください。
- DiscordでPruna AIコミュニティに参加し、フィードバックや提案を共有したり、助けを求めたりしましょうこちら。
✨ 主な機能
- AIモデルを安価で小型、高速、グリーンにすることができます。
- モデルの圧縮にはllm - int8を使用しています。
- モデルの効率を評価するための複数のメトリクスを提供します。
📦 インストール
以下の手順で圧縮されたモデルを実行できます。
前提条件の確認
元のリポジトリWriter/palmyra - smallの要件を確認してください。特に、Python、CUDA、およびtransformersのバージョンを確認してください。
量子化関連パッケージのインストール
pip install transformers accelerate bitsandbytes>0.37.0
モデルのロードと実行
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("PrunaAI/Writer-palmyra-small-bnb-8bit-smashed",
trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("Writer/palmyra-small")
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
に記載されています。
📄 ライセンス
圧縮されたモデルのライセンスは、元のモデルのライセンスに従います。このモデルのベースとなった元のモデルWriter/palmyra - smallのライセンスを使用する前に確認してください。pruna - engine
のライセンスはこちらのPypiにあります。
他のモデルを圧縮したい場合
- 次に圧縮してほしいモデルをこちらからお知らせください。
- 独自のAIモデルを簡単に圧縮するアクセスをこちらから申請してください。