Infrastructure

#RecommenderSystems #Tutorial #python #Slide
Issue Date: 2021-10-21 コミュニティサービスにおけるレコメンデーションの変遷とMLパイプラインについて, PyCon'21 Comment・ママ向けのQ&AサービスにおけるレコメンドとMLパイプラインについて紹介



◆レコメンドエンジンの変遷

 ・Tensorflowで実装したMFから始まり、その後トピックを絞り込んだ上で推薦するためにLDAを活用したレコメンド、最終的にSoftmax Recommendationを開発

   Softmax Recommendation: https://developers.google.com/machine-learning/recommendation/dnn/softmax

   ユーザプロファイル(e.g. 行動ベクトル, ユーザの属性情報)等を入力とし、hidden layerをかませて最終的にアイテム次元数分のスコアベクトルを得る手法

   行動ベクトル=ユーザが過去にクリックしたQ&Aだが、質問ベクトルを得るために内容テキストは利用せず行動ログ+word2vecで学習

   類似質問検索による定性評価の結果良い結果、関連質問を抽出できるベクトルとなっていることを確認

 → レコメンド手法の変遷につれ、ベンチマークを上回るようになっていった◆MLパイプラインについて

 ・AWS Step FunctionsとAmazon Sagemakerを利用

 ・AWS Step Functions

   AWS上の様々なサービスをワークフローとして定義できる(json形式でワークフローを記述)

 ・Amazon Sagemaker

   機械学習向けのIDE

   notebook上でのデータ分析・モデル学習、実験管理や学習済みモデルのデプロイが可能

   Sagemaker Processingを用いることで、実行したい処理やインスタンスタイプを指定することで、notebookとは別の実行環境(コンテナ)で任意のpythonスクリプトを実行可

  

image



 ・ワークフローの定義=AWS Stepfunctions, スクリプト実行のリソース=Sagemaker Processingとして利用



MLパイプラインについては下記資料により詳しい情報が書かれている

https://speakerdeck.com/takapy/sagemaker-studiotostep-functionswoyong-itemlopshefalse-bu-wota-michu-sou
#Article
Issue Date: 2025-01-04 kubernetes入門, Cybozu, 2024.07 #Article #AWS
Issue Date: 2023-08-27 SQL vs. NoSQL cheetsheet, AWS, Azure and Google Cloud Commentデータタイプやユースケースに応じてAWS上のサービスなどをマッピングしてくれているチートシート。わかりやすい。
image

#Article #AWS #AWSLambda Issue Date: 2023-04-23 Lambda tips Comment・AWS Lambda and EFS Troubleshooting

・https://www.digitalsanctuary.com/aws/aws-lambda-and-efs-troubleshooting.html

・VPC内のEFSにアクセスできるようなセキュリティーポリシーを作成してアタッチすると良いという話。in-bound, out-boundともにNFSを許可・【AWS】VPC Lambdaを構築したときのメモ

・https://qiita.com/aiko_han/items/6b3010250e2887206b4f・Amazon VPC に接続されている Lambda 関数にインターネットアクセスを許可するにはどうすればよいですか?

・https://repost.aws/ja/knowledge-center/internet-access-lambda-function
#Article #AWS #ECS Issue Date: 2023-04-16 ECS tips Comment・キャパシティプロバイダーについて

・https://dev.classmethod.jp/articles/regrwoth-capacity-provider/・Fargateをスポットで7割引で使うFargate Spotとは? reinvent

・https://dev.classmethod.jp/articles/fargate-spot-detail/・ECSでのデプロイでコケる原因ざっくりまとめ

・https://zenn.dev/isosa/articles/e371bc2d76e812・M1 MacでビルドしたイメージをFARGATEで使おうとした時の'exec user process caused: exec format error' の対処法

・https://qiita.com/ms2geki/items/1cfb0db3f4c1aab96e75・PythonでログをCloudWatchに出力する「Watchtower」

・https://dev.classmethod.jp/articles/python_log_cloudwatch_watchtower/
#Article #Tools #MLOps #Blog #Repository Issue Date: 2022-12-01 deploy-API-to-GCP CommentFlaskAPIを(Flaskでなくても良い)Google Cloud Run上で、TerraFormで定義したインフラ環境でデプロイするためのリポジトリ

0. リポジトリをclone
1. Flaskアプリ作成
2. FlaskアプリをDocker化
3. TerraFormのStateを保存するためのCloudStorage作成
4. TerraFormのコード作成
5. GitHub Actionでデプロイ(CI/CD)

5によってmainブランチに対するプルリクが本番環境にデプロイされる。Cloud Runについて
https://dev.classmethod.jp/articles/gc-cloud-run/
#Article #MLOps #Blog Issue Date: 2022-04-27 MLOps: 機械学習における継続的デリバリーと自動化のパイプライン, Google Comment機械学習(ML)システムの継続的インテグレーション(CI)、継続的デリバリー(CD)、継続的トレーニング(CT)の実装と自動化

MLOpsのレベルを0~2で表現しており、各レベルごとに何が達成されるべきかが図解されている。



image



image



image

#Article #Tutorial #MachineLearning #Pocket Issue Date: 2021-10-19 Hidden Technical Debt in Machine Learning Systems, Sculley+, Google Commentimage

よく見るML codeが全体のごく一部で、その他の基盤が大半を占めてますよ、の図
#Article #AWS Issue Date: 2021-10-08 データレイクのつくりかた、つかいかた、そだてかた, 関山宜孝, AWS Summit Commentこちらも参照のこと

https://logmi.jp/tech/articles/324242◆伝統的なデータウェアハウスの限界:

場当たり的にデータを蓄積し、活用しているとデータのサイロ化が生じてしまう。

サイロ化したデータを一箇所にまとめて活用できるようにしましょうというのがData Lakeの考え方。



◆データレイクアーキテクチャ

すべてのデータを一元的に保管でき、

耐障害性、可用性が高く、スケーラブルで低コストな必要がある。

また、データは非常に多様化しているので、多様なデータをそのままのフォーマットで保管し、

活用できる必要がある。

ストレージとデータの活用層を疎結合にして、さまざまなユースケース・分析に対処できるようにする。

(たとえば、ストレージに特定のスキーマのテーブルを使っており、そのスキーマに対してしか分析できません、とかは避けるということかな?)image

image



S3上に生データを保存し、AWS Glueでメタデータを管理する。AWS GlueのようなETLサービスを利用してデータを利用しやすい形式に変更して格納し、活用する。データレイクを作る際のポイント「小さく始める」という部分も重要だと思われるので参照のこと
#Article #MachineLearning #MLOps #Blog Issue Date: 2021-06-18 NVIDIA TRITON INFERENCE SERVER, 2021 CommentNvidiaのオープンソースのinference server

モデルのデプロイや管理、スケーリング等を良い感じにしてくれるフレームワーク?