Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tip
Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.
Dedikovaný fond SQL vám umožňuje hodnotit modely strojového učení pomocí známého jazyka T-SQL. Pomocí T-SQL PREDICT můžete stávající modely strojového učení vytrénované pomocí historických dat přinést a určit jejich skóre v rámci zabezpečených hranic datového skladu. Funkce PREDICT bere jako vstupy model ONNX (Open Neural Network Exchange) a data. Tato funkce eliminuje krok přesunu cenných dat mimo datový sklad pro bodování. Cílem je umožnit odborníkům na data snadno nasazovat modely strojového učení se známým rozhraním T-SQL a bezproblémově spolupracovat s datovými vědci, kteří pracují se správnou architekturou pro svou úlohu.
Poznámka:
Tato funkce se v současné době nepodporuje v bezserverovém fondu SQL.
Funkce vyžadují, aby byl model trénován mimo Synapse SQL. Po sestavení modelu ho načtěte do datového skladu a pomocí syntaxe predikce T-SQL získejte přehledy z dat.
Trénování modelu
Vyhrazený fond SQL očekává předem natrénovaný model. Při trénování modelu strojového učení, který se používá k provádění předpovědí ve vyhrazeném fondu SQL, mějte na paměti následující faktory.
Vyhrazený fond pro SQL podporuje pouze modely ve formátu ONNX. ONNX je opensourcový formát modelu, který umožňuje výměnu modelů mezi různými architekturami za účelem zajištění interoperability. Existující modely můžete převést na formát ONNX pomocí frameworků, které ho nativně podporují, nebo mají k dispozici balíčky pro konverzi. Například balíček sklearn-onnx převádí modely scikit-learn na ONNX. Úložiště ONNX Na GitHubu poskytuje seznam podporovaných architektur a příkladů.
Pokud pro trénování používáte automatizované strojové učení , nezapomeňte nastavit parametr enable_onnx_compatible_models na HODNOTU TRUE, aby se vytvořil model formátu ONNX. Poznámkový blok automatizovaného strojového učení ukazuje příklad použití automatizovaného strojového učení k vytvoření modelu strojového učení ve formátu ONNX.
Pro vstupní data jsou podporovány následující datové typy:
- int (celé číslo), bigint (velké celé číslo), real (skutečné číslo), float (plovoucí desetinná čárka)
- char, varchar, nvarchar
Data bodování musí být ve stejném formátu jako trénovací data. Funkce PREDICT nepodporuje komplexní datové typy, jako jsou multidimenzionální pole. Proto pro trénování se ujistěte, že každý vstup modelu odpovídá jednomu sloupci tabulky bodování místo předání jednoho pole obsahujícího všechny vstupy.
Ujistěte se, že názvy a datové typy vstupů modelu odpovídají názvům sloupců a datovým typům nových prediktivních dat. Vizualizace modelu ONNX pomocí různých open-source nástrojů, které jsou k dispozici online, vám může pomoci s laděním.
Načtení modelu
Model je uložen ve vyhrazené tabulce uživatele fondu SQL jako šestnáctkový řetězec. Do tabulky modelu lze přidat další sloupce, jako je ID a popis, aby bylo možné model identifikovat. Jako datový typ sloupce modelu použijte varbinary(max). Tady je příklad kódu pro tabulku, kterou lze použít k ukládání modelů:
-- Sample table schema for storing a model and related data
CREATE TABLE [dbo].[Models]
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[Model] [varbinary](max) NULL,
[Description] [varchar](200) NULL
)
WITH
(
DISTRIBUTION = ROUND_ROBIN,
HEAP
)
GO
Jakmile se model převede na šestnáctkový řetězec a zadanou definici tabulky, použijte příkaz COPY nebo Polybase k načtení modelu ve vyhrazené tabulce fondu SQL. Následující ukázka kódu používá příkaz Kopírovat k načtení modelu.
-- Copy command to load hexadecimal string of the model from Azure Data Lake storage location
COPY INTO [Models] (Model)
FROM '<enter your storage location>'
WITH (
FILE_TYPE = 'CSV',
CREDENTIAL=(IDENTITY= 'Shared Access Signature', SECRET='<enter your storage key here>')
)
Bodování modelu
Jakmile se model a data načtou do datového skladu, použijte k určení skóre modelu funkci T-SQL PREDICT . Ujistěte se, že nová vstupní data jsou ve stejném formátu jako trénovací data použitá k sestavení modelu. T-SQL PREDICT přebírá dva vstupy: model a nová vstupní data pro hodnocení a generuje nové sloupce pro výstup. Model lze zadat jako proměnnou, literál nebo skalární poddotaz. Funkce WITH common_table_expression slouží k určení pojmenované sady výsledků pro datový parametr.
Následující příklad ukazuje ukázkový dotaz pomocí prediktivní funkce. Vytvoří se další sloupec s názvem Skóre a datovým typem float obsahující výsledky předpovědi. Všechny vstupní sloupce dat i výstupní sloupce predikce jsou k dispozici k zobrazení pomocí příkazu select. Další podrobnosti najdete v tématu PREDICT (Transact-SQL).
-- Query for ML predictions
SELECT d.*, p.Score
FROM PREDICT(MODEL = (SELECT Model FROM Models WHERE Id = 1),
DATA = dbo.mytable AS d, RUNTIME = ONNX) WITH (Score float) AS p;
Další kroky
Další informace o funkci PREDICT najdete v tématu PREDICT (Transact-SQL).