Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する | アマゾン ウェブ サービス

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する | アマゾン ウェブ サービス

ジェネレーティブ AI は、エンターテインメント、広告、グラフィック デザインなど、さまざまな業界でクリエイティブ プロセスを強化および加速するための一般的なツールとなっています。 これにより、視聴者にとってよりパーソナライズされたエクスペリエンスが可能になり、最終製品の全体的な品質が向上します。

生成 AI の大きな利点の XNUMX つは、ユーザーにユニークでパーソナライズされたエクスペリエンスを作成できることです。 たとえば、ストリーミング サービスでは生成 AI を使用して、パーソナライズされた映画のタイトルとビジュアルを生成して視聴者のエンゲージメントを高め、ユーザーの視聴履歴や好みに基づいてタイトルのビジュアルを構築します。 次に、システムはタイトルのアートワークの何千ものバリエーションを生成し、それらをテストしてどのバージョンがユーザーの注意を最も引き付けるかを決定します。 場合によっては、テレビ シリーズのパーソナライズされたアートワークにより、パーソナライズされたアートワークのない番組と比較して、クリック率と視聴率が大幅に増加しました。

この投稿では、Stable Diffusion のような生成 AI モデルを使用して、パーソナライズされたアバター ソリューションを構築する方法を示します。 アマゾンセージメーカー マルチモデル エンドポイント (MME) による推論コストを同時に節約します。 このソリューションでは、次のスクリーンショットに示すように、自分の 10 ~ 12 枚の画像をアップロードすることで、任意のテキスト プロンプトに基づいてアバターを生成できるパーソナライズされたモデルを微調整する方法を示します。 この例ではパーソナライズされたアバターを生成しますが、特定のオブジェクトやスタイルを微調整することで、このテクニックをあらゆる創造的なアートの生成に適用できます。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。 Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

ソリューションの概要

次のアーキテクチャ図は、アバター ジェネレーターのエンドツーエンド ソリューションの概要を示しています。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

この投稿の範囲と例 GitHubコード モデルのトレーニングと推論オーケストレーション (上の図の緑色のセクション) のみに焦点を当てます。 完全なソリューション アーキテクチャを参照し、提供される例に基づいて構築することができます。

モデルのトレーニングと推論は、次の XNUMX つのステップに分類できます。

  1. 画像をアップロードする Amazon シンプル ストレージ サービス (アマゾンS3)。 このステップでは、ご自身の高解像度画像を少なくとも 10 枚提供するようお願いします。 画像が多いほど結果は良くなりますが、トレーニングにかかる​​時間は長くなります。
  2. SageMaker 非同期推論を使用して、Stable Diffusion 2.1 基本モデルを微調整します。 トレーニングに推論エンドポイントを使用する理論的根拠については、この投稿の後半で説明します。 微調整プロセスは、顔のトリミング、背景のバリエーション、モデルのサイズ変更などの画像の準備から始まります。 次に、大規模言語モデル (LLM) 向けのパラメーター効率の高い微調整手法である低ランク適応 (LoRA) を使用してモデルを微調整します。 最後に、後処理では、微調整された LoRA 重みを推論スクリプトおよび構成ファイル (tar.gz) とともにパッケージ化し、SageMaker MME の S3 バケットの場所にアップロードします。
  3. GPU を備えた SageMaker MME を使用して、微調整されたモデルをホストします。 SageMaker は、各モデルへの推論トラフィックに基づいて、Amazon S3 の場所からモデルを動的にロードしてキャッシュします。
  4. 微調整されたモデルを推論に使用します。 後に Amazon シンプル通知サービス 微調整が送信されたことを示す (Amazon SNS) 通知が送信されたら、 target_model MME を呼び出してアバターを作成するときにパラメータを使用します。

次のセクションで各ステップを詳しく説明し、サンプル コード スニペットのいくつかを順に見ていきます。

画像を準備する

