🚀 Phi-3 Small-8K-Instruct ONNX CUDA モデル
このリポジトリは、NVIDIA GPUを搭載したマシンでONNX Runtimeを使用して推論を高速化するための、Phi-3-small-8k-instruct の最適化バージョンをホストしています。
Phi-3 Smallは70億パラメータの軽量で最先端のオープンモデルで、合成データと公開されているウェブサイトのフィルタリングされたデータを含むPhi-3データセットで学習されています。このデータセットは高品質で推論に富んだ特性を持っています。このモデルはPhi-3ファミリーの小規模バージョンで、8K と 128K の2つのバリエーションがあり、これはサポートできるコンテキスト長(トークン単位)を表しています。
ベースモデルは、命令追従とセキュリティ対策のために、教師あり微調整と直接的な嗜好最適化の両方を組み込んだ事後学習プロセスを経ています。常識、言語理解、数学、コード、長文コンテキスト、論理推論をテストするベンチマークで評価された際、Phi-3-Small-8K-Instructは同規模および次の規模のモデルの中で強力で最先端のパフォーマンスを示しました。
Phi-3 Smallモデルの最適化バリアントは、ONNX 形式でここに公開されており、ONNX Runtime を使用して、サーバープラットフォーム、Windows、Linuxを含むさまざまなデバイスのGPU上で実行できます。
✨ 主な機能
ONNXモデル
以下は追加された最適化構成の一部です。
- FP16 CUDA用のONNXモデル:NVIDIA GPU用のONNXモデルです。
- INT4 CUDA用のONNXモデル:RTNを介してint4量子化を使用するNVIDIA GPU用のONNXモデルです。
注意: Hugging Face CLIを使用すると、ディスク容量が限られている場合に、すべてのモデルではなくサブフォルダをダウンロードできます。FP16モデルはより大きなバッチサイズに推奨され、INT4モデルは小さなバッチサイズでのパフォーマンスを最適化します。
例:
# FP16モデルのみをダウンロード
$ huggingface-cli download microsoft/Phi-3-small-8k-instruct-onnx-cuda --include cuda-fp16/* --local-dir . --local-dir-use-symlinks False
モデルの使い始め方
さまざまなデバイス、プラットフォーム、およびEPバックエンドでPhi-3モデルをサポートするために、生成AI推論のいくつかの側面をラップする新しいAPIを導入しています。このAPIを使用すると、LLMをアプリに簡単にドラッグアンドドロップできます。これらのモデルの初期バージョンをONNXで実行するには、こちら の手順に従ってください。また、このチャットアプリ でモデルをテストすることもできます。
サポートされるハードウェア
ONNXモデルは以下の環境でテストされています。
- 1台のA100 GPU、SKU: Standard_ND96amsr_A100_v4 (CUDA)
必要な最小構成:
モデルの詳細
属性 |
详情 |
開発者 |
Microsoft |
モデルタイプ |
ONNX |
言語 (NLP) |
Python、C、C++ |
ライセンス |
MIT |
モデル説明 |
これは、ONNX Runtime推論用に変換されたPhi-3 Small-8K-Instructモデルです。 |
追加情報
パフォーマンス指標
Phi-3 Small-8K-Instructは、すべてのバッチサイズとプロンプト長の組み合わせにおいて、PyTorchと比較してONNX Runtimeでより良いパフォーマンスを発揮します。FP16 CUDAの場合、ORTはPyTorchより最大4倍速く動作し、INT4 CUDAの場合、PyTorchより最大10.9倍速く動作します。
以下の表は、1台のA100 80GB GPU、SKU: Standard_ND96amsr_A100_v4 で測定された、CUDA上のFP16とINT4精度における最初の256トークンの平均スループット(tps)を示しています。
バッチサイズ、プロンプト長 |
ORT FP16 CUDA |
PyTorch Eager FP16 CUDA |
スピードアップ (ORT/PyTorch) |
1, 16 |
74.62 |
16.81 |
4.44 |
4, 16 |
290.36 |
65.56 |
4.43 |
16,16 |
1036.93 |
267.33 |
3.88 |
バッチサイズ、プロンプト長 |
ORT INT4 CUDA |
PyTorch Eager INT4 CUDA |
スピードアップ (ORT/PyTorch) |
1, 16 |
140.68 |
12.93 |
10.88 |
4, 16 |
152.90 |
44.04 |
3.47 |
16,16 |
582.07 |
160.57 |
3.62 |
パッケージバージョン
Pipパッケージ名 |
バージョン |
torch |
2.3.0 |
triton |
2.3.0 |
onnxruntime-gpu |
1.18.0 |
transformers |
4.40.2 |
bitsandbytes |
0.43.1 |
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
付録
モデルカードの連絡先
parinitarahi、kvaishnavi、natke
貢献者
Kunal Vaishnavi、Sunghoon Choi、Yufeng Li、Tianlei Wu、Sheetal Arun Kadam、Rui Ren、Baiju Meswani、Natalie Kershaw、Parinita Rahi