AWS Inferentia2로 안정적인 확산 성능 극대화 및 추론 비용 절감 | 아마존 웹 서비스

AWS Inferentia2로 안정적인 확산 성능 극대화 및 추론 비용 절감 | 아마존 웹 서비스

제너레이티브 AI 모델은 사실적인 텍스트, 이미지, 코드 및 오디오를 생성하는 인상적인 기능으로 인해 최근 몇 달 동안 급속한 성장을 경험했습니다. 이러한 모델 중 Stable Diffusion 모델은 텍스트 프롬프트를 기반으로 고품질 이미지를 생성하는 고유한 강점이 있습니다. Stable Diffusion은 사실적인 초상화, 풍경, 심지어 추상 미술까지 포함하여 다양한 고품질 이미지를 생성할 수 있습니다. 그리고 다른 생성 AI 모델과 마찬가지로 안정적인 확산 모델은 지연 시간이 짧은 추론을 제공하기 위해 강력한 컴퓨팅이 필요합니다.

이 게시물에서는 Stable Diffusion 모델을 실행하고 최저 비용으로 고성능을 달성하는 방법을 보여줍니다. 아마존 엘라스틱 컴퓨트 클라우드 (아마존 EC2) 사용 Amazon EC2 Inf2 인스턴스 에서 제공 AWS 인퍼렌시아2. Stable Diffusion 모델의 아키텍처를 살펴보고 다음을 사용하여 Stable Diffusion 모델을 컴파일하는 단계를 살펴봅니다. AWS 뉴런 Inf2 인스턴스에 배포합니다. 또한 성능 향상을 위해 Neuron SDK가 자동으로 수행하는 최적화에 대해서도 논의합니다. AWS Inferentia2.1에서 Stable Diffusion 1.5 및 2 버전을 모두 비용 효율적으로 실행할 수 있습니다. 마지막으로 Stable Diffusion 모델을 Inf2 인스턴스에 배포하는 방법을 보여줍니다. 아마존 세이지 메이커.

부동 소수점 2.1(FP32)의 Stable Diffusion 32 모델 크기는 5GB이고 bfoat2.5(BF16)의 경우 16GB입니다. 단일 inf2.xlarge 인스턴스에는 2GB의 HBM 메모리가 포함된 하나의 AWS Inferentia32 액셀러레이터가 있습니다. Stable Diffusion 2.1 모델은 단일 inf2.xlarge 인스턴스에 맞을 수 있습니다. Stable Diffusion은 단순히 텍스트 프롬프트를 입력으로 제공하여 다양한 스타일과 콘텐츠의 이미지를 만드는 데 사용할 수 있는 텍스트-이미지 모델입니다. Stable Diffusion 모델 아키텍처에 대한 자세한 내용은 다음을 참조하십시오. Stable Diffusion 모델로 고품질 이미지를 생성하고 Amazon SageMaker로 비용 효율적으로 배포.

Neuron SDK가 안정적인 확산 성능을 최적화하는 방법

AWS Inferentia2.1 인스턴스에 Stable Diffusion 2 모델을 배포하려면 먼저 다음을 사용하여 모델 구성 요소를 컴파일해야 합니다. 뉴런 SDK. 딥 러닝 컴파일러, 런타임 및 도구가 포함된 Neuron SDK는 딥 러닝 모델을 컴파일하고 자동으로 최적화하여 Inf2 인스턴스에서 효율적으로 실행하고 AWS Inferentia2 가속기의 전체 성능을 추출할 수 있습니다. Stable Diffusion 2.1 모델에 대한 예제가 있습니다. GitHub 레포. 이 노트북은 Stable Diffusion 모델을 컴파일하고, 컴파일된 Neuron 모델을 저장하고, 추론을 위해 런타임에 로드하는 방법에 대한 종단간 예제를 제공합니다.

우리는 사용 StableDiffusionPipeline 포옹하는 얼굴에서 diffusers 모델을 로드하고 컴파일하는 라이브러리. 그런 다음 다음을 사용하여 Neuron 모델의 모든 구성 요소를 컴파일합니다. torch_neuronx.trace() 최적화된 모델을 TorchScript로 저장합니다. 컴파일 프로세스는 상당한 양의 RAM이 필요한 메모리 집약적일 수 있습니다. 이를 피하기 위해 각 모델을 추적하기 전에 deepcopy 추적 중인 파이프라인의 일부입니다. 그런 다음 다음을 사용하여 메모리에서 파이프라인 개체를 삭제합니다. del pipe. 이 기술은 RAM이 적은 인스턴스에서 컴파일할 때 특히 유용합니다.

