paint-brush
Hướng dẫn của Kiến trúc sư về Xây dựng Kiến trúc Tham chiếu cho Datalake AI/MLtừ tác giả@minio
11,305 lượt đọc
11,305 lượt đọc

Hướng dẫn của Kiến trúc sư về Xây dựng Kiến trúc Tham chiếu cho Datalake AI/ML

từ tác giả MinIO20m2024/06/12
Read on Terminal Reader
Read this story w/o Javascript

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

Các tổ chức không nên xây dựng cơ sở hạ tầng chỉ dành riêng cho AI và AI trong khi để các khối lượng công việc như Business Intelligence, Data Analytics và Data Science tự lo liệu.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Hướng dẫn của Kiến trúc sư về Xây dựng Kiến trúc Tham chiếu cho Datalake AI/ML
MinIO HackerNoon profile picture


Phiên bản rút gọn của bài đăng này đã xuất hiện trên The New Stack vào ngày 19 tháng 3 năm 2024.


Trong trí tuệ nhân tạo doanh nghiệp, có hai loại mô hình chính: phân biệt đối xử và tạo sinh. Các mô hình phân biệt được sử dụng để phân loại hoặc dự đoán dữ liệu, trong khi các mô hình tổng quát được sử dụng để tạo dữ liệu mới. Mặc dù Generative AI đã thống trị tin tức thời gian gần đây nhưng các tổ chức vẫn đang theo đuổi cả hai loại AI. AI phân biệt đối xử vẫn là một sáng kiến quan trọng đối với các tổ chức muốn hoạt động hiệu quả hơn và theo đuổi các nguồn doanh thu bổ sung. Những loại AI khác nhau này có nhiều điểm chung, nhưng đồng thời cũng có những khác biệt đáng kể cần phải tính đến khi xây dựng cơ sở hạ tầng dữ liệu AI của bạn.


Các tổ chức không nên xây dựng cơ sở hạ tầng chỉ dành riêng cho AI và AI trong khi để các khối lượng công việc như Business Intelligence, Data Analytics và Data Science tự lo liệu. Có thể xây dựng cơ sở hạ tầng dữ liệu hoàn chỉnh hỗ trợ tất cả các nhu cầu của tổ chức - Trí tuệ doanh nghiệp, Phân tích dữ liệu, Khoa học dữ liệu, AI phân biệt đối xử và AI sáng tạo.


Trong một bài đăng khác, chúng tôi đã trình bày kiến trúc tham chiếu cho một hồ dữ liệu hiện đại có khả năng phục vụ nhu cầu kinh doanh thông minh, phân tích dữ liệu, khoa học dữ liệu và AI/ML. Hãy cùng xem lại Kiến trúc tham chiếu Datalake hiện đại và nêu bật những khả năng mà nó có để hỗ trợ khối lượng công việc AI/ML.

Hồ dữ liệu hiện đại

Hãy bắt đầu bằng cách xác định Datalake hiện đại vì nó sẽ làm nền tảng cho kiến trúc tham chiếu của chúng ta. Kiến trúc này không được “tái chế” mà nó phản ánh các nguyên tắc kỹ thuật đầu tiên có thể áp dụng rộng rãi. Datalake hiện đại là một nửa Kho dữ liệu và một nửa Hồ dữ liệu và sử dụng bộ lưu trữ đối tượng cho mọi thứ. Việc sử dụng bộ lưu trữ đối tượng cho Hồ dữ liệu có ý nghĩa hoàn hảo vì bộ lưu trữ đối tượng dành cho dữ liệu phi cấu trúc, đó là mục đích lưu trữ của Hồ dữ liệu. Tuy nhiên, việc sử dụng lưu trữ đối tượng cho Kho dữ liệu nghe có vẻ kỳ lạ - nhưng Kho dữ liệu được xây dựng theo cách này đại diện cho thế hệ Kho dữ liệu tiếp theo. Điều này được thực hiện nhờ Thông số kỹ thuật định dạng bảng mở (OTF) do Netflix, Uber và Databricks tạo ra, giúp việc sử dụng lưu trữ đối tượng trong kho dữ liệu trở nên liền mạch.


Các OTF là Apache Iceberg, Apache Hudi và Delta Lake. Chúng lần lượt được viết bởi Netflix, Uber và Databricks - bởi vì không có sản phẩm nào trên thị trường có thể đáp ứng nhu cầu dữ liệu của họ. Về cơ bản, những gì họ làm (theo những cách khác nhau) là xác định Kho dữ liệu có thể được xây dựng dựa trên bộ lưu trữ đối tượng (MinIO). Lưu trữ đối tượng cung cấp sự kết hợp giữa khả năng mở rộng và hiệu suất cao mà các giải pháp lưu trữ khác không thể làm được. Vì đây là những thông số kỹ thuật hiện đại nên chúng có các tính năng nâng cao mà kho dữ liệu lỗi thời không có - chẳng hạn như tiến hóa phân vùng, tiến hóa lược đồ và phân nhánh không sao chép. Cuối cùng, vì Kho dữ liệu được xây dựng bằng bộ lưu trữ đối tượng nên bạn có thể sử dụng cùng kho đối tượng này cho dữ liệu phi cấu trúc như hình ảnh, tệp video, tệp âm thanh và tài liệu.


