TensorSharp, một công cụ suy luận thuần .NET dành cho các mô hình ngôn ngữ GGUF, hiện đã được phát hành công khai, cho phép các nhà phát triển .NET chạy suy luận mô hình ngôn ngữ lớn (LLM) mà không cần khởi chạy một máy chủ Python. Dự án tuyên bố hiệu suất tương đương với llama.cpp vốn đang được sử dụng rộng rãi, đồng thời chạy được trên Windows, macOS và Linux, hỗ trợ các backend CPU, CUDA, MLX, Metal và Vulkan.

Tại sao .NET thuần túy lại quan trọng

Hầu hết các runtime LLM được viết bằng C/C++ hoặc dựa vào các trình bao (wrapper) Python vốn tạo ra một tiến trình riêng biệt. Đối với các đội ngũ có dịch vụ vốn đã chạy trên .NET, lớp bổ sung đó sẽ làm tăng thêm các container, giao tiếp liên tiến trình (inter-process communication) và mở rộng bề mặt tấn công. Việc giữ quá trình suy luận bên trong cùng một runtime cho phép các nhà phát triển đơn giản hóa quy trình CI/CD, giảm độ trễ từ các bước nhảy mạng (network hops) và cắt giảm chi phí duy trì môi trường Python.

TensorSharp được xây dựng như thế nào

Tác giả đã viết công cụ này từ đầu thay vì tái sử dụng llama.cpp. Backend CPU được viết bằng 100% C#, vì vậy Windows và Linux có thể chạy mà không cần các phụ thuộc native. Hỗ trợ GPU đến từ các API đồ họa hiện có: CUDA cho Nvidia, MLX cho Apple silicon, Metal cho GPU macOS và Vulkan cho phần cứng đa nền tảng. Các kỹ thuật hiện đại như paged key-value (KV) cache, continuous batching và speculative decoding cho các mô hình như Qwen và Gemma đều được tích hợp trong lõi.

Các tính năng có sẵn cho nhà phát triển

  • Tương thích mô hình GGUF – cùng định dạng được sử dụng bởi các bản phát hành LLM mã nguồn mở gần đây.
  • Hoạt động đa nền tảng – chạy trên Windows, macOS và Linux mà không cần thay đổi mã nguồn.
  • HTTP API tương thích với OpenAI và Ollama – có thể thay thế trực tiếp cho các thư viện client hiện có.
  • Xử lý đa phương thức – có thể tiếp nhận hình ảnh, video, âm thanh và PDF như một phần của prompt.
  • Gọi công cụ (Tool calling) và đầu ra có cấu trúc – hỗ trợ các mẫu gọi hàm (function-calling) phổ biến trong các agent dựa trên chat.

Hiệu suất so với llama.cpp

Các kết quả benchmark do người duy trì chia sẻ cho thấy những kết quả trái chiều:

  • Prefill và thời gian đến token đầu tiên (TTFT) – TensorSharp thường vượt qua llama.cpp, mang lại độ trễ thấp hơn cho phản hồi ban đầu.
  • Thông lượng giải mã (Decode throughput) – thường tương đương hoặc chậm hơn một chút so với llama.cpp.

Các con số cho thấy việc triển khai bằng C# thuần túy không làm hy sinh tốc độ trong các giai đoạn nhạy cảm nhất với độ trễ, trong khi vẫn giữ được khả năng cạnh tranh về đầu ra token mỗi giây (token-per-second).

Những lưu ý cần ghi nhớ

  • Hiệu suất thực tế thay đổi tùy theo kiến trúc mô hình, cấu hình phần cứng và bố cục bộ nhớ; các nhà phát triển nên tự chạy benchmark trước khi triển khai lên môi trường production.

Những gì cần theo dõi tiếp theo

Kênh thảo luận của dự án trên Telegram là nơi để những người dùng sớm chia sẻ kết quả và yêu cầu các tính năng mới.

Kết luận: TensorSharp mang đến cho các đơn vị sử dụng .NET một cách để nhúng suy luận LLM trực tiếp vào ứng dụng của họ, loại bỏ nhu cầu về một ngăn xếp (stack) Python riêng biệt và mang lại độ trễ tương đương với tiêu chuẩn llama.cpp. Các đội ngũ triển khai thực tế nên xác thực hiệu suất trên phần cứng mục tiêu của họ, nhưng công cụ này mở ra một con đường rõ ràng cho các dịch vụ AI thuần túy bên trong hệ sinh thái .NET.