Logo Zephyrnet

Thúc đẩy việc khám phá và sử dụng lại tính năng trong tổ chức của bạn bằng Amazon SageMaker Feature Store và khả năng siêu dữ liệu cấp tính năng của nó

Ngày:

Cửa hàng tính năng Amazon SageMaker giúp các nhà khoa học dữ liệu và các kỹ sư học máy (ML) lưu trữ, khám phá và chia sẻ dữ liệu được quản lý một cách an toàn được sử dụng trong các quy trình đào tạo và dự đoán. Feature Store là một cửa hàng tập trung cho các tính năng và siêu dữ liệu liên quan, cho phép các nhóm nhà khoa học dữ liệu làm việc trên các dự án hoặc mô hình ML khác nhau dễ dàng khám phá và sử dụng lại các tính năng.

Với Cửa hàng tính năng, bạn luôn có thể thêm siêu dữ liệu ở cấp nhóm tính năng. Các nhà khoa học dữ liệu muốn có khả năng tìm kiếm và khám phá các tính năng hiện có cho mô hình của họ hiện có khả năng tìm kiếm thông tin ở cấp tính năng bằng cách thêm siêu dữ liệu tùy chỉnh. Ví dụ: thông tin có thể bao gồm mô tả về đối tượng địa lý, ngày đối tượng địa lý được sửa đổi lần cuối, nguồn dữ liệu ban đầu, các chỉ số nhất định hoặc mức độ nhạy cảm.

Sơ đồ sau minh họa mối quan hệ kiến ​​trúc giữa các nhóm đối tượng, tính năng và siêu dữ liệu được liên kết. Lưu ý cách các nhà khoa học dữ liệu hiện có thể chỉ định mô tả và siêu dữ liệu ở cả cấp nhóm đối tượng và cấp đối tượng riêng lẻ.

Trong bài đăng này, chúng tôi giải thích cách các nhà khoa học dữ liệu và kỹ sư ML có thể sử dụng siêu dữ liệu cấp tính năng với khả năng tìm kiếm và khám phá mới của Feature Store để thúc đẩy việc tái sử dụng tính năng tốt hơn trong tổ chức của họ. Khả năng này có thể giúp các nhà khoa học dữ liệu đáng kể trong quá trình lựa chọn đối tượng địa lý và do đó, giúp bạn xác định các đối tượng địa lý dẫn đến tăng độ chính xác của mô hình.

Trường hợp sử dụng

Với mục đích của bài đăng này, chúng tôi sử dụng hai nhóm tính năng, customerloan.

Sản phẩm customer nhóm tính năng có các tính năng sau:

  • tuổi - Tuổi của khách hàng (số)
  • việc làm - Loại công việc (được mã hóa một nóng, chẳng hạn như admin or services)
  • hôn nhân - Tình trạng hôn nhân (được mã hóa một lần, chẳng hạn như married or single)
  • giáo dục - Trình độ học vấn (được mã hóa một cách nóng bỏng, chẳng hạn như basic 4y or high school)

Sản phẩm loan nhóm tính năng có các tính năng sau:

  • mặc định - Có tín dụng bị vỡ nợ không? (mã hóa một nóng: no or yes)
  • nhà ở - Có vay mua nhà không? (mã hóa một nóng: no or yes)
  • cho vay - Có khoản vay cá nhân? (mã hóa một nóng: no or yes)
  • tổng cộng - Tổng số tiền cho vay (số)

Hình sau đây cho thấy các nhóm tính năng mẫu và siêu dữ liệu tính năng.

Mục đích của việc thêm mô tả và gán siêu dữ liệu cho từng tính năng là để tăng tốc độ khám phá bằng cách cho phép các tham số tìm kiếm mới mà nhà khoa học dữ liệu hoặc kỹ sư ML có thể khám phá các tính năng. Những thông tin này có thể phản ánh thông tin chi tiết về một đối tượng địa lý, chẳng hạn như cách tính của đối tượng địa lý, cho dù đó là trung bình trong 6 tháng hay 1 năm, nguồn gốc, người tạo hay chủ sở hữu, ý nghĩa của đối tượng địa lý và hơn thế nữa.

Trong các phần sau, chúng tôi cung cấp hai cách tiếp cận để tìm kiếm và khám phá các tính năng cũng như định cấu hình siêu dữ liệu cấp tính năng: cách thứ nhất sử dụng Xưởng sản xuất Amazon SageMaker trực tiếp và thứ hai theo chương trình.

Khám phá tính năng trong Studio

Bạn có thể dễ dàng tìm kiếm và truy vấn các tính năng bằng Studio. Với khả năng tìm kiếm và khám phá nâng cao mới, bạn có thể truy xuất kết quả ngay lập tức bằng cách sử dụng kiểu đơn giản trước một vài ký tự.

