Cơ sở dữ liệu hàng đầu hỗ trợ học máy trong cơ sở dữ liệu

Cập nhật: 20/2021/XNUMX
Cơ sở dữ liệu hàng đầu hỗ trợ học máy trong cơ sở dữ liệu

Trong bài viết vào tháng 2020 năm XNUMX của tôi, “Cách chọn nền tảng Học máy trên đám mây”, hướng dẫn đầu tiên của tôi để chọn nền tảng là “Hãy gần gũi với dữ liệu của bạn”. Giữ mã gần dữ liệu là cần thiết để giữ độ trễ thấp, vì tốc độ ánh sáng hạn chế tốc độ truyền. Xét cho cùng, học máy - đặc biệt là học sâu - có xu hướng xem qua tất cả dữ liệu của bạn nhiều lần (mỗi lần thông qua được gọi là kỷ nguyên).

Vào thời điểm đó, tôi đã nói rằng trường hợp lý tưởng cho các tập dữ liệu rất lớn là xây dựng mô hình nơi dữ liệu đã cư trú, để không cần truyền 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ế. Câu hỏi tự nhiên tiếp theo là, cơ sở dữ liệu nào hỗ trợ học máy nội bộ và chúng thực hiện điều đó như thế nào? Tôi sẽ thảo luận về những cơ sở dữ liệu đó theo thứ tự bảng chữ cái.

Amazon RedShift

Amazon Redshift là một dịch vụ kho dữ liệu được quản lý, quy mô petabyte được thiết kế để giúp bạn phân tích tất cả dữ liệu một cách đơn giản và tiết kiệm chi phí bằng cách sử dụng các công cụ thông minh kinh doanh hiện có của bạn. Nó được tối ưu hóa cho các tập dữ liệu từ vài trăm gigabyte đến petabyte hoặc hơn và có giá dưới 1,000 đô la cho mỗi terabyte mỗi năm.

Amazon Redshift ML được thiết kế để giúp người dùng SQL dễ dàng tạo, đào tạo và triển khai các mô hình học máy bằng cách sử dụng các lệnh SQL. Lệnh CREATE MODEL trong Redshift SQL xác định dữ liệu để sử dụng cho đào tạo và cột mục tiêu, sau đó chuyển dữ liệu đến Amazon SageMaker Autopilot để đào tạo thông qua một nhóm Amazon S3 được mã hóa trong cùng một vùng.

Sau khi đào tạo AutoML, Redshift ML biên dịch mô hình tốt nhất và đăng ký nó dưới dạng hàm SQL dự đoán trong cụm Redshift của bạn. Sau đó, bạn có thể gọi mô hình để suy luận bằng cách gọi hàm dự đoán bên trong câu lệnh SELECT.

Tổng kết: Redshift ML sử dụng SageMaker Autopilot để tự động tạo mô hình dự đoán từ dữ liệu bạn chỉ định thông qua câu lệnh SQL, câu lệnh này được trích xuất vào nhóm S3. Chức năng dự đoán tốt nhất được tìm thấy được đăng ký trong cụm Redshift.

SQL rực rỡ

BlazingSQL là một công cụ SQL tăng tốc GPU được xây dựng trên hệ sinh thái RAPIDS; nó tồn tại như một dự án mã nguồn mở và một dịch vụ trả phí. RAPIDS là một bộ thư viện và API phần mềm mã nguồn mở, do Nvidia ấp ủ, sử dụng CUDA và dựa trên định dạng bộ nhớ cột Apache Arrow. CuDF, một phần của RAPIDS, là một thư viện GPU DataFrame giống như Pandas để tải, nối, tổng hợp, lọc và xử lý dữ liệu theo cách khác.

Dask là một công cụ mã nguồn mở có thể chia tỷ lệ các gói Python thành nhiều máy. Dask có thể phân phối dữ liệu và tính toán trên nhiều GPU, trong cùng một hệ thống hoặc trong một cụm nhiều nút. Dask tích hợp với RAPIDS cuDF, XGBoost và RAPIDS cuML để phân tích dữ liệu tăng tốc GPU và máy học.

