Giúp bảo vệ Great Barrier Reef với TensorFlow trên Kaggle Tham Challenge

Hướng dẫn sử dụng TFX

Giới thiệu

TFX là một nền tảng máy học (ML) quy mô sản xuất của Google dựa trên TensorFlow. Nó cung cấp một khung cấu hình và các thư viện được chia sẻ để tích hợp các thành phần chung cần thiết để xác định, khởi chạy và giám sát hệ thống học máy của bạn.

TFX 1.0

Chúng tôi rất vui mừng thông báo sự sẵn có của TFX 1.0.0 . Đây là bản phát hành sau beta ban đầu của TFX, cung cấp các API và tạo tác công khai ổn định. Bạn có thể yên tâm rằng đường ống TFX tương lai của bạn sẽ tiếp tục làm việc sau khi nâng cấp trong phạm vi khả năng tương thích định nghĩa trong này RFC .

Cài đặt

PythonPyPI

pip install tfx

Gói hàng đêm

TFX cũng tổ chức gói hàng đêm tại https://pypi-nightly.tensorflow.org trên Google Cloud. Để cài đặt gói hàng đêm mới nhất, vui lòng sử dụng lệnh sau:

pip install -i https://pypi-nightly.tensorflow.org/simple --pre tfx

Điều này sẽ cài đặt các gói hàng đêm cho các yếu tố phụ thuộc chính của TFX như Phân tích mô hình TensorFlow (TFMA), Xác thực dữ liệu TensorFlow (TFDV), Chuyển đổi TensorFlow (TFT), Thư viện chia sẻ cơ bản TFX (TFX-BSL), Siêu dữ liệu ML (MLMD).

Về TFX

TFX là một nền tảng để xây dựng và quản lý quy trình làm việc ML trong môi trường sản xuất. TFX cung cấp những điều sau:

  • Một bộ công cụ để xây dựng đường ống ML. Các đường ống TFX cho phép bạn sắp xếp quy trình làm việc ML của mình trên một số nền tảng, chẳng hạn như: Apache Airflow, Apache Beam và Kubeflow Pipelines.

    Tìm hiểu thêm về đường ống TFX .

  • Một tập hợp các thành phần tiêu chuẩn mà bạn có thể sử dụng như một phần của đường dẫn hoặc như một phần của tập lệnh đào tạo ML của bạn. Các thành phần tiêu chuẩn TFX cung cấp chức năng đã được chứng minh để giúp bạn bắt đầu xây dựng quy trình ML một cách dễ dàng.

    Tìm hiểu thêm về các thành phần tiêu chuẩn TFX .

  • Các thư viện cung cấp chức năng cơ bản cho nhiều thành phần tiêu chuẩn. Bạn có thể sử dụng các thư viện TFX để thêm chức năng này vào các thành phần tùy chỉnh của riêng mình hoặc sử dụng chúng một cách riêng biệt.

    Tìm hiểu thêm về các thư viện TFX .

TFX là một bộ công cụ học máy ở quy mô sản xuất của Google dựa trên TensorFlow. Nó cung cấp một khung cấu hình và các thư viện được chia sẻ để tích hợp các thành phần chung cần thiết để xác định, khởi chạy và giám sát hệ thống học máy của bạn.

Thành phần tiêu chuẩn TFX

Một TFX đường ống là một chuỗi các thành phần mà thực hiện một đường ống ML được thiết kế đặc biệt cho máy khả năng mở rộng, hiệu suất cao nhiệm vụ học tập. Điều đó bao gồm lập mô hình, đào tạo, cung cấp suy luận và quản lý việc triển khai cho các mục tiêu trực tuyến, di động gốc và JavaScript.