Dữ liệu phi cấu trúc thường được lưu trữ trong cái mà ngành gọi là hồ dữ liệu. Việc sử dụng kho lưu trữ đối tượng làm nền tảng cho cả hồ dữ liệu và kho dữ liệu sẽ mang lại giải pháp có khả năng chứa tất cả dữ liệu của bạn. Bộ lưu trữ có cấu trúc nằm trong Kho dữ liệu dựa trên OTF và bộ lưu trữ phi cấu trúc nằm trong Hồ dữ liệu. Có thể sử dụng cùng một phiên bản MinIO cho cả hai.


Tại MinIO, chúng tôi gọi sự kết hợp giữa Kho dữ liệu dựa trên OTF và Hồ dữ liệu này là Datalake hiện đại và chúng tôi coi đó là nền tảng cho tất cả khối lượng công việc AI/ML của bạn. Đó là nơi dữ liệu được thu thập, lưu trữ, xử lý và chuyển đổi. Các mô hình đào tạo sử dụng AI phân biệt đối xử (học có giám sát, không giám sát và tăng cường) thường yêu cầu giải pháp lưu trữ có thể xử lý dữ liệu có cấu trúc có thể tồn tại trong Kho dữ liệu. Mặt khác, nếu bạn đang đào tạo Mô hình ngôn ngữ lớn (LLM), bạn phải quản lý dữ liệu hoặc tài liệu phi cấu trúc ở dạng thô và đã xử lý trong Hồ dữ liệu.


Nguồn : Kiến trúc tham chiếu Datalake hiện đại


Bài đăng này tập trung vào các lĩnh vực của Kiến trúc tham chiếu Datalake hiện đại dành cho AI/ML hỗ trợ các khối lượng công việc AI/ML khác nhau. Các khu chức năng này được liệt kê dưới đây. Hình ảnh mô tả trực quan về Datalake hiện đại được hiển thị ở trên. Các lớp chứa các khu chức năng này đã được làm nổi bật.


  • AI phân biệt đối xử


    • Lưu trữ dữ liệu phi cấu trúc

    • Lưu trữ dữ liệu bán cấu trúc

    • Phân nhánh không sao chép trong kho dữ liệu


  • AI sáng tạo


    • Xây dựng một kho văn bản tùy chỉnh với cơ sở dữ liệu vectơ

    • Xây dựng hệ thống tài liệu

    • Truy xuất thế hệ tăng cường (RAG)

    • Tinh chỉnh các mô hình ngôn ngữ lớn

    • Đo độ chính xác LLM


  • Hoạt động học máy


Bài đăng này cũng xem xét trạng thái hiện tại của GPU và cách chúng tác động đến cơ sở hạ tầng dữ liệu AI của bạn. Chúng ta cũng sẽ xem xét một số tình huống minh họa cách xây dựng cơ sở hạ tầng và cách không xây dựng cơ sở hạ tầng của bạn. Cuối cùng, bài đăng này trình bày một số đề xuất để xây dựng Cơ sở hạ tầng dữ liệu AI của riêng bạn.


  • Tình trạng hiện tại của GPU


    • Vấn đề GPU đói

    • Lưu trữ đối tượng tăng áp


  • Câu chuyện về hai tổ chức

  • Kế hoạch xây dựng cơ sở hạ tầng dữ liệu AI của bạn

AI phân biệt đối xử

Các mô hình AI có khả năng phân biệt đối xử yêu cầu tất cả các loại dữ liệu để đào tạo. Các mô hình phân loại hình ảnh và nhận dạng giọng nói sẽ sử dụng dữ liệu phi cấu trúc dưới dạng tệp hình ảnh và âm thanh. Mặt khác, các mô hình phát hiện gian lận và chẩn đoán y tế đưa ra dự đoán dựa trên dữ liệu có cấu trúc. Hãy xem xét các tùy chọn có sẵn trong Modern Datalake để lưu trữ và thao tác dữ liệu cần thiết cho AI phân biệt đối xử.

Lưu trữ dữ liệu phi cấu trúc

Dữ liệu phi cấu trúc sẽ nằm trong Hồ dữ liệu, nơi nó có thể được sử dụng cho các mô hình đào tạo và thử nghiệm. Các tập huấn luyện phù hợp với bộ nhớ có thể được tải trước khi huấn luyện (trước khi vòng lặp kỷ nguyên của bạn bắt đầu). Tuy nhiên, nếu tập huấn luyện của bạn lớn và không vừa với bộ nhớ, bạn sẽ phải tải danh sách các đối tượng trước khi huấn luyện và truy xuất các đối tượng thực tế trong khi xử lý từng lô trong vòng lặp epoch của mình. Điều này có thể gây căng thẳng cho Hồ dữ liệu nếu bạn không xây dựng Hồ dữ liệu bằng mạng tốc độ cao và ổ đĩa tốc độ cao. Nếu bạn đang đào tạo các mô hình có dữ liệu không vừa với bộ nhớ thì hãy cân nhắc việc xây dựng Hồ dữ liệu với mạng 100 GB và ổ NVMe.

Lưu trữ dữ liệu bán cấu trúc

Có một số tùy chọn có sẵn trong Modern Datalake để lưu trữ các tệp bán cấu trúc như tệp Parquet, tệp AVRO, tệp JSON và thậm chí cả tệp CSV. Cách dễ nhất để làm là lưu trữ chúng trong Hồ dữ liệu của bạn và tải chúng giống như cách bạn tải các đối tượng phi cấu trúc. Nếu các khối lượng công việc khác mà Modern Datalake hỗ trợ (Business Intelligence, Data Analytics và Data Science) không cần đến dữ liệu trong các tệp bán cấu trúc này thì đây là tùy chọn tốt nhất.