Tổng kết: BlazingSQL có thể chạy các truy vấn tăng tốc GPU trên các hồ dữ liệu trong Amazon S3, chuyển các DataFrame kết quả đến cuDF để thao tác dữ liệu và cuối cùng thực hiện học máy với RAPIDS XGBoost và cuML cũng như học sâu với PyTorch và TensorFlow.

Google Cloud BigQuery

BigQuery là kho dữ liệu quy mô petabyte, được quản lý của Google Cloud, cho phép bạn chạy phân tích trên một lượng lớn dữ liệu trong thời gian gần thực. BigQuery ML cho phép bạn tạo và thực thi các mô hình học máy trong BigQuery bằng cách sử dụng các truy vấn SQL.

BigQuery ML hỗ trợ hồi quy tuyến tính để dự báo; hồi quy logistic nhị phân và đa lớp để phân loại; K-có nghĩa là phân cụm để phân đoạn dữ liệu; ma trận thừa số hóa để tạo hệ thống khuyến nghị sản phẩm; chuỗi thời gian để thực hiện các dự báo theo chuỗi thời gian, bao gồm các hiện tượng bất thường, theo mùa và ngày lễ; Các mô hình phân loại và hồi quy XGBoost; Mạng nơron sâu dựa trên TensorFlow cho các mô hình phân loại và hồi quy; Bảng AutoML; và nhập mô hình TensorFlow. Bạn có thể sử dụng mô hình có dữ liệu từ nhiều tập dữ liệu BigQuery để đào tạo và dự đoán. BigQuery ML không trích xuất dữ liệu từ kho dữ liệu. Bạn có thể thực hiện kỹ thuật tính năng với BigQuery ML bằng cách sử dụng mệnh đề TRANSFORM trong câu lệnh CREATE MODEL của bạn.

Tóm tắt: BigQuery ML mang nhiều sức mạnh của Google Cloud Machine Learning vào kho dữ liệu BigQuery với cú pháp SQL mà không cần trích xuất dữ liệu từ kho dữ liệu.

Kho IBM Db2

IBM Db2 Warehouse trên Cloud là một dịch vụ đám mây công cộng được quản lý. Bạn cũng có thể thiết lập IBM Db2 Warehouse tại cơ sở bằng phần cứng của riêng bạn hoặc trên đám mây riêng. Là một kho dữ liệu, nó bao gồm các tính năng như xử lý dữ liệu trong bộ nhớ và bảng cột để xử lý phân tích trực tuyến. Netezza của nó công nghệ cung cấp một bộ phân tích mạnh mẽ được thiết kế để đưa truy vấn vào dữ liệu một cách hiệu quả. Một loạt các thư viện và chức năng giúp bạn có được thông tin chi tiết chính xác mà bạn cần.

Db2 Warehouse hỗ trợ học máy trong cơ sở dữ liệu bằng Python, R và SQL. IDAX mô-đun chứa các thủ tục lưu trữ phân tích, bao gồm phân tích phương sai, quy tắc kết hợp, chuyển đổi dữ liệu, cây quyết định, biện pháp chẩn đoán, rời rạc và khoảnh khắc, phân cụm K-mean, lân cận k gần nhất, hồi quy tuyến tính, quản lý siêu dữ liệu, phân loại Bayes ngây thơ, phân tích thành phần chính, phân phối xác suất, lấy mẫu ngẫu nhiên, cây hồi quy, các mẫu và quy tắc tuần tự, cũng như cả thống kê tham số và phi tham số.

Tổng kết: IBM Db2 Warehouse bao gồm một loạt các phân tích SQL trong cơ sở dữ liệu bao gồm một số chức năng học máy cơ bản, cộng với hỗ trợ trong cơ sở dữ liệu cho R và Python.

Cơ sở dữ liệu Oracle