Đường ống TFX thường bao gồm các thành phần sau:

  • ExampleGen là thành phần đầu vào ban đầu của một đường ống dẫn mà ingests và tùy chọn chia tách các tập dữ liệu đầu vào.

  • StatisticsGen tính toán thống kê cho các tập dữ liệu.

  • SchemaGen kiểm tra số liệu thống kê và tạo ra một sơ đồ dữ liệu.

  • ExampleValidator tìm kiếm dị thường và giá trị còn thiếu trong tập dữ liệu.

  • Biến Thực hiện tính năng kỹ thuật trên tập dữ liệu.

  • Trainer huấn luyện mô hình.

  • Tuner chỉnh các siêu của mô hình.

  • Đánh giá thực hiện phân tích sâu sắc về kết quả đào tạo và giúp bạn xác nhận mô hình xuất khẩu của bạn, đảm bảo rằng họ là "đủ tốt" để được đẩy vào sản xuất.

  • InfraValidator kiểm tra các mô hình thực sự là thể phân phát từ cơ sở hạ tầng, và ngăn chặn mô hình xấu từ bị đẩy.

  • Pusher triển khai các mô hình trên một cơ sở hạ tầng phục vụ.

  • BulkInferrer chế biến Thực hiện hàng loạt trên một mô hình với yêu cầu suy luận không dán nhãn.

Sơ đồ này minh họa luồng dữ liệu giữa các thành phần này:

Luồng thành phần

Thư viện TFX

TFX bao gồm cả thư viện và các thành phần đường ống. Sơ đồ này minh họa các mối quan hệ giữa các thư viện TFX và các thành phần đường ống:

Thư viện và thành phần

TFX cung cấp một số gói Python là các thư viện được sử dụng để tạo các thành phần đường ống. Bạn sẽ sử dụng các thư viện này để tạo các thành phần của đường ống để mã của bạn có thể tập trung vào các khía cạnh độc đáo của đường ống của bạn.

Thư viện TFX bao gồm:

  • TensorFlow Data Validation (TFDV) là một thư viện cho phân tích và xác nhận dữ liệu máy học. Nó được thiết kế để có khả năng mở rộng cao và hoạt động tốt với TensorFlow và TFX. TFDV bao gồm:

    • Tính toán mở rộng các thống kê tóm tắt của dữ liệu đào tạo và kiểm tra.
    • Tích hợp với trình xem để phân phối và thống kê dữ liệu, cũng như so sánh nhiều mặt của các cặp tập dữ liệu (Các khía cạnh).
    • Tạo lược đồ dữ liệu tự động để mô tả các kỳ vọng về dữ liệu như giá trị, phạm vi và từ vựng được yêu cầu.
    • Trình xem giản đồ để giúp bạn kiểm tra lược đồ.
    • Phát hiện điểm bất thường để xác định các điểm bất thường, chẳng hạn như tính năng bị thiếu, giá trị nằm ngoài phạm vi hoặc loại đối tượng địa lý sai, để đặt tên cho một số đặc điểm.
    • Trình xem dị thường để bạn có thể xem những đối tượng địa lý nào có dị thường và tìm hiểu thêm để sửa chúng.
  • TensorFlow Transform (TFT) là một thư viện cho tiền xử lý dữ liệu với TensorFlow. TensorFlow Transform hữu ích cho dữ liệu yêu cầu đầy đủ, chẳng hạn như:

    • Chuẩn hóa giá trị đầu vào theo giá trị trung bình và độ lệch chuẩn.
    • Chuyển đổi chuỗi thành số nguyên bằng cách tạo từ vựng trên tất cả các giá trị đầu vào.
    • Chuyển đổi float thành số nguyên bằng cách gán chúng vào nhóm dựa trên phân phối dữ liệu quan sát được.
  • TensorFlow được sử dụng để đào tạo các mô hình với TFX. Nó nhập dữ liệu đào tạo và mã mô hình hóa và tạo ra kết quả SavedModel. Nó cũng tích hợp một đường ống kỹ thuật tính năng được tạo bởi TensorFlow Transform để xử lý trước dữ liệu đầu vào.

    KerasTuner được sử dụng cho siêu tham số điều chỉnh cho mô hình.

  • TensorFlow mẫu phân tích (TFMA) là một thư viện để đánh giá mô hình TensorFlow. Nó được sử dụng cùng với TensorFlow để tạo ra EvalSavedModel, trở thành cơ sở cho phân tích của nó. Nó cho phép người dùng đánh giá mô hình của họ trên một lượng lớn dữ liệu theo cách phân tán, sử dụng cùng các chỉ số được xác định trong trình đào tạo của họ. Các chỉ số này có thể được tính toán qua các phần dữ liệu khác nhau và được hiển thị trực quan trong sổ ghi chép của Jupyter.

  • TensorFlow Metadata (TFMD) cung cấp cơ quan đại diện tiêu chuẩn cho siêu dữ liệu rất hữu ích khi máy đào tạo mô hình học tập với TensorFlow. Siêu dữ liệu có thể được tạo bằng tay hoặc tự động trong quá trình phân tích dữ liệu đầu vào và có thể được sử dụng để xác thực, thăm dò và chuyển đổi dữ liệu. Các định dạng tuần tự hóa siêu dữ liệu bao gồm:

    • Một lược đồ mô tả dữ liệu dạng bảng (ví dụ: tf.Examples).
    • Một tập hợp các thống kê tóm tắt trên các tập dữ liệu như vậy.
  • ML Metadata (MLMD) là một thư viện để ghi lại và lấy siêu dữ liệu liên quan đến phát triển ML và nhà khoa học dữ liệu quy trình công việc. Thông thường, siêu dữ liệu sử dụng các đại diện TFMD. MLMD quản lý bền bỉ sử dụng SQL-Lite , MySQL , và lưu trữ dữ liệu tương tự khác.

