MLOps là phương pháp áp dụng các phương pháp thực hành DevOps để giúp tự động hóa, quản lý và kiểm tra quy trình làm việc của máy học (ML). Quy trình công việc ML bao gồm các bước để:
- Chuẩn bị, phân tích và chuyển đổi dữ liệu.
- Đào tạo và đánh giá một mô hình.
- Triển khai các mô hình đã được đào tạo vào sản xuất.
- Theo dõi các tạo phẩm ML và hiểu sự phụ thuộc của chúng.
Việc quản lý các bước này một cách đặc biệt có thể khó khăn và tốn thời gian.
TFX giúp triển khai MLOps dễ dàng hơn bằng cách cung cấp bộ công cụ giúp bạn điều phối quy trình ML của mình trên nhiều bộ điều phối khác nhau, chẳng hạn như: Apache Airflow, Apache Beam và Kubeflow Pipelines. Bằng cách triển khai quy trình làm việc của bạn dưới dạng quy trình TFX, bạn có thể:
- Tự động hóa quy trình ML của bạn, cho phép bạn thường xuyên đào tạo lại, đánh giá và triển khai mô hình của mình.
- Sử dụng tài nguyên điện toán phân tán để xử lý tập dữ liệu và khối lượng công việc lớn.
- Tăng tốc độ thử nghiệm bằng cách chạy một quy trình với các bộ siêu tham số khác nhau.
Hướng dẫn này mô tả các khái niệm cốt lõi cần thiết để hiểu quy trình TFX.
Cổ vật
Đầu ra của các bước trong quy trình TFX được gọi là tạo tác . Các bước tiếp theo trong quy trình làm việc của bạn có thể sử dụng các tạo phẩm này làm đầu vào. Bằng cách này, TFX cho phép bạn chuyển dữ liệu giữa các bước của quy trình làm việc.
Ví dụ: thành phần tiêu chuẩn ExampleGen
phát ra các ví dụ được tuần tự hóa, các thành phần này như thành phần tiêu chuẩn StatisticsGen
sử dụng làm đầu vào.
Các tạo phẩm phải được nhập mạnh bằng loại tạo phẩm đã đăng ký trong kho Siêu dữ liệu ML . Tìm hiểu thêm về các khái niệm được sử dụng trong Siêu dữ liệu ML .
Các loại tạo tác có tên và xác định lược đồ về các thuộc tính của nó. Tên loại cấu phần phải là duy nhất trong kho Siêu dữ liệu ML của bạn. TFX cung cấp một số loại tạo phẩm tiêu chuẩn mô tả các loại dữ liệu và loại giá trị phức tạp, chẳng hạn như: chuỗi, số nguyên và số float. Bạn có thể sử dụng lại các loại tạo phẩm này hoặc xác định các loại tạo tác tùy chỉnh bắt nguồn từ Artifact
.
Tham số
Tham số là đầu vào cho quy trình đã được xác định trước khi quy trình của bạn được thực thi. Tham số cho phép bạn thay đổi hành vi của quy trình hoặc một phần của quy trình thông qua cấu hình thay vì mã.
Ví dụ: bạn có thể sử dụng tham số để chạy quy trình với các nhóm siêu tham số khác nhau mà không thay đổi mã của quy trình.
Việc sử dụng tham số cho phép bạn tăng tốc độ thử nghiệm bằng cách giúp chạy quy trình của bạn dễ dàng hơn với các bộ tham số khác nhau.
Tìm hiểu thêm về lớp RuntimeParameter .
Thành phần
Thành phần là việc triển khai tác vụ ML mà bạn có thể sử dụng làm một bước trong quy trình TFX của mình. Các thành phần bao gồm:
- Đặc tả thành phần, xác định các tạo phẩm đầu vào và đầu ra của thành phần cũng như các tham số bắt buộc của thành phần.
- Trình thực thi, triển khai mã để thực hiện một bước trong quy trình làm việc ML của bạn, chẳng hạn như nhập và chuyển đổi dữ liệu hoặc đào tạo và đánh giá mô hình.
- Giao diện thành phần, đóng gói đặc tả thành phần và bộ thực thi để sử dụng trong đường ống.
TFX cung cấp một số thành phần tiêu chuẩn mà bạn có thể sử dụng trong quy trình của mình. Nếu các thành phần này không đáp ứng được nhu cầu của bạn, bạn có thể xây dựng các thành phần tùy chỉnh. Tìm hiểu thêm về các thành phần tùy chỉnh .
Đường ống
Đường dẫn TFX là một triển khai di động của quy trình làm việc ML có thể chạy trên nhiều bộ điều phối khác nhau, chẳng hạn như: Apache Airflow, Apache Beam và Kubeflow Pipelines. Một đường ống bao gồm các phiên bản thành phần và các tham số đầu vào.
Các phiên bản thành phần tạo ra các tạo phẩm dưới dạng đầu ra và thường phụ thuộc vào các tạo phẩm do các phiên bản thành phần ngược dòng tạo ra làm đầu vào. Trình tự thực thi cho các phiên bản thành phần được xác định bằng cách tạo biểu đồ tuần hoàn có hướng của các phần phụ thuộc tạo tác.
Ví dụ: hãy xem xét một đường dẫn thực hiện những việc sau:
- Nhập dữ liệu trực tiếp từ hệ thống độc quyền bằng cách sử dụng thành phần tùy chỉnh.
- Tính toán số liệu thống kê cho dữ liệu huấn luyện bằng cách sử dụng thành phần tiêu chuẩn StatsGen.
- Tạo một lược đồ dữ liệu bằng cách sử dụng thành phần tiêu chuẩn SchemaGen.
- Kiểm tra dữ liệu huấn luyện xem có bất thường hay không bằng cách sử dụng thành phần tiêu chuẩn exampleValidator.
- Thực hiện kỹ thuật tính năng trên tập dữ liệu bằng cách sử dụng thành phần tiêu chuẩn Chuyển đổi.
- Huấn luyện một mô hình bằng cách sử dụng thành phần tiêu chuẩn Trainer.
- Đánh giá mô hình được đào tạo bằng cách sử dụng thành phần Người đánh giá.
- Nếu mô hình vượt qua đánh giá của nó, quy trình sẽ đưa mô hình đã đào tạo vào hệ thống triển khai độc quyền bằng cách sử dụng thành phần tùy chỉnh.
Để xác định trình tự thực thi cho các phiên bản thành phần, TFX phân tích các phần phụ thuộc của tạo phẩm.
- Thành phần nhập dữ liệu không có bất kỳ phần phụ thuộc giả tạo nào nên nó có thể là nút đầu tiên trong biểu đồ.
- StatsGen phụ thuộc vào các ví dụ được tạo ra bởi quá trình nhập dữ liệu, do đó, nó phải được thực thi sau khi nhập dữ liệu.
- SchemaGen phụ thuộc vào số liệu thống kê do StatsGen tạo ra nên nó phải được thực thi sau StatsGen.
- Ví dụValidator phụ thuộc vào số liệu thống kê được tạo bởi StatsGen và lược đồ được tạo bởi SchemaGen, do đó, nó phải được thực thi sau StatsGen và SchemaGen.
- Việc chuyển đổi phụ thuộc vào các ví dụ được tạo ra bởi quá trình nhập dữ liệu và lược đồ do SchemaGen tạo ra, do đó, nó phải được thực thi sau khi nhập dữ liệu và SchemaGen.
- Trình huấn luyện phụ thuộc vào các ví dụ được tạo ra bằng cách nhập dữ liệu, lược đồ do SchemaGen tạo và mô hình đã lưu do Transform tạo ra. Huấn luyện viên chỉ có thể được thực thi sau khi nhập dữ liệu, SchemaGen và Transform.
- Người đánh giá phụ thuộc vào các ví dụ được tạo ra bằng cách nhập dữ liệu và mô hình đã lưu do Trình huấn luyện tạo ra, do đó, nó phải được thực thi sau khi nhập dữ liệu và Trình huấn luyện.
- Trình triển khai tùy chỉnh phụ thuộc vào mô hình đã lưu do Người đào tạo tạo ra và kết quả phân tích do Người đánh giá tạo ra, do đó, trình triển khai phải được thực thi sau Người đào tạo và Người đánh giá.
Dựa trên phân tích này, một người điều phối sẽ chạy:
- Việc nhập dữ liệu, các phiên bản thành phần StatsGen, SchemaGen theo tuần tự.
- Các thành phần exampleValidator và Transform có thể chạy song song vì chúng chia sẻ các phần phụ thuộc tạo tác đầu vào và không phụ thuộc vào đầu ra của nhau.
- Sau khi thành phần Chuyển đổi hoàn tất, các phiên bản thành phần Người huấn luyện, Người đánh giá và người triển khai tùy chỉnh sẽ chạy tuần tự.
Tìm hiểu thêm về cách xây dựng quy trình TFX .
Mẫu đường ống TFX
Mẫu quy trình TFX giúp bắt đầu phát triển quy trình dễ dàng hơn bằng cách cung cấp quy trình dựng sẵn mà bạn có thể tùy chỉnh cho trường hợp sử dụng của mình.
Tìm hiểu thêm về cách tùy chỉnh mẫu đường dẫn TFX .
Chạy đường ống
Chạy là một lần thực hiện duy nhất của một đường ống.
Người soạn nhạc
Orchestrator là một hệ thống nơi bạn có thể thực hiện các hoạt động quy trình. TFX hỗ trợ các bộ điều phối như: Apache Airflow , Apache Beam và Kubeflow Pipelines . TFX cũng sử dụng thuật ngữ DagRunner để chỉ một triển khai hỗ trợ bộ điều phối.