安定拡散を微調整して自分の画像を生成することで最良の結果を得るには、通常、さまざまな角度、さまざまな表情、さまざまな背景から撮った、大量かつ多様な自分の写真を提供する必要があります。 ただし、私たちの実装では、わずか 10 個の入力画像で高品質の結果を達成できるようになりました。 各写真から顔を抽出するための自動前処理も追加しました。 必要なのは、複数の視点から自分がどのように見えるかの本質を明確に捉えることだけです。 正面を向いた写真、両側から撮影した横顔、およびその間の角度から撮影した写真を含めます。 笑顔、しかめ面、無表情など、さまざまな表情の写真も含める必要があります。 表情を組み合わせることで、モデルがあなたのユニークな顔の特徴をよりよく再現できるようになります。 入力画像によって、生成できるアバターの品質が決まります。 これが適切に行われるように、画像のキャプチャとアップロードのプロセスをユーザーにガイドする直感的なフロントエンド UI エクスペリエンスをお勧めします。

以下は、さまざまな角度、さまざまな表情の自撮り画像の例です。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

安定拡散モデルを微調整する

画像が Amazon S3 にアップロードされた後、 SageMaker 非同期推論 トレーニング プロセスを開始するためのエンドポイント。 非同期エンドポイントは、大きなペイロード (最大 1 GB) と長い処理時間 (最大 1 時間) を伴う推論のユースケースを対象としています。 また、自動スケーリングなどの SageMaker ホスティングの他のネイティブ機能に加えて、リクエストをキューに入れるための組み込みのキューイング メカニズムと、Amazon SNS を介したタスク完了通知メカニズムも提供します。

微調整は推論のユースケースではありませんが、組み込みのキューと通知メカニズムにより、ここでは SageMaker トレーニング ジョブの代わりに微調整を利用することにしました。 マネージドオートスケーリングこれには、サービスが使用されていないときにインスタンスを 0 にスケールダウンする機能が含まれます。 これにより、微調整サービスを多数の同時ユーザーに簡単に拡張できるようになり、追加のコンポーネントを実装して管理する必要がなくなります。 ただし、ペイロードが 1 GB、最大処理時間が 1 時間であるという欠点があります。 私たちのテストでは、ml.g20xlarge インスタンス上の約 10 個の入力イメージでかなり良好な結果を得るには 5.2 分で十分であることがわかりました。 ただし、大規模な微調整ジョブには SageMaker トレーニングが推奨されるアプローチです。

非同期エンドポイントをホストするには、いくつかの手順を完了する必要があります。 XNUMX つ目は、モデル サーバーを定義することです。 この投稿では、 大規模モデル推論コンテナ (LMI)。 LMI は、プログラミング言語に依存しない高性能なモデル サービング ソリューションである DJL Serving を利用しています。 SageMaker マネージド推論コンテナには、Hugging Face など、必要なトレーニング ライブラリの多くがすでに含まれているため、このオプションを選択しました。 ディフューザー および 加速する。 これにより、微調整ジョブのためにコンテナーをカスタマイズするために必要な作業量が大幅に削減されます。

次のコード スニペットは、この例で使用した LMI コンテナのバージョンを示しています。

inference_image_uri = ( f"763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:0.21.0-deepspeed0.8.3-cu117"
)
print(f"Image going to be used is ---- > {inference_image_uri}")

それに加えて、 serving.properties 使用する推論エンジン、モデル アーティファクトの場所、動的バッチ処理などの提供プロパティを構成するファイル。 最後に、 model.py モデルを推論エンジンにロードし、モデルからのデータ入出力を準備するファイル。 この例では、 model.py ファイルを使用して微調整ジョブを起動します。これについては、後のセクションで詳しく説明します。 どちらも serving.properties および model.py ファイルは、 training_service フォルダにコピーします。

モデルサーバーを定義した後の次のステップは、非同期推論がどのように提供されるかを定義するエンドポイント構成を作成することです。 この例では、最大同時呼び出し制限と出力 S3 の場所を定義しているだけです。 とともに ml.g5.2xlarge たとえば、メモリ不足 (OOM) 例外が発生することなく、最大 XNUMX つのモデルを同時に微調整できることがわかったので、 max_concurrent_invocations_per_instance 異なるチューニング パラメーター セットまたはより小さいインスタンス タイプを使用している場合は、この数値を調整する必要がある場合があります。 最初にこれを 2 に設定し、GPU メモリ使用率を監視することをお勧めします。 アマゾンクラウドウォッチ.

