paint-brush
Lý do thực sự tại sao AI được xây dựng trên lưu trữ đối tượngtừ tác giả@minio
7,297 lượt đọc
7,297 lượt đọc

Lý do thực sự tại sao AI được xây dựng trên lưu trữ đối tượng

từ tác giả MinIO6m2024/08/29
Read on Terminal Reader

dài quá đọc không nổi

MinIO Object Store là tiêu chuẩn thực tế cho các hồ dữ liệu phi cấu trúc lớn. MinIO tương thích với tất cả các khuôn khổ học máy hiện đại. Nó tương thích 100% với API S3, do đó bạn có thể thực hiện khối lượng công việc ML đối với kho đối tượng tại chỗ hoặc trên thiết bị của mình.
featured image - Lý do thực sự tại sao AI được xây dựng trên lưu trữ đối tượng
MinIO HackerNoon profile picture

1. Không có giới hạn về dữ liệu phi cấu trúc

Thiết lập đào tạo mô hình AI (một nút) điển hình (PyTorch cung cấp dữ liệu GPU từ kho đối tượng)


Trong mô hình học máy hiện tại, hiệu suất và khả năng mở rộng theo tính toán, thực chất là một đại diện cho kích thước tập dữ liệu và kích thước mô hình ( Scaling Laws for Neural Language Models , Kaplan và cộng sự). Trong vài năm qua, điều này đã mang đến những thay đổi sâu rộng về cách xây dựng cơ sở hạ tầng dữ liệu và học máy – cụ thể là: tách biệt lưu trữ và tính toán, xây dựng các hồ dữ liệu đám mây khổng lồ chứa đầy dữ liệu phi cấu trúc và phần cứng chuyên dụng có thể thực hiện phép nhân ma trận thực sự nhanh.


Khi một tập dữ liệu đào tạo, hoặc thậm chí là một phân đoạn riêng lẻ của một tập dữ liệu, yêu cầu nhiều không gian hơn so với không gian có sẵn trong bộ nhớ hệ thống và/hoặc bộ nhớ cục bộ, tầm quan trọng của việc tách bộ nhớ khỏi tính toán trở nên rõ ràng. Khi đào tạo trên dữ liệu nằm trong MinIO Object Store, không có giới hạn nào đối với kích thước dữ liệu đào tạo của bạn. Do MinIO tập trung vào tính đơn giản và thông lượng I/O, nên mạng trở thành yếu tố hạn chế duy nhất đối với tốc độ đào tạo và việc sử dụng GPU.


Ngoài việc cung cấp hiệu suất tốt nhất trong bất kỳ kho lưu trữ đối tượng nào, MinIO còn tương thích với tất cả các khuôn khổ học máy hiện đại. MinIO Object Store cũng tương thích 100% với API S3, do đó bạn có thể thực hiện khối lượng công việc ML đối với kho lưu trữ đối tượng tại chỗ hoặc trên thiết bị của mình bằng các tiện ích tập dữ liệu quen thuộc như TorchData Đường ống dữ liệu S3 . Trong trường hợp ứng dụng sử dụng của bạn yêu cầu các khả năng giống như hệ thống tệp, bạn thậm chí có thể sử dụng MinIO với các giao diện tệp lưu trữ đối tượng như Điểm gắn kết S3 hoặc S3FS . Trong bài đăng trên blog trong tương lai, chúng tôi sẽ sử dụng MinIO Python SDK trong các triển khai tùy chỉnh của một số giao diện PyTorch và FairSeq phổ biến (như Dataset và Task) để cho phép dữ liệu đào tạo 'không giới hạn' và sử dụng GPU cao cho việc đào tạo mô hình.


Ngoài hiệu suất và khả năng tương thích với ngăn xếp ML hiện đại, các lựa chọn thiết kế lưu trữ đối tượng, cụ thể là (1) không gian tên phẳng, (2) đóng gói toàn bộ đối tượng (và siêu dữ liệu của nó) dưới dạng thực thể logic thấp nhất và (3) API động từ HTTP đơn giản, là những gì đã dẫn đến việc lưu trữ đối tượng trở thành tiêu chuẩn thực tế cho các hồ dữ liệu phi cấu trúc khổng lồ. Khi xem xét lịch sử gần đây của máy học, bạn sẽ thấy rằng dữ liệu đào tạo (và theo một nghĩa nào đó, bản thân kiến trúc mô hình) đã trở nên ít có cấu trúc hơn và tổng quát hơn. Trước đây, các mô hình chủ yếu được đào tạo trên dữ liệu dạng bảng. Ngày nay, phạm vi rộng hơn nhiều, từ các đoạn văn bản thuần túy đến nhiều giờ video. Khi kiến trúc mô hình và ứng dụng ML phát triển, bản chất không trạng thái, không có lược đồ và do đó, có thể mở rộng của kho lưu trữ đối tượng ngày càng trở nên quan trọng hơn.

