HƯỚNG DẪN KỸ THUẬT

Ray cho AI phân tán

Ray là một khung mã nguồn mở giúp dễ dàng mở rộng quy mô khối lượng công việc Python và AI từ máy tính xách tay đến cụm hàng nghìn máy.

Nghe hướng dẫn nàyAI thuật lại · ~2 min

Trên trang nàyĐọc trong 2 phút
  1. Tổng quan
  2. Lặn sâu
  3. Triển khai trong thế giới thực
  4. Tương lai của Ray cho AI phân tán
  5. Đưa nó vào thực tế
  6. Tiếp tục khám phá
  7. Câu hỏi thường gặp

Tổng quan

Điều này quan trọng vì nó cung cấp một cách đơn giản, thống nhất để phân phối hoạt động đào tạo, điều chỉnh, xử lý dữ liệu và cung cấp mà không cần phải viết lại mã cho từng mục.

Lặn sâu

Ý tưởng cốt lõi của Ray là biến các hàm và lớp Python thông thường thành các đơn vị phân tán với sự thay đổi tối thiểu. Một hàm được đánh dấu là 'tác vụ' từ xa sẽ chạy không đồng bộ trên bất kỳ nhân viên nào trong cụm; một lớp được đánh dấu là 'diễn viên' từ xa sẽ trở thành một dịch vụ có trạng thái phục vụ công nhân. Ray trả về tương lai nhẹ (tham chiếu đối tượng) và xử lý việc lập lịch, di chuyển dữ liệu thông qua kho lưu trữ đối tượng dùng chung và khả năng chịu lỗi. Ngoài các thư viện được xây dựng có mục đích cốt lõi này: Ray Train để đào tạo mô hình phân tán, Ray Tune để tìm kiếm siêu tham số, Ray Data để truyền trực tuyến các đường dẫn dữ liệu, RLlib để học tăng cường và Ray Serve để phục vụ mô hình có thể mở rộng. Điều này cho phép một cụm xử lý toàn bộ quy trình làm việc ML từ đầu đến cuối.

Triển khai trong thế giới thực

Chạy Ray Tune để tìm kiếm song song hàng trăm tổ hợp siêu tham số trên một cụm GPU nhằm tìm ra cấu hình mô hình tốt nhất

Sử dụng Ray Train để phân phối việc đào tạo mô hình học sâu trên nhiều GPU và nút với những thay đổi mã tối thiểu

Xây dựng quy trình suy luận hàng loạt với Ray Data để ghi được hàng triệu bản ghi bằng cách truyền chúng qua một mô hình trên một cụm

Triển khai nhiều mô hình đằng sau một điểm cuối tự động điều chỉnh quy mô duy nhất với Ray Serve để xử lý lưu lượng sản xuất thay đổi

Tương lai của Ray cho AI phân tán

Ray đã trở thành xương sống cho AI quy mô lớn, đặc biệt được sử dụng trong đào tạo và phục vụ các mô hình ngôn ngữ lớn. Kỳ vọng sự tăng trưởng trong phân phối dành riêng cho LLM (Ray Serve với vLLM), lập lịch GPU không đồng nhất, tích hợp chặt chẽ hơn với các hồ dữ liệu và Kubernetes thông qua KubeRay, đồng thời tự động điều chỉnh quy mô tốt hơn cho khối lượng công việc tăng đột biến. Khi các mô hình phát triển, vai trò của Ray trong việc điều phối quá trình đào tạo đa nút, đường dẫn RLHF và suy luận hàng loạt trên hàng nghìn máy gia tốc có thể sẽ mở rộng.

Đưa nó vào thực tế

Tại sao nó quan trọng

  • Chi phí và ngân sách. Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
  • Quyết định rõ ràng hơn. Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
  • Kiểm soát chất lượng. Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.

coi chừng

  • Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
  • Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
  • Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.

Các bước tiếp theo

  1. Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
  2. Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
  3. Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
  4. Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.

Tiếp tục khám phá

Bản tin miễn phí

Nhận bản tóm tắt AI hàng ngày

Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.

Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.

Tự kiểm tra

Take the Ray for Distributed AI quiz

Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.

Bắt đầu bài kiểm tra

Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp

Câu hỏi thường gặp

Ray dành cho AI phân tán là gì?

Ray là một khung mã nguồn mở giúp dễ dàng mở rộng quy mô khối lượng công việc Python và AI từ máy tính xách tay đến cụm hàng nghìn máy. Điều này quan trọng vì nó cung cấp một cách đơn giản, thống nhất để phân phối hoạt động đào tạo, điều chỉnh, xử lý dữ liệu và cung cấp mà không cần phải viết lại mã cho từng mục.

Ray chủ yếu giải quyết vấn đề gì?

Ray cung cấp một cách thống nhất, đơn giản để phân phối tính toán trên nhiều máy mà không cần viết lại mã cho từng loại khối lượng công việc.

Ở Ray, sự khác biệt giữa 'nhiệm vụ' và 'diễn viên' là gì?

Nhiệm vụ là các hàm từ xa không trạng thái chạy song song, trong khi tác nhân là các đối tượng tồn tại lâu dài và giữ trạng thái, giống như một mô hình đã được tải.

Ray quay lại ngay lập tức khi bạn khởi chạy một tác vụ từ xa?

Ray trả lại ngay một tương lai nhẹ nhàng để công việc diễn ra không đồng bộ; bạn gọi ray.get() để lấy kết quả thực tế khi cần.

Thư viện Ray nào được thiết kế để tìm kiếm siêu tham số phân tán?

Ray Tune chuyên chạy song song nhiều thử nghiệm siêu tham số trên một cụm.

Which object type do Ray’s docs explicitly say can be read from same-node object-store memory without a copy?

Ray documents zero-copy reads for NumPy arrays stored in the object store when workers on the same node access them. Other values may require deserialization, and data requested across nodes must be transferred.