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.
Tổng quan
It matters because it gives a simple, unified way to distribute training, tuning, data processing, and serving without rewriting your code for each.
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.
Hiểu biết kỹ thuật
Các nguyên hàm chính là các tác vụ (các lệnh gọi hàm song song, không trạng thái) và các tác nhân (các công nhân có trạng thái chứa những thứ như một mô hình đã tải hoặc một bộ đếm). Khi bạn gọi một tác vụ từ xa, Ray ngay lập tức trả về một tương lai và lên lịch công việc trên các CPU/GPU có sẵn; bạn gọi ray.get() để lấy kết quả. Kho lưu trữ đối tượng được phân phối trong bộ nhớ với bộ nhớ dùng chung không có bản sao giúp di chuyển các đối tượng lớn như mảng giữa các trình chạy một cách hiệu quả, tránh việc tuần tự hóa lặp lại và làm cho các đường dẫn AI nặng về dữ liệu trở nên nhanh chóng.
Tác động chiến lược
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.
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.
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
Rủi ro & lan can
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.
Lộ trình thực hiện
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
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á
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Ray for Distributed AI quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Hướng dẫn tiếp theo
Điểm kiểm tra độ dốc
Câu hỏi thường gặp
What is Ray for Distributed AI?
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.
Làm thế nào để kho lưu trữ đối tượng của Ray làm cho đường dẫn AI nặng về dữ liệu trở nên hiệu quả?
Kho lưu trữ đối tượng trong bộ nhớ dùng chung sử dụng chế độ đọc không bản sao để nhân viên có thể truy cập các mảng lớn mà không cần phải tuần tự hóa lại một cách tốn kém.