Để tạo ra các mô hình học máy và deep learning (học máy), bạn cần có lượng dữ liệu dồi dào, cách phân loại dữ liệu và sử dụng nó sao cho hợp lý. Sau đó, bạn cần có một phương án để triển khai các mô hình của mình, theo dõi sự sai lệch của chúng theo thời gian và điều chỉnh lại khi cần thiết.
Bạn có thể thực hiện tất cả những việc đó tại chỗ nếu như bạn đã đầu tư vào các tài nguyên máy tính và công cụ tăng tốc như GPU. Tuy nhiên việc làm này tốn kém rất nhiều chi phí. Để giảm thiểu chi phí bạn hoàn toàn có thể đưa tất cả dữ liệu mình đang có lên nền tảng đám mây, sử dụng một lượng tài nguyên máy tính và bộ tăng tốc khi cần, sau đó giải phóng chúng.
Các nhà cung cấp nền tảng đám mây lớn và một vài nhà cung cấp nhỏ đang nỗ lực để có thể xây dựng các nền tảng học máy. Điều này giúp cho nền tảng học máy trở nên hoàn chỉnh hơn, từ lập kế hoạch dự án đến duy trì mô hình trong sản xuất. Vậy làm thế nào để bạn có thể xác định được đâu là nền tảng học máy đám mây phù hợp với doanh nghiệp của bạn? Dưới đây là 9 yếu tố mà mọi nền tảng học máy end-to-end có thể cung cấp cho bạn.
1. Kết hợp tốt với dữ liệu bạn đang có
Nếu bạn có một lượng lớn dữ liệu cần thiết để xây dựng các mô hình có độ chính xác cao và bạn không muốn gửi nó đi nửa vòng trái đất. Vấn đề ở đây không phải là khoảng cách, mà là thời gian: Tốc độ truyền dữ liệu bị giới hạn ngay cả khi bạn có một hệ thống mạng hoàn hảo với băng thông vô hạn. Khoảng cách sẽ dẫn đến độ trễ trong việc chuyền dữ liệu.
Trường hợp lý tưởng cho các tệp dữ liệu lớn là xây dựng một mô hình dữ liệu, từ đó bạn sẽ không cần phải truyền những tệp dữ liệu hàng loạt. Một số cơ sở dữ liệu hỗ trợ điều đó ở một mức độ hạn chế.
Trường hợp lý tưởng tiếp theo là dữ liệu ở trên cùng một mạng tốc độ cao với phần mềm xây dựng mô hình và có cùng một trung tâm dữ liệu. Ngay cả khi di chuyển dữ liệu từ trung tâm dữ liệu này sang trung tâm dữ liệu khác trong vùng khả dụng của đám mây cũng có thể gây ra độ trễ đáng kể.
Trường hợp xấu nhất sẽ là nếu bạn phải di chuyển dữ liệu lớn khoảng cách xa qua các đường dẫn có băng thông hạn chế và độ trễ cao.
2. Hỗ trợ ETL hoặc ELT Pipeline
ETL (xuất, chuyển đổi và tải) và ELT (xuất, tải và chuyển đổi) là hai cấu hình của data pipeline, chúng rất phổ biến trong thế giới cơ sở dữ liệu. ELT cung cấp cho bạn sự linh hoạt hơn khi các phép biến đổi của bạn cần thay đổi, vì giai đoạn tải thường tốn nhiều thời gian nhất đối với dữ liệu lớn.
Nói chung, dữ liệu thô rất lộn xộn. Chúng cần phải được lọc trước khi sử dụng. Ngoài ra dữ liệu thô cũng có các phạm vi khác nhau: Một biến có thể có giá trị tối đa là hàng triệu, trong khi biến khác có thể có phạm vi từ -0.1 đến -0.001. Đối với học máy, các biến phải được chuyển đổi thành các phạm vi tiêu chuẩn hóa để giữ cho các biến có phạm vi lớn không chiếm ưu thế trong mô hình. Để xác định chính xác phạm vi tiêu chuẩn hóa cần phải phụ thuộc vào thuật toán được sử dụng cho mô hình.
3. Hỗ trợ môi trường trực tuyến để xây dựng mô hình
Bạn nên nhập dữ liệu của mình vào máy tính để xây dựng mô hình. Số lượng dữ liệu tuyệt đối cần thiết để xây dựng mô hình học máy và deep learning sẽ làm thay đổi bức tranh tổng thể: Bạn có thể tải một mẫu dữ liệu nhỏ xuống máy tính để phân tích dữ liệu khám phá và xây dựng mô hình, nhưng đối với mô hình sản xuất, bạn cần có quyền truy cập vào toàn bộ dữ liệu.
Các nền tảng phát triển dựa trên web như Upyter Notebooks, JupyterLab và Apache Zeppelin rất phù hợp để xây dựng mô hình dữ liệu. Nếu dữ liệu của bạn nằm trong cùng một đám mây, bạn có thể phân tích dữ liệu, giảm thiểu việc di chuyển dữ liệu tốn nhiều thời gian.
4. Hỗ trợ AutoML và các tính năng tự động
Không phải ai cũng giỏi trong việc chọn mô hình học máy, chọn các tính năng (các biến được mô hình sử dụng) và thiết kế các tính năng mới từ các quan sát thô. Ngay cả khi bạn làm tốt những công việc đó, chúng vẫn tốn thời gian và có thể được tự động hóa ở mức độ lớn.
Hệ thống AutoML thường thử nhiều mô hình để xem kết quả nào dẫn đến giá trị hàm mục tiêu tốt nhất. Các hệ thống AutoML tốt nhất cũng có thể thực hiện kỹ thuật tính năng và sử dụng tài nguyên của chúng một cách hiệu quả để tạo ra các mô hình tốt nhất đi cùng với các bộ tính năng tốt nhất
5. Hộ trỡ các khung phần mềm học máy và deep learning
Hầu hết các nhà khoa học dữ liệu đều có các khung phần mềm và ngôn ngữ lập trình yêu thích cho việc học máy và deep learning. Đối với những người thích Python, Scikit-learning thường được yêu thích cho học máy, trong khi TensorFlow, PyTorch, Keras và MXNet thường là những lựa chọn hàng đầu cho deep learning. Trong Scala, Spark MLlib có xu hướng được ưu tiên cho việc học máy. Trong R, có nhiều gói học máy gốc và giao diện tốt cho Python.
Các nền tảng học máy đám mây và deep learning có các thuật toán riêng và chúng thường hỗ trợ các khung phần mềm bên ngoài bằng ít nhất một ngôn ngữ hoặc dưới dạng các vùng chứa với các điểm nhập cụ thể. Trong một số trường hợp, bạn có thể tích hợp các thuật toán và phương pháp thống kê của riêng mình với các cơ sở AutoML của nền tảng, điều này khá thuận tiện.
6. Cung cấp các dịch vụ AI được điều chỉnh
Các nền tảng đám mây chính cung cấp các dịch vụ AI mạnh mẽ, được điều chỉnh cho nhiều ứng dụng, không chỉ nhận dạng hình ảnh. Ví dụ bao gồm dịch ngôn ngữ, chuyển lời nói sang văn bản, chuyển văn bản thành giọng nói, dự báo và đề xuất.
Các dịch vụ này đã được đào tạo và thử nghiệm trên nhiều dữ liệu. Chúng cũng đã được triển khai trên các điểm cuối dịch vụ với đủ tài nguyên tính toán, bao gồm cả bộ tăng tốc, để đảm bảo thời gian phản hồi tốt.
7. Quản lý các thử nghiệm của bạn
Cách duy nhất để tìm ra mô hình tốt nhất cho tập dữ liệu của bạn là thử mọi thứ, dù là thủ công hay sử dụng AutoML. Điều này nảy sinh ra một nhiệm vụ mới: Quản lý các thử nghiệm của bạn.
Một nền tảng học máy đám mây tốt sẽ có cách để bạn có thể xem và so sánh các giá trị hàm mục tiêu của mỗi thử nghiệm cho các tệp dữ liệu thử nghiệm, cũng như kích thước của mô hình. Để có thể quản lý tốt các thử nghiệm, bạn cần phải lập ra đồ thị mà ở đó cung cấp đầy đủ kết quả mà các thử nghiệm đem lại.
8. Hỗ trợ triển khai mô hình để dự đoán
Khi bạn đã có giải pháp chọn thử nghiệm tốt nhất theo tiêu chí của mình, bạn cũng cần một giải pháp dễ dàng để triển khai mô hình. Nếu bạn triển khai nhiều mô hình cho cùng một mục đích, bạn cũng sẽ cần một giải pháp để phân bổ lưu lượng truy cập giữa các mô hình đó cho thử nghiệm.
Theo CIO