Share via


Azure Machine Learning-modellen uitvoeren vanuit Fabric met behulp van batch-eindpunten (preview)

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

In dit artikel leert u hoe u Batch-implementaties van Azure Machine Learning gebruikt vanuit Microsoft Fabric. Hoewel de werkstroom gebruikmaakt van modellen die zijn geïmplementeerd op batch-eindpunten, ondersteunt deze ook het gebruik van batchpijplijnimplementaties uit Fabric.

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.

Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Vereisten

  • Haal een Microsoft Fabric-abonnement op. Of meld u aan voor een gratis proefversie van Microsoft Fabric.
  • Meld u aan bij Microsoft Fabric.
  • Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint. Probeer de gratis of betaalde versie van Azure Machine Learning.
  • Een Azure Machine Learning-werkruimte. Als u nog geen werkruimte hebt, gebruikt u de stappen in Werkruimten beheren om er een te maken.
    • Zorg ervoor dat u over de volgende machtigingen in de werkruimte beschikt:
      • Batch-eindpunten en -implementaties maken/beheren: gebruik rollen eigenaar, inzender of aangepaste rol die is toegestaan Microsoft.MachineLearningServices/workspaces/batchEndpoints/*.
      • ARM-implementaties maken in de werkruimteresourcegroep: gebruik rolleneigenaar, inzender of aangepaste rol die is toegestaan Microsoft.Resources/deployments/write in de resourcegroep waarin de werkruimte wordt geïmplementeerd.
  • Een model dat is geïmplementeerd in een batch-eindpunt. Als u er nog geen hebt, gebruikt u de stappen in Modellen implementeren om te scoren in batcheindpunten om er een te maken.
  • Download de heart-unlabeled.csv-voorbeeldgegevensset om te gebruiken voor scoren.

Architectuur

Azure Machine Learning heeft geen rechtstreeks toegang tot gegevens die zijn opgeslagen in OneLake van Fabric. U kunt echter de mogelijkheid van OneLake gebruiken om snelkoppelingen te maken in een Lakehouse om gegevens te lezen en schrijven die zijn opgeslagen in Azure Data Lake Gen2. Omdat Azure Machine Learning Ondersteuning biedt voor Azure Data Lake Gen2-opslag, kunt u met deze installatie fabric en Azure Machine Learning samen gebruiken. De gegevensarchitectuur is als volgt:

A diagram showing how Azure Storage accounts are used to connect Fabric with Azure Machine Learning.

Gegevenstoegang configureren

Als u wilt dat Fabric en Azure Machine Learning dezelfde gegevens kunnen lezen en schrijven zonder deze te hoeven kopiëren, kunt u gebruikmaken van OneLake-snelkoppelingen en Azure Machine Learning-gegevensarchieven. Door een OneLake-snelkoppeling en een gegevensarchief naar hetzelfde opslagaccount aan te wijzen, kunt u ervoor zorgen dat zowel Fabric als Azure Machine Learning van dezelfde onderliggende gegevens lezen en schrijven.

In deze sectie maakt of identificeert u een opslagaccount dat moet worden gebruikt voor het opslaan van de informatie die het batch-eindpunt verbruikt en die Fabric-gebruikers zien in OneLake. Fabric ondersteunt alleen opslagaccounts waarvoor hiërarchische namen zijn ingeschakeld, zoals Azure Data Lake Gen2.

Een OneLake-snelkoppeling naar het opslagaccount maken

  1. Open de Synapse Data-engineer ing-ervaring in Fabric.

  2. Selecteer in het linkerdeelvenster uw Fabric-werkruimte om deze te openen.

  3. Open het lakehouse dat u gaat gebruiken om de verbinding te configureren. Als u nog geen lakehouse hebt, gaat u naar de Data-engineer ervaring om een lakehouse te maken. In dit voorbeeld gebruikt u een lakehouse met de naam Vertrouwd.

  4. Open in de navigatiebalk aan de linkerkant meer opties voor Bestanden en selecteer vervolgens Nieuwe snelkoppeling om de wizard weer te geven.

    A screenshot showing how to create a new shortcut in a lakehouse.

  5. Selecteer de optie Azure Data Lake Storage Gen2 .

    A screenshot showing how to create an Azure Data Lake Storage Gen2 shortcut.

  6. Plak in de sectie Verbinding maken ion-instellingen de URL die is gekoppeld aan het Azure Data Lake Gen2-opslagaccount.

    A screenshot showing how to configure the URL of the shortcut.

  7. In de sectie Verbinding maken ionreferenties:

    1. Selecteer voor Verbinding maken ion de optie Nieuwe verbinding maken.
    2. Behoud voor Verbinding maken ionnaam de standaard ingevulde waarde.
    3. Voor verificatietype selecteert u Organisatieaccount om de referenties van de verbonden gebruiker te gebruiken via OAuth 2.0.
    4. Selecteer Aanmelden om u aan te melden.
  8. Selecteer Volgende.

  9. Configureer indien nodig het pad naar de snelkoppeling ten opzichte van het opslagaccount. Gebruik deze instelling om de map te configureren waarnaar de snelkoppeling verwijst.

  10. Configureer de naam van de snelkoppeling. Deze naam is een pad in het lakehouse. Geef in dit voorbeeld de naam van de snelkoppelingsgegevenssets.

  11. De wijzigingen opslaan.

Een gegevensarchief maken dat verwijst naar het opslagaccount

  1. Open de Azure Machine Learning-studio.

  2. Ga naar uw Azure Machine Learning-werkruimte.

  3. Ga naar de sectie Gegevens .

  4. Selecteer het tabblad Gegevensarchieven .

  5. Selecteer Maken.

  6. Configureer het gegevensarchief als volgt:

    1. Voer trusted_blob in voor de naam van het gegevensarchief.

    2. Selecteer Voor het gegevensarchieftype Azure Blob Storage.

      Tip

      Waarom moet u Azure Blob Storage configureren in plaats van Azure Data Lake Gen2? Batch-eindpunten kunnen alleen voorspellingen schrijven naar Blob Storage-accounts. Elk Azure Data Lake Gen2-opslagaccount is echter ook een blob-opslagaccount; daarom kunnen ze door elkaar worden gebruikt.

    3. Selecteer het opslagaccount in de wizard met behulp van de abonnements-id, het opslagaccount en de Blob-container (bestandssysteem).

      A screenshot showing how to configure the Azure Machine Learning data store.

    4. Selecteer Maken.

  7. Zorg ervoor dat de berekening waarop het batch-eindpunt wordt uitgevoerd, gemachtigd is om de gegevens in dit opslagaccount te koppelen. Hoewel de toegang nog steeds wordt verleend door de identiteit die het eindpunt aanroept, moet de berekening waarop het batch-eindpunt wordt uitgevoerd, gemachtigd zijn om het opslagaccount dat u opgeeft te koppelen. Zie Toegang tot opslagservices voor meer informatie.

Voorbeeldgegevensset uploaden

Upload enkele voorbeeldgegevens voor het eindpunt om te gebruiken als invoer:

  1. Ga naar uw Fabric-werkruimte.

  2. Selecteer het lakehouse waar u de snelkoppeling hebt gemaakt.

  3. Ga naar de snelkoppeling naar gegevenssets .

  4. Maak een map om de voorbeeldgegevensset op te slaan die u wilt scoren. Noem de map uci-heart-unlabeled.

  5. Gebruik de optie Gegevens ophalen en selecteer Bestanden uploaden om de voorbeeldgegevensset heart-unlabeled.csv te uploaden.

    A screenshot showing how to upload data to an existing folder in OneLake.

  6. Upload de voorbeeldgegevensset.

    A screenshot showing how to upload a file to OneLake.

  7. Het voorbeeldbestand is gereed om te worden gebruikt. Noteer het pad naar de locatie waar u het hebt opgeslagen.

Een Infrastructuur maken voor batchdeductiepijplijn

In deze sectie maakt u een infrastructuur-naar-batchdeductiepijplijn in uw bestaande Infrastructuurwerkruimte en roept u batcheindpunten aan.

  1. Ga terug naar de Data-engineer-ervaring (als u er al weg bent genavigeerd), met behulp van het pictogram ervaringkiezer in de linkerbenedenhoek van de startpagina.

  2. Open uw Fabric-werkruimte.

  3. Selecteer Gegevenspijplijn in de sectie Nieuw van de startpagina.

  4. Geef de pijplijn een naam en selecteer Maken.

    A screenshot showing where to select the data pipeline option.

  5. Selecteer het tabblad Activiteiten op de werkbalk in het ontwerpcanvas.

  6. Selecteer meer opties aan het einde van het tabblad en selecteer Azure Machine Learning.

    A screenshot showing how to add the Azure Machine Learning activity to a pipeline.

  7. Ga naar het tabblad Instellingen en configureer de activiteit als volgt:

    1. Selecteer Nieuw naast azure Machine Learning-verbinding om een nieuwe verbinding te maken met de Azure Machine Learning-werkruimte die uw implementatie bevat.

      A screenshot of the configuration section of the activity showing how to create a new connection.

    2. Geef in het gedeelte Verbinding maken instellingen van de wizard Maken de waarden op van de abonnements-id, de naam van de resourcegroep en de naam van de werkruimte, waar uw eindpunt is geïmplementeerd.

      A screenshot showing examples of the values for subscription ID, resource group name, and workspace name.

    3. Selecteer in de sectie Verbinding maken ionreferenties het organisatieaccount als de waarde voor het verificatietype voor uw verbinding. Organisatieaccount gebruikt de referenties van de verbonden gebruiker. U kunt ook service-principal gebruiken. In productie-instellingen raden we u aan een service-principal te gebruiken. Zorg ervoor dat de identiteit die is gekoppeld aan de verbinding, ongeacht het verificatietype, over de rechten beschikt om het batch-eindpunt aan te roepen dat u hebt geïmplementeerd.

      A screenshot showing how to configure the authentication mechanism in the connection.

    4. Sla de verbinding op. Zodra de verbinding is geselecteerd, vult Fabric automatisch de beschikbare batch-eindpunten in de geselecteerde werkruimte in.

  8. Selecteer voor Batch-eindpunt het batch-eindpunt dat u wilt aanroepen. Selecteer in dit voorbeeld heart-classifier-....

    A screenshot showing how to select an endpoint once a connection is configured.

    De sectie Batch-implementatie wordt automatisch gevuld met de beschikbare implementaties onder het eindpunt.

  9. Selecteer indien nodig een specifieke implementatie in de lijst voor batchimplementatie. Als u geen implementatie selecteert, roept Fabric de standaardimplementatie onder het eindpunt aan, zodat de maker van het batch-eindpunt kan bepalen welke implementatie wordt aangeroepen. In de meeste scenario's wilt u dit standaardgedrag behouden.

    A screenshot showing how to configure the endpoint to use the default deployment.

Invoer en uitvoer voor het batch-eindpunt configureren

In deze sectie configureert u invoer en uitvoer van het batch-eindpunt. Invoer voor batcheindpunten leveren gegevens en parameters die nodig zijn om het proces uit te voeren. De Azure Machine Learning-batchpijplijn in Fabric ondersteunt zowel modelimplementaties als pijplijnimplementaties. Het aantal en het type invoer dat u opgeeft, zijn afhankelijk van het implementatietype. In dit voorbeeld gebruikt u een modelimplementatie die precies één invoer vereist en één uitvoer produceert.

Zie Invoer en uitvoer van batcheindpunten voor meer informatie over invoer en uitvoer van batcheindpunten.

De invoersectie configureren

Configureer de sectie Taakinvoer als volgt:

  1. Vouw de sectie Taakinvoer uit.

  2. Selecteer Nieuw om een nieuwe invoer toe te voegen aan uw eindpunt.

  3. Geef de invoer input_dataeen naam. Omdat u een modelimplementatie gebruikt, kunt u elke naam gebruiken. Voor pijplijnimplementaties moet u echter de exacte naam aangeven van de invoer die uw model verwacht.

  4. Selecteer de vervolgkeuzelijst naast de invoer die u zojuist hebt toegevoegd om de eigenschap van de invoer (naam- en waardeveld) te openen.

  5. Voer JobInputType in het veld Naam in om het type invoer aan te geven dat u maakt.

  6. Voer UriFolder in het veld Waarde in om aan te geven dat de invoer een mappad is. Andere ondersteunde waarden voor dit veld zijn UriFile (een bestandspad) of Letterlijk (elke letterlijke waarde, zoals tekenreeks of geheel getal). U moet het juiste type gebruiken dat uw implementatie verwacht.

  7. Selecteer het plusteken naast de eigenschap om een andere eigenschap toe te voegen voor deze invoer.

  8. Voer Uri in het veld Naam in om het pad naar de gegevens aan te geven.

  9. Voer azureml://datastores/trusted_blob/datasets/uci-heart-unlabeledin het veld Waarde het pad in om de gegevens te zoeken. Hier gebruikt u een pad dat leidt naar het opslagaccount dat is gekoppeld aan OneLake in Fabric en azure Machine Learning. azureml://datastores/trusted_blob/datasets/uci-heart-unlabeled is het pad naar CSV-bestanden met de verwachte invoergegevens voor het model dat is geïmplementeerd in het batch-eindpunt. U kunt ook een direct pad naar het opslagaccount gebruiken, zoals https://<storage-account>.dfs.azure.com.

    A screenshot showing how to configure inputs in the endpoint.

    Tip

    Als uw invoer van het type Letterlijk is, vervangt u de eigenschap Uri door 'Waarde'.

Als voor uw eindpunt meer invoer is vereist, herhaalt u de vorige stappen voor elk van deze. In dit voorbeeld vereisen modelimplementaties precies één invoer.

De uitvoersectie configureren

Configureer de sectie Taakuitvoer als volgt:

  1. Vouw de sectie Taakuitvoer uit .

  2. Selecteer Nieuw om een nieuwe uitvoer toe te voegen aan uw eindpunt.

  3. Geef de uitvoer de naam output_data. Omdat u een modelimplementatie gebruikt, kunt u elke naam gebruiken. Voor pijplijnimplementaties moet u echter de exacte naam aangeven van de uitvoer die uw model genereert.

  4. Selecteer de vervolgkeuzelijst naast de uitvoer die u zojuist hebt toegevoegd om de eigenschap van de uitvoer (naam- en waardeveld) te openen.

  5. Voer JobOutputType in het veld Naam in om het type uitvoer aan te geven dat u maakt.

  6. Voer UriFile in het veld Waarde in om aan te geven dat de uitvoer een bestandspad is. De andere ondersteunde waarde voor dit veld is UriFolder (een mappad). In tegenstelling tot de taakinvoersectie wordt Letterlijk (elke letterlijke waarde zoals tekenreeks of geheel getal) niet ondersteund als uitvoer.

  7. Selecteer het plusteken naast de eigenschap om nog een eigenschap toe te voegen voor deze uitvoer.

  8. Voer Uri in het veld Naam in om het pad naar de gegevens aan te geven.

  9. Voer @concat(@concat('azureml://datastores/trusted_blob/paths/endpoints', pipeline().RunId, 'predictions.csv')het pad in waar de uitvoer moet worden geplaatst, in het veld Waarde . Azure Machine Learning-batcheindpunten ondersteunen alleen het gebruik van gegevensarchiefpaden als uitvoer. Omdat uitvoer uniek moet zijn om conflicten te voorkomen, hebt u een dynamische expressie @concat(@concat('azureml://datastores/trusted_blob/paths/endpoints', pipeline().RunId, 'predictions.csv')gebruikt om het pad samen te stellen.

    A screenshot showing how to configure outputs in the endpoint

Als uw eindpunt meer uitvoer retourneert, herhaalt u de vorige stappen voor elk van deze uitvoer. In dit voorbeeld produceren modelimplementaties precies één uitvoer.

(Optioneel) De taakinstellingen configureren

U kunt de taakinstellingen ook configureren door de volgende eigenschappen toe te voegen:

Voor modelimplementaties:

Instelling Beschrijving
MiniBatchSize De grootte van de batch.
ComputeInstanceCount Het aantal rekeninstanties dat moet worden gevraagd bij de implementatie.

Voor pijplijnimplementaties:

Instelling Beschrijving
ContinueOnStepFailure Geeft aan of de pijplijn de verwerking van knooppunten moet stoppen na een fout.
DefaultDatastore Geeft het standaardgegevensarchief aan dat moet worden gebruikt voor uitvoer.
ForceRun Geeft aan of de pijplijn moet afdwingen dat alle onderdelen worden uitgevoerd, zelfs als de uitvoer kan worden afgeleid van een vorige uitvoering.

Zodra deze is geconfigureerd, kunt u de pijplijn testen.