또한 Stable Diffusion 모델에 대한 최적화도 수행합니다. UNet은 추론에서 가장 계산 집약적인 측면을 보유하고 있습니다. UNet 구성 요소는 배치 크기가 XNUMX인 입력 텐서에서 작동하며 배치 크기가 XNUMX인 해당 출력 텐서를 생성하여 단일 이미지를 생성합니다. 이러한 배치 내의 요소는 서로 완전히 독립적입니다. 이 동작을 활용하여 각 Neuron 코어에서 하나의 배치를 실행하여 최적의 대기 시간을 얻을 수 있습니다. 하나의 배치에 대해 UNet을 컴파일합니다(하나의 배치에 입력 텐서를 사용하여). torch_neuronx.DataParallel 이 단일 배치 모델을 각 코어에 로드하는 API입니다. 이 API의 출력은 원활한 XNUMX배치 모듈입니다. XNUMX개의 배치의 입력을 UNet에 전달할 수 있고 XNUMX개의 배치 출력이 반환되지만 내부적으로 XNUMX개의 단일 배치 모델은 XNUMX개의 Neuron 코어에서 실행됩니다. . 이 전략은 리소스 활용을 최적화하고 대기 시간을 줄입니다.

Inf2 EC2 인스턴스에서 안정적인 확산 모델 컴파일 및 배포

Inf2 EC2 인스턴스에서 Stable Diffusion 모델을 컴파일하고 배포하려면 AWS 관리 콘솔 inf2.8xlarge 인스턴스를 생성합니다. 컴파일에는 더 많은 호스트 메모리가 필요하므로 inf2.8xlarge 인스턴스는 모델 컴파일에만 필요합니다. Stable Diffusion 모델은 inf2.xlarge 인스턴스에서 호스팅할 수 있습니다. 다음을 사용하여 Neuron 라이브러리가 포함된 최신 AMI를 찾을 수 있습니다. AWS 명령 줄 인터페이스 (AWS CLI) 명령 :

aws ec2 describe-images --region us-east-1 --owners amazon --filters 'Name=name,Values=Deep Learning AMI Neuron PyTorch 1.13.? (Amazon Linux 2) ????????' 'Name=state,Values=available' --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' --output text

이 예에서는 Deep Learning AMI Neuron PyTorch 2(Ubuntu 1.13)을 사용하여 EC20.04 인스턴스를 생성했습니다. 그런 다음 인스턴스에 연결하고 다음 단계를 실행하여 JupyterLab 랩 환경을 생성할 수 있습니다.

run source /opt/aws_neuron_venv_pytorch/bin/activate
pip install jupyterlab
jupyter-lab

모델을 컴파일하고 호스팅하기 위한 모든 단계가 포함된 노트북은 다음 위치에 있습니다. GitHub의.

텍스트 인코더 블록 중 하나에 대한 컴파일 단계를 살펴보겠습니다. Stable Diffusion 파이프라인의 일부인 다른 블록도 유사하게 컴파일할 수 있습니다.

첫 번째 단계는 Hugging Face에서 사전 훈련된 모델을 로드하는 것입니다. 그만큼 StableDiffusionPipeline.from_pretrained 메서드는 미리 훈련된 모델을 파이프라인 개체에 로드합니다. pipe. 그런 다음 deepcopy 파이프라인의 텍스트 인코더를 효과적으로 복제합니다. 그만큼 del pipe 그런 다음 명령을 사용하여 원래 파이프라인 개체를 삭제하여 사용했던 메모리를 해제합니다. 여기서 모델을 BF16 가중치로 양자화합니다.

model_id = "stabilityai/stable-diffusion-2-1-base"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
text_encoder = copy.deepcopy(pipe.text_encoder)
del pipe

이 단계는 텍스트 인코더를 NeuronTextEncoder 싸개. 컴파일된 텍스트 인코더 모듈의 출력은 dict. 우리는 그것을 list 이 래퍼를 사용하여 입력하십시오.

text_encoder = NeuronTextEncoder(text_encoder)

