Ideálním případem pro velmi velké datové sady je vytvoření modelu tam, kde jsou data, takže není potřebné data nikam přesouvat. Několik databází to v omezeném rozsahu podporuje.
Přirozenou další otázkou je, které databáze interně podporují strojové učení, a jak to dělají. Příklady těchto databází jsou uvedené níže v abecedním pořadí.
Amazon Redshift
Amazon Redshift je spravovaná služba datového skladu petabajtové kategorie, která je navržena pro usnadnění a zlevnění analýzy všech vašich dat pomocí existujících nástrojů Business Intelligence. Je optimalizována pro datové sady velikosti od několika set gigabajtů až po petabajty a více a stojí méně než tisíc dolarů za terabajt ročně.
Amazon Redshift ML je navržena tak, aby usnadňovala SQL uživatelům vytváření, trénování a nasazení modelů strojového učení pomocí příkazů SQL. Příkaz Create Model v jazyce Redshift SQL definuje data pro trénování a cílový sloupec, následně předá přes šifrovaný bucket Amazon S3 ve stejné zóně data službě Amazon SageMaker Autopilot pro vytrénování.
Po vytrénování přes AutoML zkompiluje Redshift ML nejlepší model a zaregistruje ho jako predikční funkci SQL ve vašem clusteru Redshift. Následně můžete model zavolat pro účely usuzování voláním predikční funkce uvnitř příkazu Select.
Souhrn: Redshift ML využívá SageMaker Autopilot k automatickému vytvoření predikčních modelů z dat specifikovaných v příkazu SQL a následně extrahovaných do bucketu S3. Nejlepší nalezená predikční funkce je zaregistrována v clusteru Redshift.
BlazingSQL
BlazingSQL je stroj SQL akcelerovaný prostřednictvím GPU vytvořený nad ekosystémem Rapids. Existuje jako projekt open source a placená služba. Rapids je open source sada softwarových knihoven a rozhraní API podporovaná společností Nvidia.
Využívá technologii CUDA a je založena na sloupcovém paměťovém formátu Apache Arrow. CuDF, součást Rapids, je (podobně jako Pandas) knihovna GPU DataFrame pro načítání, spojování, agregaci, filtrování a další manipulace s daty.
Dask je open source nástroj, který dokáže škálovat balíčky Python na více strojů. Dask dokáže distribuovat data a výpočty na více GPU, a to buď ve stejném systému nebo ve víceuzlovém clusteru.
Dask nabízí integraci pro Rapids cuDF, XGBoost a Rapids cuML pro datové analýzy a strojové učení s akcelerací pomocí GPU.
Souhrn: BlazingSQL dokáže spouštět dotazy akcelerované pomocí GPU pro datová jezera ve službě Amazon S3, předat výsledné DataFrames do cuDF pro manipulaci s daty a nakonec použít strojové učení s využitím Rapids XGBoost acuML, a hluboké učení s využitím PyTorch a TensorFlow.
Google Cloud BigQuery
BigQuery je spravovaná služba datového skladu petabajtové kategorie v Google Cloudu, která umožňuje provádět analýzy obrovského množství dat téměř v reálném čase. BigQuery ML umožňuje vytvářet a spouštět modely strojového učení uvnitř služby BigQuery pomocí SQL dotazů.
BigQuery ML podporuje lineární regresi pro předpovědi, binární a vícetřídovou logistickou regresi pro klasifikaci, K-means clustering pro segmentaci dat, faktorizaci matic pro systémy doporučování produktů, časové série pro předpovědi, včetně anomálií, sezónnosti a prázdnin, XGBoost klasifikaci a regresní modely, dále hluboké neuronové sítě pro klasifikaci a regresní modely (založeno na TensorFlow), AutoML Tables a import modelů TensorFlow.
Můžete použít model s daty z více datových sad BigQuery pro trénování i predikci. BigQuery ML neextrahuje data z datového skladu. Funkce můžete navrhovat s využitím BigQuery ML a klauzule Transform v příkazu Create Model.
Souhrn: BigQuery ML přináší velkou část výkonu platformy Google Cloud Machine Learning do datového skladu BigQuery pomocí syntaxe SQL bez extrahování dat z datového skladu.
IBM Db2 Warehouse
IBM Db2 Warehouse on Cloud je spravovaná služba veřejného cloudu. Můžete si také nakonfigurovat IBM Db2 Warehouse ve své vlastní infrastruktuře s využitím vlastního hardwaru nebo v privátním cloudu.
Jako datový sklad obsahuje funkce jako zpracování dat in-memory a sloupcové tabulky pro on-line analytické zpracování. Použitá technologie Netezza nabízí robustní analytickou sadu navrženou pro efektivní dotazy vůči datům. Řada knihoven a funkcí vám pomůže získat potřebné poznatky.
Db2 Warehouse podporuje strojové učení in-database v jazycích Python, R a SQL. Modul IDAX obsahuje analytické postupy, včetně analýz různosti, asociačních pravidel, transformace dat, rozhodovacích stromů, diagnostických měřítek, diskretizace a momentů, K-means clusteringu, k-NN, lineární regrese, správy metadat, Bayes klasifikace, analýzy hlavních komponent (PCA), distribuce pravděpodobnosti, náhodných vzorků, regresních stromů, sekvenčních vzorů a pravidel, a parametrické i neparametrické statistiky.
Souhrn: IBM Db2 Warehouse obsahuje širokou řadu in-database SQL analýz, která zahrnuje některé základní funkce strojového učení a in-database podporu pro jazyky R a Python.
Kinetica
Kinetica Streaming Data Warehouse kombinuje analýzu historických a streamovaných dat s AI na jedné platformě – vše dostupné přes rozhraní API a SQL. Kinetica je velmi rychlá, distribuovaná, sloupcová databáze typu memory-first, akcelerovaná pomocí GPU s filtrováním, vizualizací a funkcí agregace.
Kinetica integruje modely a algoritmy strojového učení se vašimi daty pro prediktivní analýzu v reálném čase a velkém měřítku. Umožňuje zefektivnit datové potrubí a životní cyklus analýz, modely strojového učení, datové inženýrství a podporuje výpočty pro streamovaná data.
Kinetica nabízí řešení celého životního cyklu pro strojové učení akcelerované pomocí GPU: spravované notebooky Jupyter, trénování modelu přes Rapids a automatizovaný model nasazení a usuzování na platformě Kinetica.
Souhrn: Kinetica nabízí řešení celého životního cyklu in-database pro strojové učení akcelerované pomocí GPU s možností výpočtů pro streamovaná data.
Microsoft SQL Server
Služba Microsoft SQL Server Machine Learning Services podporuje jazyky R, Python, Java, příkaz PREDICT T-SQL a uloženou proceduru rx_Predict v SQL Server RDBMS a SparkML v clusterech SQL Server Big Data Clusters.
V jazycích R a Python nabízí Microsoft několik balíčků a knihoven pro strojové učení. Vytrénované modely můžete ukládat do databáze nebo externě. Azure SQL Managed Instance podporuje Machine Learning Services pro Python a R jako preview.
Microsoft R má rozšíření, která umožňují zpracování dat z disku i v paměti. SQL Server nabízí rozšiřující framework, aby mohl kód v jazycích R, Python a Java používat data a funkce SQL Serveru.
SQL Server Big Data Clusters podporuje SQL Server, Spark a HDFS v Kubernetes. Když zavolá SQL Server kód v jazyce Python, může používat Azure Machine Learning a ukládat výsledný model do databáze pro využití v předpovědích.
Souhrn: Aktuální verze SQL Serveru mohou trénovat a využívat modely strojového učení ve více programovacích jazycích.
Oracle Database
Oracle Cloud Infrastructure (OCI) Data Science je spravovaná serverless platforma pro týmy datové vědy, které mohou vytvářet, trénovat a spravovat modely strojového učení s využitím Oracle Cloud Infrastructure včetně Oracle Autonomous Database a Oracle Autonomous Data Warehouse.
Zahrnuje to na Python zaměřené nástroje, knihovny a balíčky vyvinuté komunitou open source a dále knihovnu Oracle Accelerated Data Science (ADS) Library, která podporuje kompletní životní cyklus prediktivních modelů:
- Sběr dat, profilování, příprava a vizualizace
- Návrh funkcí
- Trénování modelu (i pro Oracle AutoML)
- Vyhodnocení modelu, vysvětlení a interpretaci (včetně Oracle MLX)
- Nasazení modelu do Oracle Functions
OCI Data Science se integruje se zbytkem sady Oracle Cloud Infrastructure, včetně Functions, Data Flow, Autonomous Data Warehouse a Object Storage.
V současné době podporované modely zahrnují AutoML, Keras, Scikit-learn, XGBoost a ADSTuner (ladění hyperparametru). ADS také podporuje vysvětlitelnost strojového učení (MLX).
Souhrn: Oracle Cloud Infrastructure může hostit zdroje datové vědy integrované pomocí datového skladu, úložiště objektů a funkcí, a umožňuje také celý životní cyklus vývoje modelu.
Vertica
Vertica Analytics Platform je škálovatelný datový sklad sloupcového úložiště. Funguje ve dvou režimech: Enterprise – ukládá data lokálně v souborovém systému uzlů, které tvoří databázi, a EON – ukládá data společně pro všechny výpočetní uzly.
Vertica používá masivně paralelní zpracování pro zpracování petabajtů dat a pro své interní strojové učení také využívá paralelní zpracování.
Má osm vestavěných algoritmů pro přípravu dat, tři regresní algoritmy, čtyři klasifikační algoritmy, dva clusterové algoritmy, několik funkcí pro správu modelu a schopnost importovat modely TensorFlow a PMML vytrénované jinde. Jakmile máte dobrý nebo importovaný model, můžete ho použít pro predikci.
Vertica také umožňuje uživatelsky definovaná rozšíření naprogramovaná v jazycích C++, Java, Python a R. Syntaxe SQL se používá pro trénování i pro usuzování.
Souhrn: Vertica má pěknou vestavěnou sadu algoritmů strojového učení a dokáže importovat modely TensorFlow a PMML. Predikci může vykonávat z importovaných modelů i z modelů vlastních.
MindsDB
Pokud vaše databáze nepodporuje interní strojové učení, je pravděpodobné, že tuto schopnost můžete přidat pomocí MindsDB, protože se integruje se šesti databázemi a pěti nástroji BI.
Podporované databáze zahrnují MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server a Snowflake. Na integraci MongoDB se pracuje a integrace se streamingovými databázemi by také měla být dostupná.
Podporované nástroje BI pak zahrnují: SAS, Qlik Sense, Microsoft Power BI, Looker a Domo.
MindsDB nabízí AutoML, AI tabulky a vysvětlitelnou AI (XAI). AutoML trénování lze volat ze MindsDB Studia, z příkazu SQL Insert, nebo pomocí volání rozhraní Python API. Trénování může volitelně používat GPU a lze volitelně vytvořit model časové řady.
Tento model můžete uložit jako databázovou tabulku a volat ho příkazem SQL Select vůči uloženému modelu, z MindsDB Studia nebo z volání rozhraní API jazyka Python. MindsDB Studio umožňuje posouzení, vysvětlení a vizualizaci kvality modelu.
MindsDB Studio a rozhraní Python API můžete propojit k lokálním a vzdáleným zdrojům dat. MindsDB dále poskytuje zjednodušený framework pro hluboké učení – Lightwood využívající PyTorch.
Souhrn: MindsDB přináší užitečné schopnosti strojového učení pro řadu databází, které postrádají vestavěnou podporu strojového učení.