Công nghệ hỗ trợ

Yêu cầu

  • Apache chùm là một mã nguồn mở, thống nhất mô hình để xác định cả hai đợt và streaming đường ống xử lý dữ liệu song song. TFX sử dụng Apache Beam để triển khai các đường ống song song dữ liệu. Sau đó các đường ống dẫn được thực hiện bởi một trong những Beam hỗ trợ phân phối chế biến back-kết thúc, trong đó bao gồm Apache Flink, Apache Spark, Google Cloud Dataflow , và những người khác.

Không bắt buộc

Các trình điều phối như Apache Airflow và Kubeflow giúp việc định cấu hình, vận hành, giám sát và duy trì đường ống ML trở nên dễ dàng hơn.

  • Apache Airflow là một nền tảng để lập trình tác giả, đúng tiến độ và giám sát quy trình công việc. TFX sử dụng Luồng không khí để tạo luồng công việc dưới dạng đồ thị vòng có hướng (DAG) của các tác vụ. Bộ lập lịch Luồng không khí thực thi các tác vụ trên một mảng công nhân trong khi tuân theo các phần phụ thuộc được chỉ định. Các tiện ích dòng lệnh phong phú giúp việc thực hiện các ca phẫu thuật phức tạp trên DAG trở nên nhanh chóng. Giao diện người dùng phong phú giúp bạn dễ dàng hình dung các đường ống đang chạy trong quá trình sản xuất, theo dõi tiến độ và khắc phục sự cố khi cần thiết. Khi quy trình làm việc được định nghĩa là mã, chúng trở nên dễ bảo trì hơn, có thể thay đổi được, có thể kiểm tra và hợp tác hơn.

  • Kubeflow được dành để làm cho việc triển khai các máy học (ML) dòng làm việc trên Kubernetes đơn giản, di động và khả năng mở rộng. Mục tiêu của Kubeflow không phải là tạo lại các dịch vụ khác, mà là cung cấp một cách đơn giản để triển khai các hệ thống mã nguồn mở tốt nhất dành cho ML cho các cơ sở hạ tầng đa dạng. Kubeflow Đường ống cho phép thành phần và thực hiện các quy trình công việc tái sản xuất trên Kubeflow, tích hợp với thí nghiệm và máy tính xách tay kinh nghiệm dựa. Các dịch vụ Đường ống Kubeflow trên Kubernetes bao gồm cửa hàng Siêu dữ liệu được lưu trữ, công cụ điều phối dựa trên vùng chứa, máy chủ máy tính xách tay và giao diện người dùng để giúp người dùng phát triển, chạy và quản lý các đường ống ML phức tạp trên quy mô lớn. SDK đường ống Kubeflow cho phép tạo và chia sẻ các thành phần và cấu tạo của đường ống theo chương trình.