2. Siêu dữ liệu phong phú cho các mô hình và tập dữ liệu

Siêu dữ liệu cho phép gắn thẻ các tập dữ liệu và mô tả số liệu thống kê của điểm kiểm tra mô hình.


Nhờ các lựa chọn thiết kế của MinIO Object Store, mọi đối tượng đều có thể chứa siêu dữ liệu phong phú, không có lược đồ mà không làm giảm hiệu suất hoặc yêu cầu sử dụng máy chủ siêu dữ liệu chuyên dụng. Trí tưởng tượng thực sự là giới hạn duy nhất khi nói đến loại siêu dữ liệu bạn muốn thêm vào đối tượng của mình. Tuy nhiên, sau đây là một số ý tưởng có thể đặc biệt hữu ích cho các đối tượng liên quan đến ML:

Đối với các điểm kiểm tra mô hình : giá trị hàm mất mát, thời gian đào tạo, tập dữ liệu được sử dụng để đào tạo.


Đối với tập dữ liệu: tên của các tệp chỉ mục được ghép nối (nếu có), danh mục tập dữ liệu (đào tạo, xác thực, kiểm tra), thông tin về định dạng của tập dữ liệu.

Siêu dữ liệu mô tả cao như thế này có thể đặc biệt mạnh mẽ khi kết hợp với khả năng lập chỉ mục và truy vấn siêu dữ liệu này một cách hiệu quả, thậm chí trên hàng tỷ đối tượng, một điều mà Danh mục doanh nghiệp MinIO cung cấp. Ví dụ, bạn có thể truy vấn các điểm kiểm tra mô hình được gắn thẻ là "đã thử nghiệm" hoặc các điểm kiểm tra đã được đào tạo trên một tập dữ liệu cụ thể.

3. Các mô hình và bộ dữ liệu có sẵn, có thể kiểm tra và có thể tạo phiên bản


Khi các mô hình học máy và tập dữ liệu của chúng ngày càng trở thành tài sản quan trọng, việc lưu trữ và quản lý các tài sản này theo cách có khả năng chịu lỗi, có thể kiểm tra và có thể phiên bản hóa lại càng trở nên quan trọng.


Các tập dữ liệu và các mô hình đào tạo trên chúng là những tài sản có giá trị, là sản phẩm khó kiếm được của thời gian, công sức kỹ thuật và tiền bạc. Theo đó, chúng phải được bảo vệ theo cách không cản trở việc truy cập của các ứng dụng. Các hoạt động nội tuyến của MinIO như kiểm tra bitrot và mã hóa xóa, cùng với các tính năng như sao chép chủ động-chủ động, đa trang web đảm bảo khả năng phục hồi của các đối tượng này ở quy mô lớn.


Đặc biệt với AI tạo sinh, việc biết phiên bản nào của tập dữ liệu nào được sử dụng để đào tạo một mô hình cụ thể đang được phục vụ sẽ hữu ích khi gỡ lỗi ảo giác và các hành vi sai trái khác của mô hình. Nếu các điểm kiểm tra mô hình được phiên bản hóa đúng cách, việc tin tưởng khôi phục nhanh về phiên bản điểm kiểm tra đã phục vụ trước đó sẽ dễ dàng hơn. Với MinIO Object Store, bạn sẽ nhận được những lợi ích này cho các đối tượng của mình ngay khi xuất xưởng.

4. Cơ sở hạ tầng phục vụ sở hữu

Các mẫu phục vụ mô hình điển hình cho suy luận. Bên trái, dựa vào kho lưu trữ mô hình của bên thứ ba và bên phải, dựa vào kho lưu trữ điểm kiểm tra của riêng bạn.


Kho đối tượng MinIO về cơ bản là kho đối tượng mà bạn hoặc tổ chức của bạn kiểm soát. Cho dù trường hợp sử dụng là để tạo mẫu, bảo mật, quản lý hay mục đích kinh tế , kiểm soát là chủ đề chung. Theo đó, nếu các điểm kiểm tra mô hình được đào tạo nằm trên kho đối tượng, bạn có thể kiểm soát tốt hơn nhiệm vụ phục vụ các mô hình để suy luận hoặc sử dụng.