Ảnh chụp màn hình sau thể hiện các khả năng sau:

  • Bạn có thể truy cập Danh mục tính năng tab và quan sát các tính năng trên các nhóm tính năng. Các đối tượng địa lý được trình bày trong một bảng bao gồm tên đối tượng địa lý, loại, mô tả, thông số, ngày tạo và tên nhóm đối tượng địa lý được liên kết.
  • Bạn có thể sử dụng trực tiếp chức năng gõ trước để trả về kết quả tìm kiếm ngay lập tức.
  • Bạn có thể linh hoạt sử dụng các loại tùy chọn bộ lọc khác nhau: All, Feature name, Description, hoặc là Parameters. Lưu ý rằng All sẽ trả lại tất cả các tính năng mà một trong hai Feature name, Description, hoặc là Parameters phù hợp với tiêu chí tìm kiếm.
  • Bạn có thể thu hẹp tìm kiếm hơn nữa bằng cách chỉ định phạm vi ngày bằng cách sử dụng Created fromCreated to các trường và chỉ định các tham số bằng cách sử dụng Search parameter keySearch parameter value các lĩnh vực.

Sau khi bạn đã chọn một đối tượng địa lý, bạn có thể chọn tên đối tượng địa lý đó để hiển thị thông tin chi tiết. Khi bạn chọn Chỉnh sửa siêu dữ liệu, bạn có thể thêm mô tả và tối đa 25 tham số khóa-giá trị, như được hiển thị trong ảnh chụp màn hình sau. Trong chế độ xem này, cuối cùng bạn có thể tạo, xem, cập nhật và xóa siêu dữ liệu của đối tượng địa lý. Ảnh chụp màn hình sau minh họa cách chỉnh sửa siêu dữ liệu tính năng cho total_amount.

Như đã nêu trước đây, việc thêm các cặp khóa-giá trị vào một đối tượng địa lý sẽ cung cấp cho bạn nhiều thứ nguyên hơn để tìm kiếm các đối tượng địa lý cụ thể của chúng. Ví dụ của chúng tôi, nguồn gốc của đối tượng địa lý đã được thêm vào siêu dữ liệu của mọi đối tượng địa lý. Khi bạn chọn biểu tượng tìm kiếm và lọc theo cặp khóa-giá trị origin: job, bạn có thể thấy tất cả các tính năng được mã hóa một lần từ thuộc tính cơ sở này.

Khám phá tính năng bằng mã

Bạn cũng có thể truy cập và cập nhật thông tin tính năng thông qua Giao diện dòng lệnh AWS (AWS CLI) và SDK (Boto3) thay vì trực tiếp thông qua Bảng điều khiển quản lý AWS. Điều này cho phép bạn tích hợp chức năng tìm kiếm cấp tính năng của Cửa hàng tính năng với các nền tảng khoa học dữ liệu tùy chỉnh của riêng bạn. Trong phần này, chúng tôi tương tác với các điểm cuối API Boto3 để cập nhật và tìm kiếm siêu dữ liệu của tính năng.

Để bắt đầu cải thiện việc tìm kiếm và khám phá tính năng, bạn có thể thêm siêu dữ liệu bằng cách sử dụng update_feature_metadata API. Ngoài các descriptioncreated_date , bạn có thể thêm tối đa 25 tham số (cặp khóa-giá trị) vào một đối tượng địa lý nhất định.

Đoạn mã sau đây là một ví dụ về năm tham số khóa-giá trị có thể có đã được thêm vào job_admin tính năng. Tính năng này đã được tạo ra, cùng với job_servicesjob_none, bằng cách mã hóa một nóng job.

sagemaker_client.update_feature_metadata(
    FeatureGroupName="customer",
    FeatureName="job_admin",
    ParameterAdditions=[
        {"Key": "author", "Value": "arnaud"}, # Feature's author
        {"Key": "team", "Value": "mlops"}, # Team owning the feature
        {"Key": "origin", "Value": "job"}, # Raw input parameter
        {"Key": "sensitivity", "Value": "5"}, # 1-5 scale for data sensitivity
        {"Key": "env", "Value": "testing"} # Environment the feature is used in
    ]
)

Sau author, team, origin, sensitivityenv đã được thêm vào job_admin tính năng, các nhà khoa học dữ liệu hoặc kỹ sư ML có thể truy xuất chúng bằng cách gọi describe_feature_metadata API. Bạn có thể điều hướng đến Parameters đối tượng trong phản hồi cho siêu dữ liệu mà chúng tôi đã thêm trước đó vào tính năng của mình. Các describe_feature_metadata Điểm cuối API cho phép bạn hiểu sâu hơn về một tính năng nhất định bằng cách lấy siêu dữ liệu được liên kết của nó.

response = sagemaker_client.describe_feature_metadata(
    FeatureGroupName="customer",
    FeatureName="job_admin",
)

# Navigate to 'Parameters' in response to get metadata
metadata = response['Parameters']

Bạn có thể tìm kiếm các tính năng bằng cách sử dụng SageMaker search API sử dụng siêu dữ liệu làm thông số tìm kiếm. Đoạn mã sau là một hàm ví dụ có search_string tham số làm đầu vào và trả về tất cả các tính năng trong đó tên, mô tả hoặc các tham số của đối tượng khớp với điều kiện:

