Mặc dù các mô hình machine learning (ML) đưa ra giải pháp cho vô số thách thức kinh doanh, việc lựa chọn mô hình phù hợp với từng nhu cầu kinh doanh cụ thể có thể khá khó khăn. Những thách thức lớn nhất trong việc ứng dụng ML bao gồm: mở rộng quy mô (43%), tạo phiên bản cho các mô hình ML (41%) và đảm bảo quyền buy-in (Statista, 2021). Doanh nghiệp phải tuân thủ các phương pháp machine learning tốt nhất trong toàn bộ vòng đời để đảm bảo rằng mô hình cần được chuẩn bị tốt nhất trước khi áp dụng vào sản xuất.
Để giải quyết vấn đề này, chúng tôi đã tổng hợp thành một bài viết nêu rõ các phương pháp hay nhất để phát huy tối đa tiềm năng của machine learning theo các yếu tố như: Mục tiêu & Số liệu, Cơ sở hạ tầng, Dữ liệu, Mô hình và Code.
Mục tiêu & Số liệu
Bước đầu tiên và cơ bản khi thiết kế mô hình ML là xác định mục tiêu kinh doanh. Nhiều dự án ML bắt đầu mà không có mục tiêu rõ ràng, khiến chúng có nguy cơ thất bại. Các mô hình ML đòi hỏi cần có mục tiêu, thông số và số liệu chính xác để phát triển. Một số tổ chức thiếu sót về mục tiêu cụ thể, rõ ràng cho mô hình ML của mình. Mặc dù những thông tin này có thể tìm kiếm từ dữ liệu có sẵn nhưng để triển khai mô hình ML thành công, một mục tiêu mơ hồ là chưa đủ.
Doanh nghiệp cần phải thiết lập một mục tiêu rõ ràng, có thể đo lường được và xác định các thước đo để đánh giá. Doanh nghiệp có thể sẽ lãng phí thời gian hoặc theo đuổi các mục tiêu không thể đạt được nếu không thiết lập mục tiêu rõ ràng. Dưới đây là các phương pháp hàng đầu cần xem xét khi xây dựng mục tiêu cho ứng dụng ML của bạn:
1. Đánh giá sự cần thiết của mô hình ML
Trước khi bắt tay vào phát triển mô hình ML, doanh nghiệp phải xác định xem nó có thực sự mang lại lợi nhuận không. Nhiều tổ chức mong muốn nắm bắt xu hướng ML, tuy nhiên không phải mọi vấn đề đều có thể được giải quyết một cách hiệu quả bằng ML. Đánh giá mức độ cần thiết theo từng trường hợp là rất quan trọng. Đặc biệt, các doanh nghiệp nhỏ cần phải thận trọng vì các mô hình ML tiêu thụ lượng lớn tài nguyên, có thể gây áp lực lên tài chính của họ. Việc xác định các khía cạnh khó khăn và đảm bảo tính sẵn sàng của dữ liệu liên quan là các bước nền tảng để phát triển mô hình ML hữu ích và nâng cao hiệu quả của tổ chức.
2. Thu thập dữ liệu cho mục tiêu đã chọn
Mặc dù ứng dụng của ML rất quan trọng nhưng tính sẵn có của dữ liệu là yếu tố then chốt trong việc triển khai thành công mô hình ML. Đối với tổ chức, bước đầu làm quen với ML, bạn nên chọn các mục tiêu được hỗ trợ bởi các tập dữ liệu rộng rãi.
3. Thiết lập chỉ số rõ ràng
Bạn hãy bắt đầu bằng cách xác định trường hợp cần ứng dụng mô hình ML trong doanh nghiệp. Sau đó xây dựng các chỉ số kỹ thuật và kinh doanh phù hợp với từng trường hợp. Mục tiêu rõ ràng và các chỉ số thích hợp là chìa khóa để tối đa hóa hiệu suất của mô hình ML. Kiểm tra kỹ lưỡng các quy trình hiện có nhằm đạt được mục tiêu kinh doanh. Việc xác định những thách thức trong quy trình hiện tại là một bước quan trọng để xác định những công việc có thể tự động hóa. Tìm hiểu những công nghệ deep learning có thể giải quyết những thách thức này là điều cần thiết.
Giải pháp về hạ tầng
Trước khi doanh nghiệp dành thời gian và nguồn lực để xây dựng mô hình ML, hãy kiểm tra cơ sở hạ tầng hiện tại có đủ đáp ứng nhu cầu của mô hình đó. Việc phát triển, đào tạo và triển khai giải pháp ML bị ảnh hưởng rất nhiều bởi cơ sở hạ tầng sẵn có. Giải pháp hay nhất là xây dựng mô hình ML đóng gói hoạt động tự động. Kiểm tra toàn diện và độ chính xác trên các mô hình là điều kiện bắt buộc khi triển khai.
Dưới đây là một số giải pháp hạ tầng hàng đầu khi xây dựng các mô hình ML:
1. Tối ưu các thành phần của cơ sở hạ tầng
Cơ sở hạ tầng ML bao gồm các thành phần đa dạng, quy trình liên quan và các giải pháp được đề xuất cho mô hình ML. Việc tích hợp ML vào hoạt động kinh doanh đòi hỏi sự phát triển của cơ sở hạ tầng với công nghệ AI. Các doanh nghiệp nên hạn chế đầu tư vào toàn bộ cơ sở hạ tầng on-premise trước khi bắt tay vào phát triển mô hình ML. Bạn hãy xem xét các yếu tố khác nhau, bao gồm container, công cụ điều phối, môi trường hybrid, thiết lập multi-cloud và kiến trúc linh hoạt, cần được triển khai dần để đảm bảo khả năng mở rộng cao.
2. Cơ sở hạ tầng đám mây và on-premise
Khi doanh nghiệp ứng dụng ML, ban đầu nên tận dụng hạ tầng đám mây. Cơ sở hạ tầng đám mây mang lại hiệu quả về tài chính, phí bảo trì thấp và khả năng mở rộng cao. Những công ty lớn trong ngành cung cấp sự hỗ trợ mạnh mẽ cho cơ sở hạ tầng đám mây và có sẵn các nền tảng ML với các tính năng toàn diện, dễ điều chỉnh. Cơ sở hạ tầng đám mây yêu cầu chi phí thiết lập thấp hơn và bạn có thể nhận sự hỗ trợ từ các nhà cung cấp dịch vụ dành riêng cho ML, giúp mở rộng dễ dàng với nhiều cụm server.
Mặt khác, cơ sở hạ tầng on-premise có thể dùng cho Lambda Labs và Nvidia Workstations. Việc xây dựng máy trạm deep learning từ đầu cũng là một lựa chọn. Tuy nhiên, cơ sở hạ tầng nội bộ cần doanh nghiệp đầu tư một khoản chi phí ban đầu đáng kể. Điều này mang lại lợi ích bảo mật nâng cao, đặc biệt khi triển khai nhiều mô hình ML để tự động hóa trong doanh nghiệp. Mô hình ML lý tưởng nhất nên sử dụng kết hợp cơ sở hạ tầng đám mây và on-premise, để đáp ứng cho các yêu cầu khác nhau.
3. Khả năng mở rộng hạ tầng
Cơ sở hạ tầng cho ML nên phù hợp với thực tiễn kinh doanh và mục tiêu trong tương lai của doanh nghiệp bạn. Doanh nghiệp nên có các cơ sở hạ tầng cho đào tạo mô hình và dịch vụ riêng biệt. Sự phân chia này cho phép doanh nghiệp thử nghiệm mô hình liên tục với các tính năng nâng cao mà không làm gián đoạn dịch vụ đã triển khai. Việc triển khai kiến trúc microservices là yếu tố then chốt cho các mô hình được đóng gói.
Giải pháp về dữ liệu
Để phát triển thành công các mô hình ML, việc xử lý dữ liệu kỹ lưỡng là rất quan trọng. Dữ liệu xác định mục tiêu của hệ thống và giữ vai trò then chốt trong việc đào tạo các thuật toán ML. Cả hiệu suất và đánh giá mô hình đều liên quan tới việc sử dụng dữ liệu phù hợp.
Dưới đây là một số quy tắc chung về dữ liệu bạn cần xét đến:
1. Khối lượng dữ liệu
Để xây dựng các mô hình ML, doanh nghiệp cần một nguồn dữ liệu lớn. Dữ liệu thô có thể chưa được xử lý, doanh nghiệp cần phải tìm được những thông tin giá trị từ những dữ liệu đó trước khi tiến hành phát triển mô hình ML. Bạn hãy bắt đầu thu thập dữ liệu trong các hệ thống hiện có của tổ chức mình, nó sẽ cung cấp các dữ liệu cần thiết để xây dựng mô hình ML. Trong trường hợp dữ liệu sẵn có hạn chế, kỹ thuật transfer learning (học chuyển giao) có thể được sử dụng để thu thập thêm dữ liệu. Sau đã có dữ liệu thô, hãy áp dụng kỹ thuật xử lý dữ liệu. Việc chuyển đổi dữ liệu thô đầu vào thành các tính năng là rất quan trọng khi thiết kế mô hình ML.
2. Xử lý dữ liệu
Xử lý dữ liệu bắt đầu bằng việc thu thập và chuẩn bị dữ liệu. Kỹ thuật được áp dụng trong quá trình xử lý dữ liệu để thiết lập mối tương quan giữa các tính năng thiết yếu và dữ liệu có sẵn. Các chỉ số về chuyển đổi dữ liệu được sử dụng trong quá trình phân tích dữ liệu tương tác. Tận dụng công cụ trực quan hóa trong phân tích dữ liệu để hiểu về nó, tiến hành kiểm tra độ chính xác và xác thực dữ liệu. Khi quy trình xử lý dữ liệu hoàn thiện, các data engineer sẽ tiến hành nhập liệu và chuyển đổi dữ liệu liên tục cho phân tích dữ liệu. Xác thực dữ liệu là một bước bắt buộc ở mỗi thuật toán ML hoặc data pipeline để đào tạo mô hình. Nếu dữ liệu đầu vào bị sai, bạn cần phải đào tạo lại mô hình ML, quy trình triển khai sẽ được tạm dừng khi có các điểm dữ liệu bất thường cho đến khi chúng được giải quyết.
3. Chuẩn bị dữ liệu
Việc hiểu và triển khai các giải pháp hàng đầu về khoa học dữ liệu góp phần đáng kể vào quá trình chuẩn bị dữ liệu cho các mô hình ML. Các bộ dữ liệu phải được phân loại dựa trên các tính năng và được ghi chép kỹ lưỡng để đảm bảo tính khả dụng của chúng trong suốt vòng đời ML.
Giải pháp mô hình
Khi dữ liệu và cơ sở hạ tầng đã sẵn sàng, giờ là lúc bạn chọn mô hình ML phù hợp. Các nhóm làm việc với nhiều công nghệ khác nhau, một số trong đó có thể trùng lặp hoặc không trùng lặp. Bạn cần chọn một mô hình ML có thể hỗ trợ các công nghệ hiện có. Các chuyên gia khoa học dữ liệu có thể thiếu chuyên môn lập trình và sử dụng các công nghệ lỗi thời. Ngược lại, các kỹ sư phần mềm có thể sử dụng các công nghệ mới và đang thử nghiệm để đạt được kết quả tốt nhất. Mô hình ML vừa phải hỗ trợ các mô hình cũ hơn đồng thời cung cấp các giải pháp công nghệ mới. Các giải pháp công nghệ được lựa chọn phải phù hợp cho hạ tầng đám mây, ngay cả khi các máy chủ nội bộ vẫn đang được sử dụng.
Sau đây là các phương pháp hàng đầu khi lựa chọn mô hình:
1. Xây dựng mô hình mạnh mẽ
Trong triển khai mô hình ML, việc xác thực, thử nghiệm và giám sát các mô hình ML đóng một vai trò quan trọng. Việc xác nhận mô hình tốt nhất nên được hoàn thành trước khi chuyển sang sản xuất. Các số liệu về độ chắc chắn phải được thiết lập làm tiêu chuẩn cho đánh giá mô hình. Việc lựa chọn mô hình phải dựa trên các chỉ số này. Nếu mô hình đã chọn không thể cải tiến để đáp ứng các tiêu chuẩn thì nên loại bỏ mô hình đó để chuyển sang mô hình ML khác. Việc xác định và thử nghiệm thực tế là cần thiết để đào tạo mô hình ML liên tục.
2. Xây dựng và ghi chú về các chỉ số
Việc xây dựng các mô hình gia tăng với các điểm kiểm tra sẽ nâng cao khả năng phục hồi của mô hình ML. Khoa học dữ liệu bao gồm vô vàn số liệu, nó có thể gây hoang mang. Bạn hãy ưu tiên các số liệu về hiệu suất hơn các số liệu được ưa thích. Việc đào tạo liên tục là bắt buộc đối với các mô hình ML và mỗi lần lặp lại phải sử dụng mô hình dữ liệu. Dữ liệu sản xuất ban đầu sẽ có giá trị. Việc sử dụng dữ liệu mô hình dịch vụ (serving model) để đào tạo các mô hình ML giúp tối ưu hóa việc triển khai theo thời gian thực.
3. Điều chỉnh mô hình ML
Các mô hình serving cần phải được giám sát liên tục để phát hiện lỗi ở giai đoạn đầu. Công việc này đòi hỏi sự can thiệp của con người vì nó liên quan đến việc xác định và cho phép các sự cố có thể chấp nhận được. Bạn phải lên lịch giám sát thường xuyên phải trong giai đoạn triển khai của mô hình ML để đảm bảo nó hoạt động như mong đợi. Việc tích hợp phản hồi của người dùng vào duy trì mô hình là rất quan trọng để xây dựng kế hoạch phản ứng với sự cố.
4. Giám sát và tối ưu hóa chiến lược đào tạo mô hình
Để đạt được thành công trong mô hình sản xuất đòi hỏi sự đào tạo chuyên sâu. Việc đào tạo và tích hợp liên tục đảm bảo rằng mô hình ML hoạt động hiệu quả khi giải quyết các vấn đề kinh doanh. Các lần đào tạo ban đầu có thể có sự biến động về độ chính xác nhưng các lần tiếp theo tận dụng dữ liệu serving model sẽ mang lại độ chính xác cao hơn. Để tối ưu hóa chiến lược đào tạo, điều cần thiết là đảm bảo rằng tất cả dữ liệu phải đầy đủ và nhất quán.
Giải pháp về code
Việc triển khai MLOps đòi hỏi rất nhiều code trên nhiều ngôn ngữ lập trình khác nhau. Code phải hoạt động hiệu quả trong suốt các giai đoạn khác nhau của mô hình ML. Sự hợp tác giữa các data scientist và kỹ sư phần mềm là rất quan trọng để đọc, viết và chạy code cho mô hình ML. Unit testing cho codebase sẽ xác thực các tính năng riêng lẻ và việc sử dụng CI (tích hợp liên tục) sẽ tạo điều kiện thuận lợi cho quy trình test, đảm bảo rằng việc sửa đổi code không làm gián đoạn mô hình.
Các giải pháp hàng đầu khi lập trình ML:
1. Đặt tên theo quy tắc
Quy tắc đặt tên đôi khi bị các lập trình viên bỏ qua bỏ khi thiết lập và chạy code của họ. Các mô hình ML yêu cầu điều chỉnh code liên tục nên việc thay đổi bất kỳ thứ gì đều có thể gây ra hiệu ứng gợn sóng. Việc áp dụng các quy tắc đặt tên nhất quán sẽ hỗ trợ toàn bộ nhóm lập trình hiểu và xác định các biến cũng như vai trò của chúng khi phát triển mô hình.
2. Đảm bảo chất lượng code
Kiểm tra chất lượng code là điều bắt buộc để đảm bảo rằng code đúng mục đích mà không gây ra lỗi cho hệ thống hiện có. Code phải dễ hiểu, dễ bảo trì và mở rộng theo yêu cầu của mô hình ML. Việc mã hóa thống nhất trên quy trình ML sẽ hỗ trợ phát hiện và loại bỏ lỗi trước giai đoạn production. Tiêu chuẩn hóa các đoạn code sẽ giúp cho việc xác định code chết và trùng lặp trở nên đơn giản. Bạn cần phải test liên tục với nhiều cách kết hợp code khác nhau để tăng cường mô hình ML. Điều quan trọng là duy trì một hệ thống theo dõi code mạnh mẽ để kiểm tra mối tương quan giữa kết quả thử nghiệm và đầu ra của chúng.
3. Code cho giai đoạn production
Mặc dù mô hình ML yêu cầu mã hóa phức tạp nhưng bạn cần viết code cho giai đoạn production để nâng cao khả năng của mô hình. Code có thể được tái sử dụng với tính năng kiểm soát phiên bản giúp đơn giản hóa việc triển khai và thử nghiệm. Việc điều chỉnh quy trình là điểm mấu chốt để tạo module hỗ trợ CI. Code cho mô hình ML nên tuân thủ theo quy ước tiêu chuẩn về kiểu mã hóa và cấu trúc. Các đoạn code phải được ghi chú lại một cách tỉ mỉ trong các tài liệu thích hợp. Phương pháp mã hóa có hệ thống cần phải bao gồm việc lưu trữ code dùng cho đào tạo, tham số mô hình, bộ dữ liệu, thông số kỹ thuật phần cứng và thông tin môi trường để dễ dàng xác định các phiên bản code.
4. Triển khai container để tích hợp liền mạch
Việc hiểu rõ mô hình chức năng là rất quan trọng để tích hợp liền mạch mô hình ML vào hoạt động của công ty. Sau khi hoàn tất bản mẫu, việc triển khai mô hình sẽ diễn ra nhanh chóng. Một giải pháp tối ưu là tận dụng container hóa để tạo ra các dịch vụ riêng biệt trong các container được cô lập. Các container instance này có thể dùng để triển khai theo yêu cầu và được đào tạo bằng dữ liệu thời gian thực. Để debug đơn giản, bạn nên chứa mỗi ứng dụng trong một container. Quá trình container hóa giúp các mô hình ML có thể tái sử dụng và mở rộng trên nhiều môi trường khác nhau, tạo điều kiện cho tối ưu hóa mô hình sản xuất và đào tạo riêng lẻ mà không làm gián đoạn các hoạt động hiện có.
5. Triển khai tự động hóa
Các mô hình ML cần phải được thử nghiệm và tích hợp liên tục, đặc biệt là khi ra mắt các tính năng mới hoặc tích hợp dữ liệu mới. Việc sử dụng nhiều unit testing khác nhau là rất cần thiết để đảm bảo hoạt động hiệu quả của ứng dụng machine learning. Kiểm tra tự động giúp giảm bớt các thao tác thủ công cần thiết cho việc mã hóa. Tích hợp kiểm tra tự động giúp đảm bảo rằng nếu có một sự thay đổi trong code, nó sẽ được phản ánh trên toàn bộ mô hình ML.
6. Nền tảng low-code và no-code
Nền tảng ML low-code và no-code giúp tối ưu quá trình mã hóa, cho phép các data scientist ra mắt các tính năng mới mà ít cần đến các kỹ sư lập trình. Mặc dù các nền tảng này cung cấp tính linh hoạt và triển khai nhanh chóng nhưng mức độ tùy chỉnh nhìn chung thấp hơn so với code viết tay. Khi mô hình ML trở nên phức tạp hơn, các kỹ sư lập trình thường đóng vai trò quan trọng hơn trong việc viết code để đào tạo cho mô hình.
Nhìn chung, việc áp dụng các phương pháp hàng đầu trong các khía cạnh khác nhau của ML là điều cần thiết để đạt hiệu quả. Những phương pháp này bao gồm việc đặt ra các mục tiêu và số liệu rõ ràng, thiết lập cơ sở hạ tầng mạnh mẽ, duy trì dữ liệu chất lượng cao, tối ưu hóa các mô hình và tuân thủ các nguyên tắc mã hóa phù hợp. Khi tuân theo các nguyên tắc này, các tổ chức có thể thúc đẩy hiệu quả, độ tin cậy và sự đổi mới trong lĩnh vực machine learning.