🚀 PrunaAI - AIモデルの低コスト化、小型化、高速化、グリーン化
PrunaAIは、AIモデルをより安価で、小型で、高速で、環境にやさしいものに変えることができます。モデルの圧縮技術を使って、メモリ使用量や推論時間を削減し、エネルギー消費を抑えます。

- このモデルが気に入ったら、いいねをしてください!
- 次に圧縮してほしいモデルを教えてください こちら からお問い合わせください。
- あなた自身のAIモデルを簡単に圧縮するためのアクセスをリクエスト こちら から申請できます。
- 詳細を知るためにドキュメントを読む こちら
- DiscordでPruna AIコミュニティに参加 こちら からフィードバックや提案を共有したり、助けを求めたりできます。
✨ 主な機能
- メトリクス: メモリ使用量、推論時間、推論スループット、CO2排出量、エネルギー消費量などのメトリクスを測定します。
- タグ: Pruna AI関連のタグが付けられています。
📦 インストール
以下の手順で圧縮されたモデルを実行できます。
- 元のリポジトリUniversal-NER/UniNER-7B-allの要件を確認してください。特に、Python、CUDA、transformersのバージョンを確認してください。
- 量子化関連のパッケージをインストールしてください。
pip install transformers accelerate bitsandbytes>0.37.0
- モデルをロードして実行します。
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("PrunaAI/Universal-NER-UniNER-7B-all-bnb-4bit-smashed",
trust_remote_code=True, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained("Universal-NER/UniNER-7B-all")
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])
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("PrunaAI/Universal-NER-UniNER-7B-all-bnb-4bit-smashed",
trust_remote_code=True, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained("Universal-NER/UniNER-7B-all")
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
にあります。
📄 ライセンス
圧縮されたモデルのライセンスは元のモデルのライセンスに従います。このモデルのベースモデルを提供している元のモデルUniversal-NER/UniNER-7B-allのライセンスを使用する前に確認してください。pruna-engine
のライセンスは こちら で確認できます。
他のモデルを圧縮したい場合
- 次に圧縮してほしいモデルを教えてください こちら からお問い合わせください。
- あなた自身のAIモデルを簡単に圧縮するためのアクセスをリクエスト こちら から申請できます。