# create async endpoint configuration
async_config = AsyncInferenceConfig( output_path=f"s3://{bucket}/{s3_prefix}/async_inference/output" , # Where our results will be stored max_concurrent_invocations_per_instance=2, notification_config={   "SuccessTopic": "...",   "ErrorTopic": "...", }, #  Notification configuration
)

最後に、コンテナ情報、モデル ファイル、および AWS IDおよびアクセス管理 (IAM) ロールを単一のオブジェクトに統合します。 モデルは、前に定義したエンドポイント構成を使用してデプロイされます。

model = Model( image_uri=image_uri, model_data=model_data, role=role, env=env
) model.deploy( initial_instance_count=1, instance_type=instance_type, endpoint_name=endpoint_name, async_inference_config=async_inference_config
) predictor = sagemaker.Predictor( endpoint_name=endpoint_name, sagemaker_session=sagemaker_session
)

エンドポイントの準備ができたら、次のサンプル コードを使用して非同期エンドポイントを呼び出し、微調整プロセスを開始します。

sm_runtime = boto3.client("sagemaker-runtime") input_s3_loc = sess.upload_data("data/jw.tar.gz", bucket, s3_prefix) response = sm_runtime.invoke_endpoint_async( EndpointName=sd_tuning.endpoint_name, InputLocation=input_s3_loc)

SageMaker の LMI の詳細については、以下を参照してください。 DJLServing と DeepSpeed モデルの並列推論を使用して、Amazon SageMaker に大規模なモデルをデプロイする.

呼び出し後、非同期エンドポイントは微調整ジョブのキューを開始します。 各ジョブは、イメージの準備、Dreambooth と LoRA の微調整の実行、モデル アーティファクトの準備という手順を実行します。 微調整プロセスをさらに詳しく見てみましょう。

画像を準備する

前述したように、入力画像の品質は、微調整されたモデルの品質に直接影響します。 アバターの使用例では、モデルの顔の特徴に焦点を当てたいと考えています。 ユーザーに正確なサイズと内容の慎重に厳選された画像の提供を要求する代わりに、コンピューター ビジョン技術を使用した前処理ステップを実装して、この負担を軽減します。 前処理ステップでは、まず顔検出モデルを使用して、各画像内の最大の顔を分離します。 次に、モデルに必要なサイズの 512 x 512 ピクセルに画像をトリミングしてパディングします。 最後に、背景から顔をセグメント化し、ランダムな背景のバリエーションを追加します。 これは顔の特徴を強調するのに役立ち、モデルが背景ではなく顔自体から学習できるようになります。 次の図は、このプロセスの XNUMX つのステップを示しています。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。 Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。 Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。
ステップ1: コンピュータビジョンを使用した顔検出 ステップ2: 画像をトリミングして 512 x 512 ピクセルにパディングします ステップ3(オプション): セグメント化して背景のバリエーションを追加する

Dreambooth と LoRA の微調整

微調整には、Dreambooth と LoRA の技術を組み合わせました。 Dreambooth を使用すると、一意の識別子を使用してモデルの出力ドメインに主題を埋め込み、モデルの言語ビジョン辞書を拡張して、安定拡散モデルをパーソナライズできます。 と呼ばれる方法を使用します 事前保存 被写体のクラス (この場合は人) に関するモデルの意味論的な知識を保持し、クラス内の他のオブジェクトを使用して最終的な画像出力を改善します。 これにより、Dreambooth は被写体のわずか数枚の入力画像で高品質の結果を達成できるようになります。

次のコード スニペットは、への入力を示しています。 trainer.py アバター ソリューションのクラス。 私たちが選んだことに注目してください <<TOK>> 一意の識別子として。 これは、モデルの辞書に既に存在する可能性のある名前の選択を避けるために意図的に行われます。 名前がすでに存在する場合、モデルは対象を学習解除してから再学習する必要があり、これにより微調整結果が不十分になる可能性があります。 対象クラスは次のように設定されています “a photo of person”これにより、微調整プロセス中に追加入力としてフィードする人物の写真を最初に生成することで、事前の保存が可能になります。 これは、モデルが以前の保存方法を使用して人の以前の知識を保存しようとするため、過剰適合を軽減するのに役立ちます。