PyTorch 텐서를 초기화합니다. emb 일부 값으로. 그만큼 emb 텐서는 예제 입력으로 사용됩니다. torch_neuronx.trace 기능. 이 기능은 텍스트 인코더를 추적하고 Neuron에 최적화된 형식으로 컴파일합니다. 컴파일된 모델의 디렉토리 경로는 조인하여 구성됩니다. COMPILER_WORKDIR_ROOT 하위 디렉토리와 함께 text_encoder:

emb = torch.tensor([...])
text_encoder_neuron = torch_neuronx.trace(
        text_encoder.neuron_text_encoder,
        emb,
        compiler_workdir=os.path.join(COMPILER_WORKDIR_ROOT, 'text_encoder'),
        )

컴파일된 텍스트 인코더는 다음을 사용하여 저장됩니다. torch.jit.save. 파일 이름 model.pt로 저장됩니다. text_encoder 컴파일러 작업 공간의 디렉토리:

text_encoder_filename = os.path.join(COMPILER_WORKDIR_ROOT, 'text_encoder/model.pt')
torch.jit.save(text_encoder_neuron, text_encoder_filename)

XNUMXD덴탈의 수첩 모델의 다른 구성 요소인 UNet, VAE 디코더 및 VAE를 컴파일하는 유사한 단계를 포함합니다. post_quant_conv. 모든 모델을 컴파일한 후 다음 단계에 따라 모델을 로드하고 실행할 수 있습니다.

  1. 컴파일된 모델의 경로를 정의합니다.
  2. 미리 훈련된 로드 StableDiffusionPipeline bfloat16 데이터 유형을 사용하도록 지정된 구성이 있는 모델.
  3. 다음을 사용하여 UNet 모델을 두 개의 Neuron 코어에 로드합니다. torch_neuronx.DataParallel API. 이를 통해 데이터 병렬 추론을 수행할 수 있으므로 모델 성능을 크게 높일 수 있습니다.
  4. 모델의 나머지 부분을 로드합니다(text_encoder, decoderpost_quant_conv) 단일 Neuron 코어에.

그런 다음 입력 텍스트를 프롬프트로 제공하여 파이프라인을 실행할 수 있습니다. 다음은 프롬프트에 대해 모델에서 생성한 몇 가지 그림입니다.

  • Renaud Sechan의 초상화, 펜과 잉크, 복잡한 선화, craig mullins, ruan jia, kentaro miura, greg rutkowski, loundraw

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  • 19세기의 오래된 석탄 광부의 초상화, 아름다운 그림, 그렉 루트코프스키의 매우 상세한 얼굴 그림

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  • 숲속의 성

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

AWS Inferentia2.1 및 SageMaker에서 안정적인 확산 2 호스팅

SageMaker로 안정적인 확산 모델을 호스팅하려면 Neuron SDK로 컴파일해야 합니다. LMI(Large Model Inference) 컨테이너를 사용하여 사전에 또는 런타임 중에 컴파일을 완료할 수 있습니다. 미리 컴파일하면 모델 로드 시간이 빨라지고 선호되는 옵션입니다.

SageMaker LMI 컨테이너는 모델을 배포하는 두 가지 방법을 제공합니다.

  • 우리가 제공하는 코드 없는 옵션 serving.properties 필요한 구성이 포함된 파일
  • 고유한 추론 스크립트 가져오기

두 가지 솔루션을 모두 살펴보고 구성과 추론 스크립트(model.py). 이 게시물에서는 아마존 단순 스토리지 서비스 (Amazon S3) 버킷. 이 미리 컴파일된 모델을 배포에 사용할 수 있습니다.

제공된 스크립트로 모델 구성

이 섹션에서는 Stable Diffusion 모델을 호스트하도록 LMI 컨테이너를 구성하는 방법을 보여줍니다. SD2.1 노트북은 GitHub의. 첫 번째 단계는 다음 디렉터리 구조에 따라 모델 구성 패키지를 만드는 것입니다. 우리의 목표는 모델을 호스팅하는 데 필요한 최소한의 모델 구성을 사용하는 것입니다. 필요한 디렉토리 구조는 다음과 같습니다.

<config-root-directory> / 
    ├── serving.properties
    │   
    └── model.py [OPTIONAL]

다음으로 우리는 서빙.속성 다음 매개변수가 포함된 파일:

%%writefile code_sd/serving.properties
engine=Python
option.entryPoint=djl_python.transformers-neuronx
option.use_stable_diffusion=True
option.model_id=s3url
option.tensor_parallel_degree=2
option.dtype=bf16

매개변수는 다음을 지정합니다.

  • 옵션.모델_ID – LMI 컨테이너는 s5cmd를 사용하여 S3 위치에서 모델을 로드하므로 컴파일된 가중치가 있는 위치를 지정해야 합니다.
  • 옵션.진입점 – 내장 처리기를 사용하려면 transformers-neuronx 클래스를 지정합니다. 사용자 지정 추론 스크립트가 있는 경우 대신 제공해야 합니다.
  • 옵션.dtype – 특정 크기의 가중치를 로드하도록 지정합니다. 이 게시물에서는 BF16을 사용하여 FP32에 비해 메모리 요구 사항을 더욱 줄이고 이로 인해 대기 시간을 낮춥니다.
  • option.tensor_parallel_degree – 이 매개변수는 이 모델에 사용하는 가속기의 수를 지정합니다. AWS Inferentia2 칩 가속기에는 2개의 Neuron 코어가 있으므로 값을 XNUMX로 지정하면 하나의 가속기(코어 XNUMX개)를 사용한다는 의미입니다. 즉, 이제 여러 작업자를 생성하여 엔드포인트의 처리량을 높일 수 있습니다.
  • 옵션.엔진 – Python으로 설정되어 이 호스팅에 DeepSpeed ​​또는 Faster Transformer와 같은 다른 컴파일러를 사용하지 않을 것임을 나타냅니다.

나만의 스크립트 가져오기

고유한 사용자 지정 추론 스크립트를 가져오려면 option.entryPointserving.properties. 이 경우 LMI 컨테이너는 model.py 파일과 같은 위치에 serving.properties 이를 사용하여 추론을 실행합니다.

고유한 추론 스크립트(model.py) 만들기

고유한 추론 스크립트를 만드는 것은 LMI 컨테이너를 사용하여 비교적 간단합니다. 컨테이너에는 귀하의 model.py 다음 메서드를 구현하도록 파일을 만듭니다.

def handle(inputs: Input) which returns an object of type Outputs

의 몇 가지 중요한 영역을 살펴보겠습니다. 첨부된 노트북, 자체 스크립트 가져오기 기능을 보여줍니다.

교체 cross_attention 최적화된 버전의 모듈:

# Replace original cross-attention module with custom cross-attention module for better performance
    CrossAttention.get_attention_scores = get_attention_scores
Load the compiled weights for the following
text_encoder_filename = os.path.join(COMPILER_WORKDIR_ROOT, 'text_encoder.pt')
decoder_filename = os.path.join(COMPILER_WORKDIR_ROOT, 'vae_decoder.pt')
unet_filename = os.path.join(COMPILER_WORKDIR_ROOT, 'unet.pt')
post_quant_conv_filename =. os.path.join(COMPILER_WORKDIR_ROOT, 'vae_post_quant_conv.pt')

컴파일을 생성할 때 사용한 컴파일된 가중치 파일의 이름입니다. 파일 이름을 자유롭게 변경하되 가중치 파일 이름이 여기에서 지정한 이름과 일치하는지 확인하십시오.

그런 다음 Neuron SDK를 사용하여 로드하고 실제 모델 가중치에 설정해야 합니다. UNet 최적화 가중치를 로드할 때 이를 로드해야 하는 Neuron 코어의 수도 지정한다는 점에 유의하십시오. 여기서는 두 개의 코어가 있는 단일 가속기에 로드합니다.

# Load the compiled UNet onto two neuron cores.
    pipe.unet = NeuronUNet(UNetWrap(pipe.unet))
    logging.info(f"Loading model: unet:created")
    device_ids = [idx for idx in range(tensor_parallel_degree)]
   
    pipe.unet.unetwrap = torch_neuronx.DataParallel(torch.jit.load(unet_filename), device_ids, set_dynamic_batching=False)
   
 
    # Load other compiled models onto a single neuron core.
 
    # - load encoders
    pipe.text_encoder = NeuronTextEncoder(pipe.text_encoder)
    clip_compiled = torch.jit.load(text_encoder_filename)
    pipe.text_encoder.neuron_text_encoder = clip_compiled
    #- load decoders
    pipe.vae.decoder = torch.jit.load(decoder_filename)
    pipe.vae.post_quant_conv = torch.jit.load(post_quant_conv_filename)

