Menjalankan model bahasa besar secara tempatan sering kali memaksa anda ke dalam kekangan perkakasan. Pengguna NVIDIA hidup dalam ekosistem CUDA. Pembangun Apple menggunakan Metal. Orang lain pula berharap GPU mereka menyokong OpenCL atau sekadar bergantung kepada CPU. Fragmentasi tersebut menjadikan penghantaran aplikasi AI desktop lebih sukar daripada yang sepatutnya. TensorSharp baru sahaja mengurangkan masalah ini dengan menambah backend Vulkan, memberikan enjin tersebut laluan yang meyakinkan merentasi GPU diskret daripada pelbagai vendor.

Mengapa Vulkan Mengubah Segalanya

Vulkan biasanya dibincangkan dalam kalangan peminat permainan video, tetapi sebagai API pengkomputeran rentas platform dengan overhed rendah, ia sama pentingnya untuk inferens. Ia mampu mencapai perkakasan yang diabaikan oleh CUDA. Cip bersepadu Intel UHD dan Iris Xe. Kad diskret lama. Laptop Windows bajet tanpa pelekat NVIDIA. Bagi enjin inferens tempatan, jangkauan tersebut adalah kuasa praktikal. Seorang pembangun boleh menghantar satu laluan binari tunggal yang boleh berfungsi pada jauh lebih banyak mesin berbanding penyelesaian yang hanya menyokong CUDA.

Sokongan Vulkan TensorSharp diperkenalkan melalui projek GGML. Integrasi tersebut berfungsi hari ini, walaupun penulis merancang untuk membina backend Vulkan asli kemudian. Menggunakan GGML sebagai jambatan adalah langkah persediaan yang tepat. Ia mengesahkan seni bina tersebut dan meletakkan perkakasan ke tangan penguji dengan segera. Backend asli akan menyusul untuk menghapuskan overhed abstraksi dan memberikan enjin berpusatkan C# kawalan yang lebih halus terhadap command buffers dan memory barriers.

Keadaan Ujian Setakat Ini

Pengesahan sudah merangkumi dua konfigurasi Windows yang sangat berbeza. Pembangun telah menguji pada GPU NVIDIA GeForce RTX 3080 Laptop dan pada Intel UHD Graphics biasa. Kedua-duanya berjalan dengan baik. Julat tersebut wajar diperhatikan. Silikon diskret berkuasa tinggi dan grafik bersepadu asas jarang sekali berkongsi permukaan ujian yang lancar semudah ini dalam dunia inferens. Jika anda menggunakan laptop ringan tanpa GPU khusus, TensorSharp kini menawarkan laluan pecutan sebenar yang tidak bergantung pada pemacu NVIDIA.

Jurang dalam matriks ini adalah AMD. Tiada perkakasan Radeon yang telah diuji setakat ini. Jika anda memiliki GPU AMD, projek ini memerlukan maklum balas anda. Pengesahan komuniti pada kad siri RX 6000 atau 7000 adalah apa yang menukarkan backend eksperimen kepada pilihan gred produksi. Laporkan isu jika ia rosak. Laporkan jika ia berfungsi dengan cemerlang. Mana-mana hasil akan memacu projek ini ke hadapan.

TensorSharp Bukan Sekadar Wrapper

Perkara ini perlu ditekankan. TensorSharp bukan sekadar binding C# untuk llama.cpp. Pembangun membina keseluruhan enjin ini dari awal. Backend CPU adalah C# tulen. Apabila anda menjalankan inferens tanpa GPU, anda sedang melaksanakan kod terurus (managed code) dan bukannya melakukan marshaling melalui foreign function interface ke dalam binari C++. Projek ini juga menyelenggara backend khusus untuk CUDA, MLX Apple, dan GGML. Walaupun mempunyai kebebasan seni bina tersebut, prestasinya menyamai llama.cpp, yang kekal sebagai titik rujukan yang dikejar oleh kebanyakan projek inferens tempatan. Kesetaraan itu sukar dicapai. Ini bermakna susun atur memori, kernel dispatch, dan operasi tensor semuanya mampu bertahan di bawah beban sebenar.

