1 điểm bởi GN⁺ 2024-06-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong phép so sánh suy luận Mixtral 8x7B của TensorWave và MK1, tổ hợp MI300X+MK1 Flywheel cho thấy thông lượng cao hơn 33% so với H100 SXM+vLLM trong các tình huống chat thực tế
  • Trọng tâm của bài kiểm thử là mô hình MoE, và Mixtral 8x7B có thể nằm gọn trong 192GB VRAM của một MI300X, trong khi H100 với 80GB VRAM cần hai GPU và tensor parallelism 2
  • Trong suy luận batch ngoại tuyến, tổ hợp MI300X dẫn trước ở mọi kích thước batch, với chênh lệch hiệu năng trong khoảng 1.22x~2.94x
  • Bài kiểm thử phân bố chat trực tuyến sử dụng các yêu cầu có trung bình 573 token đầu vào50 token đầu ra, và với mục tiêu độ trễ trung bình 5 giây, 2 MI300X xử lý số yêu cầu mỗi giây nhiều hơn 33% so với 2 H100
  • TensorWave cho rằng nếu tính cả khả năng cạnh tranh về chi phí lẫn mức độ sẵn có của phần cứng, MI300X có thể là một lựa chọn đáng cân nhắc cho vận hành suy luận quy mô lớn trên đám mây

Trọng tâm so sánh: MI300X có thể vượt H100 trong suy luận MoE hay không

  • Bài kiểm thử tập trung vào việc liệu bộ tăng tốc đầu bảng MI300X của AMD có thể vượt kiến trúc NVIDIA Hopper trong các workload AI thực tế hay không
  • TensorWave và MK1 đã hợp tác trong một tháng để khai thác hiệu năng suy luận AI trên phần cứng AMD
  • Trọng tâm ban đầu là kiến trúc Mixture of Experts(MoE)
    • MoE được chọn vì hiệu quả tính toán và mức độ phổ biến
    • Đây được giới thiệu là cấu trúc được dùng trong các LLM mã nguồn mở mạnh mẽ của Mistral, Meta, Databricks và X.ai
  • MI300X sử dụng phần mềm suy luận MK1 đã đạt thông lượng cao hơn 33% so với tổ hợp H100 SXM và vLLM trong các tình huống chat thực tế dựa trên Mixtral 8x7B
  • TensorWave thừa nhận hệ sinh thái phần mềm của NVIDIA trưởng thành hơn, nhưng vẫn đánh giá AMD đã là một đối thủ mạnh trên thị trường AI

Cấu hình benchmark

  • Tất cả benchmark đều được thực hiện với mô hình Mixtral 8x7B
  • Tất cả framework suy luận đều được cấu hình để dùng đường tính toán FP16
    • Việc kích hoạt tính toán FP8 được để lại cho công việc trong tương lai
  • Để so sánh các thiết lập tensor parallelism khác nhau, thông lượng của MI300X được ngoại suy gấp đôi
  • Hệ thống AMD

    • Node TensorWave được thử nghiệm với cấu hình 8 bộ tăng tốc MI300X, 2 CPU AMD EPYC, tổng 192 lõi và 2.3TB RAM DDR5
    • Thông số của bộ tăng tốc MI300X như sau
      • 192GB VRAM
      • 5.3TB/s
      • FP16 khoảng 1300 TFLOPS
    • Cấu hình phần mềm như sau
      • ROCm 6.1.2
      • Engine suy luận MK1 Flywheel v0.9.2
      • Fork vLLM tối ưu cho AMD ROCm rocm/vllm v0.4.0
    • Do toàn bộ mô hình Mixtral 8x7B có thể nằm trong 192GB VRAM của một MI300X, tensor parallelism được đặt là 1(tp=1)
  • Hệ thống NVIDIA

    • Hệ thống H100 được thử nghiệm với cấu hình 8 bộ tăng tốc H100 SXM5 có NVLink, 160 lõi CPU và 1.2TB RAM DDR5
    • Thông số của bộ tăng tốc H100 SXM5 như sau
      • 80GB VRAM
      • 3.35TB/s
      • FP16 khoảng 986 TFLOPS
    • Cấu hình phần mềm như sau
      • CUDA 12.2
      • vLLM v4.3
        • Để chứa Mixtral 8x7B trên hai H100 80GB VRAM, tensor parallelism được đặt là 2(tp=2)

