HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Tạo tiêu chuẩn mở:Quản trị máy học bằng Apache Atlas

Học máy (ML) đã trở thành một trong những khả năng quan trọng nhất để các doanh nghiệp hiện đại phát triển và duy trì tính cạnh tranh ngày nay. Từ việc tự động hóa các quy trình nội bộ đến tối ưu hóa quy trình thiết kế, sáng tạo và tiếp thị đằng sau hầu hết mọi sản phẩm được tiêu thụ, các mô hình ML đã thâm nhập vào hầu hết mọi khía cạnh của công việc và cuộc sống cá nhân của chúng ta - và đối với các doanh nghiệp, lợi nhuận chưa bao giờ cao hơn thế. Không áp dụng ML như một năng lực cốt lõi sẽ dẫn đến những bất lợi cạnh tranh lớn sẽ xác định các nhà dẫn đầu thị trường tiếp theo.

Do đó, các nhà lãnh đạo doanh nghiệp và công nghệ cần triển khai các mô hình ML trên toàn bộ tổ chức của họ, trải dài trên nhiều trường hợp sử dụng. Tuy nhiên, cảm giác cấp bách này, kết hợp với sự giám sát ngày càng nhiều về quy định, tạo ra những thách thức quản trị mới và độc đáo mà hiện nay rất khó quản lý. Ví dụ:Các mô hình của tôi tác động như thế nào đến các dịch vụ được cung cấp cho khách hàng cuối? Tôi có còn tuân thủ các quy định của chính phủ và nội bộ không? Các quy tắc bảo mật của tôi sẽ chuyển sang các mô hình đang được sản xuất như thế nào?

Ngoài các mối quan tâm về quy định hoặc pháp lý, có một số lý do để có các quy trình và thủ tục quản trị cho Học máy. Ví dụ bao gồm các cách tăng năng suất (chẳng hạn như tái sử dụng các nội dung như mô hình và tính năng), kiểm soát và duy trì các mô hình trên nhiều ngành kinh doanh khác nhau để đảm bảo các ứng dụng quan trọng trong kinh doanh đang thực hiện những gì chúng dự định làm (hoặc tìm ra những ứng dụng không phù hợp) và xem lịch sử của các mô hình và dự đoán bao gồm cả các nội dung không dùng nữa.

Để giải quyết những thách thức này, cần xác định rõ các mô hình và tính năng là gì về mặt khái niệm (xem Hình 1). Có nhiều định nghĩa khác nhau, nhưng nhìn chung, một mô hình là bất kỳ gói độc lập nào lấy các tính năng được tính toán từ dữ liệu đầu vào và tạo ra dự đoán (hoặc điểm số) và siêu dữ liệu. Gói này có thể có nhiều dạng nhưng luôn bao gồm một biểu diễn toán học, mã, logic nghiệp vụ và dữ liệu đào tạo. Các dự đoán của mô hình được hệ thống hoặc người dùng sử dụng.

Nhiều doanh nghiệp vận hành cơ sở hạ tầng mô hình ML ở các quy mô và mức độ trưởng thành khác nhau mà họ yêu cầu các công cụ để giúp họ quản lý mô hình của mình. Cuối cùng, nhu cầu về quản trị ML có thể được chắt lọc thành các lĩnh vực chính sau:khả năng hiển thị; và khả năng giải thích, khả năng diễn giải và khả năng tái lập của mô hình.

Hình 1

Khả năng hiển thị của các mô hình và tính năng trong các nhóm và trong các tổ chức

Một yêu cầu cơ bản đối với quản trị mô hình là cho phép các nhóm hiểu cách học máy đang được áp dụng trong tổ chức của họ. Điều này yêu cầu một danh mục chính tắc về các mô hình và tính năng. Khi không có danh mục như vậy, nhiều tổ chức không biết về các mô hình và tính năng của chúng, chúng được triển khai ở đâu, chúng đang làm gì, v.v.

