Disse utvidelsene hjelper deg med å kjøre generativ AI med ONNX Runtime (https://github.com/microsoft/onnxruntime-genai). De gir en generativ AI-loop for ONNX-modeller, inkludert inferens med ONNX Runtime, behandling av logits, søk og sampling, samt håndtering av KV-cache. Utviklere kan bruke en høynivåmetode generate(), eller kjøre hver iterasjon av modellen i en loop som genererer én token om gangen, og eventuelt oppdatere generasjonsparametere inne i loopen. Den støtter greedy/beam search og TopP, TopK-sampling for å generere sekvenser av tokens, samt innebygd logits-behandling som repetisjonsstraff. Du kan også enkelt legge til egendefinert scoring.
På applikasjonsnivå kan du bruke Generative AI-utvidelser for onnxruntime til å bygge applikasjoner ved bruk av C++/C#/Python. På modellnivå kan du bruke dem til å slå sammen finjusterte modeller og utføre relatert kvantitativ distribusjonsarbeid.
Generative AI-utvidelser for onnxruntime støtter kvantiseringskonvertering av Microsoft Phi, Google Gemma, Mistral, Meta LLaMA.
Modellbyggeren akselererer sterkt prosessen med å lage optimaliserte og kvantiserte ONNX-modeller som kjører med ONNX Runtime generate()-API-et.
Med Modellbyggeren kan du kvantisere modellen til INT4, INT8, FP16, FP32, og kombinere ulike maskinvareakselerasjonsmetoder som CPU, CUDA, DirectML, Mobile osv.
For å bruke Modellbyggeren må du installere
pip install torch transformers onnx onnxruntime
pip install --pre onnxruntime-genai
Etter installasjon kan du kjøre Modellbygger-skriptet fra terminalen for å utføre modellformat- og kvantiseringskonvertering.
python3 -m onnxruntime_genai.models.builder -m model_name -o path_to_output_folder -p precision -e execution_provider -c cache_dir_to_save_hf_files
Forstå de relevante parameterne:
-
model_name Dette er modellen på Hugging Face, som for eksempel microsoft/Phi-3.5-mini-instruct, microsoft/Phi-3.5-vision-instruct, osv. Det kan også være banen der du lagrer modellen.
-
path_to_output_folder Lagresti for kvantisert konvertering.
-
execution_provider Ulike maskinvareakselerasjonsstøtter, som CPU, CUDA, DirectML.
-
cache_dir_to_save_hf_files Vi laster ned modellen fra Hugging Face og cacher den lokalt.
Merk:
Modellbyggeren støtter nå ONNX-modellkvantisering for Phi-3.5 Instruct og Phi-3.5-Vision.
CPU-akselerert konvertering til kvantisert INT 4
python3 -m onnxruntime_genai.models.builder -m microsoft/Phi-3.5-mini-instruct -o ./onnx-cpu -p int4 -e cpu -c ./Phi-3.5-mini-instruct
CUDA-akselerert konvertering til kvantisert INT 4
python3 -m onnxruntime_genai.models.builder -m microsoft/Phi-3.5-mini-instruct -o ./onnx-cpu -p int4 -e cuda -c ./Phi-3.5-mini-instruct
python3 -m onnxruntime_genai.models.builder -m microsoft/Phi-3.5-mini-instruct -o ./onnx-cpu -p int4 -e cuda -c ./Phi-3.5-mini-instruct
Phi-3.5-vision-instruct-onnx-cpu-fp32
- Sett opp miljø i terminalen:
mkdir models
cd models
-
Last ned microsoft/Phi-3.5-vision-instruct til models-mappen.
https://huggingface.co/microsoft/Phi-3.5-vision-instruct -
Last ned følgende filer til din Phi-3.5-vision-instruct-mappe:
-
https://huggingface.co/lokinfey/Phi-3.5-vision-instruct-onnx-cpu/resolve/main/onnx/config.json
-
https://huggingface.co/lokinfey/Phi-3.5-vision-instruct-onnx-cpu/blob/main/onnx/modeling_phi3_v.py
-
Last ned denne filen til models-mappen:
https://huggingface.co/lokinfey/Phi-3.5-vision-instruct-onnx-cpu/blob/main/onnx/build.py -
Gå til terminalen:
Konverter ONNX-støtte med FP32:
python build.py -i .\Your Phi-3.5-vision-instruct Path\ -o .\vision-cpu-fp32 -p f32 -e cpu
-
Modellbyggeren støtter foreløpig konvertering av Phi-3.5-Instruct og Phi-3.5-Vision, men ikke Phi-3.5-MoE.
-
For å bruke ONNXs kvantiserte modell kan du bruke Generative AI-utvidelser for onnxruntime SDK.
-
Vi må ta hensyn til mer ansvarlig AI, så etter modellkvantiseringskonvertering anbefales det å gjennomføre mer effektiv testing av resultatene.
-
Ved å kvantisere CPU INT4-modellen kan vi distribuere den til Edge-enheter, noe som gir bedre bruksscenarier. Derfor har vi fullført Phi-3.5-Instruct rundt INT 4.
-
Lær mer om Generative AI-utvidelser for onnxruntime:
https://onnxruntime.ai/docs/genai/ -
Generative AI-utvidelser for onnxruntime GitHub-repo:
https://github.com/microsoft/onnxruntime-genai
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av maskinbaserte AI-oversettelsestjenester. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.