def search_features_using_string(search_string):
    response = sagemaker_client.search(
        Resource= "FeatureMetadata",
        SearchExpression={
            'Filters': [
               {
                   'Name': 'FeatureName',
                   'Operator': 'Contains',
                   'Value': search_string
               },
               {
                   'Name': 'Description',
                   'Operator': 'Contains',
                   'Value': search_string
               },
               {
                   'Name': 'AllParameters',
                   'Operator': 'Contains',
                   'Value': search_string
               }
           ],
           "Operator": "Or"
        },
    )

    # Displaying results in a pandas DataFrame
    df=pd.json_normalize(response['Results'], max_level=1)
    df.columns = df.columns.map(lambda col: col.split(".")[1])
    df=df.drop('FeatureGroupArn', axis=1)

    return df

Đoạn mã sau sử dụng search_features chức năng để truy xuất tất cả các đối tượng địa lý mà tên đối tượng địa lý, mô tả hoặc các tham số chứa từ job:

search_results = search_features_using_string('mlops')
search_results

Ảnh chụp màn hình sau chứa danh sách các tên đối tượng phù hợp cũng như siêu dữ liệu tương ứng của chúng, bao gồm cả dấu thời gian cho lần tạo và sửa đổi cuối cùng của mỗi đối tượng. Bạn có thể sử dụng thông tin này để cải thiện khả năng khám phá và khả năng hiển thị các tính năng của tổ chức mình.

Kết luận

SageMaker Feature Store cung cấp giải pháp quản lý tính năng được xây dựng có mục đích để giúp các tổ chức phát triển ML theo quy mô trên các đơn vị kinh doanh và nhóm khoa học dữ liệu. Cải thiện việc tái sử dụng tính năng và tính nhất quán của tính năng là những lợi ích chính của cửa hàng tính năng. Trong bài đăng này, chúng tôi đã giải thích cách bạn có thể sử dụng siêu dữ liệu cấp tính năng để cải thiện việc tìm kiếm và khám phá các tính năng. Điều này bao gồm việc tạo siêu dữ liệu xung quanh nhiều trường hợp sử dụng khác nhau và sử dụng nó làm thông số tìm kiếm bổ sung.

Hãy thử và cho chúng tôi biết suy nghĩ của bạn trong nhận xét. Nếu bạn muốn tìm hiểu thêm về các tính năng cộng tác và chia sẻ trong Feature Store, hãy tham khảo Cho phép sử dụng lại tính năng trên các tài khoản và nhóm bằng Amazon SageMaker Feature Store.


Giới thiệu về tác giả

Arnaud Lauer là Kiến trúc sư Giải pháp Đối tác Cấp cao trong nhóm Khu vực công tại AWS. Anh ấy giúp các đối tác và khách hàng hiểu cách tốt nhất để sử dụng các công nghệ AWS để chuyển các nhu cầu kinh doanh thành các giải pháp. Ông có hơn 16 năm kinh nghiệm trong việc cung cấp và kiến ​​trúc các dự án chuyển đổi kỹ thuật số trên nhiều lĩnh vực, bao gồm khu vực công, năng lượng và hàng tiêu dùng. Trí tuệ nhân tạo và máy học là một số niềm đam mê của anh ấy. Arnaud có 12 chứng chỉ AWS, bao gồm cả Chứng nhận Chuyên môn ML.

Nicolas Bernier là Kiến trúc sư giải pháp liên kết, thuộc nhóm Khu vực công Canada tại AWS. Anh ấy hiện đang thực hiện bằng thạc sĩ với lĩnh vực nghiên cứu trong Học sâu và có năm chứng chỉ AWS, bao gồm cả Chứng chỉ Chuyên môn ML. Nicolas đam mê giúp khách hàng nâng cao kiến ​​thức về AWS bằng cách hợp tác với họ để chuyển những thách thức kinh doanh của họ thành các giải pháp kỹ thuật.

Đánh dấu Roy là Kiến trúc sư chính về Máy học cho AWS, giúp khách hàng thiết kế và xây dựng các giải pháp AI / ML. Công việc của Mark bao gồm một loạt các trường hợp sử dụng ML, với mối quan tâm chính là tầm nhìn máy tính, học sâu và mở rộng ML trong toàn doanh nghiệp. Ông đã giúp đỡ các công ty trong nhiều ngành, bao gồm bảo hiểm, dịch vụ tài chính, truyền thông và giải trí, chăm sóc sức khỏe, tiện ích và sản xuất. Mark có sáu chứng chỉ AWS, bao gồm cả Chứng nhận Chuyên môn ML. Trước khi gia nhập AWS, Mark là kiến ​​trúc sư, nhà phát triển và nhà lãnh đạo công nghệ trong hơn 25 năm, trong đó có 19 năm trong lĩnh vực dịch vụ tài chính.

Khushboo Srivastava là Giám đốc Sản phẩm Cấp cao của Amazon SageMaker. Cô ấy thích xây dựng các sản phẩm giúp đơn giản hóa quy trình công việc học máy cho khách hàng. Khi rảnh rỗi, cô thích chơi violin, tập yoga và đi du lịch.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?