Khả năng giải thích, khả năng diễn giải và khả năng tái lập của mô hình

Mô hình thường được coi như một hộp đen:dữ liệu đi vào, điều gì đó xảy ra và dự đoán xuất hiện. Sự không minh bạch này đang thách thức ở một số cấp độ và thường được thể hiện bằng các thuật ngữ liên quan lỏng lẻo như:

  • Khả năng giải thích :mô tả về cơ chế bên trong của mô hình ML dưới góc độ con người
  • Khả năng diễn giải :khả năng a) hiểu mối quan hệ giữa đầu vào, tính năng và đầu ra của mô hình và b) dự đoán phản ứng với những thay đổi trong đầu vào.
  • Khả năng tái tạo :khả năng tái tạo đầu ra của một mô hình theo cách nhất quán cho các đầu vào giống nhau.

Tất cả những điều này đều yêu cầu chức năng chung bao gồm liên kết với dữ liệu nguồn, hiểu rõ về nội bộ của mô hình như mã và dữ liệu đào tạo cũng như các phương pháp khác để tự thăm dò và phân tích mô hình.

Siêu dữ liệu mô hình với một ví dụ

Để giải quyết các vấn đề quản trị được xác định ở trên, chúng ta hãy bắt đầu bằng cách suy nghĩ về một ví dụ. Xem xét một trang web giao đồ ăn. Công ty muốn tận dụng công nghệ máy học để ước tính thời gian giao hàng.

Tập dữ liệu đào tạo bao gồm nhật ký sự kiện từ các lần phân phối trước, chứa thời gian phân phối cho mỗi lần phân phối được thực hiện trong quá khứ. Dữ liệu này được sử dụng để đào tạo mô hình ước tính thời gian giao hàng trong tương lai.

Nhật ký sự kiện có thể trông giống như sau:

Một đơn đặt hàng đã được đặt lúc 10 giờ sáng để lấy thức ăn từ loc1 và giao cho loc2. Người chuyển phát nhanh đã nhận nó từ nhà hàng lúc 10:15 sáng và giao lúc 10:55 sáng, mất tổng cộng 55 phút từ khi đặt hàng đến khi giao hàng

Giả sử loc1 và loc2 là địa chỉ đường phố. Từ này được viết tắt ở đây để giữ cho nó ngắn gọn và dễ đọc.

Các bản ghi sự kiện được lưu trữ trong HBase. Kiến trúc kỹ thuật để phát triển mô hình như sau:

  1. Kỹ sư dữ liệu xác định khoảng thời gian của nhật ký sự kiện sẽ được sử dụng để giải quyết vấn đề. Một bảng Hive có cấu trúc mới được tạo bằng cách phân tích cú pháp các bản ghi sự kiện thô với khoảng thời gian đã xác định.
  2. Kỹ sư tính năng (đây có thể là một vai trò trong các nhà khoa học dữ liệu hoặc kỹ sư ML) xác định và phát triển các tính năng mới:
    • Tính năng của Giờ cao điểm:Một chức năng để xác định xem điều kiện giờ cao điểm có tồn tại hay không với một vị trí và thời gian.
    • Nhà hàng Tính năng:Một chức năng để xác định xem một nhà hàng nhất định có đang trải qua thời gian chờ cao hay không dựa trên dữ liệu lịch sử. Dữ liệu lịch sử này được thu thập riêng biệt.
  3. Các tính năng đã xác định ở trên sau đó được xây dựng dưới dạng thư viện python để sử dụng lại.
  4. Thư viện này được sử dụng để áp dụng chức năng cho bảng Hive có cấu trúc để tạo một bảng mới sẽ là Tập dữ liệu đào tạo cuối cùng. Một hàng trong bảng mới trông giống như sau:

    Giả sử loc1 và loc2 là địa chỉ đường phố. Từ này được viết tắt ở đây để giữ cho nó ngắn gọn và dễ đọc.

  5. Dữ liệu Nhà khoa học chạy hồi quy tuyến tính trên Tập dữ liệu đào tạo để dự đoán thời gian giao hàng. Tại thời điểm này, họ phải sử dụng cùng một thư viện tính năng đã được sử dụng để trích xuất các tính năng trong tập dữ liệu đào tạo.
  6. Mô hình được triển khai dưới dạng điểm cuối Chức năng như một Dịch vụ (FaaS) được ứng dụng web sử dụng để dự đoán thời gian giao hàng.

