Spark tăng cƣờng khả năng cho máy học.
Spark cung cấp cho ngƣời dùng một nền tảng mạnh mẽ, hợp nhất, vừa nhanh vừa dễ sử dụng. Điều này cho phép ngƣời dùng cĩ thể giải quyết các vấn đề về học máy (tính tốn đồ thị, phát trực tuyến và xử lý truy vấn tƣơng tác thời gian thực) một cách trực quan với quy mơ dữ liệu lớn hơn.
Thiết kế của Spark dành cho học máy
Ngay từ khi bắt đầu dự án Apache Spark, thƣ viện học máy MLlib đƣợc coi là nền tảng cho sự thành cơng của Spark. Lợi ích chính của thƣ viện học máy MLlib là nĩ cho phép các nhà khoa học dữ liệu tập trung vào mơ hình dữ liệu phân tán thay vì giải quyết những vấn đề phức tạp xung quanh (chẳng hạn nhƣ cơ sở hạ tầng, cấu hình, v.v.). Ngƣời dùng cĩ thể tập trung vào kỹ thuật hệ thống phân tán bằng cách sử dụng các API của Spark, trong khi các nhà khoa học dữ liệu cĩ thể tận dụng quy mơ và tốc độ cốt lõi của Spark. Cũng quan trọng khơng kém, Spark MLlib là một thƣ viện cĩ mục đích chung, cung cấp các thuật tốn cho hầu hết các trƣờng hợp sử dụng đồng thời cho phép cộng đồng xây dựng và mở rộng nĩ cho các trƣờng hợp sử dụng chuyên biệt [5].
56
Ƣu điểm của thiết kế thƣ viện học máy MLlib bao gồm:
- Tính đơn giản: Các API đơn giản quen thuộc với các nhà khoa học dữ liệu đến từ các cơng cụ nhƣ R và Python. Ngƣời mới cĩ thể sử dụng các thuật tốn cĩ sẵn từ cơng cụ trong khi các chuyên gia cĩ thể dễ dàng điều chỉnh hệ thống bằng cách điều chỉnh các nút bấm và cơng tắc (thơng số) quan trọng.
- Khả năng mở rộng: Khả năng chạy cùng một mã ML trên máy tính xách tay của bạn và trên một cụm lớn liền mạch mà khơng bị hỏng. Điều này cho phép các doanh nghiệp sử dụng cùng một quy trình làm việc khi cơ sở ngƣời dùng và tập dữ liệu của họ phát triển.
- Khả năng hợp lý hĩa: Phát triển các mơ hình học máy là một hành trình gồm nhiều bƣớc từ nhập dữ liệu thơng qua thử và sai cho đến sản xuất. Xây dựng thƣ viện học máy MLlib trên Spark giúp bạn cĩ thể giải quyết những nhu cầu riêng biệt này bằng một cơng cụ duy nhất thay vì nhiều cơng cụ rời rạc. Ƣu điểm là đƣờng cong học tập thấp hơn, mơi trƣờng sản xuất và phát triển ít phức tạp hơn, và cuối cùng là thời gian ngắn hơn để cung cấp các mơ hình hiệu suất cao.
- Khả năng tƣơng thích: Các nhà khoa học dữ liệu thƣờng cĩ quy trình làm việc đƣợc xây dựng trong các cơng cụ khoa học dữ liệu phổ biến, chẳng hạn nhƣ R, Python pandas và thƣ viện scikit-learning. Spark DataFrames và thƣ viện học máy MLlib cung cấp cơng cụ giúp tích hợp các quy trình cơng việc hiện cĩ này với Spark dễ dàng hơn. Ví dụ: SparkR cho phép ngƣời dùng gọi các thuật tốn trong thƣ viện học máy MLlib sử dụng cú pháp R quen thuộc với Databricks, các gĩi Spark bằng Python để cho phép ngƣời dùng phân phối các phần của quy trình làm việc của thƣ viện scikit-learning.
Đồng thời, Spark cho phép các nhà khoa học dữ liệu giải quyết nhiều vấn đề dữ liệu ngồi các vấn đề máy học của họ. Mơi trƣờng Spark cũng cĩ thể giải quyết các phép tính đồ thị (thơng qua GraphX), phát trực tuyến (tính
57
tốn thời gian thực) và xử lý truy vấn tƣơng tác thời gian thực với Spark SQL và DataFrames. Khả năng sử dụng cùng một khuơn khổ để giải quyết nhiều vấn đề và các trƣờng hợp sử dụng khác nhau cho phép các chuyên gia dữ liệu tập trung vào giải quyết các vấn đề dữ liệu của họ thay vì học và duy trì một cơng cụ khác nhau cho từng tình huống [7].