Kết quả suy luận ngoại tuyến

  • Bài kiểm thử ngoại tuyến tạo các prompt có kích thước cố định và đưa trực tiếp vào mô hình để đo thông lượng tối đa của từng giải pháp suy luận
  • Batch ngoại tuyến xử lý nhiều prompt cùng lúc để tăng hiệu quả phần cứng
    • Khi kích thước batch tăng, thông lượng tăng lên
    • Do xử lý nhiều yêu cầu đồng thời hơn nên độ trễ cũng tăng
  • Theo thông lệ tiêu chuẩn, các yêu cầu trong cùng một batch bị giới hạn ở cùng kích thước đầu vào và cùng kích thước đầu ra
  • Bài kiểm thử được thực hiện bằng cách chỉnh sửa benchmark_throughput.py trong kho vLLM
    • Đã được refactor để bao gồm Flywheel như một backend
    • Các prompt trong batch được tạo ngẫu nhiên để loại bỏ cơ chế cache
  • Tổ hợp MI300X và MK1 Flywheel cho thấy hiệu năng cao hơn tổ hợp H100 và vLLM ở mọi kích thước batch
    • Mức tăng hiệu năng nằm trong khoảng 1.22x~2.94x

Bài kiểm thử phân bố chat trực tuyến

  • Benchmark trực tuyến được thiết kế để mô phỏng các ứng dụng chat phổ thông thực tế
  • Bài kiểm thử hoạt động bằng cách tạo các worker độc lập gửi yêu cầu tới endpoint, rồi tăng số worker để tăng số lượng yêu cầu đồng thời
  • Các yêu cầu được tạo theo phân bố chat văn bản tiêu chuẩn
    • Số token đầu vào trung bình là 573
    • Số token đầu ra trung bình là 50
  • Công cụ benchmark hỗ trợ các phân bố dữ liệu tùy ý
  • Có ba chỉ số được đo
    • Thông lượng: số yêu cầu có thể xử lý mỗi giây dưới một workload nhất định
    • Độ trễ trung bình: thời gian trung bình để tạo toàn bộ phản hồi cho mỗi yêu cầu
    • TPOT(Time Per Output Token): thời gian trung bình để tạo mỗi token tiếp theo sau token đầu tiên, ảnh hưởng đến tốc độ tạo phản hồi dài
  • Kết quả non-streaming

    • Benchmark trực tuyến đầu tiên kiểm thử trường hợp sử dụng non-streaming
    • Đo thông lượng và độ trễ cần thiết để cung cấp toàn bộ phản hồi
    • Ở mục tiêu độ trễ trung bình 5 giây, 2 MI300X(tp=1) xử lý số yêu cầu mỗi giây nhiều hơn 33% so với 2 H100(tp=2)
    • Có thể dùng ít bộ tăng tốc hơn để phục vụ cùng số lượng người dùng với cùng chất lượng dịch vụ
  • Kết quả streaming

    • Benchmark trực tuyến thứ hai bật streaming và đo thông lượng cùng TPOT khi token được stream ra
    • MI300X cho thấy thông lượng cao hơn H100 ở mọi mức TPOT
    • Ngay cả ở lưu lượng cao hơn, MI300X vẫn có thể tạo văn bản nhanh hơn