Lưu ý rằng mô hình cần tính toán các tính năng để dự đoán trong thời gian thực. Các tính năng này là thư viện được sử dụng trong nội bộ mô hình. Hình ảnh trực quan về các hoạt động khác nhau được thực hiện và các tạo tác được tạo ra trong ví dụ này có thể trông giống như sau:

Các hộp màu xanh lam đại diện cho các thực thể ML (danh từ) như mã, dự án, bản dựng, triển khai, v.v. Các hộp màu xanh lục đại diện cho các quy trình (động từ) hoạt động dựa trên các thực thể và tạo ra các thực thể khác.

Sự hình dung và các mối quan hệ xác định các biến đổi trên cấu trúc dữ liệu được gọi chung là dòng dõi . Trong thế giới cơ sở dữ liệu, việc thêm một cột mới vào bảng sẽ sửa đổi dòng của nó. Trong thế giới máy học, việc đào tạo lại một mô hình bằng cách sử dụng các tính năng và tập dữ liệu sẽ sửa đổi dòng. Đối với trang web giao đồ ăn, để trả lời câu hỏi:“có sự khác biệt giữa việc khai thác tính năng trong quá trình đào tạo và tính điểm”, chúng tôi cần thông tin về dòng dõi. Đây chỉ là một ví dụ về tính hữu ích của siêu dữ liệu truyền thống trong thế giới máy học.

Apache Atlas như một công cụ quản trị

Rõ ràng là việc xây dựng một hệ thống hoàn chỉnh từ đầu đến cuối cho các quy trình ML — từ tập dữ liệu đào tạo đến triển khai mô hình — trở thành một yêu cầu quan trọng để giải quyết các vấn đề quản trị đã xác định. Việc tích hợp quản lý dữ liệu và học máy phải cho phép khả năng giải thích, khả năng diễn giải và khả năng tái tạo.

Việc thu thập, lưu trữ và hiển thị siêu dữ liệu ML cần một hệ thống phần mềm phụ trợ tiêu chuẩn. Định nghĩa siêu dữ liệu mở và có thể mở rộng sẽ cho phép tiêu chuẩn hóa các hoạt động quản trị bất kể mô hình được phát triển hoặc phục vụ ở đâu. Ứng cử viên rõ ràng cho Cloudera (và khách hàng của chúng tôi) là Apache Atlas.

Apache Atlas đã là một bộ công cụ quản trị được sử dụng rộng rãi với các loại siêu dữ liệu được xác định trước để quản lý dữ liệu. Trong bối cảnh quản trị ML, nó rất phù hợp để xác định và nắm bắt siêu dữ liệu cần thiết cho các khái niệm học máy. Ngoài ra, Apache Atlas cung cấp các khả năng nâng cao như phân loại, tích hợp với Apache Ranger (để ủy quyền và gắn thẻ) để đặt tên cho một số và có hệ thống bổ trợ có thể mở rộng cho phép cộng đồng cộng tác và dần dần xác định tích hợp cho nhiều công cụ khác trong ML khoảng trống. Đây là một bài tập để người đọc khám phá giao diện người dùng của Apache Atlas và xem cách sử dụng những khả năng này.

Định nghĩa siêu dữ liệu ML trong Apache Atlas