프롬프트와 함께 추론을 실행하면 파이프 개체가 호출되어 이미지가 생성됩니다.

SageMaker 엔드포인트 생성

Boto3 API를 사용하여 SageMaker 엔드포인트를 생성합니다. 다음 단계를 완료하십시오.

  1. 서빙 및 옵션으로 tarball을 만듭니다. model.py 파일을 Amazon S3에 업로드합니다.
  2. 앞서 업로드한 이미지 컨테이너와 모델 타르볼을 사용하여 모델을 생성합니다.
  3. 다음 주요 매개변수를 사용하여 엔드포인트 구성을 생성합니다.
    1. 사용 ml.inf2.xlarge 예.
    2. 세트 ContainerStartupHealthCheckTimeoutInSeconds 모델이 배포된 후 상태 확인이 시작되도록 하려면 240으로 설정합니다.
    3. 세트 VolumeInGB 크기가 32GB인 모델 가중치를 로드하는 데 사용할 수 있도록 더 큰 값으로 바꿉니다.

SageMaker 모델 생성

model.tar.gz 파일을 생성하고 Amazon S3에 업로드한 후 SageMaker 모델을 생성해야 합니다. LMI 컨테이너와 이전 단계의 모델 아티팩트를 사용하여 SageMaker 모델을 생성합니다. SageMaker를 사용하면 다양한 환경 변수를 사용자 지정하고 주입할 수 있습니다. 이 워크플로우에서는 모든 것을 기본값으로 둘 수 있습니다. 다음 코드를 참조하십시오.

inference_image_uri = (
    f"763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:0 djl-serving-inf2"
)

기본적으로 인스턴스에 로드되고 추론에 사용되는 잠금 컨테이너를 생성하는 모델 객체를 생성합니다.

model_name = name_from_base(f"inf2-sd")
create_model_response = boto3_sm_client.create_model(
    ModelName=model_name,
    ExecutionRoleArn=role,
    PrimaryContainer={"Image": inference_image_uri, "ModelDataUrl": s3_code_artifact},
)

SageMaker 엔드포인트 생성

이 데모에서는 ml.inf2.xlarge 인스턴스를 사용합니다. 우리는 VolumeSizeInGB 모델과 가중치를 로드하는 데 필요한 디스크 공간을 제공하는 매개변수. 이 매개변수는 다음을 지원하는 인스턴스에 적용할 수 있습니다. 아마존 엘라스틱 블록 스토어 (Amazon EBS) 볼륨 연결. 모델 다운로드 제한 시간 및 컨테이너 시작 상태 확인을 더 높은 값으로 남겨둘 수 있습니다. 그러면 컨테이너가 Amazon S3에서 가중치를 가져와 AWS Inferentia2 액셀러레이터로 로드할 수 있는 충분한 시간이 제공됩니다. 자세한 내용은 다음을 참조하십시오. 끝점 구성 만들기.

endpoint_config_response = boto3_sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name,
    ProductionVariants=[
        {
            "VariantName": "variant1",
            "ModelName": model_name,
            "InstanceType": "ml.inf2.xlarge", # - 
            "InitialInstanceCount": 1,
            "ContainerStartupHealthCheckTimeoutInSeconds": 360, 
            "VolumeSizeInGB": 400
        },
    ],
)

마지막으로 SageMaker 엔드포인트를 생성합니다.

create_endpoint_response = boto3_sm_client.create_endpoint(
    EndpointName=f"{endpoint_name}", EndpointConfigName=endpoint_config_name
)

모델 엔드포인트 호출

이것은 생성 모델이므로 모델이 이미지를 생성하는 데 사용하는 프롬프트를 전달합니다. 페이로드 유형은 JSON입니다.

response_model = boto3_sm_run_client.invoke_endpoint( EndpointName=endpoint_name,
    Body=json.dumps(
        {
            "prompt": "Mountain Landscape", 
            "parameters": {} # 
        }
    ), 
    ContentType="application/json",
)

Inf2에서 Stable Diffusion 모델 벤치마킹

Inf16에서 BF 2 데이터 유형을 사용하여 Stable Diffusion 모델을 벤치마킹하기 위해 몇 가지 테스트를 실행했으며 Stable Diffusion을 위한 다른 일부 가속기에 필적하거나 능가하는 대기 시간 수치를 도출할 수 있습니다. 이것은 AWS Inferentia2 칩의 저렴한 비용과 결합되어 매우 가치 있는 제안이 됩니다.