Tính di động và khả năng tương tác

TFX được thiết kế để có thể di chuyển đến nhiều môi trường và khung dàn nhạc, bao gồm Apache Airflow , Apache chùmKubeflow . Nó cũng là di động đến các nền tảng khác nhau tính toán, kể cả các tiền đề và nền tảng đám mây như Google Cloud Platform (GCP) . Đặc biệt, interoperates TFX với các dịch vụ quản lý GCP serveral, như đám mây AI vBulletin cho đào tạo và Dự đoán , và đám mây Dataflow cho dữ liệu phân phối chế biến cho một số khía cạnh khác của vòng đời ML.

Model so với SavedModel

Người mẫu

Mô hình là đầu ra của quá trình đào tạo. Đó là bản ghi các khối lượng tạ đã học được trong quá trình luyện tập. Các trọng số này sau đó có thể được sử dụng để tính toán các dự đoán cho các ví dụ đầu vào mới. Đối với TFX và TensorFlow, 'mô hình' đề cập đến các điểm kiểm tra chứa các trọng số đã học cho đến thời điểm đó.

Lưu ý rằng 'mô hình' cũng có thể tham chiếu đến định nghĩa của đồ thị tính toán TensorFlow (tức là tệp Python) biểu thị cách một dự đoán sẽ được tính toán. Hai giác quan có thể được sử dụng thay thế cho nhau dựa trên ngữ cảnh.

SavedModel

  • Là những gì một SavedModel : một phổ quát, ngôn ngữ trung tính, kín, serialization thu hồi của một mô hình TensorFlow.
  • Tại sao nó quan trọng: Nó cho phép hệ thống cấp cao hơn để sản phẩm mới, hoán cải, và tiêu thụ mô hình TensorFlow sử dụng một trừu tượng duy nhất.

SavedModel là định dạng tuần tự hóa được khuyến nghị để cung cấp mô hình TensorFlow trong quá trình sản xuất hoặc xuất mô hình được đào tạo cho ứng dụng di động hoặc JavaScript gốc. Ví dụ: để biến một mô hình thành một dịch vụ REST để đưa ra dự đoán, bạn có thể tuần tự hóa mô hình dưới dạng SavedModel và phân phát nó bằng TensorFlow Serving. Xem Phục vụ một mô hình TensorFlow để biết thêm thông tin.

Lược đồ

Một số thành phần TFX sử dụng một mô tả về dữ liệu đầu vào của bạn được gọi là giản đồ. Giản đồ là một thể hiện của schema.proto . Schemas là một loại đệm giao thức , thường được biết đến như là một "protobuf". Lược đồ có thể chỉ định kiểu dữ liệu cho các giá trị đối tượng, liệu đối tượng có phải xuất hiện trong tất cả các ví dụ, phạm vi giá trị được phép và các thuộc tính khác hay không. Một trong những lợi ích của việc sử dụng TensorFlow Data Validation (TFDV) là nó sẽ tự động tạo ra một lược đồ bằng cách suy ra các loại, danh mục và phạm vi từ dữ liệu đào tạo.

Đây là một đoạn trích từ một protobuf lược đồ:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Các thành phần sau sử dụng lược đồ:

  • Xác thực dữ liệu TensorFlow
  • Chuyển đổi TensorFlow

Trong một đường ống TFX điển hình, TensorFlow Data Validation tạo ra một lược đồ, được sử dụng bởi các thành phần khác.

Phát triển với TFX

