Zubnet AIसीखेंWiki › ONNX
इन्फ्रास्ट्रक्चर

ONNX

इसे भी कहा जाता है: Open Neural Network Exchange
मशीन लर्निंग मॉडलों का प्रतिनिधित्व करने के लिए एक ओपन प्रारूप जो फ्रेमवर्क के बीच इंटरऑपरेबिलिटी सक्षम करता है। PyTorch में प्रशिक्षित मॉडल को ONNX में निर्यात किया जा सकता है और फिर ONNX Runtime, TensorRT, या अन्य विशिष्ट हार्डवेयर के लिए अनुकूलित inference इंजन का उपयोग करके चलाया जा सकता है। ONNX प्रशिक्षण दुनिया (PyTorch, TensorFlow) और डिप्लॉयमेंट दुनिया (अनुकूलित runtimes) के बीच एक साझा भाषा के रूप में कार्य करता है।

यह क्यों मायने रखता है

ONNX एक वास्तविक प्रोडक्शन समस्या हल करता है: आप PyTorch (शोध मानक) में प्रशिक्षण करते हैं लेकिन ऐसे हार्डवेयर पर डिप्लॉय करते हैं जो भिन्न runtime से बेहतर चलता है। ONNX में कन्वर्ट करने से आप अपने मॉडल को दोबारा लिखे बिना अनुकूलित inference इंजन का उपयोग कर सकते हैं। यह एज डिप्लॉयमेंट के लिए विशेष रूप से महत्वपूर्ण है जहाँ सीमित हार्डवेयर पर अधिकतम प्रदर्शन चाहिए।

गहन अध्ययन

ONNX एक कम्प्यूटेशन ग्राफ़ प्रारूप परिभाषित करता है: नोड ऑपरेशन (matrix multiply, convolution, attention) का प्रतिनिधित्व करते हैं, किनारे ऑपरेशन के बीच बहने वाले tensors का प्रतिनिधित्व करते हैं। ग्राफ़ में मॉडल चलाने के लिए आवश्यक सभी जानकारी शामिल होती है: आर्किटेक्चर, भार, इनपुट/आउटपुट आकार, और ऑपरेटर परिभाषाएँ। ONNX Runtime (Microsoft) सबसे लोकप्रिय runtime है, जो CPU, GPU, और विशेष accelerators को सपोर्ट करता है।

ONNX कब उपयोग करें

ONNX सबसे उपयोगी है जब: (1) आपको गैर-NVIDIA हार्डवेयर (Intel, AMD, ARM, मोबाइल) पर डिप्लॉय करना है जहाँ PyTorch CUDA उपलब्ध नहीं है, (2) आपको अधिकतम inference गति चाहिए और ONNX Runtime के अनुकूलन PyTorch से बेहतर प्रदर्शन करते हैं, या (3) आप गैर-Python एप्लिकेशन में मॉडल एकीकृत कर रहे हैं (ONNX Runtime में C++, C#, Java, और JavaScript bindings हैं)। बड़े LLMs के मानक GPU inference के लिए, vLLM और TGI जैसे विशेष serving frameworks आमतौर पर ONNX से बेहतर प्रदर्शन करते हैं।

सीमाएँ

सभी PyTorch ऑपरेशन ONNX में साफ़ रूप से कन्वर्ट नहीं होते, विशेषकर कस्टम ऑपरेटर और गतिशील आर्किटेक्चर। जटिल मॉडलों को सही ढंग से निर्यात करने के लिए मैन्युअल हस्तक्षेप की आवश्यकता हो सकती है। ONNX नवीनतम आर्किटेक्चर से पीछे भी रहता है — नए मॉडल प्रकार तब तक समर्थित नहीं हो सकते जब तक ONNX ऑपरेटर नहीं जोड़े जाते। LLM inference के लिए विशेष रूप से, GGUF/llama.cpp इकोसिस्टम और TensorRT-LLM अधिकांश उपयोग मामलों के लिए ONNX से अधिक लोकप्रिय हो गए हैं।

संबंधित अवधारणाएँ

← सभी शब्द
← Ollama OpenAI →
ESC