TensorSharp, GGUF लँग्वेज मॉडेल्ससाठी एक pure-.NET इन्फरन्स इंजिन आहे, जे आता सार्वजनिकरित्या उपलब्ध झाले आहे. यामुळे .NET डेव्हलपर्सना पायथन (Python) सर्व्हर सुरू न करता लार्ज-लँग्वेज-मॉडेल (LLM) इन्फरन्स चालवणे शक्य होईल. हा प्रकल्प Windows, macOS आणि Linux वर चालताना आणि CPU, CUDA, MLX, Metal आणि Vulkan बॅक-एंड्सना सपोर्ट करताना, मोठ्या प्रमाणावर वापरल्या जाणाऱ्या llama.cpp च्या तुलनेत समान कामगिरीचा दावा करतो.
नेटिव्ह .NET का महत्त्वाचे आहे
बहुतेक LLM रनटाइम C/C++ मध्ये लिहिलेले असतात किंवा ते Python wrappers वर अवलंबून असतात जे एक वेगळी प्रक्रिया (process) उघडतात. ज्या टीम्सच्या सेवा आधीच .NET वर चालतात, त्यांच्यासाठी हा अतिरिक्त स्तर कंटेनर्स, इंटर-प्रोसेस कम्युनिकेशन आणि मोठा अटॅक सरफेस (attack surface) वाढवतो. इन्फरन्स त्याच रनटाइममध्ये ठेवल्यामुळे डेव्हलपर्सना CI/CD पाइपलाइन्स सोप्या करणे, नेटवर्क हॉप्समधील लॅटन्सी (latency) कमी करणे आणि Python एन्व्हायर्नमेंट मेंटेन करण्याचा खर्च कमी करणे शक्य होते.
TensorSharp कसे बनवले आहे
लेखकाने llama.cpp पुन्हा वापरण्याऐवजी हे इंजिन शून्यापासून (from scratch) लिहिले आहे. CPU बॅकएंड 100% C# मध्ये आहे, त्यामुळे Windows आणि Linux वर कोणत्याही नेटिव्ह डिपेंडन्सीशिवाय चालते. GPU सपोर्ट सध्याच्या ग्राफिक्स APIs मधून येतो: Nvidia साठी CUDA, Apple silicon साठी MLX, macOS GPUs साठी Metal आणि क्रॉस-प्लॅटफॉर्म हार्डवेअरसाठी Vulkan. Qwen आणि Gemma सारख्या मॉडेल्ससाठी paged key-value (KV) cache, continuous batching आणि speculative decoding सारख्या आधुनिक तंत्रांचा यात समावेश आहे.
डेव्हलपर्सना मिळणारी वैशिष्ट्ये (Features)
- GGUF मॉडेल सुसंगतता (compatibility) – अलीकडील ओपन-सोर्स LLM रिलीजमध्ये वापरले जाणारे हेच फॉरमॅट आहे.
- क्रॉस-प्लॅटफॉर्म ऑपरेशन – कोडमध्ये कोणताही बदल न करता Windows, macOS आणि Linux वर चालते.
- OpenAI- आणि Ollama-सुसंगत HTTP APIs – सध्याच्या क्लायंट लायब्ररींसाठी थेट पर्याय (drop-in replacement).
- मल्टीमोडल हँडलिंग – प्रॉम्प्टचा भाग म्हणून प्रतिमा, व्हिडिओ, ऑडिओ आणि PDF स्वीकारू शकते.
- टूल कॉलिंग आणि स्ट्रक्चर्ड आउटपुट – चॅट-आधारित एजंट्समध्ये सामान्य असलेल्या फंक्शन-कॉलिंग पॅटर्नला सपोर्ट करते.
llama.cpp विरुद्ध कामगिरी (Performance)
मेंटेनरने शेअर केलेले बेंचमार्क्स मिश्र परिणाम दर्शवतात:
- Prefill आणि time-to-first-token (TTFT) – TensorSharp अनेकदा llama.cpp पेक्षा सरस ठरते, ज्यामुळे सुरुवातीच्या प्रतिसादासाठी कमी लॅटन्सी मिळते.
- Decode throughput – सहसा llama.cpp च्या समान किंवा त्यापेक्षा किंचित कमी असते.
या आकडेवारीवरून असे दिसून येते की, शुद्ध C# अंमलबजावणीमुळे (implementation) सर्वात जास्त लॅटन्सी-संवेदनशील टप्प्यांमध्ये वेगाशी तडजोड होत नाही, तसेच रॉ टोकन-पर-सेकंद आउटपुटमध्येही ती स्पर्धात्मक राहते.
लक्षात ठेवण्यासारख्या गोष्टी (Caveats)
- वास्तविक जगातील कामगिरी मॉडेल आर्किटेक्चर, हार्डवेअर कॉन्फिगरेशन आणि मेमरी लेआउटनुसार बदलते; डेव्हलपर्सनी प्रोडक्शनमध्ये वापरण्यापूर्वी स्वतःचे बेंचमार्क्स चालवले पाहिजेत.
पुढे काय पाहायचे
टेलिग्रामवरील (Telegram) प्रकल्पाचा डिस्कशन चॅनेल सुरुवातीच्या वापरकर्त्यांना (early adopters) त्यांचे निकाल शेअर करण्यासाठी आणि वैशिष्ट्यांची मागणी करण्यासाठी एक जागा प्रदान करतो.
थोडक्यात सांगायचे तर (Takeaway): TensorSharp .NET कंपन्यांना त्यांच्या ॲप्लिकेशन्समध्ये थेट LLM इन्फरन्स एम्बेड करण्याचा मार्ग देते, ज्यामुळे वेगळ्या Python स्टॅकची गरज उरत नाही आणि llama.cpp च्या बेसलाईनच्या तुलनेत समान लॅटन्सी मिळते. प्रोडक्शन टीम्सनी त्यांच्या टार्गेट हार्डवेअरवर कामगिरीची पडताळणी केली पाहिजे, परंतु हे इंजिन .NET इकोसिस्टममध्ये नेटिव्ह AI सेवांसाठी एक स्पष्ट मार्ग मोकळा करते.
