Việc phát hành gần đây của NVIDIA Dynamo, một framework suy luận AI tạo sinh có thông lượng cao và độ trễ thấp, đã làm dấy lên các cuộc thảo luận trong cộng đồng lập trình viên về lựa chọn ngôn ngữ lập trình và bối cảnh đang phát triển của các công cụ suy luận AI.
Rust so với Các Ngôn Ngữ Phát Triển Web Truyền Thống
Thông báo về NVIDIA Dynamo đã bất ngờ kích hoạt một cuộc tranh luận sôi nổi về sự phù hợp của Rust cho phát triển web. Các thành viên cộng đồng đã nắm bắt cách tiếp cận kết hợp của Dynamo—sử dụng Rust cho các thành phần cần hiệu suất cao và Python cho khả năng mở rộng—như một minh chứng cho triết lý phát triển thực dụng. Lựa chọn kỹ thuật này đã trở thành điểm nóng trong cuộc chiến ngôn ngữ đang diễn ra.
Những người ủng hộ lập luận rằng Rust mang lại hiệu suất vượt trội cho các dịch vụ web, với một số lập trình viên khẳng định các framework như Actix và Axum cung cấp sự đơn giản giống như Flask nhưng mang lại hiệu suất gần bằng nginx. Những người phản đối cho rằng độ phức tạp của Rust và yêu cầu về phụ thuộc làm cho nó kém thực tế hơn Go hoặc Python đối với các ứng dụng web thông thường, chỉ ra nhu cầu sử dụng nhiều thư viện bên ngoài để bù đắp cho những gì họ coi là hạn chế của thư viện chuẩn.
Rust đang nổi lên như một trong những ngôn ngữ lập trình web tốt nhất hiện nay. Actix và Axum cảm giác giống như Flask của Python... Thực sự nó tốt hơn Go và Python. Các thành phần khác (cơ sở dữ liệu, API client, v.v.) có lẽ sẽ được cải thiện theo thời gian.
Lo ngại về Hệ sinh thái Suy luận của NVIDIA
Ngoài các cuộc tranh luận về ngôn ngữ, thông báo này đã làm nổi lên những lo ngại đáng kể về thành tích của NVIDIA với các sản phẩm suy luận. Một số lập trình viên đã chia sẻ những câu chuyện cảnh báo về khó khăn khi triển khai các giải pháp suy luận của NVIDIA, với một người bình luận cảnh báo về những khó khăn kéo dài cả năm mặc dù có quyền truy cập trực tiếp vào đội ngũ phát triển của NVIDIA.
Những trải nghiệm này đã khiến một số người đề xuất các giải pháp thay thế như Ray Serve, mặc dù đề xuất này cũng làm dấy lên thêm cuộc tranh luận về sự phù hợp của các framework khác nhau cho khối lượng công việc LLM. Những người chỉ trích Ray đã chỉ ra sự thiếu tối ưu hóa của nó cho các mô hình ngôn ngữ, lưu ý sự vắng mặt của các tính năng quan trọng như KV-caching và song song hóa mô hình vốn đã được bao gồm trong Dynamo và các framework chuyên biệt khác.
Các giải pháp thay thế cho NVIDIA được cộng đồng xác định:
- Ray Serve (mục đích chung nhưng bị chỉ trích cho các tác vụ LLM)
- vLLM (chuyên biệt cho LLM)
- SGLang (chuyên biệt cho LLM)
- text-generation-inference (chuyên biệt cho LLM)
Khả năng tương thích API OpenAI như một Tiêu chuẩn Mới nổi
Một điểm thú vị trong cuộc thảo luận tập trung vào việc Dynamo bao gồm một Frontend Tương thích OpenAI. Các thành viên cộng đồng lưu ý rằng cách tiếp cận này đang ngày càng phổ biến trong không gian phục vụ LLM, với các công cụ như VLLM, Llama.cpp và LiteLLM đều cung cấp API tương thích với OpenAI. Điều này cho thấy ngành công nghiệp có thể đang hội tụ vào thiết kế giao diện của OpenAI như một tiêu chuẩn thực tế cho suy luận LLM, tương tự như cách API S3 của Amazon đã trở thành tiêu chuẩn cho lưu trữ đối tượng.
Các tính năng chính của NVIDIA Dynamo:
- Tách rời quá trình tìm nạp và giải mã suy luận
- Lập lịch GPU động
- Định tuyến yêu cầu theo hướng LLM
- Truyền dữ liệu được tăng tốc bằng NIXL
- Giải phóng bộ nhớ đệm KV
- Mã nguồn mở với hai cách triển khai (Rust cho hiệu suất, Python cho khả năng mở rộng)
Lo ngại về Phát triển Đa ngôn ngữ
Một số lập trình viên bày tỏ sự hoài nghi về kiến trúc đa ngôn ngữ của Dynamo, kết hợp Rust, Go, Python và C++. Những người chỉ trích lập luận rằng việc duy trì một ngăn xếp công nghệ đa dạng như vậy có thể gặp thách thức, đặc biệt là với sự khan hiếm tương đối của các lập trình viên Rust trong cộng đồng AI. Những lo ngại này làm nổi bật sự căng thẳng giữa việc tối ưu hóa các thành phần riêng lẻ bằng các ngôn ngữ chuyên biệt và duy trì một codebase gắn kết, dễ bảo trì.
Tóm lại, mặc dù NVIDIA Dynamo cung cấp khả năng đầy hứa hẹn cho suy luận LLM hiệu suất cao, phản ứng của cộng đồng tiết lộ những căng thẳng sâu sắc hơn trong hệ sinh thái lập trình viên xung quanh lựa chọn ngôn ngữ, độ tin cậy của framework và cách tiếp cận kiến trúc. Khi việc triển khai AI ngày càng trở nên quan trọng đối với hoạt động kinh doanh, những cuộc thảo luận này phản ánh tầm quan trọng cao trong việc lựa chọn đúng công cụ và công nghệ cho môi trường sản xuất.
Tham khảo: NVIDIA Dynamo