[PYTHON] Für SageMaker Anfänger-Material Links-

SageMaker, der Verwaltungsservice für maschinelles Lernen von AWS, bietet die gewünschten Materialien nicht genau an, daher fasse ich sie zusammen.

Funktionen von Amazon SageMaker

Beim Betrieb eines ML-Systems in einer Produktionsumgebung zeigt die verwaltete Funktion ihren wahren Wert an. Eine Komponente zur Realisierung von MLops und MDLC. Die Entwicklung von PoC-Modellen allein bietet keine wirklichen Vorteile.

Offizielle Referenz

Machine Learning Lens, AWS Well-Architected Framework https://d1.awsstatic.com/whitepapers/architecture/wellarchitected-Machine-Learning-Lens.pdf Richtlinien für ML-Systeme, die auf AWS basieren

Entwicklerhandbücher, SDK-Referenzen usw. https://docs.aws.amazon.com/ja_jp/sagemaker/index.html

GitHub https://github.com/awslabs/amazon-sagemaker-examples/blob/master/README.md

GitHub (Japanisch) https://github.com/aws-samples/amazon-sagemaker-examples-jp

Amazon SageMaker Discussion Forums https://forums.aws.amazon.com/forum.jspa?forumID=285

Dokumente vom AWS-Service https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/#ai-wn

MDLC : Model Development Life Cycle "Skalierbare Modellbereitstellung und Automatisierung auf Amazon.com" https://aws.amazon.com/jp/blogs/news/aws-aiml-tokyo2/

In dieser Sitzung haben wir das Konzept des Model Development Life Cycle (MDLC) des maschinellen Lernens vorgestellt, das Kunden bei der Einführung des maschinellen Lernens berücksichtigen sollten, sowie den Workflow für die Ausführung von MDLC. Dieser MDLC ist die Methode von Amazon Consumer Payments und wurde auch in der Sitzung bei re: Invent 2019 vorgestellt.

Übersicht über die SageMaker-Funktionen

Amazon SageMaker-Grundlagen https://pages.awscloud.com/rs/112-TZM-766/images/20191128_Amazon%20SageMaker_Basic.pdf

[AWS Black Belt Online-Seminar] Amazon SageMaker Advanced Session-Materialien und Qualitätssicherung veröffentlicht https://aws.amazon.com/jp/blogs/news/webinar-bb-amazon-sagemaker-advanced-session-2019/?nc1=f_ls

Machen Sie sich mit SageMaker und xGBoost ein Bild vom maschinellen Lernen https://qiita.com/suzukihi724/items/3792f395fb22cf7fb311

Datenübergabetyp an den Container

So werfen Sie mit der in AWS SageMaker integrierten Methode https://qiita.com/kazuhisa-nagashima/items/21d80271da733d15f4b0

Übergeben von Umgebungsvariablen von der Seite des Host-Betriebssystems an das Gast-Betriebssystem (Container) mit Docker (verschiedene Typen) https://qiita.com/KEINOS/items/518610bc2fdf5999acf2 Ich habe mich gefragt, warum ich Umgebungsvariablen verwenden würde, um Parameter zu übergeben, aber es scheint, dass die Verwendung von Umgebungsvariablen die Theorie für die Übermittlung von Informationen an Container ist.

Lernen / schließen Sie mit Ihrem eigenen Container

Ich habe versucht, ein Container-Image zu erstellen, das Light GBM mit Amazon Sage Maker verwenden kann https://dev.classmethod.jp/articles/sagemaker-container-image-lightgbm/

Erstellen Sie mit Amazon SageMaker Ihr eigenes Lern- / Inferenzcontainer-Image https://dev.classmethod.jp/articles/sagemaker-container-image-custom/

GitHub (Japanisch) https://github.com/aws-samples/amazon-sagemaker-examples-jp/tree/master/workshop/lab_bring-your-own-containers

[Entwicklerhandbuch] Verwendung des ursprünglichen Inferenzcodes im Hosting-Service https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/your-algorithms-inference-code.html

Inferenz: Bei Implementierung mit API

Anwendungsentwicklung mit dem Amazon SageMaker-Inferenzendpunkt https://www.slideshare.net/AmazonWebServicesJapan/amazon-sagemaker-122749918

Erstellen Sie ein serverloses Frontend für Amazon SageMaker-Endpunkte https://aws.amazon.com/jp/blogs/news/build-a-serverless-frontend-for-an-amazon-sagemaker-endpoint/