다음 수치는 inf2.xl 인스턴스에 배포된 안정적인 확산 모델에서 가져온 것입니다. 비용에 대한 자세한 내용은 다음을 참조하십시오. Amazon EC2 Inf2 인스턴스.

모델 분해능 데이터 유형 반복 P95 대기 시간(밀리초) Inf2.xl 시간당 온디맨드 비용 Inf2.xl(이미지당 비용)
안정적인 확산 1.5 512 × 512 bf16 50 2,427.4 $0.76 $0.0005125
안정적인 확산 1.5 768 × 768 bf16 50 8,235.9 $0.76 $0.0017387
안정적인 확산 1.5 512 × 512 bf16 30 1,456.5 $0.76 $0.0003075
안정적인 확산 1.5 768 × 768 bf16 30 4,941.6 $0.76 $0.0010432
안정적인 확산 2.1 512 × 512 bf16 50 1,976.9 $0.76 $0.0004174
안정적인 확산 2.1 768 × 768 bf16 50 6,836.3 $0.76 $0.0014432
안정적인 확산 2.1 512 × 512 bf16 30 1,186.2 $0.76 $0.0002504
안정적인 확산 2.1 768 × 768 bf16 30 4,101.8 $0.76 $0.0008659

결론

이 게시물에서는 Inf2.1 인스턴스를 사용하여 Stable Diffusion 2 모델의 컴파일, 최적화 및 배포에 대해 자세히 살펴보았습니다. 또한 SageMaker를 사용하여 Stable Diffusion 모델 배포를 시연했습니다. Inf2 인스턴스는 또한 Stable Diffusion 1.5에 뛰어난 가격 대비 성능을 제공합니다. Inf2 인스턴스가 생성 AI 및 대규모 언어 모델에 적합한 이유에 대해 자세히 알아보려면 다음을 참조하십시오. 이제 저비용 고성능 생성 AI 추론을 위한 Amazon EC2 Inf2 인스턴스가 일반 공급됨. 성능에 대한 자세한 내용은 다음을 참조하십시오. Inf2 성능. 에서 추가 예제를 확인하십시오. GitHub 레포.

소중한 의견을 검토하고 제공해 주신 Matthew Mcclain, Beni Hegedus, Kamran Khan, Shruti Koparkar, Qing Lan에게 특별히 감사드립니다.


저자에 관하여

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.비벡 강가사니 Amazon Web Services의 선임 기계 학습 솔루션 아키텍트입니다. 그는 머신 러닝 스타트업과 협력하여 AWS에서 AI/ML 애플리케이션을 구축하고 배포합니다. 그는 현재 MLOps, ML 추론 및 로우 코드 ML을 위한 솔루션 제공에 주력하고 있습니다. 그는 자연어 처리 및 컴퓨터 비전을 포함한 다양한 영역의 프로젝트에 참여했습니다.

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.KC 퉁 AWS Annapurna Labs의 수석 솔루션 아키텍트입니다. 그는 대규모 딥 러닝 모델 교육 및 대규모 클라우드 배포를 전문으로 합니다. 그는 박사 학위를 가지고 있습니다. 달라스에 있는 텍사스 대학교 사우스웨스턴 메디컬 센터에서 분자 생물리학 박사 학위를 받았습니다. 그는 AWS Summits 및 AWS Reinvent에서 연설했습니다. 현재 그는 고객이 AWS 클라우드에서 대규모 PyTorch 및 TensorFlow 모델을 교육하고 배포하도록 돕고 있습니다. 그는 다음 두 권의 책을 저술했습니다. TensorFlow Enterprise 알아보기TensorFlow 2 포켓 레퍼런스.

AWS Inferentia2를 통해 Stable Diffusion 성능을 극대화하고 추론 비용을 절감하세요 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.루피더 그레왈 AWS의 Sr Ai/ML 전문가 솔루션 아키텍트입니다. 그는 현재 SageMaker에서 모델 및 MLOps 서비스에 중점을 두고 있습니다. 이 역할을 하기 전에는 머신 러닝 엔지니어로 모델을 구축하고 호스팅하는 일을 했습니다. 일 외에는 테니스를 치고 산길에서 자전거를 타는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습