Q:
Làm thế nào để container hóa là một lựa chọn tốt cho môi trường dự án máy học?
A:Một số công ty đang hướng tới việc đóng gói cho các dự án máy học, dựa trên một số lợi ích mà thiết lập vùng chứa mang lại về mặt nền tảng và môi trường phần mềm.
Học máy rất phức tạp - bản thân các thuật toán thực hiện rất nhiều hành động rất chi tiết và phức tạp trên dữ liệu. Tuy nhiên, đề xuất giá trị, theo một số cách, khá đơn giản - thuật toán học máy hoạt động trên dữ liệu đến từ môi trường lưu trữ.
Tải xuống miễn phí: Machine Learning và Why It Matters |
Việc sử dụng các container liên quan đến cách các kỹ sư đưa dữ liệu vào môi trường học máy và cách các thuật toán hoạt động.
Các kỹ sư có thể sử dụng ảo hóa container hoặc để lưu trữ dữ liệu hoặc để triển khai mã chạy các thuật toán. Mặc dù các thùng chứa có thể hữu ích cho dữ liệu, nhưng lợi ích chính của chúng có lẽ đến từ việc sử dụng mã thuật toán của chúng.
Kiến trúc container có các ứng dụng và cơ sở mã độc lập. Mỗi container được sao chép hệ điều hành riêng và nó có một môi trường hoạt động đầy đủ cho ứng dụng hoặc chức năng mã được đặt bên trong nó.
Do đó, các ứng dụng riêng lẻ, dịch vụ siêu nhỏ hoặc cơ sở mã có trong mỗi vùng chứa có thể được triển khai theo những cách rất linh hoạt. Chúng có thể được triển khai trong các nền tảng khác nhau và môi trường khác nhau.
Bây giờ, giả sử bạn đang cố gắng đẩy mạnh một dự án máy học trong đó các thuật toán khác nhau phải làm việc trên nhiều phần dữ liệu khác nhau theo cách lặp. Nếu bạn cảm thấy mệt mỏi khi phải đối phó với các thách thức đa nền tảng hoặc các vấn đề phụ thuộc hoặc các tình huống trong đó việc triển khai kim loại trần là khó khăn, container có thể là giải pháp.
Về cơ bản, các container cung cấp một cách để lưu trữ mã. Các chuyên gia nói về việc triển khai các container dựa trên dữ liệu được lưu trữ để có kết quả tốt.
'(Các ứng dụng) có thể được trộn lẫn và kết hợp trong bất kỳ số nền tảng nào, mà hầu như không cần phải chuyển hoặc thử nghiệm, , chúng có thể hoạt động trong môi trường phân tán cao và bạn có thể đặt các thùng chứa này gần với dữ liệu mà các ứng dụng đang phân tích.
Linthicum tiếp tục nói về việc phơi bày các dịch vụ học máy dưới dạng microservice. Điều này cho phép các ứng dụng bên ngoài - dựa trên container hoặc không - tận dụng các dịch vụ này bất cứ lúc nào mà không phải di chuyển mã bên trong ứng dụng.
Theo một nghĩa rất cơ bản, việc triển khai container là tất cả về việc làm cho chức năng của chương trình học máy trở nên dễ thích nghi hơn - loại bỏ các silo và các kết nối không cần thiết - và một lần nữa, phụ thuộc - có thể làm tê liệt một dự án. Đối với một dự án máy học trung bình, nạc, nếu các phần riêng biệt của thuật toán hoặc ứng dụng hoặc chức năng được đặt trong các thùng chứa, bạn có thể dễ dàng quản lý các phần độc lập này và tạo ra các dự án sản phẩm máy học phức tạp phù hợp.