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 vui mừng thông báo về sự sẵn có của TFX 1.0.0 . Đây là bản phát hành sau beta đầu tiên 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 các đường ống TFX trong tương lai của bạn sẽ tiếp tục hoạt động sau khi nâng cấp trong phạm vi tương thích được xác định trong RFC này.

Cài đặt

PythonPyPI

pip install tfx

Gói hàng đêm

TFX cũng tổ chức cá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 --extra-index-url 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

Đường ống TFX là một chuỗi các thành phần thực hiện đường ống ML được thiết kế đặc biệt cho các tác vụ học máy hiệu suất cao, có thể mở rộng. Đ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.

Một đườ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 nhập và phân chia tập dữ liệu đầu vào một cách tùy chọn.

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

  • SchemaGen kiểm tra các thống kê và tạo một lược đồ dữ liệu.

  • ExampleValidator tìm kiếm những điểm bất thường và thiếu giá trị trong tập dữ liệu.

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

  • Huấn luyện viên đào tạo mô hình.

  • Tuner điều chỉnh các siêu tham số của mô hình.

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

  • InfraValidator kiểm tra mô hình thực sự có thể phục vụ được từ cơ sở hạ tầng và ngăn mô hình xấu bị đẩy.

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

  • BulkInferrer thực hiện xử lý hàng loạt trên một mô hình với các yêu cầu suy luận không có 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 để phân tích và xác thực dữ liệu học máy. 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 để xử lý trước 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 cho các mô hình đào tạo 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 để điều chỉnh các siêu tham số cho mô hình.

  • Phân tích mô hình TensorFlow (TFMA) là một thư viện để đánh giá các 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.

  • Siêu dữ liệu TensorFlow (TFMD) cung cấp các biểu diễn chuẩn cho siêu dữ liệu hữu ích khi đào tạo các mô hình học máy với TensorFlow. Siêu dữ liệu có thể được tạo thủ công 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.
  • Siêu dữ liệu ML (MLMD) là một thư viện để ghi và truy xuất siêu dữ liệu được liên kết với quy trình làm việc của nhà phát triển ML và nhà khoa học dữ liệu. Thông thường, siêu dữ liệu sử dụng các đại diện TFMD. MLMD quản lý sự bền bỉ bằng cách sử dụng SQL-Lite , MySQL và các kho dữ liệu tương tự khác.

Công nghệ hỗ trợ

Yêu cầu

  • Apache Beam là một mô hình thống nhất, mã nguồn mở để xác định cả đường ống xử lý song song và xử lý dữ liệu hàng loạt. TFX sử dụng Apache Beam để triển khai các đường ống dẫn dữ liệu song song. Sau đó, quy trình này được thực thi bởi một trong những phần cuối xử lý phân tán được hỗ trợ của Beam, bao gồm Apache Flink, Apache Spark, Google Cloud Dataflow và các phần mềm 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 để tạo lập trình, lên lịch và theo dõi quy trình làm 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 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 dành riêng cho việc triển khai quy trình công việc học máy (ML) trên Kubernetes đơn giản, di động và có thể 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 Pipelines cho phép thành phần và thực hiện các quy trình công việc có thể tái tạo trên Kubeflow, được tích hợp với các trải nghiệm dựa trên máy tính xách tay và thử nghiệm. 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 động đến nhiều môi trường và khuôn khổ điều phối, bao gồm Apache Airflow , Apache BeamKubeflow . Nó cũng có thể di động đến các nền tảng điện toán khác nhau, bao gồm cả nền tảng tại chỗ và nền tảng đám mây như Google Cloud Platform (GCP) . Đặc biệt, TFX tương tác với các dịch vụ GCP được quản lý theo phương thức phân phát, chẳng hạn như Nền tảng AI trên đám mây để đào tạo và dự đoánLuồng dữ liệu đám mây để xử lý dữ liệu phân tá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) thể hiện cách tính một dự đoán. Hai giác quan có thể được sử dụng thay thế cho nhau dựa trên ngữ cảnh.

SavedModel

  • SavedModel là gì : một bản tuần tự phổ biến, trung lập về ngôn ngữ, kín đáo, có thể phục hồi của mô hình TensorFlow.
  • Tại sao nó lại quan trọng : Nó cho phép các hệ thống cấp cao hơn sản xuất, chuyển đổi và sử dụng các mô hình TensorFlow bằng cách sử dụng một sự 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 JavaScript hoặc thiết bị di động 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 cách sử dụng TensorFlow Serving. Xem Cung cấp 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ả dữ liệu đầu vào của bạn được gọi là lược đồ . Lược đồ là một thể hiện của schema.proto . Lược đồ là một loại bộ đệm giao thức , thường được gọi là "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. Để tránh trùng lặp mã và loại bỏ khả năng sai lệch về đào tạo / phục vụ , bạn nên triển khai đường dẫn TFX của mình cho cả đào tạo mô hình và triển khai các mô hình được đào tạo, đồng thời sử dụng các thành phần Chuyển đổi tận dụng thư viện Biến đổi TensorFlow 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á dữ liệu, trực quan hóa và làm sạch

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

Các đường ống TFX thường bắt đầu bằng thành phần ExampleGen , thành phần này chấp nhận dữ liệu đầu vào và định dạng nó thà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á. Điều này thường được theo sau bởi thành phần StatisticsGen và thành phần SchemaGen , sẽ kiểm tra dữ liệu của bạn và suy ra một lược đồ dữ liệu và thống kê. Lược đồ và thống kê sẽ được sử dụng bởi thành phần ExampleValidator , thành phần này sẽ tìm kiếm những điểm bất thường, giá trị bị thiếu và kiểu dữ liệu không chính xác trong dữ liệu của bạn. Tất cả các thành phần này tận dụng các khả năng của thư viện Xác thực Dữ liệu TensorFlow .

