MLOps là hoạt động áp dụng các phương pháp 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 tác ML và hiểu sự phụ thuộc của chúng.
Quản lý các bước này theo cách đột xuấ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 sắp xếp quy trình ML của mình trên các 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 đường ống 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 máy tính phân tán để xử lý các 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 đường ống 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 đường ống TFX.
Đồ tạo tác
Kết quả đầu ra của các bước trong đường ống TFX được gọi là hiện vật . 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 tác 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, mà các thành phần như thành phần tiêu chuẩn StatisticsGen
sử dụng làm đầu vào.
Hiện vật phải được nhập mạnh với loại hiện vật được đăng ký trong cửa hàng 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 kiểu phần mềm có tên và xác định một lược đồ các thuộc tính của nó. Tên loại phần mềm phải là duy nhất trong cửa hàng Siêu dữ liệu ML của bạn. TFX cung cấp một số kiểu tạo tác tiêu chuẩn mô tả các kiểu dữ liệu và kiểu giá trị phức tạp, chẳng hạn như: chuỗi, số nguyên và số thực. Bạn có thể sử dụng lại các loại tạo tác 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 đường ống được biết trước khi đường ống của bạn được thực thi. Các thông số cho phép bạn thay đổi hành vi của một đường ống hoặc một phần của đường ống thông qua cấu hình thay vì mã.
Ví dụ: bạn có thể sử dụng các tham số để chạy một đường ống với các bộ siêu tham số khác nhau mà không cần thay đổi mã của đường ống.
Việc sử dụng các thông số cho phép bạn tăng tốc độ thử nghiệm bằng cách giúp bạn chạy đường dẫn dễ dàng hơn với các bộ thông số khác nhau.
Tìm hiểu thêm về lớp RuntimeParameter .
Thành phần
Thành phần là một triển khai nhiệm vụ ML mà bạn có thể sử dụng như một bước trong đường dẫn 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 tác đầu vào và đầu ra của thành phần và các tham số bắt buộc của thành phần.
- Người thực thi, thực hiện 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ột mô hình.
- Một giao diện thành phần, đóng gói đặc tả thành phần và trình thực thi để sử dụng trong một đườ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 đường ống của mình. Nếu các thành phần này không đáp ứng 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 ống TFX là một triển khai di động của dòng công việc ML có thể chạy trên các 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 cá thể thành phần và các tham số đầu vào.
Các cá thể thành phần tạo ra các hiện vật dưới dạng đầu ra và thường phụ thuộc vào các tạo tác được tạo ra bởi các cá thể thành phần ngược dòng làm đầu vào. Trình tự thực thi cho các cá thể thành phần được xác định bằng cách tạo một đồ thị xoay chiều có hướng của các phần phụ thuộc cấu phần.
Ví dụ: hãy xem xét một đường ống thực hiện những điều sau:
- Nhập dữ liệu trực tiếp từ một hệ thống độc quyền bằng cách sử dụng một thành phần tùy chỉnh.
- Tính toán thống kê cho dữ liệu đào tạo bằng cách sử dụng thành phần tiêu chuẩn StatisticsGen.
- Tạo một lược đồ dữ liệu bằng cách sử dụng thành phần chuẩn SchemaGen.
- Kiểm tra dữ liệu đào tạo để tìm các điểm bất thườ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 Huấn luyện viên.
- Đá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ó, đường ống sẽ xếp mô hình được đào tạo vào một hệ thống triển khai độc quyền bằng cách sử dụng một thành phần tùy chỉnh.
Để xác định trình tự thực thi cho các cá thể thành phần, TFX phân tích các phụ thuộc tạo tác.
- Thành phần nhập dữ liệu không có bất kỳ phụ thuộc cấu phần nào, vì vậy nó có thể là nút đầu tiên trong biểu đồ.
- StatisticsGen phụ thuộc vào các ví dụ được tạo ra bởi quá trình nhập dữ liệu, vì vậy nó phải được thực thi sau khi nhập dữ liệu.
- SchemaGen phụ thuộc vào thống kê được tạo bởi StatisticsGen, vì vậy nó phải được thực thi sau StatisticsGen.
- Ví dụValidator phụ thuộc vào số liệu thống kê được tạo bởi StatisticsGen và lược đồ được tạo bởi SchemaGen, vì vậy nó phải được thực thi sau StatisticsGen và SchemaGen.
- 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 đồ được tạo bởi SchemaGen, vì vậy nó phải được thực thi sau khi nhập dữ liệu và SchemaGen.
- Trainer phụ thuộc vào các ví dụ được tạo ra bởi quá trình nhập dữ liệu, lược đồ được tạo bởi SchemaGen và mô hình đã lưu do Transform tạo ra. Trình huấn luyện chỉ có thể được thực thi sau khi nhập dữ liệu, SchemaGen và Transform.
- Trình đánh giá phụ thuộc vào các ví dụ được tạo ra bởi quá trình nhập dữ liệu và mô hình đã lưu do Người đào tạo tạo ra, vì vậy nó phải được thực thi sau khi nhập dữ liệu và Người đào tạo.
- Người triển khai tùy chỉnh phụ thuộc vào mô hình đã lưu do Người huấn luyện tạo ra và kết quả phân tích do Người đánh giá tạo ra, vì vậy người triển khai phải được thực thi sau Người huấn luyện và Người đánh giá.
Dựa trên phân tích này, một người điều khiển dàn nhạc chạy:
- Việc nhập dữ liệu, các phiên bản thành phần StatisticsGen, SchemaGen 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ụ 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 Trình huấn luyện, Trình đánh giá và trình 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 đường dẫn TFX .
Mẫu đường ống TFX
Mẫu đường ống TFX giúp bạn bắt đầu phát triển đường ống dễ dàng hơn bằng cách cung cấp đường ống xây 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 .
Đường ống chạy
Một lần chạy là một lần thực thi một đường ống.
Người dàn nhạc
Orchestrator là một hệ thống mà bạn có thể thực hiện các lần chạy đường ống. 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ỉ việc triển khai hỗ trợ bộ điều phối.