Erstellen und testen Sie das Amazon Sagemaker-Inferenzmodell und stellen Sie es für AWS Lambda bereit https://aws.amazon.com/jp/blogs/news/build-test-and-deploy-your-amazon-sagemaker-inference-models-to-aws-lambda/

Log

20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session https://www.slideshare.net/AmazonWebServicesJapan/20190206-aws-black-belt-online-seminar-amazon-sagemaker-basic-session-130777850 Beschrieben in der Referenz am Ende

Sicherheit

ML Security on AWS https://pages.awscloud.com/rs/112-TZM-766/images/A2-07.pdf

So lösen Sie die Anforderung "Gehen Sie nicht ins Internet" für den AWS-Private Link-Support- https://bcblog.sios.jp/aws-privatelink/

Erläutern Sie die Verwendung von AWS Private Link https://blog.mmmcorp.co.jp/blog/2017/11/15/aws_privatelink/

Verwendung von AWS Private Link und Vorsichtsmaßnahmen - Richtig mit VPC-Peering verwenden - https://devlog.arksystems.co.jp/2018/05/11/4896/

Erleben Sie Hands-on / QA

https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-handson-20190517/

Design und Betrieb

Entwicklungsablauf für maschinelles Lernmodell mit AWS SageMaker (PyTorch) https://qiita.com/noko_qii/items/41130f66afbb8e451f23

Vorverarbeitung: SageMaker-Verarbeitung

Ich habe versucht, meinen eigenen Container mit Amazon SageMaker Processing zu verwenden https://dev.classmethod.jp/articles/amazon-sagemaker-processing-original-container/ Fast das gleiche wie bei SKLearnProcessor, außer dass ein Container mit den erforderlichen installierten Bibliotheken vorbereitet wird.

Verwenden Sie den integrierten Container: SKLearnProcessor https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/use-scikit-learn-processing-container.html

Verwenden Sie Ihren eigenen Container: ScriptProcessor

Amazon SageMaker Processing - Vollständig verwaltete Datenverarbeitung und Modellbewertung https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-processin-fully-managed-data-processing-and-model-evaluation/

Pipelinebau

CI / CD-Pipeline für ML mit Amazon SageMaker https://pages.awscloud.com/rs/112-TZM-766/images/E-3.pdf

Batch-Inferenz

Echtzeit-Inferenz

So kombinieren Sie Ihre eigenen Container in der Amazon SageMaker-Inferenzpipeline https://qiita.com/yaiwase/items/79f99d2c38ed66729a47

AWS Step Functions AWS Step Functions https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/connect-sagemaker.html

Muster 1: StepFunctions-> SageMaker API (Verfügbar mit der in Setp-Funktionen installierten SageMaker-API)

Erstellen Sie eine API für Schrittfunktionen mit API Gateway https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/tutorial-api-gateway.html Wenn Sie von API Gateway akzeptieren möchten.

AWS Step Functions Data Science SDK for Python https://docs.amazonaws.cn/en_us/step-functions/latest/dg/concepts-python-sdk.html

Einführung in das "AWS Step Functions Data Science SDK" zum einfachen Erstellen einer Zustandsmaschine https://dev.classmethod.jp/articles/yoshim_step_functions_datascience_sdk/

Die Anzahl der SageMaker-APIs, die von Schrittfunktionen verarbeitet werden können, wurde erhöht. https://dev.classmethod.jp/articles/stepfunctions-sagemaker-api-update/

Muster 2: StepFunctions-> Lambda-> SageMaker API Ausführen von Skripten mit Ihrem eigenen Verarbeitungscontainer https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/processing-container-run-scripts.html

Verwalten Sie ML-Workflows serverlos mit AWS-Schrittfunktionen: Amazon SageMaker Adventskalender 2018 https://dev.classmethod.jp/articles/2018advent-calendar-sagemaker-20181210/

Verwalten von Workflows für maschinelles Lernen mit AWS StepFunctions https://qiita.com/kurakura0916/items/5e89cb86e86d22fdc5d8

Erstellen Sie einen Stapelprozess, der Lambda mit AWS-Schrittfunktionen kombiniert https://dev.classmethod.jp/articles/aws-step-functions-batch-service/

[GitHub] AWS Step Functions Data Science SDK - Hello World https://github.com/awslabs/amazon-sagemaker-examples/blob/master/step-functions-data-science-sdk/hello_world_workflow/hello_world_workflow.ipynb

Automating Amazon SageMaker workflows with AWS Step Functions https://www.youtube.com/watch?v=0kMdOi69tjQ