Xác thực dữ liệu TensorFlow (TFDV) là một công cụ có giá trị khi thực hiện khám phá, hình dung ban đầu và làm sạch tập 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 đường dẫn của bạn hoàn thành, bạn có thể đọc siêu dữ liệu từ MLMD và sử dụng các công cụ trực quan hóa của TFDV trong sổ ghi chép 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 và 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 Siêu dữ liệu ML (MLMD) để định vị kết quả của các lần thực thi các thành phần này, sau đó sử dụng API hỗ trợ trực quan hóa trong TFDV để tạo trực quan hóa trong sổ ghi chép của bạn. Điều này bao gồm tfdv.load_st Statistics ()tfdv.visualize_stosystem () Sử dụng trực quan hóa này, bạn có thể hiểu rõ hơn về các đặc điểm của tập dữ liệu của mình và nếu cần, hãy sửa đổi 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 thành phần Transform , thành phần này sẽ thực hiện kỹ thuật tính năng bằng cách tận dụng các khả năng của thư viện TensorFlow Transform (TFT) . Thành phần Transform sử dụng lược đồ được tạo bởi thành phần SchemaGen và áp dụng các phép biến đổi dữ liệu để tạo, kết hợp và chuyển đổi các tính năng 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ố cân nhắc quan trọng khi thiết kế mã TensorFlow để đào tạo trong TFX.

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

Kết quả của thành phần Transform là SavedModel sẽ được nhập và sử dụng trong mã mô hình của bạn trong TensorFlow, trong thành phần Trainer . 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). Lưu EvalSavedModel yêu cầu bạn nhập thư viện Phân tích mô hình TensorFlow (TFMA) 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 thành phần Tuner tùy chọn có thể được thêm vào trước Trainer để điều chỉnh các siêu tham số (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 thành phần Trình đánh giá , thúc đẩy các khả năng của thư viện Phân tích mô hình TensorFlow (TFMA) , cung cấp một bộ công cụ mạnh mẽ cho giai đoạn phát triển này. Thành phần Trình đánh giá sử dụng mô hình mà bạn đã xuất ở trên và cho phép bạn chỉ định danh sách tfma.SlicingSpec mà bạn có thể sử dụng khi trực quan hóa và phân tích hiệu suất mô hình của mình. Mỗi SlicingSpec xác định một phần dữ liệu đào tạo của bạn mà bạn muốn kiểm tra, chẳng hạn như các danh mục cụ thể cho các đối tượng phân loại hoặc các phạm vi cụ thể cho các đối tượ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 lần chạy dữ liệu đầu tiên của mình thông qua đào tạo mô hình của bạn và chạy thành phần Trình đánh giá (sử dụng TFMA ) trên kết quả đào tạo, 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 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 Siêu dữ liệu ML (MLMD) để định vị kết quả của những lần thực thi các thành phần này, sau đó sử dụng API hỗ trợ trực quan hóa trong TFMA để tạo trực quan hóa trong sổ ghi chép của bạn. Điều này bao gồm tfma.load_eval_resultstfma.view.render_slicing_metrics Sử dụng hình ảnh trực quan này, bạn có thể hiểu rõ hơn về các đặc điểm của mô hình của mình và nếu cần, hãy sửa đổi 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). Việc xác nhận mô hình được thực hiện bằng cách chuyển cả mô hình ứng viên và mô hình cơ sở đến thành phần Người đánh giá . Người đánh giá tính toán các số liệu (ví dụ: AUC, tổn thất) cho cả ứng cử 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. Thành phần InfraValidator sẽ triển khai canary mô hình của bạn trong môi trường hộp cát và tùy chọn gửi các yêu cầu thực để kiểm tra xem mô hình của bạn có hoạt động chính xác hay không.

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 Serving (TFS) là một hệ thống phục vụ linh hoạt, hiệu suất cao cho các mô hình máy học, được thiết kế cho 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 tài liệu TFS để biết thêm thông tin về phát triển và triển khai các giải pháp TFS.

Trong một quy trình điển hình, một SavedModel đã được đào tạo trong thành phần Trainer trước tiên sẽ được xác thực bằng cơ sở hạ tầng trong thành phần InfraValidator . InfraValidator khởi chạy một máy chủ mô hình TFS canary để thực sự phục vụ SavedModel. Nếu quá trình xác thực đã vượt qua, một thành phần Pusher cuối cùng sẽ triển khai SavedModel cho cơ sở hạ tầng 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ụ dành riêng để giúp các nhà phát triển sử dụng Mô hình TensorFlow được đào tạo của họ trong các ứng dụng di động và IoT gốc. 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 để đà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 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

Thành lập

Kubeflow yêu cầu một cụm Kubernetes để chạy các đường ống trên quy mô lớn. Xem hướng dẫn triển khai Kubeflow hướng dẫn các tùy chọn để triển khai cụm Kubeflow.

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

Vui lòng làm theo hướng dẫn Đường ống nền tảng TFX trên Cloud AI để chạy đường ống ví dụ TFX trên Kubeflow. Các thành phần TFX đã được chứa để tạo đường ống 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 đườ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, vui lòng làm theo các hướng dẫn sau .