- GPT-OSS-120B, LLM mã nguồn mở của OpenAI, được tối ưu để đạt hiệu năng xử lý hơn 500 token mỗi giây trên môi trường GPU của NVIDIA
- Thực hiện kiểm thử song song trên nhiều khung suy luận như TensorRT-LLM, vLLM, SGLang và hỗ trợ cả kiến trúc Hopper và Blackwell
- Sửa lỗi tương thích, tích hợp định dạng phản hồi mới như Harmony và áp dụng các tối ưu hóa như định tuyến nhận biết KV cache và giải mã dự đoán dựa trên Eagle
- So sánh tensor parallelism và expert parallelism, chọn tensor parallelism để giảm độ trễ và dùng backend TensorRT-LLM MoE trên Blackwell
- Dự kiến sẽ tiếp tục tối ưu thêm trong tương lai, bao gồm cả Speculative Decoding (giải mã dự đoán) với mô hình dự thảo nhỏ
Tổng quan
- Khi GPT-OSS-120B, mô hình ngôn ngữ lớn mã nguồn mở mới nhất của OpenAI, được công bố, Baseten đặt mục tiêu đạt hiệu năng tốt nhất
- Baseten là đối tác khởi chạy chính thức của OpenAI
- Dựa trên dữ liệu người dùng thực tế từ OpenRouter, Baseten đã chứng minh hiệu năng vượt trội hơn đối thủ trong môi trường dựa trên GPU NVIDIA
- Với stack suy luận linh hoạt và chuyên môn của đội ngũ kỹ sư mô hình, các bản vá tối ưu được triển khai nhanh theo từng giờ
- Chỉ trong vài giờ viết bài, nhóm đã tăng thêm 100 token mỗi giây và giữ 100% thời gian hoạt động
Nỗ lực tối ưu hiệu năng
- Thực hiện kiểm thử và benchmarking trên nhiều khung suy luận như TensorRT-LLM, vLLM, SGLang
- Đồng thời đảm bảo tương thích với kiến trúc GPU Hopper và Blackwell
- Tích hợp các thành phần chính như Baseten Flexible Inference Stack và NVIDIA Dynamo
- Áp dụng các kỹ thuật tối ưu đã được kiểm chứng như KV cache-aware routing và Speculative decoding (dựa trên Eagle)
Dưới đây là các bước quan trọng để cùng lúc đạt hiệu năng SOTA và hỗ trợ toàn bộ cửa sổ ngữ cảnh
Bước 1: Thực thi suy luận ban đầu
- Điểm khởi đầu là chạy nhanh baseline inference bằng bất kỳ cách nào
- Trên GPU, nhiều kỹ sư đồng thời thử nghiệm vLLM, SGLang, TensorRT-LLM cùng lúc
- Thành công triển khai nhanh TensorRT-LLM, khung có hiệu năng tốt nhất
- Đảm bảo hỗ trợ TensorRT-LLM trên Hopper (GPU H100 nhiều nhất) và Blackwell (B200 nhanh hơn)
- Nhờ sự linh hoạt của Baseten Inference Runtime, việc thích ứng với kiến trúc mới và thay thế công cụ trong stack diễn ra nhanh chóng
Bước 2: Sửa lỗi tương thích
- Khi xuất hiện kiến trúc mô hình mới, việc tích hợp framework thường đi kèm với các lỗi tương thích
- GPT OSS có thêm các công nghệ mới như định dạng phản hồi Harmony, nên khi tích hợp với framework hiện có đã phát sinh lỗi
- Để đồng thời giữ tốc độ và độ chính xác, nhóm đã lặp lại quy trình sửa đổi và kiểm tra, và đóng góp các sửa đổi hiệu quả trở lại mã nguồn mở
- Nhờ cộng tác của cộng đồng mã nguồn mở toàn cầu, nhiều đường đi tối ưu hóa và bản vá lỗi được thực hiện rất nhanh
Bước 3: Tối ưu cấu hình mô hình
- OpenAI công bố GPT OSS 120B hoạt động trên một H100, nhưng trên thực tế song song hóa trên 4 đến 8 GPU mang lại hiệu năng tốt hơn
- Tensor Parallelism mạnh về độ trễ (latency), còn Expert Parallelism mạnh về thông lượng (throughput) của hệ thống
- Baseten chọn Tensor Parallelism vì mục tiêu tối ưu hóa độ trễ
- Trên Blackwell, áp dụng TensorRT-LLM MoE Backend để cải thiện hiệu năng nhân CUDA so với backend Triton trước đây
- Đã công bố cấu hình tối ưu cho môi trường Hopper và Blackwell, và trong Model API đã chọn cấu hình dựa trên Blackwell
Tối ưu hiệu năng thêm
- Mặc dù lần tối ưu đầu tiên đã đạt mức SOTA về thông lượng và độ trễ, vẫn còn nhiều dư địa cải thiện
- Cập nhật lớn tiếp theo dự kiến là triển khai Speculative Decoding
- Cách tiếp cận này để một mô hình “draft” nhỏ và nhanh hơn tạo ra token dự đoán, rồi mô hình chính sẽ xác thực
- Baseten khuyến nghị Eagle 3, nhưng vận hành linh hoạt hơn 10 thuật toán trong stack suy luận theo tình huống
- Speculative decoding cho phép suy luận nhiều token cùng lúc để nâng tốc độ một cách hiệu quả
2 bình luận
Mình ước gì có ai đó tặng mình một con H100 nhỏ xinh...
Bình luận trên Hacker News
Khi nghe vậy, tôi đã lục tủ linh kiện ở nhà, nhưng dù tìm kĩ đến đâu vẫn tự hỏi tại sao lại không có GPU H100 giá 25.000 đô la.
Tôi đã dùng GPT-OSS-120B trên máy bay xuyên Đại Tây Dương với MacBook Pro (M4, 128GB RAM).
Chỉ chạy nhanh khi cửa sổ ngữ cảnh nhỏ và tổng token thấp. Vượt quá 10.000 token thì hầu như mọi xử lý đều kéo dài và bị xếp hàng.
MCPs, tìm kiếm web, patch URL v.v. đã trở thành rất quan trọng trong trải nghiệm dùng LLM. Nếu thiếu các tính năng này, tiện ích của LLM giảm đáng kể.
Các công cụ lập trình CLI/TUI đã preconfigure cho môi trường offline (như opencode) không hoạt động ổn định cùng model.
Ngoài các điểm đã được nhắc nhiều trong bình luận trước, những điểm đặc biệt của mô hình OSS cũng có:
iogpu.wired_limit_mbnhư thế nào. Nếu mặc định thì chỉ khoảng 70% RAM, tức khoảng 90GB, có thể dùng cho GPU core. Muốn tận dụng thêm thì phải chỉnh cấu hình.Nhiều kỹ sư đang song song thử vLLM, SGLang và TensorRT-LLM. Mọi người nói TensorRT-LLM nhanh nhất, nhưng thường khó cài đặt nhất, cập nhật kiến trúc mới kém, và phải compile model trực tiếp trên stack phần cứng-driver-thư viện giống production nên rất phiền. Multimodal từng gần như không thể trong một thời gian dài; thậm chí cả mô hình LLaMA multimodal nổi tiếng cũng không chạy đúng. Vẫn còn câu hỏi liệu có đáng đầu tư không; ví dụ chạy GPT-OSS-120B trên H100 bằng vLLM thì chạy ổn và ra 130–140 t/s đều đặn. Đọc tiêu đề thì tưởng sẽ được 500 t/s cho một GPU, nhưng thực tế đó là tensor parallel. Việc đóng gói riêng TRT-LLM cho gpt-oss cũng hơi đùa ghẹo. Bản thân TRT-LLM cũng đã là công cụ khá rối rồi.
Việc cài GPT-OSS 20B cực kỳ dễ. Nhờ Llama, mình chạy trên Mac trong 5 phút.
Khi đọc, mình mới biết để model hoạt động tốt cần quá nhiều tiền xử lý và tuning. Mình từng nghĩ mặc định là chạy được ngay.
Trong American AI Action Plan, mục “khuyến khích AI mã nguồn mở và trọng số mở” nằm ngay sau mục “đảm bảo Frontier AI bảo vệ tự do và giá trị của Mỹ”. Có phần vô lý, nhưng đọc mô hình OSS của OpenAI lúc này khiến mình thấy rùng mình. Dù sao việc các nhà phát triển mô hình OSS nói về phần cứng cũng đáng hoan nghênh. Với đa số developer, phần cứng là rào cản gia nhập lớn nên việc họ nói chuyện về vấn đề này khiến mình mừng.
Có ai biết website nào nói rõ mô hình nào chạy tốt cho hệ điều hành/GPU nào không? Công thức thực nghiệm đáng tin nhất để ước tính VRAM từng có là: số tham số × (Precision/8) × 1.2 (tham khảo).
Mình muốn nói rằng việc tìm số liệu chính xác về kích thước thật sự của GPT-OSS-120B không đơn giản. Nếu là ngôn ngữ kiểu static thì chỉ cần nhìn kích thước mảng là ra, nhưng ở đây lại muốn xem dữ liệu (không phải weight) chảy như thế nào, stream output rộng bao nhiêu. Muốn biết băng thông token output tối đa t/s là bao nhiêu trên gigabit ethernet, nên đang tìm repo GitHub gpt-oss nhưng lại không thấy rõ.
GPT-OSS chạy nhanh hơn trên chip Blackwell nhờ hỗ trợ fp4. Mình đang xây engine train/inference bằng Rust và đang thêm hỗ trợ fp8, fp4 cho cudarc và candle. Đang làm để hỗ trợ các model này trong engine của Mixlayer; xem PR: cudarc PR, candle PR.