Hệ thống loại bản đồ Apache phù hợp với tất cả các nhu cầu của chúng tôi để xác định các đối tượng Siêu dữ liệu ML. Nó là mã nguồn mở, có thể mở rộng và có các tính năng quản trị được xây dựng trước. Loại trong Atlas là một định nghĩa về cách một loại đối tượng siêu dữ liệu cụ thể được lưu trữ và truy cập. Nó cũng đại diện cho một hoặc nhiều thuộc tính xác định các thuộc tính cho đối tượng siêu dữ liệu. Đối với quản trị ML, Hệ thống kiểu Atlas có thể được sử dụng để xác định các Kiểu mới, nắm bắt các thực thể và quy trình ML dưới dạng các đối tượng siêu dữ liệu Atlas. Ngoài định nghĩa về Loại, mối quan hệ giữa các thực thể và quy trình cũng được yêu cầu để hình dung luồng truyền thừa từ đầu đến cuối.

Nếu chúng ta liên hệ điều này với ví dụ trang web giao hàng thực phẩm được mô tả trước đó, Hệ thống loại bản đồ cung cấp một nền tảng tốt để xác định dòng Máy học. Hệ thống dòng dõi ML tổng quát được hình dung như sau:

Như rõ ràng từ sơ đồ trên, Định nghĩa siêu dữ liệu cho học máy bám sát quy trình công việc học máy thực tế. Tập dữ liệu huấn luyện là điểm khởi đầu cho một dòng truyền thừa mô hình. Các tập dữ liệu này có thể là bảng từ kho dữ liệu hoặc tệp csv được nhúng. Khi tập dữ liệu đã được xác định, dòng dõi sẽ bắt đầu đào tạo, xây dựng và triển khai mô hình.

Phát triển tính năng ML là một hoạt động song song và chuyên biệt có thể được gọi là kỹ thuật tính năng (khác với kỹ thuật mô hình). Ngày nay, trong nhiều trường hợp, hai hoạt động (kỹ thuật mô hình và kỹ thuật tính năng) được thực hiện bởi cùng một người hoặc một nhóm. Với việc dân chủ hóa và công nghiệp hóa các tính năng, điều này có thể thay đổi trong tương lai, với các nhóm chuyên trách để phát triển mô hình và phát triển tính năng.

Hệ thống kiểu ML hiện có thể được xác định thông qua các kiểu mới sau:

“Tạo Dự án Máy học” và “Dự án Máy học”

Một Dự án Máy học duy nhất đại diện cho một trường hợp sử dụng kinh doanh duy nhất. Dự án Máy học đại diện cho vùng chứa tệp và các nội dung nhúng khác. Ở mức tối thiểu, siêu dữ liệu của dự án chứa:

  • Danh sách các tệp được sử dụng trong mô hình
  • Phiên bản lịch sử của tất cả các tệp
    • Cách triển khai đơn giản nhất là duy trì dự án dưới dạng kho lưu trữ git dựa vào Git để duy trì lịch sử của tất cả các tệp.
“Tập dữ liệu đào tạo”

Một kiểu con của Tập dữ liệu trong Atlas đại diện cho tập dữ liệu đào tạo. Thực thể Tập dữ liệu đào tạo được sử dụng trong quá trình đào tạo mô hình. Nó có thể được liên kết với một đối tượng địa lý nếu dữ liệu được tạo ra là kết quả của việc áp dụng trích xuất (hoặc chuyển đổi) đối tượng địa lý sang một tập dữ liệu khác.

“Đào tạo và xây dựng”

Một quá trình đại diện cho hành động đào tạo và xây dựng một mô hình. Bao gồm chạy thử nghiệm, điều chỉnh và hoàn thiện lựa chọn thuật toán đào tạo. Quá trình đào tạo và xây dựng có thể tùy ý sử dụng đầu ra của một Bản dựng tính năng; ví dụ, một hàm thư viện xác định tính năng trích xuất được sử dụng trong nội bộ mô hình.

“Bản dựng mô hình”

Mô hình được hoàn thiện và tạo phiên bản sau khi một nhà khoa học dữ liệu đã hoàn thành quá trình thử nghiệm và đào tạo mô hình. Quá trình xử lý này dẫn đến Bản dựng mô hình, là một tạo tác bất biến tạo thành khối xây dựng để sản xuất mô hình. Hình ảnh Docker là một ví dụ về thực thể Xây dựng mô hình.