status = trn.run(base_model="stabilityai/stable-diffusion-2-1-base", resolution=512, n_steps=1000, concept_prompt="photo of <<TOK>>", # << unique identifier of the subject learning_rate=1e-4, gradient_accumulation=1, fp16=True, use_8bit_adam=True, gradient_checkpointing=True, train_text_encoder=True, with_prior_preservation=True, prior_loss_weight=1.0, class_prompt="a photo of person", # << subject class num_class_images=50, class_data_dir=class_data_dir, lora_r=128, lora_alpha=1, lora_bias="none", lora_dropout=0.05, lora_text_encoder_r=64, lora_text_encoder_alpha=1, lora_text_encoder_bias="none", lora_text_encoder_dropout=0.05
)

設定では、次のような多くのメモリ節約オプションが有効になっています。 fp16, use_8bit_adam、および勾配累積。 これにより、メモリの設置面積が 12 GB 未満に削減され、XNUMX 台のマシンで最大 XNUMX つのモデルを同時に微調整できます。 ml.g5.2xlarge インスタンス。

LoRA は、ほとんどの重みをフリーズし、事前トレーニングされた LLM の特定のレイヤーに小さなアダプター ネットワークを接続する LLM の効率的な微調整手法であり、より高速なトレーニングと最適化されたストレージを可能にします。 安定した拡散のために、アダプターは推論パイプラインのテキスト エンコーダーと U-Net コンポーネントに接続されます。 テキスト エンコーダーは入力プロンプトを U-Net モデルが理解できる潜在空間に変換し、U-Net モデルはその潜在的な意味を使用して、後続の拡散プロセスで画像を生成します。 微調整の出力は、 text_encoder U-Net アダプターの重量。 推論時に、これらの重みをベースの安定拡散モデルに再接続して、微調整結果を再現できます。

以下の図は、原著者が提供した LoRA 微調整の詳細図です。 Cheng-Han Chiang、Yung-Sung Chuang、Hung-yi Lee、「AACL_2022_tutorial_PLMs」、2022

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。 Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

両方の方法を組み合わせることで、桁違いに少ないパラメータを調整しながら、パーソナライズされたモデルを生成することができました。 これにより、トレーニング時間が大幅に短縮され、GPU 使用率が削減されました。 さらに、完全な安定拡散モデルの 70 GB と比較して、アダプターの重量がわずか 6 MB になるようにストレージが最適化され、サイズが 99% 削減されました。

モデルアーティファクトを準備する

微調整が完了したら、後処理ステップで、NVIDIA Triton 用のファイルを提供するモデルの残りの部分を使用して LoRA 重みを TAR します。 Python バックエンドを使用します。つまり、推論に使用される Triton 構成ファイルと Python スクリプトが必要です。 Python スクリプトには名前を付ける必要があることに注意してください。 model.py。 最終モデル TAR ファイルは次のファイル構造になっている必要があります。

|--sd_lora |--config.pbtxt |--1 |--model.py |--output #LoRA weights |--text_encoder |--unet |--train.sh

GPU を備えた SageMaker MME を使用して微調整されたモデルをホストする

モデルが微調整された後、SageMaker MME を使用してパーソナライズされた安定拡散モデルをホストします。 SageMaker MME は、単一のエンドポイントの背後にある単一のコンテナーで複数のモデルをホストできる強力なデプロイメント機能です。 トラフィックとモデルへのルーティングを自動的に管理して、リソース使用率を最適化し、コストを節約し、数千のエンドポイントを管理する運用負担を最小限に抑えます。 この例では、GPU インスタンス上で実行しており、SageMaker MME は Triton Server を使用して GPU をサポートしています。 これにより、単一の GPU デバイス上で複数のモデルを実行し、高速化されたコンピューティングを利用できるようになります。 SageMaker MME で Stable Diffusion をホストする方法の詳細については、以下を参照してください。 安定拡散モデルで高品質のイメージを作成し、Amazon SageMaker でコスト効率よくデプロイします。.

この例では、コールド スタート状況で微調整されたモデルをより速く読み込むために追加の最適化を行いました。 これは LoRA のアダプター設計により可能です。 基本モデルの重みと Conda 環境はすべての微調整モデルで同じであるため、これらの共通リソースをホスティング コンテナーに事前にロードすることで共有できます。 これにより、Triton 構成ファイル、Python バックエンド (model.py)、および LoRA アダプターの重みは、最初の呼び出し後に Amazon S3 から動的にロードされます。 次の図は、並べて比較したものです。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。