Kinetica Streaming Data Warehouse kết hợp phân tích dữ liệu lịch sử và truyền trực tuyến với trí thông minh vị trí và AI trong một nền tảng duy nhất, tất cả đều có thể truy cập thông qua API và SQL. Kinetica là một cơ sở dữ liệu rất nhanh, phân tán, dạng cột, ưu tiên bộ nhớ, được tăng tốc bằng GPU với chức năng lọc, trực quan hóa và tổng hợp.

Kinetica tích hợp các mô hình học máy và thuật toán với dữ liệu của bạn để phân tích dự đoán thời gian thực trên quy mô lớn. Nó cho phép bạn sắp xếp hợp lý các đường ống dẫn dữ liệu và vòng đời của phân tích, mô hình học máy và kỹ thuật dữ liệu cũng như tính toán các tính năng với tính năng phát trực tuyến. Kinetica cung cấp giải pháp vòng đời đầy đủ cho việc học máy được tăng tốc bởi GPU: sổ ghi chép Jupyter được quản lý, đào tạo mô hình thông qua RAPIDS, triển khai mô hình tự động và truyền thông trong nền tảng Kinetica.

Tổng kết: Kinetica cung cấp giải pháp vòng đời trong cơ sở dữ liệu đầy đủ cho việc học máy được tăng tốc bởi GPU và có thể tính toán các tính năng từ dữ liệu truyền trực tuyến.

Microsoft SQL Server

Microsoft SQL Server Machine Learning Services hỗ trợ R, Python, Java, lệnh PREDICT T-SQL và thủ tục được lưu trữ rx_P Dự đoán trong SQL Server RDBMS và SparkML trong SQL Server Big Data Cluster. Trong các ngôn ngữ R và Python, Microsoft bao gồm một số gói và thư viện để học máy. Bạn có thể lưu trữ các mô hình được đào tạo của mình trong cơ sở dữ liệu hoặc bên ngoài. Azure SQL Managed Instance hỗ trợ Dịch vụ Máy học cho Python và R dưới dạng bản xem trước.

Microsoft R có các phần mở rộng cho phép nó xử lý dữ liệu từ đĩa cũng như trong bộ nhớ. SQL Server cung cấp một khung mở rộng để mã R, Python và Java có thể sử dụng dữ liệu và chức năng của SQL Server. SQL Server Big Data Cluster chạy SQL Server, Spark và HDFS trong Kubernetes. Khi SQL Server gọi mã Python, đến lượt nó, nó có thể gọi Azure Machine Learning và lưu mô hình kết quả trong cơ sở dữ liệu để sử dụng trong các dự đoán.

Tổng kết: Các phiên bản hiện tại của SQL Server có thể đào tạo và suy ra các mô hình học máy bằng nhiều ngôn ngữ lập trình.

Cơ sở dữ liệu Oracle

Khoa học dữ liệu Cơ sở hạ tầng đám mây Oracle (OCI) là một nền tảng được quản lý và không có máy chủ dành cho các nhóm khoa học dữ liệu để xây dựng, đào tạo và quản lý các mô hình học máy sử dụng Cơ sở hạ tầng đám mây Oracle bao gồm Cơ sở dữ liệu tự trị Oracle và Kho dữ liệu tự trị của Oracle. Nó bao gồm các công cụ, thư viện và gói tập trung vào Python được phát triển bởi cộng đồng nguồn mở và Thư viện Khoa học Dữ liệu Tăng tốc (ADS) của Oracle, hỗ trợ vòng đời end-to-end của các mô hình dự đoán:

  • Thu thập dữ liệu, lập hồ sơ, chuẩn bị và trực quan hóa
  • Kỹ thuật tính năng
  • Đào tạo mô hình (bao gồm Oracle AutoML)
  • Đánh giá, giải thích và diễn giải mô hình (bao gồm Oracle MLX)
  • Triển khai mô hình cho các chức năng của Oracle

