Naarmate meer organisaties overstappen op machine learning (ML) om diepere inzichten te verkrijgen, zijn etikettering en levenscyclusbeheer twee belangrijke struikelblokken waar ze tegenaan lopen. Labelen is het identificeren van gegevens en het toevoegen van labels om context te bieden, zodat een ML-model ervan kan leren. Labels kunnen een zin in een audiobestand, een auto op een foto of een orgaan in een MRI aangeven. Gegevenslabeling is nodig om ML-modellen in staat te stellen tegen de gegevens te werken. Levenscyclusbeheer heeft te maken met het opzetten van een ML-experiment en het documenteren van de dataset, bibliotheek, versie en het model dat wordt gebruikt om resultaten te krijgen. Een team kan honderden experimenten uitvoeren voordat ze voor รฉรฉn benadering kiezen. Teruggaan en die benadering opnieuw creรซren kan moeilijk zijn zonder de elementen van dat experiment vast te leggen.
Veel ML-voorbeelden en zelfstudies beginnen met een gegevensset die een doelwaarde bevat. Gegevens uit de echte wereld hebben echter niet altijd zo'n streefwaarde. Bij sentimentanalyse kan een persoon bijvoorbeeld meestal beoordelen of een recensie positief, negatief of gemengd is. Maar recensies bestaan โโuit een verzameling tekst waaraan geen beoordelingswaarde is verbonden. Om een leren onder toezicht model om dit probleem op te lossen, is een gelabelde dataset van hoge kwaliteit essentieel. Amazon SageMaker Grondwaarheid is een volledig beheerde service voor het labelen van gegevens waarmee u eenvoudig zeer nauwkeurige trainingsgegevenssets voor ML kunt bouwen.
Voor organisaties die Databricks gebruiken als hun gegevens- en analyseplatform op AWS om taken uit te voeren voor extraheren, transformeren en laden (ETL), is het uiteindelijke doel vaak het trainen van een leermodel onder toezicht. In dit bericht laten we zien hoe Databricks integreert met Ground Truth en Amazon Sage Maker voor datalabeling en modeldistributie.
Overzicht oplossingen
Ground Truth is een volledig beheerde service voor het labelen van gegevens waarmee u eenvoudig zeer nauwkeurige trainingsgegevenssets voor ML kunt bouwen. Via de Ground Truth-console kunnen we binnen enkele minuten aangepaste of ingebouwde workflows voor gegevenslabels maken. Deze workflows ondersteunen verschillende gebruiksscenario's, waaronder 3D-puntenwolken, video, afbeeldingen en tekst. Daarnaast biedt Ground Truth automatische gegevenslabeling, waarbij een ML-model wordt gebruikt om onze gegevens te labelen.
We trainen ons model op de openbaar beschikbare Amazon Customer Reviews-dataset. Op hoog niveau zijn de stappen als volgt:
- Extraheer een onbewerkte dataset die moet worden gelabeld en verplaats deze naar Amazon eenvoudige opslagservice (Amazone S3).
- Voer labeling uit door een labeltaak te maken in SageMaker.
- Bouw en train een eenvoudig Scikit-leer lineair leerlingmodel om het sentiment van de recensietekst op het Databricks-platform te classificeren met behulp van een voorbeeld notitieboekje.
- Te gebruiken MLstroom componenten om MLOps te maken en uit te voeren en de modelartefacten op te slaan.
- Implementeer het model als een SageMaker-eindpunt met behulp van de MLflow SageMaker-bibliotheek voor realtime gevolgtrekking.
Het volgende diagram illustreert de labeling en ML-reis met behulp van Ground Truth en MLflow.
Een labeltaak maken in SageMaker
Uit de Amazon Customer Reviews-dataset extraheren we alleen de tekstgedeelten, omdat we een sentimentanalysemodel aan het bouwen zijn. Eenmaal geรซxtraheerd, plaatsen we de tekst in een S3-emmer en maken vervolgens een Ground Truth-labelingtaak via de SageMaker-console.
Op de Maak labelling job pagina, vul alle verplichte velden in. Als onderdeel van de stap op deze pagina stelt Ground Truth u in staat om het taakmanifestbestand te genereren. Ground Truth gebruikt het invoermanifestbestand om het aantal bestanden of objecten in de labeltaak te identificeren, zodat het juiste aantal taken wordt gemaakt en naar menselijke (of machine) labelers wordt verzonden. Het bestand wordt automatisch opgeslagen in de S3-bucket. De volgende stap is het specificeren van de taakcategorie en taakselectie. In dit geval kiezen we: Tekst als de taakcategorie, en Tekstclassificatie met รฉรฉn label voor taakselectie, wat betekent dat een recensietekst รฉรฉn sentiment heeft: positief, negatief of neutraal.
Ten slotte schrijven we eenvoudige maar beknopte instructies voor labelers over het labelen van de tekstgegevens. De instructies worden weergegeven op de labeltool en u kunt op dit moment optioneel de weergave van de annotator bekijken. Tot slot dienen we de opdracht in en volgen de voortgang op de console.
Terwijl de labeltaak bezig is, kunnen we ook de gelabelde gegevens bekijken op de uitgang tabblad. We kunnen elke recensietekst en elk label controleren en controleren of het werk door een mens of machine is gedaan. We kunnen 100% van de etiketteringstaken selecteren die door mensen moeten worden gedaan of machineannotaties kiezen, wat het werk versnelt en de arbeidskosten verlaagt.
Wanneer de taak is voltooid, bevat de samenvatting van de labeltaak koppelingen naar het uitvoermanifest en de gelabelde gegevensset. We kunnen ook naar Amazon S3 gaan en beide downloaden vanuit onze S3-bucketmap.
In de volgende stappen gebruiken we een Databricks-notebook, MLstroom, en datasets gelabeld door Ground Truth om een Scikit leren model.
Download een gelabelde dataset van Amazon S3
We beginnen met het downloaden van de gelabelde dataset van Amazon S3. Het manifest wordt opgeslagen in JSON-indeling en we laden het in een Spark DataFrame in Databricks. Voor het trainen van het sentimentanalysemodel hebben we alleen de recensietekst en het sentiment nodig die zijn geannoteerd door de Ground Truth-labeltaak. We gebruiken select() om die twee functies te extraheren. Vervolgens converteren we de dataset van een PySpark DataFrame naar een Pandas DataFrame, omdat het Scikit-learn-algoritme het Pandas DataFrame-formaat vereist.
Vervolgens gebruiken we Scikit-learn CountVectorizer
om de recensietekst om te zetten in een bigram-vector door de ngram_range
maximale waarde tot 2. CountVectorizer
zet tekst om in een matrix van tokentellingen. Dan gebruiken we TfidfTransformer
om de bigram-vector om te zetten in een term frequency-inverse document frequency (TF-IDF) formaat.
We vergelijken de nauwkeurigheidsscores voor training gedaan met een bigram-vector versus bigram met TF-IDF. TF-IDF is een statistische maatstaf die evalueert hoe relevant een woord is voor een document in een verzameling documenten. Omdat de recensietekst meestal relatief kort is, kunnen we zien hoe TF-IDF de prestaties van het voorspellende model beรฏnvloedt.
Een MLflow-experiment opzetten
MLflow is ontwikkeld door Databricks en is nu een open source project. MLflow beheert de ML-levenscyclus, zodat u experimenten eenvoudig kunt volgen, recreรซren en publiceren.
Om MLflow-experimenten op te zetten, gebruiken we mlflow.sklearn.autolog()
om automatisch loggen van hyperparameters, metrieken en modelartefacten in te schakelen wanneer estimator.fit()
, estimator.fit_predict()
, en estimator.fit_transform()
worden genoemd. U kunt dit ook handmatig doen door te bellen met mlflow.log_param()
en mlflow.log_metric()
.
We passen de getransformeerde dataset aan op een lineaire classifier met Stochastic Gradient Descent (SGD) leren. Met SGD wordt de gradiรซnt van het verlies per monster geschat en wordt het model gaandeweg bijgewerkt met een schema voor afnemende sterkte.
Die twee datasets die we eerder hebben voorbereid, worden doorgegeven aan de train_and_show_scores()
functie voor opleiding. Na de training moeten we een model registreren en de artefacten opslaan. We gebruiken mlflow.sklearn.log_model()
daartoe.
Voordat we het inzetten, bekijken we de resultaten van het experiment en kiezen we twee experimenten (een voor bigram en de andere voor bigram met TF-IDF) om te vergelijken. In onze use case presteerde het tweede model dat getraind was met bigram TF-IDF iets beter, dus we kiezen dat model om te implementeren. Nadat het model is geregistreerd, implementeren we het model, waarbij de modelfase wordt gewijzigd in productie. We kunnen dit bereiken in de MLflow-gebruikersinterface of in de code met behulp van transition_model_version_stage()
.
Implementeer en test het model als een SageMaker-eindpunt
Voordat we het getrainde model implementeren, moeten we een Docker-container bouwen om het model in SageMaker te hosten. We doen dit door een eenvoudig MLflow-commando uit te voeren dat de container bouwt en pusht naar: Amazon Elastic Container-register (Amazon ECR) in ons AWS-account.
We kunnen de afbeeldings-URI nu vinden op de Amazon ECR-console. We geven de afbeeldings-URI door als een image_url
parameter, en gebruik DEPLOYMENT_MODE_CREATE
voor de mode parameter als dit een nieuwe implementatie is. Als u een bestaand eindpunt bijwerkt met een nieuwe versie, gebruikt u DEPLOYMENT_MODE_REPLACE
.
Om het SageMaker-eindpunt te testen, maken we een functie die de naam van het eindpunt en invoergegevens als parameters gebruikt.
Conclusie
In dit bericht hebben we je laten zien hoe je Ground Truth kunt gebruiken om een โโonbewerkte dataset te labelen, en hoe je de gelabelde data kunt gebruiken om een โโeenvoudige lineaire classifier te trainen met Scikit-learn. In dit voorbeeld gebruiken we MLflow om hyperparameters en metrische gegevens bij te houden, een model van productiekwaliteit te registreren en het getrainde model als eindpunt in SageMaker te implementeren. Samen met Databricks om de gegevens te verwerken, kunt u deze hele use case automatiseren, zodat wanneer nieuwe gegevens worden geรฏntroduceerd, deze kunnen worden gelabeld en in het model worden verwerkt. Door deze pijplijnen en modellen te automatiseren, kunnen datawetenschapsteams zich concentreren op nieuwe gebruiksscenario's en meer inzichten ontdekken in plaats van hun tijd te besteden aan het dagelijks beheren van gegevensupdates.
Om te beginnen, check out Gebruik Amazon SageMaker Ground Truth om gegevens te labelen en meld je aan voor een 14 dagen gratis proefversie van Databricks op AWS. Voor meer informatie over hoe Databricks integreert met SageMaker en andere AWS-services zoals: AWS lijm en Amazon roodverschuivingVindt u op Databricks op AWS.
Bekijk bovendien de volgende bronnen die in dit bericht worden gebruikt:
Gebruik het volgende notitieboekje om aan de slag te gaan.
Over de auteurs
Rumi Olsen is Solutions Architect in het AWS Partner Program. Ze is gespecialiseerd in serverloze en machine learning-oplossingen in haar huidige functie, en heeft een achtergrond in natuurlijke taalverwerkingstechnologieรซn. Ze brengt het grootste deel van haar vrije tijd met haar dochter door met het verkennen van de natuur van Pacific Northwest.
Igor Alekseev is Partner Solution Architect bij AWS in Data en Analytics. Igor werkt samen met strategische partners die hen helpen bij het bouwen van complexe, AWS-geoptimaliseerde architecturen. Voordat hij bij AWS kwam werken als Data/Solution Architect, implementeerde hij veel projecten in Big Data, waaronder verschillende datameren in het Hadoop-ecosysteem. Als Data Engineer was hij betrokken bij het toepassen van AI/ML op fraudedetectie en kantoorautomatisering. Igor's projecten waren in verschillende sectoren, waaronder communicatie, financiรซn, openbare veiligheid, productie en gezondheidszorg. Eerder werkte Igor als full-stack engineer/tech lead.
Naseer Ahmed is een Sr. Partner Solutions Architect bij Databricks die zijn AWS-activiteiten ondersteunt. Naseer is gespecialiseerd in Data Warehousing, Business Intelligence, App-ontwikkeling, Container, Serverless, Machine Learning Architectures op AWS. Hij werd verkozen tot MKB van het jaar 2021 bij Databricks en is een fervent cryptoliefhebber.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Over
- Account
- accuraat
- toevoeging
- algoritme
- Alles
- Amazone
- analyse
- analytics
- gebruiken
- App-ontwikkeling
- Het toepassen van
- nadering
- audio
- auto
- Automatisering
- Beschikbaar
- AWS
- achtergrond
- basis
- Big data
- bouw
- Gebouw
- bouwt
- ingebouwd
- bedrijfsdeskundigen
- business intelligence
- auto
- gevallen
- Categorie
- Kies
- classificatie
- code
- Collectie
- Communicatie
- complex
- troosten
- Containers
- bevat
- Kosten
- aangemaakt
- Wij creรซren
- crypto
- Actueel
- gewoonte
- gegevens
- data science
- diepere
- implementeren
- het inzetten
- inzet
- Opsporing
- ontwikkelde
- Ontwikkeling
- moeilijk
- distributie
- havenarbeider
- documenten
- Nee
- rit
- gemakkelijk
- ecosysteem
- in staat stellen
- Endpoint
- ingenieur
- essentieel
- geschat
- voorbeeld
- experiment
- Voordelen
- Velden
- Tot slot
- financiรซn
- geschikt
- Focus
- volgend
- formaat
- bedrog
- Gratis
- vol
- functie
- voortbrengen
- doel
- gaan
- gezondheidszorg
- Hoge
- zeer
- Hoe
- How To
- HTTPS
- menselijk
- Mensen
- Honderden
- Identificatie
- identificeren
- beeld
- geรฏmplementeerd
- Inclusief
- industrieรซn
- invoer
- inzichten
- Intelligentie
- betrokken zijn
- IT
- Jobomschrijving:
- Vacatures
- sleutel
- etikettering
- labels
- arbeid
- taal
- leiden
- LEARN
- leren
- Niveau
- Bibliotheek
- links
- laden
- machine
- machine learning
- gemaakt
- MERKEN
- beheerd
- management
- beheren
- handmatig
- productie
- Matrix
- maatregel
- Metriek
- gemengd
- ML
- model
- modellen
- monitor
- meer
- meest
- beweging
- Naturel
- NATUUR
- notitieboekje
- aantal
- Aanbod
- bestellen
- organisaties
- Overige
- Pacific
- partner
- partners
- prestatie
- persoon
- platform
- punt
- positief
- probleem
- Productie
- Programma
- projecten
- zorgen voor
- publiek
- publiceren
- Rauw
- real-time
- archief
- registreren
- geregistreerd
- relevante
- nodig
- Resources
- Resultaten
- beoordelen
- Recensies
- lopen
- lopend
- Veiligheid
- Wetenschap
- sentiment
- Serverless
- service
- Diensten
- reeks
- het instellen van
- Bermuda's
- Eenvoudig
- So
- oplossing
- Oplossingen
- OPLOSSEN
- specialiseert
- Uitgaven
- stack
- Stadium
- begin
- gestart
- statistisch
- mediaopslag
- strategisch
- ondersteuning
- Ondersteuning
- doelwit
- taken
- team
- Technologies
- proef
- Door
- niet de tijd of
- teken
- tools
- spoor
- Trainingen
- Transformeren
- proces
- tutorials
- ui
- ultieme
- ontdekken
- updates
- .
- doorgaans
- waarde
- variรซteit
- Video
- Bekijk
- of
- zonder
- Mijn werk
- werkte
- Bedrijven
- jaar