これにより、モデル TAR ファイルが約 6 GB から 70 MB に大幅に削減されるため、ロードと解凍が大幅に高速化されます。 この例でプリロードを行うために、ユーティリティ Python バックエンド モデルを作成しました。 models/model_setup。 スクリプトは、ベースの安定拡散モデルと Conda 環境を Amazon S3 から共通の場所にコピーするだけで、すべての微調整されたモデル間で共有されます。 以下は、タスクを実行するコード スニペットです。

def initialize(self, args): #conda env setup self.conda_pack_path = Path(args['model_repository']) / "sd_env.tar.gz" self.conda_target_path = Path("/tmp/conda") self.conda_env_path = self.conda_target_path / "sd_env.tar.gz" if not self.conda_env_path.exists(): self.conda_env_path.parent.mkdir(parents=True, exist_ok=True) shutil.copy(self.conda_pack_path, self.conda_env_path) #base diffusion model setup self.base_model_path = Path(args['model_repository']) / "stable_diff.tar.gz" try: with tarfile.open(self.base_model_path) as tar: tar.extractall('/tmp') self.response_message = "Model env setup successful." except Exception as e: # print the exception message print(f"Caught an exception: {e}") self.response_message = f"Caught an exception: {e}"

その後、微調整された各モデルは、コンテナー上の共有場所を指します。 Conda 環境は以下で参照されています。 config.pbtxt.

name: "pipeline_0"
backend: "python"
max_batch_size: 1 ... parameters: { key: "EXECUTION_ENV_PATH", value: {string_value: "/tmp/conda/sd_env.tar.gz"}
}

安定拡散ベースモデルは、 initialize() それぞれの機能 model.py ファイル。 次に、パーソナライズされた LoRA 重みを unet に適用し、 text_encoder 微調整された各モデルを再現するためのモデル:

... class TritonPythonModel: def initialize(self, args): self.output_dtype = pb_utils.triton_string_to_numpy( pb_utils.get_output_config_by_name(json.loads(args["model_config"]), "generated_image")["data_type"]) self.model_dir = args['model_repository'] device='cuda' self.pipe = StableDiffusionPipeline.from_pretrained('/tmp/stable_diff', torch_dtype=torch.float16, revision="fp16").to(device) # Load the LoRA weights self.pipe.unet = PeftModel.from_pretrained(self.pipe.unet, unet_sub_dir) if os.path.exists(text_encoder_sub_dir): self.pipe.text_encoder = PeftModel.from_pretrained(self.pipe.text_encoder, text_encoder_sub_dir)

微調整されたモデルを推論に使用する

これで、MME エンドポイントを呼び出して、微調整されたモデルを試すことができます。 この例で公開した入力パラメータには次のものがあります。 prompt, negative_prompt, gen_args、次のコード スニペットに示すように。 各入力項目のデータ型と形状を辞書に設定し、JSON 文字列に変換します。 最後に、文字列ペイロードと TargetModel アバター画像を生成するためにリクエストに渡されます。

import random prompt = """<<TOK>> epic portrait, zoomed out, blurred background cityscape, bokeh, perfect symmetry, by artgem, artstation ,concept art,cinematic lighting, highly detailed, octane, concept art, sharp focus, rockstar games, post processing, picture of the day, ambient lighting, epic composition""" negative_prompt = """
beard, goatee, ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, blurry, bad anatomy, blurred, watermark, grainy, signature, cut off, draft, amateur, multiple, gross, weird, uneven, furnishing, decorating, decoration, furniture, text, poor, low, basic, worst, juvenile, unprofessional, failure, crayon, oil, label, thousand hands """ seed = random.randint(1, 1000000000) gen_args = json.dumps(dict(num_inference_steps=50, guidance_scale=7, seed=seed)) inputs = dict(prompt = prompt, negative_prompt = negative_prompt, gen_args = gen_args) payload = { "inputs": [{"name": name, "shape": [1,1], "datatype": "BYTES", "data": [data]} for name, data in inputs.items()]
} response = sm_runtime.invoke_endpoint( EndpointName=endpoint_name, ContentType="application/octet-stream", Body=json.dumps(payload), TargetModel="sd_lora.tar.gz",
)
output = json.loads(response["Body"].read().decode("utf8"))["outputs"]
original_image = decode_image(output[0]["data"][0])
original_image

