TensorSharp, injini ya kutoa matokeo (inference engine) ya pure-.NET kwa ajili ya mifano ya lugha ya GGUF, sasa inapatikana hadharani, ikiruhusu watengenezaji wa .NET kuendesha utendaji wa mifano mikubwa ya lugha (LLM) bila kuhitaji kuanzisha seva ya Python. Mradi huu unadai utendaji unaolingana na llama.cpp inayotumiwa sana huku ukiendesha kwenye Windows, macOS na Linux na kuunga mkono mifumo ya nyuma (back-ends) ya CPU, CUDA, MLX, Metal na Vulkan.
Kwa nini .NET asilia (native) ni muhimu
Mifumo mingi ya utendaji wa LLM imeandikwa kwa C/C++ au inategemea "wrappers" za Python zinazofungua mchakato (process) tofauti. Kwa timu ambazo huduma zao tayari zinaendesha kwenye .NET, tabaka hilo la ziada huongeza kontena (containers), mawasiliano kati ya michakato (inter-process communication) na eneo kubwa la mashambulizi (attack surface). Kuweka utendaji wa inference ndani ya mfumo uleule wa utendaji (runtime) kunaruhusu watengenezaji kurahisisha njia za CI/CD, kupunguza ucheleweshaji (latency) kutokana na hatua za mtandao, na kupunguza gharama za kudumisha mazingira ya Python.
Jinsi TensorSharp ilivyojengwa
Mwandishi aliandika injini hii kuanzia mwanzo badala ya kutumia tena llama.cpp. Mfumo wa nyuma wa CPU ni 100% C#, hivyo Windows na Linux zinaendesha bila kuhitaji programu nyingine asilia (native dependencies). Usaidizi wa GPU unatokana na API za picha zilizopo: CUDA kwa Nvidia, MLX kwa Apple silicon, Metal kwa GPU za macOS, na Vulkan kwa vifaa vya mifumo mbalimbali (cross-platform). Mbinu za kisasa kama vile paged key-value (KV) cache, continuous batching, na speculative decoding kwa mifano kama Qwen na Gemma zimejumuishwa kwenye kiini chake.
Sifa ambazo watengenezaji wanapata mara moja
- Uoanishaji wa modeli za GGUF – muundo uleule unaotumiwa na matoleo ya hivi karibuni ya LLM za chanzo huria (open-source).
- Uendeshaji wa mifumo mbalimbali (Cross-platform) – huendesha kwenye Windows, macOS na Linux bila mabadiliko ya kodi.
- API za HTTP zinazoendana na OpenAI na Ollama – mbadala wa moja kwa moja kwa maktaba za wateja (client libraries) zilizopo.
- Usimamizi wa multimodal – inaweza kupokea picha, video, sauti na PDF kama sehemu ya prompt.
- Uitaji wa zana (Tool calling) na matokeo yaliyopangwa – inasaidia mifumo ya uiti wa kazi (function-calling) inayopatikana sana kwenye mawakala wanaozungumza (chat-based agents).
Utendaji dhidi ya llama.cpp
Vipimo (Benchmarks) vilivyoshirikiwa na msimamizi vinaonyesha matokeo mchanganyiko:
- Prefill na muda wa tokeni ya kwanza (TTFT) – TensorSharp mara nyingi inashinda llama.cpp, ikitoa ucheleweshaji mdogo kwa jibu la kwanza.
- Decode throughput – kwa kawaida ni sawa au ina kasi ndogo kidogo kuliko llama.cpp.
Takwimu zinaonyesha kuwa utekelezaji wa pure C# haupotezi kasi katika hatua zinazohitaji ucheleweshaji mdogo zaidi, huku ukiendelea kushindana katika utoaji wa tokeni kwa sekunde (token-per-second).
Tahadhari za kuzingatia
- Utendaji wa ulimwengu halisi hutofautiana kulingana na usanifu wa modeli, usanidi wa vifaa (hardware configuration) na mpangilio wa kumbukumbu (memory layout); watengenezaji wanapaswa kufanya vipimo vyao wenyewe kabla ya kuanza kutumia katika uzalishaji (production).
Nini cha kufuatilia baadaye
Chaneli ya majadiliano ya mradi kwenye Telegram inatoa nafasi kwa watumiaji wa mapema kushiriki matokeo na kuomba sifa mpya.
Muhtasari: TensorSharp inazipa kampuni zinazotumia .NET njia ya kuingiza utendaji wa LLM moja kwa moja kwenye programu zao, ikiondoa hitaji la mfumo wa Python tofauti na kutoa ucheleweshaji unaolingana na kiwango cha llama.cpp. Timu za uzalishaji zinapaswa kuthibitisha utendaji kwenye vifaa vyao vinavyokusudiwa, lakini injini hii inafungua njia ya wazi kwa huduma za AI asilia ndani ya mfumo wa .NET.
