Cloud & hạ tầng

NVIDIA Attribution: Công cụ mã nguồn mở để chẩn đoán lỗi trong hệ thống AI phân tán

NVIDIA ra mắt một hệ thống mã nguồn mở giúp đối chiếu nhật ký, số liệu đo lường và trạng thái bộ lập lịch nhằm xác định nguyên nhân gốc rễ trong các khối lượng công việc GPU phân tán.

Một khối thủy tinh với mạch điện phát sáng và các ghi chú giấy đại diện cho chẩn đoán có cấu trúc.
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

NVIDIA đã phát hành NVIDIA Attribution dưới dạng dự án mã nguồn mở nhằm hỗ trợ kỹ sư chẩn đoán các sự cố trong khối lượng công việc AI phân tán. Được công bố vào ngày 2 tháng 11 năm 2026, công cụ này giải quyết độ phức tạp của việc gỡ lỗi các cụm GPU quy mô lớn bằng cách đối chiếu nhiều nguồn dữ liệu khác nhau thành một chẩn đoán có cấu trúc duy nhất. Nó vượt ra ngoài việc báo cáo lỗi đơn thuần để giải thích lý do tại sao một khối lượng công việc thất bại.

Điều gì đã xảy ra

Các tác vụ huấn luyện phân tán thường thất bại do lỗi dây chuyền, nơi một vấn đề phần cứng hoặc mạng đơn lẻ gây ra hàng nghìn triệu chứng ở hạ lưu. Một lỗi trên một GPU có thể biểu hiện dưới dạng thời gian chờ truyền thông trên nhiều rank khác, khiến việc phân biệt nguyên nhân gốc rễ với nhiễu loạn trở nên khó khăn. Các công cụ giám sát truyền thống thường chỉ báo cáo nơi khối lượng công việc dừng lại, chứ không phải nơi lỗi bắt đầu, dẫn đến thời gian điều tra kéo dài.

Để giải quyết vấn đề này, NVIDIA đã mã nguồn hóa hệ thống nội bộ chuyên về xác định nguyên nhân lỗi dựa trên khối lượng công việc (workload-centric failure-attribution). Công cụ này, vốn đã được sử dụng trong môi trường sản xuất trên hạ tầng AI của NVIDIA trong nhiều năm, phân tích hàng triệu khối lượng công việc mỗi tuần trên hàng trăm nghìn GPU. Bằng cách đối chiếu nhật ký phạm vi khối lượng công việc, số liệu đo lường, dữ liệu từ xa (telemetry) và trạng thái bộ lập lịch, nó tạo ra một chẩn đoán có thể tái lập bao gồm kết quả, nguyên nhân gốc rễ, các nút bị ảnh hưởng và dấu vết bằng chứng.

Phiên bản phát hành bao gồm hai thành phần chính có thể triển khai: Attribution Service và Attribution Blueprint. Service cung cấp động cơ xác định nguyên nhân cốt lõi qua REST API, trong khi Blueprint đóng vai trò là trình điều phối tham chiếu bằng Python. Blueprint kết nối các bộ lập lịch cụm và nguồn dữ liệu từ xa với Service, cho phép các nhóm tích hợp công cụ vào hạ tầng hiện có mà không cần xây dựng lại logic cốt lõi.

Cách thức hoạt động

Quá trình xác định nguyên nhân tuân theo bốn giai đoạn xác định (deterministic) để đảm bảo tính tái lập. Đầu tiên, Blueprint xác định phạm vi khối lượng công việc bằng cách nhận diện lần thử cụ thể thông qua định danh bộ lập lịch hoặc cửa sổ thực thi. Thứ hai, nó thu thập các quan sát từ nhiều connector khác nhau, bao gồm nhật ký ứng dụng, syslog, tin nhắn driver GPU và số liệu mạng. Các đầu vào này được chuẩn hóa thành hồ sơ quan sát có cấu trúc.

Tiếp theo, Service trích xuất và đối chiếu các sự kiện bằng một động cơ quy tắc. Nó xác định các sự kiện quan trọng như XID GPU, lỗi NCCL và các chuyển đổi trạng thái của bộ lập lịch. Các quy tắc xác định đánh giá thời điểm và tương tác của những sự kiện này để tách biệt các triệu chứng ở hạ lưu khỏi nguyên nhân chính. Ví dụ, nếu một GPU báo cáo vấn đề về toàn vẹn tín hiệu và các rank khác báo cáo lỗi truyền thông, hệ thống sẽ xác định lỗi phần cứng là nguyên nhân gốc rễ và lỗi truyền thông là các triệu chứng hỗ trợ.