クリーンアップ

不要な料金が発生しないように、ノートブックのクリーンアップ セクションの手順に従って、この投稿の一部としてプロビジョニングされたリソースを削除してください。 参照する Amazon SageMakerの価格 推論インスタンスのコストの詳細については、「推論インスタンスのコスト」を参照してください。

まとめ

この投稿では、SageMaker の Stable Diffusion を使用してパーソナライズされたアバター ソリューションを作成する方法を説明しました。 わずか数枚の画像を使用して事前トレーニングされたモデルを微調整することで、各ユーザーの個性や個性を反映したアバターを生成できます。 これは、生成 AI を使用してユーザー向けにカスタマイズされたユニークなエクスペリエンスを作成する方法を示す数多くの例の XNUMX つにすぎません。 可能性は無限です。このテクノロジーを試して、創造的なプロセスを強化する可能性を探求することをお勧めします。 この投稿が有益で刺激的なものになったことを願っています。 サンプルを試して、ハッシュタグ #sagemaker #mme #genai を使用してソーシャル プラットフォームで作品を共有することをお勧めします。 あなたが作ったものをぜひ見てみたいです。

Stable Diffusion に加えて、他の多くの生成 AI モデルが Amazon SageMaker ジャンプスタート。 参照する Amazon SageMaker JumpStar の開始方法 彼らの能力を探るために。


著者について

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ジェームズ・ウー AWSのシニアAI/MLスペシャリストソリューションアーキテクトです。 お客様がAI/MLソリューションを設計および構築するのを支援します。 Jamesの仕事は、コンピュータビジョン、ディープラーニング、企業全体でのMLのスケーリングに主な関心を持って、幅広いMLユースケースをカバーしています。 AWSに入社する前、Jamesは、エンジニアリングで10年間、マーケティングおよび広告業界で6年間を含む、4年以上にわたってアーキテクト、開発者、およびテクノロジーのリーダーでした。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。サイモンザマリン はAI / MLソリューションアーキテクトであり、その主な焦点は、顧客がデータ資産から価値を引き出すのを支援することです。 余暇には、家族と過ごしたり、SFを読んだり、さまざまなDIYハウスプロジェクトに取り組んだりしています。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ヴィクラムエランゴ 米国バージニアに本拠を置くアマゾン ウェブ サービスの AI/ML スペシャリスト ソリューション アーキテクトです。 Vikram は、金融業界および保険業界の顧客を設計、ソート リーダーシップで大規模な機械学習アプリケーションの構築と展開を支援します。 彼は現在、自然言語処理、責任ある AI、推論の最適化、企業全体にわたる ML のスケーリングに重点を置いています。 余暇には、家族と一緒に旅行、ハイキング、料理、キャンプを楽しんでいます。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ラナ・チャン AWS WWSO AI サービス チームのシニア ソリューション アーキテクトで、コンテンツ モデレーション、コンピューター ビジョン、自然言語処理のための AI と ML を専門としています。 彼女はその専門知識を活かして、AWS AI/ML ソリューションを推進し、ソーシャルメディア、ゲーム、電子商取引、広告とマーケティングを含むさまざまな業界にわたって顧客がビジネス ソリューションを変革できるよう支援することに専念しています。

Amazon SageMaker を使用して生成 AI でパーソナライズされたアバターを構築する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。サウラブ・トリカンデ Amazon SageMaker Inference のシニア プロダクト マネージャーです。 彼は顧客と協力することに情熱を傾けており、機械学習を民主化するという目標に動機付けられています。 彼は、複雑な ML アプリケーションのデプロイ、マルチテナント ML モデル、コストの最適化、およびディープ ラーニング モデルのデプロイをよりアクセスしやすくすることに関連する主要な課題に焦点を当てています。 余暇には、Saurabh はハイキングを楽しんだり、革新的なテクノロジーについて学んだり、TechCrunch をフォローしたり、家族と過ごしたりしています。

タイムスタンプ:

より多くの AWS機械学習