Trong bài đăng trước , chúng tôi đã khám phá những lợi ích của việc lưu trữ các tệp mô hình trên kho lưu trữ đối tượng và cách phục vụ chúng trực tiếp bằng khuôn khổ suy luận TorchServe từ PyTorch. Tuy nhiên, đây là một chiến lược hoàn toàn không phụ thuộc vào mô hình và khuôn khổ.


Nhưng tại sao điều này lại quan trọng? Độ trễ mạng hoặc sự cố ngừng hoạt động trên kho lưu trữ mô hình của bên thứ ba có thể khiến các mô hình chậm được phục vụ để suy luận hoặc hoàn toàn không khả dụng. Hơn nữa, trong môi trường sản xuất, nơi các máy chủ suy luận đang mở rộng quy mô và cần phải thường xuyên kéo các điểm kiểm tra mô hình, vấn đề này có thể trở nên trầm trọng hơn. Trong những trường hợp an toàn nhất và/hoặc quan trọng nhất, tốt nhất là tránh phụ thuộc vào bên thứ ba qua internet khi bạn có thể. Với MinIO là kho lưu trữ đối tượng đám mây riêng tư hoặc kết hợp, bạn có thể tránh hoàn toàn những vấn đề này.

Suy nghĩ kết thúc

Miêu tả của AI về cơ sở hạ tầng dữ liệu trong tương lai, hoàn chỉnh với robot và... cối xay gió?


Bốn lý do này không phải là danh sách đầy đủ. Các nhà phát triển và tổ chức sử dụng MinIO Object Storage cho khối lượng công việc AI của họ vì nhiều lý do, từ dễ phát triển đến kích thước siêu nhẹ.


Trong phần đầu của bài đăng này, chúng tôi đã đề cập đến các động lực thúc đẩy việc áp dụng kho lưu trữ đối tượng hiệu suất cao cho AI. Bất kể các quy luật mở rộng có đúng hay không, điều chắc chắn sẽ đúng là các tổ chức và khối lượng công việc AI của họ sẽ luôn được hưởng lợi từ khả năng thông lượng I/O tốt nhất hiện có. Ngoài ra, chúng ta có thể khá tự tin rằng các nhà phát triển sẽ không bao giờ yêu cầu các API khó sử dụng hơn và phần mềm không 'chỉ hoạt động'. Trong bất kỳ tương lai nào mà các giả định này đúng, kho lưu trữ đối tượng hiệu suất cao chính là giải pháp.


Đối với bất kỳ kiến trúc sư và người ra quyết định kỹ thuật nào đang đọc bài viết này, nhiều phương pháp hay nhất được đề cập ở đây có thể được tự động hóa để đảm bảo lưu trữ đối tượng được tận dụng theo cách giúp quy trình làm việc AI/ML của bạn đơn giản hơn và có khả năng mở rộng hơn. Điều này có thể thực hiện thông qua việc sử dụng bất kỳ bộ công cụ MLOps hiện đại nào. SME AI/ML Keith Pijanowski đã khám phá nhiều công cụ trong số này - hãy tìm kiếm trang blog của chúng tôi về Kubeflow, MLflow và MLRun để biết thêm thông tin về công cụ MLOps. Tuy nhiên, nếu các công cụ MLOps này không phải là lựa chọn cho tổ chức của bạn và bạn cần bắt đầu nhanh chóng, thì các kỹ thuật được trình bày trong bài đăng này là cách tốt nhất để bắt đầu quản lý quy trình làm việc AI/ML của bạn bằng MinIO.


Đối với các nhà phát triển (hoặc bất kỳ ai tò mò 🙂), trong bài đăng trên blog trong tương lai, chúng tôi sẽ hướng dẫn chi tiết từ đầu đến cuối về cách điều chỉnh khuôn khổ ML để tận dụng kho đối tượng với mục tiêu là dữ liệu đào tạo 'không giới hạn' và sử dụng GPU hợp lý.


Cảm ơn bạn đã đọc, tôi hy vọng nó hữu ích! Như thường lệ, nếu bạn có bất kỳ câu hỏi nào, hãy tham gia Kênh Slack hoặc gửi cho chúng tôi một lưu ý tại xin chà[email protected] .