Cuối cùng, hệ thống trả về một kết quả có cấu trúc chứa trạng thái cuối cùng, miền được xác định nguyên nhân và các nút bị ảnh hưởng. Đầu ra phân biệt giữa các nguyên nhân gốc rễ chắc chắn và các tình huống mơ hồ khi bằng chứng chưa đầy đủ. Định dạng có cấu trúc này cho phép các hệ thống hạ lưu, chẳng hạn như quản lý sự cố hoặc công cụ khôi phục tự động, tiêu thụ chẩn đoán mà không cần phân tích thô các nhật ký đặc thù của sản phẩm.

Chi tiết chính

  • Hệ thống hoạt động thông qua hai thành phần: Attribution Service để phân tích và Attribution Blueprint để điều phối và thu thập dữ liệu.
  • Nó hỗ trợ các connector ngữ cảnh thực thi cho Slurm, Kueue và đầu vào tĩnh, cùng với các connector nhật ký và số liệu cho Loki, tệp cục bộ, nhật ký pod Kubernetes và PromQL.
  • Trong môi trường sản xuất, hệ thống đã xác định các mẫu lỗi fabric xung quanh các cổng host và switch cụ thể bằng cách đối chiếu lỗi cổng và reset kết nối.
  • Động cơ xác định nguyên nhân sử dụng các quy tắc xác định để đánh giá thời điểm sự kiện, đảm bảo kết quả có thể tái lập và tùy chỉnh cho các môi trường khác nhau.
  • Đầu ra bao gồm một chỉ báo chất lượng phản ánh mức độ bất định khi nhiều nguyên nhân phù hợp với bằng chứng, tránh đưa ra sự tự tin sai lệch trong các chẩn đoán chưa hoàn chỉnh.
  • Nhà phát triển có thể mở rộng hệ thống bằng cách thêm các quy tắc mới cho các chế độ lỗi hoặc triển khai các connector cho bộ lập lịch và backend dữ liệu từ xa tùy chỉnh.

Tại sao điều này quan trọng

Đối với kỹ sư phần mềm và trưởng nhóm hạ tầng ML, việc giảm thời gian trung bình để giải quyết (MTTR) là yếu tố then chốt để duy trì mức độ sử dụng cao của các tài nguyên GPU đắt đỏ. Việc gỡ lỗi thủ công các sự cố phân tán tốn nhiều thời gian và dễ mắc lỗi, thường đòi hỏi chuyên gia phải sàng lọc hàng gigabyte nhật ký. NVIDIA Attribution tự động hóa quá trình đối chiếu này, cho phép các nhóm tập trung vào việc sửa chữa các vấn đề hạ tầng thay vì tìm kiếm chúng. Bằng cách cung cấp một dấu vết bằng chứng rõ ràng, nó cũng tạo điều kiện thuận lợi cho giao tiếp tốt hơn giữa các nhóm phần mềm và vận hành phần cứng.

Bản chất mã nguồn mở của dự án cho phép các tổ chức điều chỉnh công cụ phù hợp với stack cụ thể của họ. Vì logic cốt lõi được tách biệt khỏi lớp tích hợp, các nhóm có thể áp dụng cùng các quy tắc xác định nguyên nhân trên các cụm khác nhau trong khi tùy chỉnh cách thu thập và lưu trữ dữ liệu. Sự linh hoạt này hỗ trợ các môi trường đa dạng, từ các cụm nghiên cứu nhỏ đến các đội hình sản xuất khổng lồ, cho phép áp dụng nhất quán các phương pháp phân tích lỗi trong toàn bộ tổ chức.

Những gì bạn có thể làm

  • Nhân bản kho lưu trữ NVIDIA Attribution từ GitHub để truy cập mã nguồn và các khối lượng công việc mẫu.
  • Làm theo hướng dẫn nhanh để chạy quy trình làm việc mẫu bằng Docker và trình quản lý gói uv.
  • Kiểm tra các chẩn đoán được tạo ra trong dashboard cục bộ để hiểu cách hệ thống đối chiếu sự kiện và xác định nguyên nhân gốc rễ.
  • Xem xét tài liệu tham khảo cấu hình Blueprint để kết nối bộ lập lịch và backend dữ liệu từ xa của riêng bạn, chẳng hạn như Slurm hoặc Kubernetes.
  • Nghiên cứu các quy tắc khai báo và Python được bao gồm để học cách mã hóa các mẫu lỗi mới cho phần cứng hoặc phần mềm cụ thể của bạn.
  • Tích hợp Kết quả Attribution Blueprint vào các hệ thống quản lý sự cố hoặc khôi phục đội hình hiện có để tự động hóa phản hồi với các lỗi phổ biến.
  • #nvidia
  • #debugging
  • #distributed systems
  • #gpu
  • #open source

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Tất cả bài viết