Orchestrate Machine Learning Workflows with Amazon SageMaker and AWS Step Functions https://www.youtube.com/watch?v=dNb5jVffzPs

20190522 AWS Black Belt Online Seminar AWS Step Functions https://www.slideshare.net/AmazonWebServicesJapan/20190522-aws-black-belt-online-seminar-aws-step-functions

Building an AWS Serverless ML Pipeline with Step Functions https://tech.olx.com/building-an-aws-serverless-ml-pipeline-with-step-functions-b39feed12bab

Ich habe zum ersten Mal versucht, mit Schrittfunktionen zu schleifen und zu verzweigen! https://dev.classmethod.jp/articles/first-aws-step-functions/ Schrittfunktionen + Lambda zum Anfassen

AWS Lambda Erstellen Sie mithilfe der AWS Lambda-Anwendungserstellung sofort eine CI / CD-Pipeline https://qiita.com/shonansurvivors/items/b223fbb362aed3c1c536

AWS GLUE AWS GLUE-Konzept https://docs.aws.amazon.com/ja_jp/glue/latest/dg/components-key-concepts.html

Wie man Kleber benutzt https://qiita.com/pioho07/items/32f76a16cbf49f9f712f

Was ich getan habe, um 5 TB / Tag Daten mit AWS Glue zu verarbeiten (Übersicht) https://future-architect.github.io/articles/20180828/ Der Vergleich zwischen EMR und Glue ist sehr hilfreich.

MLOps Automatisieren Sie das Erstellen von Modellen für maschinelles Lernen mit Lambda und Tieferlegungsherstellern https://medium.com/@yuyasugano/lambda%E3%81%A8%E4%B8%8B%E3%81%92%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC%E3%81%A7%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E6%A7%8B%E7%AF%89%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96-73161d316c0e

Eine ereignisgesteuerte Plattform für maschinelles Lernen, die mit Step-Funktionen und aws-Batch orchestriert https://www.slideshare.net/yuyamada777/step-functionsaws-batch

Artikel, auf die ich mich beim Studium der Machine Learning Platform / MLOps bezog (Stand Dezember 2018) https://qiita.com/noko_qii/items/f31901817dbed86f2b25

Hyper-Parameter-Tuning

Hyperparameter-Einstellmechanismus https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html

Grundlegendes zum Optuna (TPE) -Algorithmus - Teil 1- https://qiita.com/nabenabe0928/items/708d221dbccebf31f01c

GitHub (Japanisch) https://github.com/aws-samples/amazon-sagemaker-examples-jp/blob/master/hpo_pytorch_mnist/pytorch_mnist.ipynb

Optuna Hyper Parameter Optimization Framework https://www.slideshare.net/pfi/pydatatokyo-meetup-21-optuna Define-by-Run: Definieren Sie den Suchraum beim Ausführen der Zielfunktion

Verwenden Sie Optuna mit SageMaker https://aws.amazon.com/jp/blogs/machine-learning/implementing-hyperparameter-optimization-with-optuna-on-amazon-sagemaker/

SageMaker HPO: Zunächst wird der Suchraum festgelegt. Bestimmen Sie die Parameter in Optuna: for-Schleife. Bestimmen Sie dynamisch den Suchraum ・ In einem Trainingsjob werden mehrere Versuche durchgeführt. ・ Schreiben Sie nach einem Versuch die Parameter in die Aurora. Schauen Sie sich die vergangenen Parameter an und entscheiden Sie den nächsten Parameter. pytorch-simple https://github.com/aws-samples/amazon-sagemaker-optuna-hpo-blog/blob/master/examples/pytorch_simple/src/pytorch_simple.py

・ Ziel (Versuch) Versuche, Experimente usw.

AutoML Können Sie diesen maschinellen Lernprozess nicht automatisieren? https://qiita.com/Hironsan/items/30fe09c85da8a28ebd63

Visualisierung: Amazon QuickSight

Was ist Amazon QuickSight? https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/welcome.html

AWS Manga Episode 8: Visualisieren Sie alle Daten! (1/8) https://aws.amazon.com/jp/campaigns/manga/vol8-1/ Unten befindet sich praktisches Material

10 Visualisierungen zum Ausprobieren mit Amazon QuickSight anhand von Beispieldaten https://aws.amazon.com/jp/blogs/news/10-visualizations-to-try-in-amazon-quicksight-with-sample-data/