TFX cung cấp một nền tảng mạnh mẽ cho mọi giai đoạn của dự án học máy, từ nghiên cứu, thử nghiệm và phát triển trên máy cục bộ của bạn, thông qua việc triển khai. Để lặp lại code tránh và loại trừ khả năng đào tạo / phục vụ nghiêng nó được khuyến khích mạnh mẽ để thực hiện đường ống TFX của bạn cho cả đào tạo mô hình và triển khai các mô hình đào tạo và sử dụng chuyển đổi các thành phần mà đòn bẩy các TensorFlow Chuyển đổi thư viện cho cả đào tạo và suy luận. Bằng cách đó, bạn sẽ sử dụng nhất quán cùng một mã tiền xử lý và phân tích, đồng thời tránh sự khác biệt giữa dữ liệu được sử dụng để đào tạo và dữ liệu được cung cấp cho các mô hình được đào tạo của bạn trong quá trình sản xuất, cũng như được hưởng lợi từ việc viết mã đó một lần.

Khám phá, trực quan hóa và làm sạch dữ liệu

Khám phá, trực quan hóa và làm sạch dữ liệu

Đường ống TFX thường bắt đầu với một ExampleGen thành phần, trong đó chấp nhận dữ liệu đầu vào và định dạng nó như tf.Examples. Thường thì điều này được thực hiện sau khi dữ liệu đã được tách thành các tập dữ liệu đào tạo và đánh giá để thực sự có hai bản sao của các thành phần ExampleGen, mỗi bản sao để huấn luyện và đánh giá. Này thường được theo sau bởi một StatisticsGen thành phần và một SchemaGen thành phần, trong đó sẽ kiểm tra dữ liệu của bạn và suy ra một sơ đồ dữ liệu và thống kê. Giản đồ và thống kê sẽ được tiêu thụ bởi một ExampleValidator thành phần, trong đó sẽ xem xét vấn đề bất thường, giá trị mất tích, và không chính xác kiểu dữ liệu trong dữ liệu của bạn. Tất cả những thành phần thúc đẩy khả năng của TensorFlow Data Validation thư viện.

TensorFlow Data Validation (TFDV) là một công cụ có giá trị khi thực hiện bước đầu thăm dò, trực quan, và làm sạch các dữ liệu của bạn. TFDV kiểm tra dữ liệu của bạn và suy ra các loại dữ liệu, danh mục và phạm vi, sau đó tự động giúp xác định các điểm bất thường và các giá trị bị thiếu. Nó cũng cung cấp các công cụ trực quan có thể giúp bạn kiểm tra và hiểu tập dữ liệu của mình. Sau khi Hoàn thành đường ống của bạn, bạn có thể đọc dữ liệu từ các MLMD và sử dụng các công cụ trực quan của TFDV trong một máy tính xách tay Jupyter để phân tích dữ liệu của bạn.

Sau quá trình đào tạo và triển khai mô hình ban đầu của bạn, TFDV có thể được sử dụng để theo dõi dữ liệu mới từ các yêu cầu suy luận đến các mô hình đã triển khai của bạn, đồng thời tìm kiếm các điểm bất thường và / hoặc trôi dạt. Điều này đặc biệt hữu ích đối với dữ liệu chuỗi thời gian thay đổi theo thời gian do xu hướng hoặc tính thời vụ và có thể giúp thông báo khi có vấn đề về dữ liệu hoặc khi mô hình cần được đào tạo lại trên dữ liệu mới.

Trực quan hóa dữ liệu

Sau khi bạn hoàn thành lần chạy dữ liệu đầu tiên của mình thông qua phần đường dẫn sử dụng TFDV (thường là StatisticsGen, SchemaGen và ExampleValidator), bạn có thể hình dung kết quả trong sổ ghi chép kiểu Jupyter. Đối với các lần chạy bổ sung, bạn có thể so sánh các kết quả này khi thực hiện các điều chỉnh, cho đến khi dữ liệu của bạn là tối ưu cho mô hình và ứng dụng của bạn.