Một tùy chọn khác là tải các tệp này vào Kho dữ liệu của bạn, nơi các khối lượng công việc khác có thể sử dụng chúng. Khi dữ liệu được tải vào Kho dữ liệu của bạn, bạn có thể sử dụng Zero Copy Branching để thực hiện thí nghiệm với dữ liệu của bạn.

Phân nhánh không sao chép trong kho dữ liệu

Kỹ thuật tính năng là một kỹ thuật để cải thiện các bộ dữ liệu được sử dụng để đào tạo một mô hình. Một tính năng rất thú vị mà Kho dữ liệu dựa trên OTF sở hữu là phân nhánh không sao chép. Điều này cho phép dữ liệu được phân nhánh giống như cách mã có thể được phân nhánh trong kho Git. Như tên cho thấy, tính năng này không tạo bản sao dữ liệu - thay vào đó, nó sử dụng lớp siêu dữ liệu của định dạng bảng mở được sử dụng để triển khai Kho dữ liệu nhằm tạo ra diện mạo của một bản sao dữ liệu duy nhất. Các nhà khoa học dữ liệu có thể thử nghiệm với một nhánh - nếu thử nghiệm của họ thành công thì họ có thể hợp nhất nhánh của mình trở lại nhánh chính để các nhà khoa học dữ liệu khác sử dụng. Nếu thử nghiệm không thành công thì nhánh có thể bị xóa.

AI sáng tạo

Tất cả các mô hình, cho dù là mô hình nhỏ được xây dựng bằng Scikit-Learn, mạng thần kinh tùy chỉnh được xây dựng bằng PyTorch hoặc TensorFlow hay Mô hình ngôn ngữ lớn dựa trên kiến trúc Transformer, đều yêu cầu số làm đầu vào và tạo ra số làm đầu ra. Thực tế đơn giản này đặt ra một số yêu cầu bổ sung đối với cơ sở hạ tầng AI/ML của bạn nếu bạn quan tâm đến AI Sáng tạo, trong đó các từ phải được chuyển thành số (hoặc vectơ, như chúng ta sẽ thấy). Giải pháp AI tổng quát thậm chí còn phức tạp hơn nếu bạn muốn sử dụng các tài liệu riêng tư chứa kiến thức độc quyền của công ty bạn để nâng cao các câu trả lời do LLM tạo ra. Cải tiến này có thể ở dạng Tạo tăng cường truy xuất hoặc Tinh chỉnh LLM.


Phần này sẽ thảo luận về tất cả các kỹ thuật này (chuyển từ thành số, RAG và Tinh chỉnh) cũng như tác động của chúng đối với cơ sở hạ tầng AI. Hãy bắt đầu bằng cách thảo luận về cách xây dựng một Kho tùy chỉnh và nơi chứa nó.

Tạo một kho văn bản tùy chỉnh với cơ sở dữ liệu vectơ

Nếu bạn nghiêm túc về Generative AI thì kho dữ liệu tùy chỉnh sẽ xác định tổ chức của bạn. Nó phải chứa các tài liệu có kiến thức mà không ai khác có và chỉ chứa thông tin xác thực và chính xác. Hơn nữa, kho dữ liệu tùy chỉnh của bạn phải được xây dựng bằng Cơ sở dữ liệu Vector. Cơ sở dữ liệu vectơ lập chỉ mục, lưu trữ và cung cấp quyền truy cập vào tài liệu của bạn cùng với các phần nhúng vectơ của chúng, là các biểu diễn bằng số cho tài liệu của bạn. (Điều này giải quyết vấn đề số được mô tả ở trên.)


