हे विस्तार तुम्हाला ONNX Runtime (https://github.com/microsoft/onnxruntime-genai) च्या मदतीने जनरेटिव्ह AI चालवण्यास मदत करतात. हे ONNX मॉडेलसाठी जनरेटिव्ह AI लूप प्रदान करतात, ज्यामध्ये ONNX Runtime सह अनुमान, logits प्रक्रिया, शोध आणि सॅम्पलिंग, आणि KV कॅश व्यवस्थापन यांचा समावेश आहे. विकसक उच्च-स्तरीय generate() पद्धतीला कॉल करू शकतात किंवा मॉडेलच्या प्रत्येक पुनरावृत्ती लूपमध्ये चालवू शकतात, एका वेळी एक टोकन तयार करू शकतात आणि लूपच्या आत जनरेशन पॅरामीटर्स अपडेट करण्याचा पर्याय देखील ठेवू शकतात. हे लोभस/बीम शोध आणि TopP, TopK सॅम्पलिंगसाठी टोकन अनुक्रम तयार करण्यासाठी समर्थन प्रदान करते आणि पुनरावृत्ती दंडांसारख्या अंगभूत logits प्रक्रिया समाविष्ट करते. तुम्ही सहजपणे सानुकूल स्कोअरिंग देखील जोडू शकता.
अॅप्लिकेशन स्तरावर, तुम्ही C++/ C# / Python वापरून अॅप्लिकेशन्स तयार करण्यासाठी onnxruntime साठी Generative AI विस्तार वापरू शकता. मॉडेल स्तरावर, तुम्ही त्याचा वापर फाइन-ट्यून केलेली मॉडेल्स मर्ज करण्यासाठी आणि संबंधित क्वांटिटेटिव्ह डिप्लॉयमेंट कार्य करण्यासाठी करू शकता.
onnxruntime साठी Generative AI विस्तार Microsoft Phi, Google Gemma, Mistral, Meta LLaMA यांसारख्या मॉडेल्सच्या क्वांटायझेशन रूपांतरणास समर्थन देतो।
मॉडेल बिल्डर ONNX Runtime generate() API सह चालणाऱ्या ऑप्टिमाइझ आणि क्वांटायझ केलेल्या ONNX मॉडेल्स तयार करण्याची प्रक्रिया खूप गतीमान करतो.
मॉडेल बिल्डरद्वारे, तुम्ही मॉडेलला INT4, INT8, FP16, FP32 मध्ये क्वांटायझ करू शकता आणि CPU, CUDA, DirectML, Mobile इत्यादीसारख्या वेगवेगळ्या हार्डवेअर प्रवेगक पद्धती एकत्र करू शकता.
मॉडेल बिल्डर वापरण्यासाठी तुम्हाला हे स्थापित करावे लागेल:
pip install torch transformers onnx onnxruntime
pip install --pre onnxruntime-genai
स्थापनेनंतर, तुम्ही मॉडेल फॉरमॅट आणि क्वांटायझेशन रूपांतरण करण्यासाठी टर्मिनलवरून मॉडेल बिल्डर स्क्रिप्ट चालवू शकता.
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
संबंधित पॅरामीटर्स समजून घ्या:
-
model_name हे Hugging Face वरील मॉडेल आहे, जसे की microsoft/Phi-3.5-mini-instruct, microsoft/Phi-3.5-vision-instruct इत्यादी. हे तुमच्या मॉडेल साठवलेल्या मार्गाचे ठिकाण देखील असू शकते.
-
path_to_output_folder क्वांटायझ्ड रूपांतरण जतन करण्याचा मार्ग.
-
execution_provider वेगवेगळ्या हार्डवेअर प्रवेगकांसाठी समर्थन, जसे की CPU, CUDA, DirectML.
-
cache_dir_to_save_hf_files आम्ही Hugging Face वरून मॉडेल डाउनलोड करतो आणि ते स्थानिक पातळीवर कॅश करतो.
टीपः
मॉडेल बिल्डर आता Phi-3.5 Instruct आणि Phi-3.5-Vision साठी ONNX मॉडेल क्वांटायझेशनला समर्थन देतो.
क्वांटायझ्ड INT 4 चे CPU प्रवेगित रूपांतरण
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
क्वांटायझ्ड INT 4 चे CUDA प्रवेगित रूपांतरण
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
- टर्मिनलमध्ये पर्यावरण सेट करा:
mkdir models
cd models
-
मॉडेल्स फोल्डरमध्ये microsoft/Phi-3.5-vision-instruct डाउनलोड करा:
https://huggingface.co/microsoft/Phi-3.5-vision-instruct -
कृपया खालील फाइल्स तुमच्या Phi-3.5-vision-instruct फोल्डरमध्ये डाउनलोड करा:
-
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
-
खालील फाइल मॉडेल्स फोल्डरमध्ये डाउनलोड करा:
https://huggingface.co/lokinfey/Phi-3.5-vision-instruct-onnx-cpu/blob/main/onnx/build.py -
टर्मिनलमध्ये जा:
FP32 सह ONNX समर्थनामध्ये रूपांतरण करा:
python build.py -i .\Your Phi-3.5-vision-instruct Path\ -o .\vision-cpu-fp32 -p f32 -e cpu
-
मॉडेल बिल्डर सध्या Phi-3.5-Instruct आणि Phi-3.5-Vision चे रूपांतरण समर्थित करतो, परंतु Phi-3.5-MoE चे नाही.
-
ONNX चे क्वांटायझ्ड मॉडेल वापरण्यासाठी, तुम्ही ते onnxruntime साठी Generative AI विस्तार SDK च्या माध्यमातून वापरू शकता.
-
अधिक जबाबदार AI विचारात घेण्यासाठी, मॉडेल क्वांटायझेशन रूपांतरणानंतर अधिक प्रभावी निकाल चाचणी करणे सुचवले जाते.
-
CPU INT4 मॉडेलचे क्वांटायझेशन करून, आपण ते Edge Device वर तैनात करू शकतो, ज्यामध्ये चांगल्या अनुप्रयोग परिस्थिती आहेत. म्हणूनच, आम्ही Phi-3.5-Instruct चे INT 4 च्या आसपासचे काम पूर्ण केले आहे.
-
onnxruntime साठी Generative AI विस्तारांबद्दल अधिक जाणून घ्या:
https://onnxruntime.ai/docs/genai/ -
onnxruntime साठी Generative AI विस्तार GitHub रेपो:
https://github.com/microsoft/onnxruntime-genai
अस्वीकृति:
हे दस्तऐवज मशीन-आधारित एआय अनुवाद सेवांचा वापर करून अनुवादित केले गेले आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात घ्या की स्वयंचलित अनुवादांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील मूळ दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वपूर्ण माहितीसाठी व्यावसायिक मानवी अनुवादाची शिफारस केली जाते. या अनुवादाच्या वापरामुळे होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थ लावण्यास आम्ही जबाबदार राहणार नाही.