“Mô hình triển khai” và “Triển khai mô hình”

Một bản dựng mô hình trải qua một quá trình triển khai, quá trình này tạo ra một bản Triển khai mô hình. Triển khai Mô hình đại diện cho việc khởi tạo một mô hình đang hoạt động. Dịch vụ REST dựa trên Kubernetes (triển khai kiểu FaaS) là một ví dụ về thực thể Triển khai mô hình.

“Chức năng tính năng”

Tính năng học máy có hai cách diễn giải:1) Chức năng của tính năng và 2) Tập dữ liệu đã biến đổi.

Thực thể Hàm tính năng là một hàm tùy chỉnh (được thể hiện bằng mã) xác định cách trích xuất một đối tượng địa lý đã xác định từ đầu vào. Điều này đại diện cho mã cho các tính năng, tương tự như cách ML Project đại diện cho vùng chứa cho mã ML.

Chức năng Tính năng lần đầu tiên được đóng gói dưới dạng thư viện (đã được tạo phiên bản và được làm cứng). Sau đó, thư viện được sử dụng và áp dụng trên một DataSet nhất định để biến nó thành một DataSet mới (với các tính năng được trích xuất). Tập dữ liệu đã chuyển đổi được đại diện bởi thực thể Tập dữ liệu đào tạo được xác định ở trên.

“Tính năng gói” và “Bản dựng tính năng”

Mã trong Hàm tính năng được đóng gói để chia sẻ (với các kiểu máy khác) hoặc để chấm điểm thời gian chạy. Các gói này được gọi là Bản dựng tính năng. Ví dụ:một Bản dựng tính năng có thể chứa một thư viện đóng gói (trong python) hoặc một tệp jar (trong Java). Gói này có thể được hấp thụ trong quá trình đào tạo và xây dựng mô hình để đảm bảo rằng cùng một tính năng được sử dụng trong quá trình trích xuất cũng như dự đoán.

Hãy thử và tham gia vào việc xác định tương lai của Định nghĩa siêu dữ liệu ML

Chúng tôi đã bắt đầu làm việc trên ATLAS-3432, đây là lần triển khai đầu tiên của Hệ thống loại học máy sử dụng Bàn làm việc Khoa học Dữ liệu Cloudera (CDSW) làm ứng dụng khách thí điểm. Cảm ơn Na Li từ nhóm kỹ sư Cloudera đã dẫn đầu công việc xây dựng tích hợp CDSW. ATLAS-3432 sẽ cho phép siêu dữ liệu mô hình từ một phiên bản CDSW được đẩy sang một phiên bản Apache Atlas để khám phá dòng dõi. CDSW hiện không hỗ trợ các tính năng (hoặc một cửa hàng tính năng), và do đó, hệ thống liên quan đến các tính năng sẽ không khả dụng.

Tại Cloudera, chúng tôi không muốn đơn giản giải quyết vấn đề này cho khách hàng của mình - chúng tôi tin rằng các định nghĩa siêu dữ liệu ML phải phổ biến tương tự như cách các bảng, cột, v.v. rất chuẩn cho cấu trúc dữ liệu. Chúng tôi hy vọng rằng các cộng đồng sẽ đóng góp vào việc xác định tiêu chuẩn này để giúp các công ty khai thác tối đa các nền tảng ML của họ.

Bạn có trường hợp sử dụng quản trị học máy không phù hợp với mô hình siêu dữ liệu không? Tham gia cuộc trò chuyện bằng cách đăng các đề xuất của bạn tới [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apache HBase + Apache Hadoop + Xceivers

  2. HBase BlockCache 101

  3. Apache HBase I / O - HFile

  4. giết zombie chết máy chủ vùng

  5. 20 Sự khác biệt đáng chú ý giữa Hadoop 2.x và Hadoop 3.x