FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

SageMaker Pipeline、ローカルでぶんぶん動かしちゃうよ〜♪クラウドだと時間かかっちゃうんですけど〜

やっほー!✋ この記事はね、FLINTERS 10周年記念ブログリレーの89日目なんだって〜!
しかもー、10周年までなんとあと44日なんだよね〜🎉 ついでに創立記念日もあと31日!感動しちゃうねー!💖

※この記事は ChatGPT に頼んでギャル風にアレンジしてもらい、それをほとんど改変しています

今日は AWS SageMaker Pipeline をローカルでスイスイ動かす方法をバッチリ教えちゃうよ〜💅
なんかクラウドで動かすと時間が掛かっちゃってマジイライラするんですけど〜😵
って思ってるそこのきみー!手元で動かしてワクワク好循環しちゃお〜テンアゲ〜〜↑↑↑

なんでローカルなのー?

マネージド環境でガンガンやるのって楽しいけど、時にはちょっと待たされることもあるよね?
動作確認の時にはサクサク動いてほしいのに、なんで待たされないといけないの?😵

そんな時にローカルでビシバシ動いてくれればストレスフリーなんだから、それだけでも価値あるよね?
イライラナシで、気軽に SageMaker Pipeline を楽しめれば最高でしょ?

おおっ、これはヤバい、やっちゃおっかな〜?🚀✌️

aws.amazon.com

SageMaker Pipeline をローカルでビシビシ動かしちゃう方法!

さっそく SageMaker Pipeline をローカルで動かす方法を伝授しちゃうよっ💖

ステップ1: 準備しとくこと!

みんな session ってこんな感じで使ってるよね?

from sagemaker.workflow.pipeline_context import PipelineSession

session = PipelineSession()

でもさ、今回は import 文と session をこんな感じに変更してみて!

from sagemaker.workflow.pipeline_context import LocalPipelineSession

session = LocalPipelineSession()

これだけで準備完了だよ〜!✨

オプションで簡単に切り替えれるようにしておいた方が後で楽だよ🌈

ステップ2: ローカルで SageMaker Pipeline、チャチャっと実行してみようね!

もうステップ1 の変更はバッチリでしょ?

あとはみんながいつもやってるコマンドをガンガン叩いちゃってOK!
おもいっきり Enter 叩いちゃおっ!🚀💖

まとめタイム〜

なんだかね、超簡単だったよね✨たったこれだけでローカルで動かせるなんてびっくり!

最後になるけど、ローカルで SageMaker Pipeline を実行するメリット、まとめてみようっかな〜?

ローカルでのメリット🌟

  • クラウドで実行するよりも待ち時間がすんごく少ない!🎉
  • 自分のペースで、気楽にモクモク作業できる!
  • 課金されないから、お財布もハッピーに節約できるっ💰✨
    • S3 とかでちょっと課金されるんだけどね😜

デメリットもちょっとだけ考えてみたりしてー

  • クラウドと比べるとスケーラビリティがちょっと限られるかも?
    • ローカルだとリソースに制約があるから、でっかいプロジェクトだと若干物足りないことがあるかも
    • 各ステップで使うデータの量を少なめで動作確認して、動いたら今度は全データでクラウドで動かすのがいいかもね!🚀
  • もちろんこれはあくまでローカルで動作確認することが目的だからね!👌
    • でもプロジェクトによってはクラウドではなくローカルで動かしたいこともあるかも?
    • その時は docker-compose の知識があるととっても助かるよ!💻

てな感じかな?雑にパパッと書いてみたっ💅✨

最後に

ここまで読んでくれた読者のみんな、ホントにありがとー!共有できて嬉しかったよ💖
これからも新たな冒険が待ってるから、また一緒にワクワクしようね!🚀✨