Khoa học dữ liệu OCI tích hợp với phần còn lại của ngăn xếp Cơ sở hạ tầng đám mây Oracle, bao gồm Chức năng, Luồng dữ liệu, Kho dữ liệu tự trị và Lưu trữ đối tượng.

Các mô hình hiện được hỗ trợ bao gồm:

  • Oracle AutoML
  • Máy ảnh
  • Học hỏi
  • XGBoost
  • ADSTuner (điều chỉnh siêu tham số)

ADS cũng hỗ trợ khả năng giải thích bằng máy học (MLX).

Tổng kết: Cơ sở hạ tầng đám mây Oracle có thể lưu trữ các tài nguyên khoa học dữ liệu được tích hợp với kho dữ liệu, kho lưu trữ đối tượng và các chức năng của nó, cho phép tạo ra một vòng đời phát triển mô hình đầy đủ.

dọc

Vertica Analytics Platform là một kho dữ liệu lưu trữ dạng cột có thể mở rộng. Nó chạy ở hai chế độ: Enterprise, lưu trữ dữ liệu cục bộ trong hệ thống tệp của các nút tạo nên cơ sở dữ liệu và EON, lưu trữ dữ liệu chung cho tất cả các nút máy tính.

Vertica sử dụng quy trình xử lý song song hàng loạt để xử lý petabyte dữ liệu và thực hiện học máy nội bộ của nó với tính năng song song dữ liệu. Nó có tám thuật toán tích hợp để chuẩn bị dữ liệu, ba thuật toán hồi quy, bốn thuật toán phân loại, hai thuật toán phân cụm, một số chức năng quản lý mô hình và khả năng nhập các mô hình TensorFlow và PMML được đào tạo ở nơi khác. Khi bạn đã phù hợp hoặc nhập một mô hình, bạn có thể sử dụng nó để dự đoán. Vertica cũng cho phép các phần mở rộng do người dùng xác định được lập trình bằng C ++, Java, Python hoặc R. Bạn sử dụng cú pháp SQL cho cả đào tạo và suy luận.

Tổng kết: Vertica được tích hợp sẵn một bộ thuật toán học máy và có thể nhập các mô hình TensorFlow và PMML. Nó có thể dự đoán từ các mô hình nhập khẩu cũng như các mô hình riêng của nó.

Tâm tríDB

Nếu cơ sở dữ liệu của bạn chưa hỗ trợ học máy nội bộ, có khả năng bạn có thể thêm khả năng đó bằng cách sử dụng MindsDB, tích hợp với nửa tá cơ sở dữ liệu và năm công cụ BI. Cơ sở dữ liệu được hỗ trợ bao gồm MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server và Snowflake, với tích hợp MongoDB trong các hoạt động và tích hợp với cơ sở dữ liệu phát trực tuyến được hứa hẹn vào cuối năm 2021. Các công cụ BI được hỗ trợ hiện bao gồm SAS, Qlik Sense, Microsoft Power BI, Looker , và Domo.

MindsDB có tính năng AutoML, bảng AI và AI có thể giải thích được (XAI). Bạn có thể gọi đào tạo AutoML từ MindsDB Studio, từ câu lệnh SQL INSERT hoặc từ lệnh gọi API Python. Đào tạo có thể tùy chọn sử dụng GPU và có thể tùy chọn tạo mô hình chuỗi thời gian.

Bạn có thể lưu mô hình dưới dạng bảng cơ sở dữ liệu và gọi nó từ câu lệnh SQL SELECT đối với mô hình đã lưu, từ MindsDB Studio hoặc từ lệnh gọi API Python. Bạn có thể đánh giá, giải thích và hình dung chất lượng mô hình từ MindsDB Studio.

Bạn cũng có thể kết nối MindsDB Studio và API Python với các nguồn dữ liệu cục bộ và từ xa. MindsDB cũng cung cấp thêm một khung học sâu đơn giản, Lightwood, chạy trên PyTorch.

Tổng kết: MindsDB mang lại khả năng học máy hữu ích cho một số cơ sở dữ liệu thiếu hỗ trợ tích hợp cho học máy.