Sokongan model merangkumi Gemma4, DiffusionGemma, dan Qwen3.6. Runtime tersebut juga mengendalikan kerja multimodal. Saluran (pipeline) penglihatan, audio, dan penaakulan berjalan melalui enjin yang sama. Jika anda sedang membina prototaip pembantu desktop yang membaca tangkapan skrin dan menerima arahan suara, anda tidak perlu mencantumkan tiga runtime berasingan dan berharap agar penggunaan memorinya muat dalam mesin anda.

Fleksibiliti Platform dan API

TensorSharp berjalan pada Windows, macOS, dan Linux. Backend Vulkan baharu ini melengkapkan matriks tersebut bersama-sama laluan CUDA dan Metal yang sedia ada. Enjin ini juga menawarkan keserasian dengan API OpenAI dan Ollama. Pilihan tersebut menghapuskan geseran integrasi. Anda boleh menghalakan kod klien sedia ada ke pelayan TensorSharp tempatan tanpa perlu menulis semula templat prompt atau menterjemah bentuk respons baharu. Bagi pasukan yang sudah menjalankan Ollama secara dalaman atau membina aplikasi berasaskan permukaan REST OpenAI, beralih ke instans TensorSharp tempatan hanyalah sekadar menukar URL asas.

Pengoptimuman Pinjaman yang Berkesan

Prestasi bukan sekadar tentang API mana yang berkomunikasi dengan GPU. TensorSharp menyepadukan beberapa pengoptimuman yang telah terbukti dalam produksi di tempat lain.

Paged KV cache, yang dipinjam daripada vLLM, menghalang penggunaan memori daripada melonjak semasa perbualan panjang. Berbanding memperuntukkan satu ruang kerja (scratchpad) berterusan bagi setiap urutan, enjin ini memperuntukkan halaman bersaiz tetap dan memetakannya mengikut permintaan. Anda boleh mengekalkan tetingkap konteks terbuka lebih lama tanpa perlu bimbang tentang lonjakan penggunaan RAM.

Batching berterusan, yang juga berasal daripada vLLM, meningkatkan daya pemprosesan. Enjin ini boleh menyelitkan permintaan baharu ke dalam batch yang sedang aktif daripada menunggu kumpulan semasa selesai. Jika prompt seorang pengguna adalah sepuluh token dan seorang lagi adalah dua ratus, perkakasan akan kekal lebih sibuk dan purata kependaman akan menurun.

Untuk model Mixture-of-Experts, TensorSharp melaksanakan strategi cache berasaskan SSD yang diambil daripada oMLX. Berat pakar yang kerap diakses tersedia pada storan pantas daripada bersaing untuk mendapatkan RAM sistem. Pada mesin dengan memori terhad tetapi pemacu NVMe yang baik, ini memastikan seni bina MoE boleh digunakan.

Kuantisasi mengikut piawaian GGUF yang ditetapkan oleh llama.cpp. Model 4-bit dan 5-bit anda yang telah dikuantisasi dimuatkan secara terus tanpa langkah penukaran.

Intipati Sebenar

Sokongan Vulkan mengubah TensorSharp daripada eksperimen C# yang menarik kepada pilihan inferens praktikal untuk perkakasan heterogen. Pelan hala tuju adalah jelas: sahkan merentasi silikon diskret AMD dan Intel, kemudian perkemaskan pelaksanaan dengan backend Vulkan asli. Jika anda mempunyai kad AMD dalam workstation atau komputer riba anda, jalankan binaan tersebut dan kongsikan hasil anda. Gelung maklum balas itulah yang memperkukuh kod eksperimen menjadi sesuatu yang boleh anda lancarkan.

Anda boleh mencari butiran pelancaran pada penulisan pembangun. Jika projek ini menyelamatkan anda daripada perlu menguruskan toolkit CUDA atau bergelut dengan sekatan versi macOS, berikan bintang pada repositori tersebut. Untuk perbincangan berterusan dan bebenang ujian komuniti, kumpulan Telegram sentiasa terbuka.