Trước tiên, bạn sẽ truy vấn ML Metadata (MLMD) để xác định vị trí kết quả của những hành của các thành phần này, và sau đó sử dụng các API hỗ trợ trực quan trong TFDV để tạo ra các hình tượng trong máy tính xách tay của bạn. Điều này bao gồm tfdv.load_statistics ()tfdv.visualize_statistics () Sử dụng trực quan này, bạn có thể hiểu rõ hơn về đặc điểm của bộ dữ liệu của bạn, và nếu cần thiết Sửa theo yêu cầu.

Phát triển và Đào tạo Mô hình

Kỹ thuật tính năng

Một đường ống TFX điển hình sẽ bao gồm một chuyển đổi thành phần, trong đó sẽ thực hiện tính năng kỹ thuật bằng cách tận dụng khả năng của TensorFlow Transform (TFT) thư viện. Một chuyển đổi tiêu thụ thành phần giản đồ được tạo ra bởi một thành phần SchemaGen, và áp dụng biến đổi dữ liệu để tạo, kết hợp và chuyển đổi các tính năng mà sẽ được sử dụng để đào tạo mô hình của bạn. Việc dọn dẹp các giá trị bị thiếu và chuyển đổi các kiểu cũng nên được thực hiện trong thành phần Chuyển đổi nếu có khả năng những giá trị này cũng sẽ xuất hiện trong dữ liệu được gửi cho các yêu cầu suy luận. Có một số lưu ý quan trọng khi thiết kế đang TensorFlow đào tạo trong TFX.

Mô hình hóa và đào tạo

Kết quả của một thành phần chuyển đổi là một SavedModel đó sẽ được nhập khẩu và sử dụng trong mã mô hình của bạn trong TensorFlow, trong một Trainer thành phần. SavedModel này bao gồm tất cả các phép biến đổi kỹ thuật dữ liệu đã được tạo trong thành phần Transform, để các phép biến đổi giống hệt nhau được thực hiện bằng cách sử dụng cùng một mã chính xác trong cả quá trình huấn luyện và suy luận. Sử dụng mã mô hình hóa, bao gồm cả SavedModel từ thành phần Chuyển đổi, bạn có thể sử dụng dữ liệu đào tạo và đánh giá cũng như đào tạo mô hình của mình.

Khi làm việc với các mô hình dựa trên Công cụ ước tính, phần cuối cùng của mã mô hình của bạn sẽ lưu mô hình của bạn dưới dạng SavedModel và EvalSavedModel. Lưu dưới dạng EvalSavedModel đảm bảo các số liệu được sử dụng tại thời điểm đào tạo cũng có sẵn trong quá trình đánh giá (lưu ý rằng điều này không bắt buộc đối với các mô hình dựa trên keras). Tiết kiệm một EvalSavedModel yêu cầu bạn nhập TensorFlow Analysis Model (TFMA) thư viện trong thành phần Trainer của bạn.

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

Một tùy chọn Tuner thành phần có thể được thêm vào trước Trainer để điều chỉnh các siêu (ví dụ, số lớp) cho mô hình. Với mô hình đã cho và không gian tìm kiếm của siêu tham số, thuật toán điều chỉnh sẽ tìm ra siêu tham số tốt nhất dựa trên mục tiêu.

Phân tích và hiểu hiệu suất mô hình

Phân tích mô hình

Sau khi phát triển và đào tạo mô hình ban đầu, điều quan trọng là phải phân tích và thực sự hiểu hiệu suất của mô hình của bạn. Một đường ống TFX điển hình sẽ bao gồm một Evaluator thành phần, trong đó thúc đẩy khả năng của TensorFlow mẫu phân tích (TFMA) thư viện, cung cấp một bộ công cụ quyền lực cho giai đoạn này của sự phát triển. Một Evaluator thành phần tiêu thụ các mô hình mà bạn xuất khẩu trên, và cho phép bạn chỉ định một danh sách các tfma.SlicingSpec mà bạn có thể sử dụng khi hình dung và phân tích hiệu suất của mô hình của bạn. Mỗi SlicingSpec định nghĩa một lát dữ liệu huấn luyện của bạn mà bạn muốn kiểm tra, như các chuyên mục đặc biệt đối với tính năng phân loại, hoặc dãy số đặc biệt cho các tính năng số.

