※ この記事はAIによって自動生成されています
目次
- はじめに
- AWS上でのAI/ML開発環境の構築
- Amazon SageMakerを使った実践的な機械学習
- MLOpsパイプラインの構築
- ベストプラクティスとコスト最適化
- まとめ
はじめに
AWSが新しいAI/ML奨学金プログラムを発表したことを受け、今回はAWS上でのAI/ML開発環境の構築から実装までを実践的に解説します。初学者から実務者まで活用できる内容を目指しています。
AWS上でのAI/ML開発環境の構築
基本的な環境設定
1 2 3 4 5 6 7 8 9
| $ aws configure AWS Access Key ID: [YOUR_ACCESS_KEY] AWS Secret Access Key: [YOUR_SECRET_KEY] Default region name: ap-northeast-1 Default output format: json
$ pip install boto3 sagemaker pandas numpy scikit-learn
|
IAMロールの設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:*", "s3:*", "logs:*" ], "Resource": "*" } ] }
|
Amazon SageMakerを使った実践的な機械学習
モデルトレーニングの基本実装
1 2 3 4 5 6 7 8 9 10 11 12
| import sagemaker from sagemaker.sklearn import SKLearn
sklearn_estimator = SKLearn( entry_point='train.py', role='[YOUR_IAM_ROLE]', instance_type='ml.m5.xlarge', framework_version='0.23-1', instance_count=1 )
sklearn_estimator.fit({'training': 's3://[YOUR_BUCKET]/data/train'})
|
カスタムモデルのデプロイ
1 2 3 4 5 6 7
| predictor = sklearn_estimator.deploy( initial_instance_count=1, instance_type='ml.t2.medium' )
result = predictor.predict(data)
|
MLOpsパイプラインの構築
Step Functions を使用したパイプライン
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import stepfunctions from stepfunctions.steps import TrainingStep, ModelStep
training_step = TrainingStep( 'Train Model', estimator=sklearn_estimator, inputs={ 'training': training_input } )
model_step = ModelStep( 'Create Model', model=training_step.get_expected_model() )
workflow_definition = Workflow( name='MLOpsWorkflow', definition=Chain([training_step, model_step]) )
|
ベストプラクティスとコスト最適化
インスタンス選択のガイドライン
- 開発/テスト環境: ml.t2.medium
- トレーニング: ml.m5.xlarge
- 推論:
- リアルタイム: ml.t2.medium
- バッチ: ml.c5.xlarge
コスト最適化のためのコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| estimator = SKLearn( entry_point='train.py', role='[YOUR_IAM_ROLE]', instance_type='ml.m5.xlarge', instance_count=1, use_spot_instances=True, max_wait=7200 )
from sagemaker.predictor import RealTimePredictor predictor.update_endpoint( initial_instance_count=1, instance_type='ml.t2.medium', auto_scaling_enabled=True, min_capacity=1, max_capacity=4 )
|
まとめ
AWSのAI/ML環境は、適切な設定と実装により、効率的かつコスト効果の高い開発が可能です。今回紹介した実装例とベストプラクティスを参考に、実践的なAI/ML開発を始めることができます。
参考