Cơ sở dữ liệu Vector tạo điều kiện thuận lợi cho việc tìm kiếm ngữ nghĩa. Cách thực hiện việc này đòi hỏi nhiều nền tảng toán học và phức tạp. Tuy nhiên, tìm kiếm ngữ nghĩa về mặt khái niệm là dễ hiểu. Giả sử bạn muốn tìm tất cả tài liệu thảo luận về bất cứ điều gì liên quan đến “trí tuệ nhân tạo”. Để thực hiện điều này trên cơ sở dữ liệu thông thường, bạn cần tìm kiếm mọi từ viết tắt, từ đồng nghĩa và thuật ngữ liên quan có thể có của “trí tuệ nhân tạo”. Truy vấn của bạn sẽ trông giống như thế này:


 SELECT snippet FROM MyCorpusTable WHERE (text like '%artificial intelligence%' OR text like '%ai%' OR text like '%machine learning%' OR text like '%ml%' OR ... and on and on ...


Việc tìm kiếm tương tự thủ công không chỉ khó khăn và dễ xảy ra lỗi mà bản thân việc tìm kiếm còn rất chậm. Cơ sở dữ liệu vectơ có thể nhận yêu cầu như bên dưới và chạy truy vấn nhanh hơn với độ chính xác cao hơn. Khả năng chạy các truy vấn ngữ nghĩa một cách nhanh chóng và chính xác là rất quan trọng nếu bạn muốn sử dụng Thế hệ tăng cường truy xuất.


 { Get { MyCorpusTable(nearText: {concepts: ["artificial intelligence"]}) {snippet} } }


Một cân nhắc quan trọng khác đối với kho dữ liệu tùy chỉnh của bạn là tính bảo mật. Việc truy cập vào tài liệu phải tôn trọng các hạn chế truy cập đối với tài liệu gốc. (Sẽ thật đáng tiếc nếu một thực tập sinh có thể có quyền truy cập vào kết quả tài chính của CFO chưa được công bố cho Phố Wall.) Trong cơ sở dữ liệu vectơ của mình, bạn nên thiết lập ủy quyền để phù hợp với cấp độ truy cập của nội dung gốc. Điều này có thể được thực hiện bằng cách tích hợp cơ sở dữ liệu Vector với giải pháp Quản lý danh tính và quyền truy cập của tổ chức bạn.


Về cốt lõi, cơ sở dữ liệu vector lưu trữ dữ liệu phi cấu trúc. Do đó, họ nên sử dụng Data Lake của bạn làm giải pháp lưu trữ.

Xây dựng hệ thống tài liệu

Thật không may, hầu hết các tổ chức không có một kho lưu trữ duy nhất chứa các tài liệu rõ ràng và chính xác. Thay vào đó, các tài liệu được trải rộng khắp tổ chức trên nhiều cổng nhóm khác nhau ở nhiều định dạng. Do đó, bước đầu tiên trong việc xây dựng kho văn bản tùy chỉnh là xây dựng một quy trình chỉ lấy các tài liệu đã được phê duyệt để sử dụng với Generative AI và đặt chúng vào cơ sở dữ liệu vectơ của bạn. Đối với các tổ chức lớn trên toàn cầu, đây có thể là nhiệm vụ khó khăn nhất của giải pháp AI sáng tạo. Các nhóm thường có tài liệu ở dạng bản nháp trong cổng thông tin của họ. Cũng có thể có những tài liệu mang tính suy ngẫm ngẫu nhiên về những gì có thể xảy ra. Những tài liệu này không được trở thành một phần của kho dữ liệu tùy chỉnh vì chúng không thể hiện chính xác doanh nghiệp. Thật không may, việc lọc những tài liệu này sẽ là một nỗ lực thủ công.



Đường dẫn tài liệu cũng sẽ chuyển đổi tài liệu thành văn bản. May mắn thay, một số thư viện nguồn mở có thể thực hiện việc này đối với nhiều định dạng tài liệu phổ biến. Ngoài ra, đường dẫn tài liệu phải chia tài liệu thành các phân đoạn nhỏ trước khi lưu chúng vào cơ sở dữ liệu vectơ. Điều này là do những hạn chế về kích thước lời nhắc khi các tài liệu này được sử dụng cho Thế hệ tăng cường truy xuất, điều này sẽ được thảo luận trong phần sau.

Tinh chỉnh các mô hình ngôn ngữ lớn

Khi tinh chỉnh một mô hình ngôn ngữ lớn, chúng tôi huấn luyện nó thêm một chút bằng thông tin trong kho ngữ liệu tùy chỉnh. Đây có thể là một cách tốt để có được LLM dành riêng cho tên miền. Mặc dù tùy chọn này yêu cầu tính toán để thực hiện tinh chỉnh đối với kho dữ liệu tùy chỉnh của bạn, nhưng nó không chuyên sâu như đào tạo mô hình từ đầu và có thể hoàn thành trong khung thời gian khiêm tốn.



Nếu miền của bạn bao gồm các thuật ngữ không được sử dụng hàng ngày thì việc tinh chỉnh có thể cải thiện chất lượng phản hồi của LLM. Ví dụ: các dự án sử dụng tài liệu từ nghiên cứu y học, nghiên cứu môi trường và bất kỳ thứ gì liên quan đến khoa học tự nhiên đều có thể được hưởng lợi từ việc tinh chỉnh. Tinh chỉnh lấy ngôn ngữ bản địa rất cụ thể có trong tài liệu của bạn và đưa chúng vào các tham số tham số của mô hình. Cần phải hiểu rõ những ưu điểm và nhược điểm của việc tinh chỉnh trước khi quyết định áp dụng phương pháp này.


Nhược điểm


  • Tinh chỉnh sẽ yêu cầu tài nguyên tính toán.

  • Khả năng giải thích là không thể.

  • Bạn sẽ cần phải tinh chỉnh lại dữ liệu mới theo định kỳ khi kho dữ liệu của bạn phát triển.

  • Ảo giác là một mối quan tâm.

  • Bảo mật cấp độ tài liệu là không thể.


Thuận lợi


  • LLM có kiến thức từ kho dữ liệu tùy chỉnh của bạn thông qua tinh chỉnh.

  • Luồng suy luận ít phức tạp hơn RAG.


Mặc dù tinh chỉnh là một cách hay để dạy LLM về ngôn ngữ doanh nghiệp của bạn, nhưng nó sẽ làm loãng dữ liệu vì hầu hết các LLM đều chứa hàng tỷ tham số và dữ liệu của bạn sẽ được trải rộng trên tất cả các tham số này. Nhược điểm lớn nhất của việc tinh chỉnh là không thể ủy quyền ở cấp độ tài liệu. Khi một tài liệu được sử dụng để Tinh chỉnh, thông tin của nó sẽ trở thành một phần của mô hình. Không thể hạn chế thông tin này dựa trên cấp độ ủy quyền của người dùng.


Hãy xem xét kỹ thuật kết hợp dữ liệu tùy chỉnh và dữ liệu tham số của bạn tại thời điểm suy luận.

Truy xuất thế hệ tăng cường (RAG)


Tạo tăng cường truy xuất (RAG) là một kỹ thuật bắt đầu bằng câu hỏi được hỏi - sử dụng cơ sở dữ liệu vectơ để kết hợp các câu hỏi với dữ liệu bổ sung, sau đó chuyển câu hỏi và dữ liệu đến LLM để tạo nội dung. Với RAG, không cần đào tạo vì chúng tôi hướng dẫn LLM bằng cách gửi cho họ các đoạn văn bản có liên quan từ kho tài liệu chất lượng của chúng tôi.


Nó hoạt động như thế này bằng cách sử dụng tác vụ trả lời câu hỏi: Người dùng đặt câu hỏi trong giao diện người dùng ứng dụng của bạn. Ứng dụng của bạn sẽ xử lý câu hỏi - cụ thể là các từ trong đó - và sử dụng cơ sở dữ liệu vectơ, tìm kiếm kho tài liệu chất lượng của bạn để tìm các đoạn văn bản có liên quan đến ngữ cảnh. Những đoạn trích này và câu hỏi ban đầu sẽ được gửi tới LLM. Toàn bộ gói này - câu hỏi cộng với đoạn trích (ngữ cảnh) được gọi là lời nhắc. LLM sẽ sử dụng thông tin này để tạo ra câu trả lời của bạn. Điều này có vẻ như là một việc làm ngớ ngẩn - nếu bạn đã biết câu trả lời (đoạn trích), tại sao phải bận tâm đến LLM? Hãy nhớ rằng, điều này đang diễn ra trong thời gian thực và mục tiêu là tạo ra văn bản - thứ mà bạn có thể sao chép và dán vào nghiên cứu của mình. Bạn cần LLM để tạo văn bản kết hợp thông tin từ kho văn bản tùy chỉnh của bạn.


Việc này phức tạp hơn việc tinh chỉnh. Tuy nhiên, ủy quyền người dùng có thể được triển khai do tài liệu (hoặc đoạn tài liệu) được chọn từ cơ sở dữ liệu vectơ tại thời điểm suy luận. Thông tin trong tài liệu không bao giờ trở thành một phần của tham số tham số của mô hình. Những ưu điểm và nhược điểm của RAG được liệt kê dưới đây.


Nhược điểm

  • Luồng suy luận phức tạp hơn.


Thuận lợi

  • LLM có kiến thức trực tiếp từ kho dữ liệu tùy chỉnh của bạn.
  • Khả năng giải thích là có thể.
  • Không cần tinh chỉnh.
  • Ảo giác giảm đi đáng kể và có thể được kiểm soát bằng cách kiểm tra kết quả từ các truy vấn cơ sở dữ liệu vectơ.
  • Việc ủy quyền có thể được thực hiện.

Hoạt động học máy (MLOps)

Để hiểu rõ hơn tầm quan trọng của MLOps, sẽ rất hữu ích khi so sánh việc tạo mô hình với phát triển ứng dụng thông thường. Phát triển ứng dụng thông thường, chẳng hạn như triển khai một vi dịch vụ mới bổ sung tính năng mới cho ứng dụng, bắt đầu bằng việc xem xét thông số kỹ thuật. Mọi cấu trúc dữ liệu mới hoặc bất kỳ thay đổi nào đối với cấu trúc dữ liệu hiện có đều được thiết kế trước tiên. Thiết kế của dữ liệu không được thay đổi khi bắt đầu mã hóa. Sau đó, dịch vụ sẽ được triển khai và mã hóa là hoạt động chính trong quá trình này. Các bài kiểm tra đơn vị và bài kiểm tra đầu cuối cũng được mã hóa. Các thử nghiệm này chứng minh rằng mã không bị lỗi và triển khai đúng đặc tả. Chúng có thể được chạy tự động theo quy trình CI/CD trước khi triển khai toàn bộ ứng dụng.


Tạo một mô hình và đào tạo nó là khác nhau. Hiểu biết về dữ liệu thô và dự đoán cần thiết là bước đầu tiên. Các kỹ sư ML phải viết một số mã để triển khai mạng lưới thần kinh của họ hoặc thiết lập một thuật toán, nhưng viết mã không phải là hoạt động chủ yếu. Thử nghiệm lặp đi lặp lại là hoạt động chính. Trong quá trình thử nghiệm, thiết kế dữ liệu, thiết kế mô hình và các tham số được sử dụng đều sẽ thay đổi. Sau mỗi thử nghiệm, các số liệu được tạo ra để cho biết mô hình hoạt động như thế nào khi được đào tạo. Các số liệu cũng được tạo để đánh giá hiệu suất của mô hình so với tập hợp xác thực và tập hợp thử nghiệm. Các số liệu này được sử dụng để chứng minh chất lượng của mô hình. Khi một mô hình đã sẵn sàng để tích hợp vào một ứng dụng, nó cần được đóng gói và triển khai.


MLOps, viết tắt của Machine Learning Operations, là một tập hợp các phương pháp và công cụ nhằm giải quyết những khác biệt này. Theo dõi và cộng tác thử nghiệm là những tính năng được liên kết nhiều nhất với MLOP, nhưng các công cụ MLOP hiện đại hơn trong ngành ngày nay có thể làm được nhiều hơn thế. Ví dụ: họ có thể cung cấp môi trường thời gian chạy cho các thử nghiệm của bạn, đồng thời họ có thể đóng gói và triển khai các mô hình sau khi chúng sẵn sàng được tích hợp vào ứng dụng. Dưới đây là tập hợp các tính năng được tìm thấy trong các công cụ MLOps ngày nay. Danh sách này cũng bao gồm những thứ khác cần xem xét, chẳng hạn như hỗ trợ và tích hợp dữ liệu.


  1. Hỗ trợ từ một người chơi lớn - Các kỹ thuật và tính năng MLOps không ngừng phát triển. Bạn muốn một công cụ được hỗ trợ bởi một người chơi lớn, đảm bảo rằng công cụ này được phát triển và cải tiến liên tục.


  2. Tích hợp Datalake hiện đại - Các thử nghiệm tạo ra nhiều dữ liệu có cấu trúc và không cấu trúc. Lý tưởng nhất là dữ liệu này có thể được lưu trữ trong Kho dữ liệu và Hồ dữ liệu. Tuy nhiên, nhiều công cụ MLOps đã xuất hiện trước Định dạng bảng mở tạo ra Datalake hiện đại, vì vậy hầu hết sẽ có giải pháp riêng cho dữ liệu có cấu trúc của chúng.


  3. Theo dõi thử nghiệm - Theo dõi các bộ dữ liệu, mô hình, siêu tham số và số liệu của từng thử nghiệm. Việc theo dõi thử nghiệm cũng sẽ tạo điều kiện thuận lợi cho khả năng lặp lại.


  4. Tạo điều kiện hợp tác - cho phép các thành viên trong nhóm xem kết quả của tất cả các thử nghiệm do tất cả kỹ sư ML thực hiện.


  5. Đóng gói mô hình - Đóng gói mô hình sao cho có thể truy cập được từ các môi trường lập trình khác.


  6. Phục vụ mô hình - Triển khai các mô hình vào môi trường chính thức của tổ chức. Bạn sẽ không cần điều này nếu bạn đã tìm ra cách kết hợp các mô hình của mình vào quy trình CI/CD hiện có.


  7. Model Regist - Duy trì tất cả các phiên bản của tất cả các mô hình.


  8. Chức năng không có máy chủ - Một số công cụ cung cấp các tính năng cho phép chú thích mã theo cách mà chức năng hoặc mô hình có thể được triển khai dưới dạng dịch vụ được đóng gói để chạy thử nghiệm trong một cụm.


  9. Khả năng của đường ống dữ liệu - Một số công cụ MLOps nhằm mục đích cung cấp các khả năng hoàn chỉnh từ đầu đến cuối và có các tính năng cho phép bạn xây dựng các đường dẫn để truy xuất và lưu trữ dữ liệu thô của mình. Bạn sẽ không cần điều này nếu bạn đã có đường dẫn dữ liệu.


  10. Khả năng của quy trình đào tạo - Khả năng sắp xếp các chức năng không có máy chủ của bạn thành Biểu đồ tuần hoàn có hướng. Đồng thời cho phép lập kế hoạch và vận hành các quy trình đào tạo.

Tác động của GPU đến cơ sở hạ tầng dữ liệu AI của bạn

Một chuỗi cũng mạnh như liên kết yếu nhất của nó - và cơ sở hạ tầng AI/ML của bạn chỉ nhanh bằng thành phần chậm nhất của bạn. Nếu bạn đào tạo các mô hình học máy bằng GPU thì liên kết yếu có thể là giải pháp lưu trữ của bạn. Kết quả là cái mà chúng tôi gọi là “Sự cố GPU chết đói”. Sự cố GPU đói xảy ra khi mạng hoặc giải pháp lưu trữ của bạn không thể cung cấp dữ liệu đào tạo cho logic đào tạo đủ nhanh để sử dụng tối đa GPU của bạn. Các triệu chứng khá rõ ràng. Nếu bạn theo dõi GPU của mình, bạn sẽ nhận thấy rằng chúng không bao giờ được sử dụng hết công suất. Nếu bạn đã thiết lập mã đào tạo của mình thì bạn sẽ nhận thấy rằng tổng thời gian đào tạo bị chi phối bởi IO.


Thật không may, có một tin xấu cho những người đang vật lộn với vấn đề này. GPU đang ngày càng nhanh hơn. Chúng ta hãy xem xét tình trạng hiện tại của GPU và một số tiến bộ đang được thực hiện với chúng để hiểu vấn đề này sẽ trở nên tồi tệ hơn như thế nào trong những năm tới.

Tình trạng hiện tại của GPU

GPU đang ngày càng nhanh hơn. Không chỉ hiệu năng thô ngày càng tốt hơn mà bộ nhớ và băng thông cũng ngày càng tăng. Chúng ta hãy xem ba đặc điểm này của GPU gần đây nhất của Nvidia A100 , các H100 H200 .


GPU

HIỆU SUẤT

KÝ ỨC

BĂNG THÔNG BỘ NHỚ

A100

624 TFLOPS

40GB

1.555GB/giây

H100

1.979 TFLOPS

80GB

3,35TB/giây

H200

1.979 TFLOPS

141GB

4,8 TB/giây


Lưu ý: Bảng trên sử dụng số liệu thống kê phù hợp với giải pháp ổ cắm PCIe (Peripheral Component Interconnect Express) cho A100 và giải pháp ổ cắm SXM (Mô-đun PCI Express máy chủ) cho H100 và H200. Số liệu thống kê SXM không tồn tại cho A100. Liên quan đến hiệu suất, thống kê Lõi căng 16 dấu phẩy động được sử dụng để so sánh.


Một vài quan sát so sánh về số liệu thống kê trên đáng được nêu ra. Đầu tiên, H100 và H200 có hiệu năng tương đương (1.979 TFLOPS), gấp 3,17 lần so với A100. H100 có bộ nhớ nhiều gấp đôi so với A100 và băng thông bộ nhớ tăng lên với mức tương tự - điều này hợp lý nếu không GPU sẽ tự chết đói. H200 có thể xử lý bộ nhớ khổng lồ 141GB và băng thông bộ nhớ của nó cũng tăng tương ứng với các GPU khác.


Chúng ta hãy xem xét từng số liệu thống kê chi tiết hơn và thảo luận về ý nghĩa của nó đối với học máy.


Hiệu suất - Một teraflop (TFLOP) là một nghìn tỷ (10^12) phép tính dấu phẩy động mỗi giây. Đó là số 1 với 12 số 0 sau nó (1.000.000.000.000). Thật khó để so sánh TFLOP với nhu cầu IO tính bằng gigabyte vì các phép toán dấu phẩy động xảy ra trong quá trình đào tạo mô hình liên quan đến phép toán tensor đơn giản cũng như các đạo hàm bậc nhất so với hàm mất mát (còn gọi là độ dốc). Tuy nhiên, có thể so sánh tương đối. Nhìn vào số liệu thống kê ở trên, chúng ta thấy rằng H100 và H200, cả hai đều hoạt động ở mức 1.979 TFLOPS, nhanh hơn ba lần - có khả năng tiêu thụ dữ liệu nhanh hơn gấp 3 lần nếu mọi thứ khác có thể theo kịp.


Bộ nhớ GPU - Còn được gọi là RAM video hoặc RAM đồ họa. Bộ nhớ GPU tách biệt với bộ nhớ chính (RAM) của hệ thống và được thiết kế đặc biệt để xử lý các tác vụ xử lý đồ họa chuyên sâu do card đồ họa thực hiện. Bộ nhớ GPU quyết định kích thước lô khi đào tạo mô hình. Trước đây, kích thước lô giảm khi logic đào tạo chuyển từ CPU sang GPU. Tuy nhiên, khi bộ nhớ GPU bắt kịp bộ nhớ CPU về dung lượng, kích thước lô được sử dụng để đào tạo GPU sẽ tăng lên. Khi hiệu suất và dung lượng bộ nhớ tăng lên cùng lúc, kết quả là các yêu cầu lớn hơn sẽ được xử lý nhanh hơn mỗi gigabyte dữ liệu huấn luyện.


Băng thông bộ nhớ - Hãy coi băng thông bộ nhớ GPU như “đường cao tốc” kết nối bộ nhớ và lõi tính toán. Nó xác định lượng dữ liệu có thể được truyền trên một đơn vị thời gian. Giống như đường cao tốc rộng hơn cho phép nhiều ô tô đi qua trong một khoảng thời gian nhất định, băng thông bộ nhớ cao hơn cho phép di chuyển nhiều dữ liệu hơn giữa bộ nhớ và GPU. Như bạn có thể thấy, các nhà thiết kế của những GPU này đã tăng băng thông bộ nhớ cho mỗi phiên bản mới tỷ lệ thuận với bộ nhớ; do đó, bus dữ liệu bên trong của chip sẽ không bị nghẽn cổ chai.

Lưu trữ đối tượng Supercharge để đào tạo mô hình

Nếu bạn đang gặp sự cố GPU Starving, hãy cân nhắc sử dụng mạng 100 GB và ổ NVMe. MỘT điểm chuẩn gần đây sử dụng MinIO với cấu hình như vậy đã đạt được 325 GiB/s trên GET và 165 GiB/s trên PUT chỉ với 32 nút SSD NVMe có sẵn.


Khi thế giới điện toán phát triển và giá DRAM đã giảm mạnh chúng tôi nhận thấy rằng cấu hình máy chủ thường đi kèm với 500GB DRAM trở lên. Khi bạn đang xử lý các hoạt động triển khai lớn hơn, ngay cả những triển khai có ổ NVMe cực kỳ dày đặc, số lượng máy chủ nhân với DRAM trên các máy chủ đó có thể nhanh chóng tăng lên - thường lên tới nhiều TB cho mỗi phiên bản. Nhóm DRAM đó có thể được cấu hình như một nhóm bộ nhớ dùng chung phân tán và lý tưởng cho các khối lượng công việc yêu cầu hiệu suất thông lượng và IOPS lớn. Do đó, chúng tôi đã xây dựng MinIO Cache để cho phép khách hàng Enterprise và Enterprise Lite định cấu hình cơ sở hạ tầng của họ nhằm tận dụng nhóm bộ nhớ dùng chung này nhằm cải thiện hơn nữa hiệu suất cho khối lượng công việc AI cốt lõi - như đào tạo GPU - đồng thời duy trì sự bền bỉ hoàn toàn.

Câu chuyện về hai tổ chức

Như một thử nghiệm suy nghĩ kết thúc, hãy kể câu chuyện về hai tổ chức thực hiện những cách tiếp cận rất khác nhau trên hành trình AI/ML của họ. Tổ chức số 1 có văn hóa “Cải tiến lặp đi lặp lại”. Họ tin rằng tất cả các sáng kiến lớn đều có thể được chia thành các dự án nhỏ hơn, dễ quản lý hơn. Những dự án nhỏ hơn này sau đó được lên lịch theo cách mà mỗi dự án sẽ xây dựng dựa trên kết quả của dự án trước đó để giải quyết các vấn đề ngày càng phức tạp hơn. Họ cũng thích những dự án nhỏ này được tổ chức theo cách mà mỗi dự án đều mang lại giá trị cho doanh nghiệp. Họ nhận thấy rằng các dự án chỉ nhằm cải thiện cơ sở hạ tầng hoặc hiện đại hóa phần mềm mà không có bất kỳ tính năng mới nào cho doanh nghiệp không được các nhà điều hành kiểm soát ngân sách ưa chuộng lắm. Do đó, họ đã học được rằng việc yêu cầu các thiết bị lưu trữ và cụm điện toán ưa thích để có bằng chứng khái niệm AI tổng quát không phải là cách tốt nhất để phối hợp các cải tiến cơ sở hạ tầng và khả năng phần mềm mới. Thay vào đó, họ sẽ bắt đầu với quy mô nhỏ với các sản phẩm cơ sở hạ tầng có thể mở rộng quy mô khi phát triển - và họ sẽ bắt đầu với các mô hình AI đơn giản để có thể sử dụng công cụ MLOP của mình và tìm ra cách làm việc với các nhóm DevOps và quy trình CI/CD hiện có.


Tổ chức số 2 có văn hóa “Đồ vật sáng bóng”. Khi ý tưởng mới nhất bước vào ngành, trước tiên nó sẽ giải quyết thách thức cao nhất để chứng tỏ sức mạnh kỹ thuật của mình. Họ nhận thấy những dự án này rất dễ thấy cả bên trong lẫn bên ngoài. Nếu có thứ gì đó bị hỏng thì người thông minh luôn có thể sửa được.


Tổ chức số 1 đã cấu trúc dự án đầu tiên của mình bằng cách xây dựng một phần cơ sở hạ tầng dữ liệu AI trong khi xây dựng mô hình đề xuất cho trang web thương mại điện tử chính của mình. Mô hình khuyến nghị tương đối đơn giản để đào tạo. Đây là một mô hình phân biệt đối xử sử dụng các bộ dữ liệu đã tồn tại trên một phần chia sẻ tệp. Tuy nhiên, khi kết thúc dự án này, nhóm cũng đã xây dựng một Datalake hiện đại nhỏ (nhưng có thể mở rộng), triển khai công cụ MLOP và có sẵn một số phương pháp hay nhất để đào tạo và triển khai các mô hình. Mặc dù mô hình này không phức tạp nhưng nó vẫn mang lại rất nhiều hiệu quả cho trang web của họ. Họ đã sử dụng những kết quả tích cực này để nhận được tài trợ cho dự án tiếp theo, đây sẽ là một giải pháp AI mang tính sáng tạo.


Tổ chức số 2 đã xây dựng một chatbot cho trang web thương mại điện tử của họ để trả lời các câu hỏi của khách hàng về sản phẩm. Các mô hình Ngôn ngữ lớn khá phức tạp - nhóm không quen với Thế hệ tăng cường tinh chỉnh hoặc truy xuất - vì vậy tất cả các chu trình kỹ sư cho dự án này đều tập trung vào việc di chuyển nhanh chóng qua một đường cong học tập dốc. Khi mô hình hoàn thiện, nó cho kết quả ổn - không có gì ngoạn mục. Thật không may, nó phải được tải phụ theo cách thủ công vào môi trường tiền sản xuất và sản xuất vì không có công cụ MLOps nào để triển khai nó. Điều này gây ra một chút xích mích với nhóm DevOps. Bản thân mẫu xe này cũng gặp một số vấn đề về độ ổn định trong quá trình sản xuất. Cụm mà nó đang chạy không có đủ khả năng tính toán cho khối lượng công việc AI tổng hợp. Có một số cuộc gọi mức độ nghiêm trọng một, dẫn đến việc tăng cường khẩn cấp cho cụm để LLM không bị lỗi trong điều kiện giao thông đông đúc. Sau dự án, một cuộc hồi cứu đã xác định rằng họ cần tăng cường cơ sở hạ tầng nếu muốn thành công với AI.

Kế hoạch xây dựng cơ sở hạ tầng dữ liệu AI/ML của bạn

Truyện ngắn trên là một câu chuyện đơn giản về hai hoàn cảnh cực đoan. Xây dựng các mô hình AI (cả phân biệt và tổng quát) khác biệt đáng kể so với phát triển phần mềm thông thường. Điều này cần được tính đến khi sắp xếp nỗ lực AI/ML. Hình ảnh dưới đây mô tả trực quan câu chuyện được kể ở phần trước. Đây là sự so sánh song song giữa Cơ sở hạ tầng dữ liệu AI đầu tiên và phương pháp tiếp cận Model First. Như câu chuyện trên đã cho thấy - mỗi viên gạch dưới đây cho cách tiếp cận đầu tiên về cơ sở hạ tầng không nhất thiết phải là một dự án độc lập. Các tổ chức nên tìm kiếm những cách sáng tạo để triển khai AI trong khi cơ sở hạ tầng của họ đang được xây dựng - điều này có thể được thực hiện bằng cách hiểu tất cả các khả năng với AI, bắt đầu đơn giản và sau đó chọn các dự án AI có độ phức tạp ngày càng tăng.


Phần kết luận

Bài đăng này trình bày kinh nghiệm của chúng tôi khi làm việc với các doanh nghiệp để xây dựng Kiến trúc tham chiếu Datalake hiện đại cho AI/ML. Nó xác định các thành phần cốt lõi, các khối xây dựng chính và sự cân bằng giữa các phương pháp tiếp cận AI khác nhau. Yếu tố nền tảng là một hồ dữ liệu hiện đại được xây dựng trên kho lưu trữ đối tượng. Kho lưu trữ đối tượng phải có khả năng cung cấp hiệu suất ở quy mô lớn - trong đó quy mô lên tới hàng trăm petabyte và thường là exabyte.


Bằng cách tuân theo kiến trúc tham chiếu này, chúng tôi dự đoán người dùng sẽ có thể xây dựng cơ sở hạ tầng dữ liệu linh hoạt, có thể mở rộng, nhắm mục tiêu vào AI và ML, nhưng sẽ có hiệu suất như nhau trên tất cả khối lượng công việc OLAP. Để nhận được đề xuất cụ thể về các bộ phận cấu thành, vui lòng liên hệ với tôi theo địa chỉ [email protected] .