Last updated
Last updated
必要に応じてエンドポイントを立ち上げることが可能なサービス。
ただし、GPU対応していないため、今後はそこの対応が期待される。
Serverlessが最適化どうか判断するためのベンチマークについて、以下のブログで紹介されている。
機械学習モデルの解釈可能性を可視化するサービス。
SHAPなどを使って寄与度を算出することが可能となっている。
「ランダム」、「ベイズ」、「ハイパーバンド」、「グリッドサーチ」が使用可能。
「グリッドサーチ」は2022-10発表。
「ハイパーバンド」は良く知らなかったけど、Bandit-Basedなランダムサーチらしい。(2016年発表なので比較的新しいかも)
機械学習モデルのトレーニング向けのデータセットを作成するサービス。
料金としては、数千ドルから数万ドルが事例としてある様子。
自社のデータラベリングワークフローやワークフォースを柔軟に構築および管理する。
Amazon Mechanical Turk、サードパーティーベンダー、または独自のプライベートワークフォースを介して人間のアノテーターを使用するオプションを提供可能。
また、自動ラベル付けされた合成画像を生成することも可能。(2022-06にGA)
以下の記事の紹介によると、作成したデータセットはSageMaker以外にもRekognition Custom Labelsでもそのまま使用可能。
ラベリングアプリケーションを構築したり、ラベル付けのための労働力を自ら管理したりすることなく、質の高いトレーニングデータセットを作成することが可能。
データをアップロードするだけで、SageMaker Ground Truth Plus がお客様に代わってデータラベリングワークフローとワークフォースを作成および管理する。
re:invent2021で発表された。
機械学習向けのデータ前処理用のサービス。
データソースとしては、S3やAthena、Redshiftなど。
AWS SDK for pandas(旧称:AWS Data Wrangler)とは別物のため注意。
Wrangler自体で課金というよりはStudioを立ち上げてたりジョブを実行する際に課金される様子。
なゆゆのSageMakerのバッチ変換
単なるタグの話
ドメインに紐づいたユーザー毎の実行ロールに対してDenyなポリシーをアタッチすることで実現している
めっちゃ有用記事だ!
TrainiumやInferentiaは、Neuron SDKを通じてソフトウェアでCustomOpsをサポート
GPSIMDエンジンを用いてハードウェアを加速させる
General Purpose Single Instruction Multiple Data engine
Triton推論サーバがエンドポイントで使用
FIL(Forest Inference Library)は各フレームワーク(XGBoost, LightGBM, cuML)の独自性をうまく吸収してくれそう
以下3つのアーキテクチャ事例を紹介している
SageMaker AutopilotとCanvas
SageMaker JumpStartとCanvas
SageMaker Model RegistryとCanvas
LLMsを用いたRAGによるテキスト生成では、LLMsに供給されるコンテキストの一部として特定の外部データを供給することで、ドメイン固有のテキスト出力を生成することが可能
以下2つの事例を取り上げている
LangChainライブラリとAmazon SageMakerのエンドポイントを使う方法
SageMakerのKNNアルゴリズムを使って、SageMakerのエンドポイントを使って大規模データの意味検索を行う方法
LLMsはオープンソース(GPT-J-6B、Flan T5 UL2、BloomZ 7B1)を使っており、近年のに比べると軽量なものの事例
FILの記事に似ている。違いが良く分からん。
ESMFoldは、アミノ酸配列からタンパク質の構造を予測するために開発された、高精度な深層学習ベースの手法
AlpaFold2などと異なり、ルックアップやMultiple Sequence Alignmentを必要とせず、外部データベースへの依存もない
その代わりに大規模なタンパク質言語モデル(pLM)をバックボーンとして使用する
Graviton3ベースのEC2 c7gインスタンスを使ったSageMakerリアルタイム推論の例
比較対象として、16個のvCPUと32GiBのメモリのスペックで横並びに評価している
Gravitonインスタンスにモデルをデプロイするには、AWS DLC(Deep Learning Container)を使用するか、ARMv8.2アーキテクチャに対応したコンテナを自身で用意すればよいとのこと
自身で用意するための公式ドキュメント
20Bなので性能は良さそうだが、日本語対応が微妙かもしれない。
Flan-T5-XLを使う。日本語モデルに差し替えできれば有用かもしれない。
Lambda + S3のバケツリレーでTranscribeとSageMaker Endpointを使う
SageMaker Endpointのお値段が。。
アプリにはECS + Fargateを使用し、Streamlitで構築する
画像生成とNLU・テキスト生成にはAPIGW + Lambda + SageMaker Endpointを使用
これらすべてを4つのStackに分けてCDKで構築している
こちらもFLAN T5を使用する例
マルチGPUでのトレーニングに対応
最近界隈で石油マネーLLMと話題になっているやつ
記事はゼロから事前学習モデルを作る方法について紹介されているのであくまで読み物として
ONNXの最大のメリットは、異なるフレームワークやツール間でMLモデルを表現し、交換するための標準化された形式を提供すること
記事では、GPUを使用するマルチモデルエンドポイント(MME)向けにONNXベースのモデルをデプロイする方法を紹介
モデル並列化に関する説明があってよい
少し考察が偏っており、個人的には7Bでは到底GPT-3.5-turboなどに及ばないことが分かる。
もう少し大規模化しないとちょっと難しそう
カジノの設備の予知保全ソリューションの構築例。
ベースラインにAutoGluon、そしてSageMaker automatic model tuningでDeep Learningを使っている様子
Deep Learningのアーキテクチャはお手製で結構きちんと頑張っている印象なので参考になる
SageMaker JumpStart には、2 種類の基礎モデルがある
Proprietary models
AI21、Cohereなどが提供する事前学習済みモデルで、scriptsや重みなどのmodel artifactsは閲覧できない
Publicly available models
HuggingFaceなどで公開されているFLANやFalconなどのモデル
具体的には、単一のml.g5.12xlargeインスタンス(4 A10G GPU)を使用してFalcon-40Bを 微調整する
Ground Truth の自動ラベリング機能の使い方を紹介
LangChainでRAGを実現する複雑めなアーキテクチャ
基礎として使っているモデルは、Hugging Face Hubで提供されているGoogleのPegasus
これをJumpStartでfine-tuningする
RekognitionモデルまたはカスタムDetectronモデルのいずれかを呼び出して車の位置を検出できるAmplifyのモックウェブアプリケーションで構成
textractで抽出し、LLMで要約を作る事例
SAMを生成AIって言っている…?
あの画像に記載された文字を手入力したりするやつ
SageMaker Python SDKによる推論リコメンダーの実行サポート
推論レコメンダーの操作性向上
推論リコメンダーの柔軟な運用を可能にする新APIを公開
ロギングとメトリクスのためのAmazon CloudWatchとのより深い統合
SageMaker Python SDKを使って、作成したローカルMLコードを、依存関係とともに、最小限のコード変更でトレーニングジョブとして実行できるように
コードにPythonデコレータを追加するだけで、そのコード、データセット、ワークスペース環境の設定を受け取り、SageMaker Trainingジョブとして実行
TensorBoardを使用して、SageMakerトレーニングジョブのモデル収束の問題を可視化し、デバッグが可能に
TensorBoardは、トレーニングセットと検証セットにおけるモデルの精度やロスを追跡するために一般的に使用される観測可能ツール
価格表にも更新があり、ホスティングするためにml.r5.largeインスタンスが使われ、US Eastで1時間$0.126程度
東京リージョンではまだ使えない。
公式ブログ
ラベリング、トレーニング、推論のための画像データを準備することが可能に
S3から画像をプレビューしてインポートし、さまざまな組み込み画像変換を使用して、画像データのクリーン化、標準化、品質改善を行う
ビルトイン変換には、リサイズ、重複の削除、回転、反転、グレイスケール、コントラストの強化、ぼかし、ノイズの追加など
スニペットを使って、異常値の検出や画像からテキストを抽出するなどの高度な使用例もサポート
公式ブログ
公式ブログでも
Serverless Inferenceのコールドスタートを緩和し、ワークロードの予測可能なパフォーマンス特性を得ることが可能に
学習したモデルをワンクリックでSageMaker Model registryに登録できるように
公式ブログ
inf1はinf2が先行していた
Ensembleモードでの重み付き客観指標による訓練をサポート
追加目的指標は、RMSE、MAE、R2、Balanced Accuracy、Precision、Precision Macro、Recall、Recall Macro
標準的な指標がそろった感じか
APIアップデートが先行していた
公式ブログによる紹介はGPT-J 6Bモデル
RLHFにより人間の好みに合った出力を学習できる
公式ブログ
ジョブ定義の一部として必要だったハイパーパラメータの範囲、チューニング戦略、ジョブ数などの設定を指定する必要がない新しい設定であるautotuneを提供する
関連するAPI Changes
プロダクション向きの機能がでてきた
対応するデータソースは、ローカルアップロードとAmazon S3のみ。
Amazon SageMaker Distributionは、機械学習、データサイエンス、可視化のための主要なフレームワークを含むDockerイメージのセット
CPUとGPUの2種類を準備し、PyTorch、TensorFlow、KerasなどのDeep Learningフレームワーク、numpy、scikit-learn、pandasなどのPythonパッケージ、およびJupyter LabなどのIDEが含まれる
GPU版は5.3GB程度のイメージサイズ
Falcon 40Bは、Apache 2.0ライセンスで利用可能な400億パラメータの大規模言語モデル
以下のサンプルノートブックで試すことが可能
データソースと、データに対して実行したい変換関数を提供するだけで、SageMaker Feature Store がデータを ML フィーチャに変換できる
公式ブログ
列のデータ型を数値、テキスト、日時の間で変更することが可能となり、バイナリやカテゴリカルなどのデータ型に関する表示も可能に
時系列データを再サンプルして、時系列データセットの観測値を一定の間隔にすることが可能に
データ内の行を管理する方法が改善され、昇順または降順に並べ替えたり、ランダムにシャッフルしたり、重複する行を削除したりできるように
Document Queriesによりドキュメントの構造 (テーブル、フォーム、フィールド、ネストされたデータ) についての事前知識がなくても、自然言語を使用して構造化ドキュメントから抽出したいデータを指定できる
Canvasでモデルを構築し、QuickSightでダッシュボードを構築するための予測を生成できるように
Canvasからモデルを共有すると、すべての入力データと出力データの属性からなるMLモデルのスキーマファイルが自動的に作成
これまで SageMaker Canvas は、各問題タイプに対して単一のデフォルトの目的メトリックのみをサポートしていた
以降は、サポートされているメトリックのリストから目的メトリックを選択し、それに従って ML モデルを最適化することが可能
サンプルノートブックは
公式ブログは
-