Phi-3 Small und Medium Modelle sind jetzt mit ONNX Runtime und DirectML optimiert


21. Mai 2024

Wir haben zuvor die Optimierungsunterstützung für Phi-3 mini vorgestellt. Nun präsentieren wir optimierte ONNX-Varianten der neu eingeführten Phi-3-Modelle. Die neuen Phi-3-Small und Phi-3-Medium übertreffen Sprachmodelle gleicher Größe sowie deutlich größere Modelle. Phi-3-small schlägt GPT-3.5T in einer Vielzahl von Sprach-, Logik-, Code- und Mathematik-Benchmarks. Die neuen Modelle statten Entwickler mit einem Baustein für generative KI-Anwendungen aus, die starke Logik, begrenzte Rechenleistung und latenzgebundene Szenarien erfordern.

Phi-3-Medium ist ein Sprachmodell mit 14 Milliarden Parametern. Es ist in Varianten mit kurzem (4K) und langem (128K) Kontext verfügbar. Sie finden nun die optimierten Modelle Phi-3-medium-4k-instruct-onnx und Phi-3-medium-128K-instruct-onnx mit ONNX Runtime und DML auf Huggingface! Schauen Sie in der Phi-3 Collection nach den ONNX-Modellen.

Wir haben auch Unterstützung für Phi-3 Small-Modelle für CUDA-fähige Nvidia-GPUs hinzugefügt, weitere Varianten folgen bald. Wir haben Unterstützung für Phi-3 Small-Modelle für CUDA-fähige Nvidia-GPUs hinzugefügt, weitere Varianten folgen bald. Wir haben auch Unterstützung für Phi-3 Small-Modelle für CUDA-fähige Nvidia-GPUs hinzugefügt, weitere Varianten folgen bald. Dies beinhaltet die Unterstützung für den Block Sparse Kernel in der neu veröffentlichten ONNX Runtime 1.18 Release über die ONNX Runtime generate() API.

ONNXRuntime 1.18 fügt neue Features hinzu, wie verbesserte 4-Bit-Quantisierungsunterstützung, verbesserte MultiheadAttention-Performance auf der CPU und Verbesserungen der ONNX Runtime generate() API, um einfachere und effizientere Ausführung auf verschiedenen Geräten zu ermöglichen.

Wir freuen uns auch mitzuteilen, dass das neue optimierte ONNX Phi-3-mini für Web-Deployment jetzt verfügbar ist. Sie können Phi3-mini-4K vollständig im Browser ausführen! Sehen Sie sich das Modell hier an. Darüber hinaus haben wir die optimierte ONNX-Version für CPU und Mobilgeräte mit noch besserer Leistung aktualisiert. Und verpassen Sie nicht diesen Blogbeitrag darüber, wie Sie Phi-3 auf Ihrem Handy und im Browser ausführen.

Ausführung von Phi-3-Medium und Small mit ONNX Runtime

Sie können die ONNX Runtime generate() API nutzen, um diese Modelle nahtlos auszuführen. Die detaillierten Anweisungen finden Sie hier. Sie können auch die Chat-Anwendung lokal ausführen.

Nur eine Paket- und Modellkombination ist basierend auf Ihrer Hardware erforderlich.

3 einfache Schritte zur Ausführung

  1. Modell herunterladen
  2. Die generate() API installieren
  3. Modell mit phi3-qa.py ausführen

Führen Sie nur die für Ihre Hardware benötigten Schritte aus.

Optimiert für Ihre Plattform

Mapping of which model to use based on hardware

Phi-3 Small 8K ONNX Modell

Phi-3 Medium 4k ONNX Modelle

Phi-3 Medium 128k ONNX Modelle

Leistung

Die ONNX Runtime Modelle können bis zu 10-mal schneller ausgeführt werden als die PyTorch-Varianten. Der Token-Generierungsdurchsatz in Tokens/Sekunde ist unten für verschiedene Varianten aufgeführt.

Modell Batch-Größe, Prompt-Länge Modellvariante Token-Generierungsdurchsatz (Tokens/Sekunde)
Phi-3 Medium 4K
Phi-3 Medium 4K 14B ONNX CUDA 1, 16 FP16 CUDA GPU mit ONNX Runtime 47.32
Phi-3 Medium 4K 14B ONNX CUDA 16, 64 FP16 CUDA GPU mit ONNX Runtime 698.22
Phi-3 Medium 4K 14B ONNX CUDA 1, 16 INT4 RTN CUDA GPU mit ONNX Runtime 115.68
Phi-3 Medium 4K 14B ONNX CUDA 16, 64 INT4 RTN CUDA GPU mit ONNX Runtime 339.45
Phi-3 Medium 4K 14B ONNX DML 1, 16 DML INT4 AWQ mit ONNX Runtime 72.39
Phi-3 Medium 4K 14B ONNX CPU 16, 64 INT4 RTN CPU mit ONNX Runtime 20.77
Phi-3 Medium 128K
Phi-3 Medium 128K 14B ONNX CUDA 1, 16 FP16 CUDA GPU mit ONNX Runtime 46.27
Phi-3 Medium 128K 14B ONNX CUDA 16, 64 FP16 CUDA GPU mit ONNX Runtime 662.23
Phi-3 Medium 128K 14B ONNX CUDA 1, 16 INT4 RTN CUDA GPU mit ONNX Runtime 108.59
Phi-3 Medium 128K 14B ONNX CUDA 16, 64 INT4 RTN CUDA GPU mit ONNX Runtime 332.57
Phi-3 Medium 128K 14B ONNX DML 1, 16 DML INT4 AWQ mit ONNX Runtime 72.26
Modell Batch-Größe, Prompt-Länge Modellvariante Token-Generierungsdurchsatz (Tokens/Sekunde)
Phi-3 Small 8k
Phi-3 Small 8K 7B ONNX CUDA 1, 16 FP16 CUDA GPU mit ONNX Runtime 74.62
Phi-3 Small 8K 7B ONNX CUDA 16, 64 FP16 CUDA GPU mit ONNX Runtime 1036.93
Phi-3 Small 8K 7B ONNX CUDA 1, 16 INT4 RTN CUDA GPU mit ONNX Runtime 140.68
Phi-3 Small 8K 7B ONNX CUDA 16, 64 INT4 RTN CUDA GPU mit ONNX Runtime 582.07
Phi-3 Small 128k
Phi-3 Small 128K 7B ONNX CUDA 1, 16 FP16 CUDA GPU mit ONNX Runtime 68.26
Phi-3 Small 128K 7B ONNX CUDA 16, 64 FP16 CUDA GPU mit ONNX Runtime 577.41
Phi-3 Small 128K 7B ONNX CUDA 1, 16 INT4 RTN CUDA GPU mit ONNX Runtime 73.60
Phi-3 Small 128K 7B ONNX CUDA 16, 64 INT4 RTN CUDA GPU mit ONNX Runtime 1008.35

Geräte

  • CUDA: A100 GPU, SKU: Standard_ND96amsr_A100_v4
  • DML: Nvidia GeForce RTX 4080 (Dedizierter Speicher 16 GB/Gemeinsamer Speicher 24 GB)
  • CPU: Intel(R) Core(TM) i9-10920X CPU @ 3,50 GHz

Pakete

  • onnxruntime-gpu: 1.18.0

Jetzt loslegen

Um optimiertes Phi-3 selbst zu erleben, können Sie diese Modelle jetzt einfach mit der ONNX Runtime generate() API-Anleitung ausführen. Um mehr zu erfahren, besuchen Sie uns bei den ONNX Runtime-, DML- und Phi-3-Sitzungen auf der Build!