Kết luận và đề xuất triển khai

  • Trong kết quả benchmark, AMD MI300X cho thấy hiệu năng cao hơn NVIDIA H100 trong các tác vụ suy luận ngoại tuyến và trực tuyến với kiến trúc MoE như Mixtral 8x7B
  • Không chỉ có thông lượng cao, MI300X còn cho kết quả tốt hơn trong các kịch bản thực tế đòi hỏi thời gian phản hồi nhanh
  • TensorWave đề xuất rằng khi xét đến hiệu năng, khả năng cạnh tranh chi phí và mức độ sẵn có của phần cứng, MI300X dùng cùng phần mềm suy luận MK1 phù hợp để mở rộng suy luận AI trong doanh nghiệp
  • TensorWave cho biết họ cung cấp MI300X cùng phần mềm suy luận MK1 để người dùng có thể tự kiểm thử

1 bình luận

 
GN⁺ 2024-06-14
Ý kiến trên Hacker News
  • Xét việc TensorWave là nhà cung cấp đám mây chuyên cho workload AI và dùng AMD Instinct MI300X, báo cáo này nên được nhìn nhận với một mức độ dè dặt nhất định

    • Họ đang so sánh theo kiểu AMD khá tiêu chuẩn: so 8x AMD MI300X (192GB, 750W) với 8x H100 SXM5 (80GB, 700W)
      So sánh công bằng hơn phải là với 8x H100 NVL (188GB, <800W)
      Giá cũng nói lên nhiều điều. Nếu hiệu năng AMD ngang Nvidia thì chẳng có lý do gì để bán card với giá bằng 1/4
    • Điểm cộng là họ đã nêu rõ benchmark được chạy chính xác như thế nào. Nếu có phần cứng, sẽ dễ tái hiện để phản bác hoặc xác nhận
    • Nếu dùng chip Nvidia thì cũng không chắc bài blog này sẽ tốt hơn
  • Không hiểu vì sao đến năm 2024 mà vẫn benchmark với 128 token đầu vào. Nó không đại diện cho phần lớn workload, và hiệu năng prefill là cực kỳ quan trọng

    • Tò mò không biết mọi người xem độ dài đầu vào phù hợp là bao nhiêu
      Việc 128 không phù hợp cũng sẽ khác nhau tùy truy vấn thực tế ngắn hơn hay dài hơn
      Nếu coi một từ là một token, thì trong trường hợp của tôi hầu hết truy vấn đều ngắn hơn 128 từ
  • Tôi muốn nhìn phần này theo hướng lạc quan. Lĩnh vực này thật sự rất cần cạnh tranh, và hiện vốn hóa thị trường $NVDA lớn một cách bất thường. Nó lớn hơn toàn bộ Sở giao dịch chứng khoán Frankfurt khoảng 0,6 nghìn tỷ USD

    • Giá trị của Sở giao dịch chứng khoán Frankfurt đúng hơn là quá nhỏ. Người ta cứ thắc mắc tại sao lập trình viên châu Âu làm cùng công việc lại có lương thấp hơn ở Mỹ, và lý do chính là vậy
    • Sở giao dịch chứng khoán Frankfurt hay DAX nhìn chung không nói lên nhiều điều. Đức có nhiều công ty Mittelstand mạnh thuộc sở hữu gia đình, và họ không niêm yết
      Cũng có những tập đoàn tư nhân khổng lồ thuộc sở hữu của người Đức giàu có, như các chuỗi bán lẻ giảm giá Lidl, Aldi hay Bosch trong ngành linh kiện ô tô
    • Hiện chúng ta đang ở giữa bong bóng LLM
      Vấn đề của Nvidia rất có khả năng sẽ tự được điều chỉnh trong vài tháng đến vài năm tới
  • Là một nhà khoa học AI huấn luyện khá nhiều mô hình, cá nhân tôi thấy AMD đang bị định giá thấp so với Nvidia
    Chip của họ không nhanh bằng sản phẩm mới nhất của Nvidia, và cũng có một số rào cản cần vượt qua để vận hành được
    Nhưng với hầu hết workload trong phần lớn ngành công nghiệp, nếu tạm gác chuyện bản thân AI có phải là cách dùng vốn hiệu quả hay không, AMD tiết kiệm chi phí hơn nhiều và có thể cho kết quả gần như tương đương

  • Thị trường và giá bán phản ánh giá trị được nhận thức của giải pháp Nvidia và AMD. Đó là kết quả bao gồm cả công cụ, phần mềm, tổng chi phí sở hữu và mức độ dễ quản lý
    Tôi cũng thắc mắc có bao nhiêu công ty sẽ mua các accelerator đắt như vậy chỉ để chạy song song 8 mô hình 7B tham số
    Cũng có nói rằng có thể huấn luyện mô hình 14B trên một accelerator đơn lẻ, nên tôi muốn thấy các workload “huấn luyện và suy luận dùng toàn bộ accelerator”, chẳng hạn sau khi huấn luyện mô hình 14B thì throughput suy luận trên workload 4x14B sẽ ra sao
    AMD và cho đến nay phần lớn các hãng đưa ra tuyên bố về hiệu năng suy luận, đặc biệt là Intel và Apple, thường chỉ chọn các benchmark mà họ thắng và bỏ qua những phần còn lại nơi Nvidia dẫn trước. Như nhiều bình luận trong bài này đã chỉ ra, họ cũng dùng mẫu so sánh thuộc thế hệ trung gian

    • MI300X thắng trong một số workload suy luận, còn H100 thắng trong huấn luyện và một số workload suy luận khác. Ví dụ, H100 mạnh ở suy luận FP8 dùng TensorRT-LLM, còn ROCm vẫn còn non trẻ nhưng đang phát triển nhanh
      Trong một hệ thống đơn, tức cấu hình 8 accelerator cho LLM, MI300X rất cạnh tranh với H100 về tổng chi phí sở hữu cho suy luận
      Theo Microsoft, AMD Instinct MI300X có hiệu năng trên giá tốt nhất với GPT-4, và AMD đang hướng tới mục tiêu cải thiện hiệu năng trên mỗi watt gấp 100 lần vào năm 2027
      https://wccftech.com/amd-instinct-mi300x-best-price-performa...
    • Thị trường và giá bán cũng bao gồm chiến lược bán hàng. Khi bước vào một lĩnh vực bị một người chơi mạnh thống trị và có chiến lược bán hàng ở mức nào đó khá “khôn ngoan”, một sản phẩm kém trưởng thành hơn, đặc biệt là phần mềm kém trưởng thành hơn, cần có chiến lược giá và phân bổ nguồn hàng tương ứng
      https://www.techspot.com/news/102056-nvidia-allegedly-punish...
    • Sản lượng MI300X đang tăng. Trong buổi công bố kết quả kinh doanh gần đây, Lisa Su nói nửa đầu năm 2024 bị hạn chế về sản xuất, nhưng nửa cuối năm sản lượng sẽ tăng và vẫn còn lượng hàng có thể bán. Có khả năng là nhờ nguồn cung CoWoS và HBM3/HBM3E được cải thiện
      Các đơn đặt hàng số lượng lớn loại accelerator này được đặt từ vài tháng trước
      Trong khi đó, MI300X của Microsoft đã được đặt kín
      https://techcommunity.microsoft.com/t5/azure-high-performanc...
      “Các VM này và phần mềm vận hành chúng được xây dựng chuyên biệt cho các workload vận hành thực tế của dịch vụ Azure AI. GPT-4 Turbo, một trong những mô hình ngôn ngữ tự nhiên mạnh nhất thế giới, cũng đã được tối ưu hóa cho các VM này. ND MI300X v5 VM mang lại hiệu năng trên chi phí hàng đầu cho các mô hình OpenAI phổ biến và mô hình mã nguồn mở.”
  • Không rõ thiết lập song song tensor có ảnh hưởng đến hiệu năng hay không. Suy đoán đơn giản thì có, nhưng tôi không chắc
    Theo bài viết, cấu hình AMD có thể đưa toàn bộ Mixtral 8x7B vào 192GB VRAM của 1 MI300X nên dùng song song tensor tp=1, còn cấu hình NVIDIA phải đưa vào 80GB VRAM của 2 H100 nên cần tp=2

    • Cá nhân tôi thấy so sánh như vậy không công bằng. Một phép so sánh tốt nên được tối ưu cho từng cấu hình thiết bị
      Tức là dùng mô hình nằm trong giới hạn VRAM, và nếu hiệu năng tốt hơn thì áp dụng lượng tử hóa 8-bit, để không phơi bày một cách không cần thiết nhược điểm của cả hai bên
  • AMD có vẻ có phần cứng tốt hơn, nhưng vẫn chưa có năng lực sản xuất để cạnh tranh với Nvidia. Nếu cạnh tranh thực sự bắt kịp, quá trình biên lợi nhuận thu hẹp sẽ rất thú vị
    Ai cũng nghĩ nguyên nhân sự thống trị của Nvidia là CUDA, nhưng không phải vậy. Gần 40% doanh thu năm nay đến từ các công ty siêu quy mô dùng stack tùy chỉnh riêng để tương tác với GPU
    Việc đối thủ bắt kịp và cung cấp GPU rẻ hơn chỉ là vấn đề thời gian

    • Cụm “stack tùy chỉnh riêng để tương tác với GPU” gần như là bịa ra hoàn toàn
      Có vẻ bạn đang nhầm lẫn giữa nền tảng CUDA và ngôn ngữ giống C/C++ mà mọi người viết trong các file .cu
      Đúng là một số nơi không viết trực tiếp file .cu, nhưng không có nơi nào bỏ qua phần còn lại của CUDA stack như nvcc, PTX, SASS, runtime, driver
      Tôi cũng làm ở một trong những “công ty siêu quy mô” đó. Nếu không tin, cứ xem PyTorch có bao nhiêu CUDA kernel: https://github.com/pytorch/pytorch/tree/main/aten/src/ATen/n...
      Điều khiến Nvidia thống trị 100% là CUDA
    • Tôi muốn biết bạn có thể giải thích thêm hoặc đưa nguồn về stack không dùng CUDA là gì không
    • Năng lực sản xuất rốt cuộc là vấn đề đàm phán với TSMC hoặc vài đối thủ cạnh tranh ít ỏi
      Tôi nghĩ TSMC cũng đã bắt đầu một phần sản xuất ở các nhà máy tại Mỹ hoặc EU
      Nvidia dùng TSMC và AMD cũng dùng TSMC
  • Đây là khởi đầu tốt cho AMD. Tôi cũng quan tâm và thỉnh thoảng dùng Groq, một lựa chọn suy luận khác ngoài Nvidia
    Nvidia phụ thuộc vào TSMC để sản xuất. Việc Samsung đang xây dựng hạ tầng sản xuất cạnh tranh cũng là điều tốt, giúp Taiwan không trở thành điểm lỗi đơn nhất

  • Nếu không có chỉ số thống kê phù hợp, đặc biệt là dùng trung bình thay vì phân vị thứ 95 vốn được dùng rộng rãi, và cũng không có hiệu năng trên mỗi watt, thì đây là so sánh vô ích

    • Và cũng cần hiệu năng trên giá thành. Rốt cuộc đó mới là trọng tâm
    • Tôi nghĩ trung bình chẳng phải là chỉ số phản ánh thông lượng tốt hơn sao
      Sẽ tốt hơn nếu có cả phân vị thứ 95
  • Giá mà có cả benchmark INT8/FP8 thì tốt. Cả hai card có lẽ đều có thể tải mô hình với khoảng 60GB VRAM mà không cần dùng tp=2 trên H100