Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tip
Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.
A dedikált SQL-készlet lehetővé teszi gépi tanulási modellek pontozását a jól ismert T-SQL-nyelv használatával. A T-SQL PREDICT segítségével a meglévő gépi tanulási modelleket betaníthatja az előzményadatokkal, és az adattárház biztonságos határain belül értékelheti őket. A PREDICT függvény bemenetként egy ONNX (Open Neural Network Exchange) modellt és adatokat használ. Ez a funkció kiküszöböli az értékes adatok adattárházon kívüli áthelyezésének lépését a pontozáshoz. Célja, hogy lehetővé tegye az adatszakértők számára a gépi tanulási modellek egyszerű üzembe helyezését a jól ismert T-SQL-felülettel, valamint zökkenőmentes együttműködést az adattudósokkal, akik a feladatukhoz megfelelő keretrendszerrel dolgoznak.
Note
Ez a funkció jelenleg nem támogatott a kiszolgáló nélküli SQL-készletben.
A funkcionalitás megköveteli, hogy a modellt a Synapse SQL-en kívül kell betanítani. A modell létrehozása után töltse be az adattárházba, és a T-SQL Predict szintaxissal pontozza, hogy elemzéseket kapjon az adatokból.
A modell betanítása
A dedikált SQL-készlet előre betanított modellt vár. Tartsa szem előtt az alábbi tényezőket egy olyan gépi tanulási modell betanításakor, amely a dedikált SQL-készletben lévő előrejelzések végrehajtására szolgál.
A dedikált SQL-készlet csak az ONNX formátumú modelleket támogatja. Az ONNX egy nyílt forráskódú modellformátum, amely lehetővé teszi modellek cseréjét különböző keretrendszerek között az együttműködési képesség érdekében. Meglévő modelljeit ONNX formátumra konvertálhatja olyan keretrendszerek használatával, amelyek natív módon támogatják, vagy csomagokat konvertálnak. A sklearn-onnx csomag például a scikit-learn modelleket ONNX-re konvertálja. Az ONNX GitHub-adattár a támogatott keretrendszerek és példák listáját tartalmazza.
Ha automatizált gépi tanulást használ a betanításhoz, győződjön meg arról, hogy a enable_onnx_compatible_models paraméter IGAZ értékre van állítva egy ONNX formátumú modell létrehozásához. Az automatizált Gépi tanulási jegyzetfüzet egy példát mutat be arra, hogyan hozhat létre automatizált gépi tanulási modellt ONNX formátumban.
A bemeneti adatok esetében a következő adattípusok támogatottak:
- int, bigint, real, float
- char, varchar, nvarchar
A pontozási adatoknak a betanítási adatokkal megegyező formátumban kell lenniük. A PREDICT nem támogatja az összetett adattípusokat, például a többdimenziós tömböket. Ezért a betanításhoz győződjön meg arról, hogy a modell minden bemenete a pontozótábla egyetlen oszlopának felel meg ahelyett, hogy egyetlen tömböt ad át, amely az összes bemenetet tartalmazza.
Győződjön meg arról, hogy a modellbemenetek nevei és adattípusai megegyeznek az új előrejelzési adatok oszlopnevével és adattípusával. Az ONNX-modellek online elérhető különböző nyílt forráskódú eszközökkel való vizualizációja további segítséget nyújthat a hibakeresésben.
A modell betöltése
A modell egy dedikált SQL-készlet felhasználói táblájában van tárolva hexadecimális sztringként. A modell azonosításához további oszlopok, például azonosító és leírás is hozzáadhatók a modelltáblához. A modelloszlop adattípusaként használja a varbinary(max) függvényt. Íme egy példa egy olyan táblára, amely modellek tárolására használható:
-- 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
Miután a modell hexadecimális sztringgé lett konvertálva, és a tábladefiníció meg lett adva, a COPY vagy a Polybase paranccsal töltse be a modellt a dedikált SQL-készlettáblába. Az alábbi kódminta a Másolás paranccsal tölti be a modellt.
-- 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>')
)
A modell értékelése és pontozása
Miután betöltötte a modellt és az adatokat az adattárházban, a T-SQL PREDICT függvénnyel pontozza a modellt. Győződjön meg arról, hogy az új bemeneti adatok formátuma megegyezik a modell létrehozásához használt betanítási adatokkal. A T-SQL PREDICT két bemenetet vesz fel: a modellt és a pontozási új bemeneti adatokat, és új oszlopokat hoz létre a kimenethez. A modell megadható változóként, konstansként vagy skaláris részlekérdezésként. A WITH common_table_expression használatával adjon meg egy elnevezett eredménykészletet az adatparaméterhez.
Az alábbi példa egy előrejelzési függvényt használó minta lekérdezést mutat be. Létrejön egy további oszlop, amelynek neve Pontszám és adattípus lebegtetés , amely tartalmazza az előrejelzési eredményeket. A select utasítással megjeleníthető az összes bemeneti adatoszlop és a kimeneti előrejelzési oszlop. További részletekért lásd: 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;
Következő lépések
A PREDICT függvényről további információt a PREDICT (Transact-SQL) című témakörben talál.