Ví dụ: điều này sẽ quan trọng để cố gắng hiểu hiệu suất của mô hình đối với các phân khúc khách hàng khác nhau của bạn, có thể được phân đoạn theo số lần mua hàng năm, dữ liệu địa lý, nhóm tuổi hoặc giới tính. Điều này có thể đặc biệt quan trọng đối với các tập dữ liệu có đuôi dài, trong đó hiệu suất của một nhóm thống trị có thể che khuất hiệu suất không thể chấp nhận được đối với các nhóm quan trọng nhưng nhỏ hơn. Ví dụ: mô hình của bạn có thể hoạt động tốt đối với nhân viên trung bình nhưng lại thất bại thảm hại đối với nhân viên điều hành và bạn cần biết điều đó.

Phân tích và Trực quan hóa Mô hình

Sau khi bạn đã hoàn thành chạy đầu tiên của dữ liệu của bạn thông qua đào tạo mô hình của bạn và chạy Evaluator thành phần (trong đó thúc đẩy TFMA ) về kết quả đào tạo, bạn có thể hình dung ra kết quả trong một máy tính xách tay phong cách Jupyter. Đối với các lần chạy bổ sung, bạn có thể so sánh các kết quả này khi bạn thực hiện các điều chỉnh, cho đến khi kết quả của bạn là tối ưu cho mô hình và ứng dụng của bạn.

Trước tiên, bạn sẽ truy vấn ML Metadata (MLMD) để xác định vị trí kết quả của những hành của các thành phần này, và sau đó sử dụng các API hỗ trợ trực quan trong TFMA để tạo ra các hình tượng trong máy tính xách tay của bạn. Điều này bao gồm tfma.load_eval_resultstfma.view.render_slicing_metrics Sử dụng trực quan này, bạn có thể hiểu rõ hơn về đặc điểm của mô hình của bạn, và nếu cần thiết Sửa theo yêu cầu.

Xác thực Hiệu suất Mô hình

Là một phần của việc phân tích hiệu suất của mô hình, bạn có thể muốn xác thực hiệu suất theo đường cơ sở (chẳng hạn như mô hình hiện đang phân phối). Xác nhận mô hình được thực hiện bằng cách thông qua cả hai ứng cử viên và mô hình cơ sở để các Evaluator phần. Người đánh giá tính toán các số liệu (ví dụ: AUC, tổn thất) cho cả ứng viên và đường cơ sở cùng với một tập hợp các chỉ số khác nhau tương ứng. Sau đó, các ngưỡng có thể được áp dụng và sử dụng để đẩy các mô hình của bạn vào sản xuất.

Xác thực rằng một mô hình có thể được cung cấp

Xác thực hồng ngoại

Trước khi triển khai mô hình được đào tạo, bạn có thể muốn xác nhận xem mô hình có thực sự khả dụng trong cơ sở hạ tầng phục vụ hay không. Điều này đặc biệt quan trọng trong môi trường sản xuất để đảm bảo rằng mô hình mới được xuất bản không ngăn hệ thống phục vụ các dự đoán. Các InfraValidator phần sẽ làm cho một triển khai chim hoàng yến của mô hình của bạn trong một môi trường cô lập, và tùy chọn gửi yêu cầu thực để kiểm tra xem mô hình của bạn hoạt động một cách chính xác.

Mục tiêu Triển khai

Khi bạn đã phát triển và đào tạo một mô hình mà bạn hài lòng, bây giờ là lúc triển khai nó cho một hoặc nhiều (các) mục tiêu triển khai, nơi nó sẽ nhận được các yêu cầu suy luận. TFX hỗ trợ triển khai đến ba lớp mục tiêu triển khai. Các mô hình được đào tạo đã được xuất dưới dạng SavedModels có thể được triển khai cho bất kỳ hoặc tất cả các mục tiêu triển khai này.