[Offiziell] Verwendung von ML Insight https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/making-data-driven-decisions-with-ml-in-quicksight.html Random Cut Forest wird sowohl zur Erkennung von Anomalien als auch zur numerischen Vorhersage verwendet

Visualizing Amazon SageMaker machine learning predictions with Amazon QuickSight https://aws.amazon.com/jp/blogs/machine-learning/making-machine-learning-predictions-in-amazon-quicksight-and-amazon-sagemaker/ Zusammenarbeit zwischen SageMaker und QuickSight

Ich möchte einen vorhandenen R-Code verschieben

Verwenden Sie einen benutzerdefinierten Container Verwenden Sie mit Amazon SageMaker Ihre eigenen Algorithmen und Modelle https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/your-algorithms.html

GitHub https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/r_bring_your_own

Für Kubernetes / Kubeflow-Benutzer

Einführung in Amazon SageMaker-Operatoren für Kubernetes https://aws.amazon.com/jp/blogs/news/introducing-amazon-sagemaker-operators-for-kubernetes/ Kann von EKS verwendet werden. Es kann auch mit einfachen Kubernetes verwendet werden.

Amazon SageMaker Components for Kubeflow Pipelines https://aws.amazon.com/about-aws/whats-new/2020/06/amazon-sagemaker-components-kubeflow-pipelines/ SageMaker kann in Kubeflow integriert werden

Verteilte Verarbeitung

Verteiltes Lernen und Workflow für umfangreiche Daten, die von Amazon SageMaker | AWS Summit Tokyo 2019 realisiert wurden https://www.youtube.com/watch?v=NUnIiYD-PEU&t=714s AWS CodeCommit EFS: Datenaustausch zwischen Instanzen / Benutzern Dateizugriff / Pipe-Modus Parameter für große Datenmengen von 100 GB HPO Amazon Elastic Inference Stapelkonvertierung Best Practices für die Datenaufbereitung (Glue / Athena) Packen von Datensätzen in RecordIO / TFRecord-Dateien Verwenden Sie die Stapelkonvertierung, wenn Sie keine Online-Vorhersage benötigen Verwenden Sie die Inferenzpipeline anstelle mehrerer Endpunkte

Lernen stärken

"Häufige Probleme beim tatsächlichen Betrieb von maschinellem Lernen und Lösungen / Fallstudien mit AWS" | AWS Summit Tokyo 2019 https://www.youtube.com/watch?v=a3smIzBC6BQ

Erste Schritte mit maschinellem Lernen

[Anfänger] Einführung in AWS Machine Learning Services | AWS Summit Tokyo 2019 https://www.youtube.com/watch?v=1gC46ODyudE

Container (ECS / EKS / ECR / Fargate)

https://www.youtube.com/watch?v=L4bLDNRSYC8

SageMaker Übersicht

【AWS Black Belt Online Seminar】Amazon SageMaker Advanced Session https://www.youtube.com/watch?v=G-s67PmTCjo&t=2496s

KI-Service

【AWS Black Belt Online Seminar】AWS AI Language Services https://www.youtube.com/watch?v=Q0Ety9Z7oWM

【AWS Black Belt Online Seminar】AWS AI Services https://www.youtube.com/watch?v=xvUyKjuv-Z4&t=1183s Mit der Inferenzarchitektur von Rekognition

Amazon API Gateway 【AWS Black Belt Online Seminar】Amazon API Gateway https://www.youtube.com/watch?v=EpEETIox03s&list=RDCMUCnjKWUK2t5QJYfeqqilhJhQ&index=8

Recommended Posts

Für SageMaker Anfänger-Material Links-
Übersicht über Docker (für Anfänger)
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Liste der Links, die Anfänger des maschinellen Lernens lernen
Grundprinzipien der Bilderkennungstechnologie (für Anfänger)
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
[Linux] Grundlagen der Berechtigungseinstellung von chmod für Anfänger
[Für Anfänger] Django Häufig verwendete Befehle und Referenzsammlung
Spacemacs-Einstellungen (für Anfänger)
Python Lehrbuch für Anfänger
Dikstra-Algorithmus für Anfänger
OpenCV für Python-Anfänger
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 2
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
■ Kaggle-Übung für Anfänger - Einführung von Python - von Google Colaboratory
[Django] Eine Sammlung von Skripten, die für die Entwicklung geeignet sind
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
[Python] Die größten Schwächen und Nachteile von Google Colaboratory [Für Anfänger]
[Für Anfänger] Eine Wortzusammenfassung der gängigen Programmiersprachen (Version 2018)