Luồng thành phần

Suy luận: Phục vụ TensorFlow

TensorFlow Phục vụ (TFS) là một hệ thống linh hoạt, hiệu suất cao phục vụ cho các mô hình học máy, được thiết kế cho các môi trường sản xuất. Nó sử dụng SavedModel và sẽ chấp nhận các yêu cầu suy luận qua giao diện REST hoặc gRPC. Nó chạy như một tập hợp các quy trình trên một hoặc nhiều máy chủ mạng, sử dụng một trong một số kiến ​​trúc nâng cao để xử lý đồng bộ hóa và tính toán phân tán. Xem các tài liệu TFS để biết thêm thông tin về việc phát triển và triển khai các giải pháp TFS.

Trong một đường ống điển hình, một SavedModel mà đã được đào tạo trong một Trainer thành phần sẽ lần đầu tiên được sở hạ tầng được xác nhận trong một InfraValidator thành phần. InfraValidator khởi chạy một máy chủ mô hình TFS canary để thực sự phục vụ SavedModel. Nếu xác nhận đã trôi qua, một Pusher thành phần cuối cùng sẽ triển khai cơ sở hạ tầng SavedModel TFS của bạn. Điều này bao gồm xử lý nhiều phiên bản và cập nhật mô hình.

Suy luận trong các ứng dụng Native Mobile và IoT: TensorFlow Lite

TensorFlow Lite là một bộ công cụ mà là dành riêng cho các nhà phát triển giúp đỡ sử dụng mô hình TensorFlow đào tạo của họ tại quê hương các ứng dụng di động và IOT. Nó sử dụng SavedModels giống như TensorFlow Serving và áp dụng các tối ưu hóa như lượng tử hóa và cắt tỉa để tối ưu hóa kích thước và hiệu suất của các mô hình kết quả cho những thách thức khi chạy trên thiết bị di động và IoT. Xem tài liệu TensorFlow Lite để biết thêm thông tin về cách sử dụng TensorFlow Lite.

Suy luận trong JavaScript: TensorFlow JS

TensorFlow JS là một thư viện JavaScript cho đào tạo và triển khai các mô hình ML trong trình duyệt và trên Node.js. Nó sử dụng các SavedModels giống như TensorFlow Serving và TensorFlow Lite, đồng thời chuyển đổi chúng sang định dạng Web TensorFlow.js. Xem tài liệu TensorFlow JS để biết thêm chi tiết về cách sử dụng TensorFlow JS.

Tạo một đường ống TFX với luồng không khí

Kiểm tra luồng không khí hội thảo để biết chi tiết

Tạo một đường ống TFX với Kubeflow

Cài đặt

Kubeflow yêu cầu một cụm Kubernetes để chạy các đường ống trên quy mô lớn. Xem Kubeflow triển khai phương châm hướng dẫn rằng thông qua các tùy chọn cho việc triển khai các cụm Kubeflow.

Định cấu hình và chạy đường ống TFX

Hãy làm theo các TFX trên đám mây AI vBulletin đường ống hướng dẫn để chạy các ví dụ đường ống TFX trên Kubeflow. Các thành phần TFX đã được chứa để tạo đường dẫn Kubeflow và mẫu minh họa khả năng định cấu hình đường ống để đọc tập dữ liệu công khai lớn và thực hiện các bước đào tạo và xử lý dữ liệu trên quy mô lớn trên đám mây.

Giao diện dòng lệnh cho các hành động của đường ống

TFX cung cấp một CLI thống nhất giúp thực hiện đầy đủ các hành động của đường ống như tạo, cập nhật, chạy, liệt kê và xóa các đường ống trên các bộ điều phối khác nhau bao gồm Apache Airflow, Apache Beam và Kubeflow. Để biết chi tiết, hãy làm theo các hướng dẫn .