Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.

Разверните BLOOM-176B и OPT-30B на Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и DeepSpeed.

За последние несколько лет произошло быстрое развитие в области глубокого обучения. Хотя аппаратное обеспечение улучшилось, например, благодаря ускорителям последнего поколения от NVIDIA и Amazon, специалисты по продвинутому машинному обучению (ML) по-прежнему регулярно сталкиваются с проблемами при развертывании своих больших моделей глубокого обучения для таких приложений, как обработка естественного языка (NLP).

В предыдущей публикации мы обсуждали возможности и настраиваемые параметры in Развертывание модели Amazon SageMaker это может упростить выводы с помощью этих больших моделей. Сегодня мы анонсируем новый Создатель мудреца Амазонки Контейнер глубокого обучения (DLC), который вы можете использовать, чтобы приступить к выводу больших моделей за считанные минуты. Этот DLC содержит некоторые из самых популярных библиотек с открытым исходным кодом для параллельного вывода моделей, такие как DeepSpeed ​​и Hugging Face Accelerate.

В этом посте мы используем новый DLC для вывода больших моделей SageMaker для развертывания двух самых популярных больших моделей НЛП: BigScience's БЛУМ-176Б и Мета ОПТ-30Б из репозитория Hugging Face. В частности, мы используем методы обслуживания библиотеки Deep Java (DJL) и тензорного параллелизма от DeepSpeed ​​для достижения задержки 0.1 секунды на каждый токен в случае использования генерации текста.

Вы можете найти наши полные примеры блокнотов в нашем Репозиторий GitHub.

Методы вывода больших моделей

Языковые модели в последнее время резко возросли как в размерах, так и в популярности. Благодаря легкому доступу к зоопаркам моделей, таким как Hugging Face, а также повышенной точности и производительности в задачах НЛП, таких как классификация и генерация текста, практики все чаще обращаются к этим большим моделям. Однако большие модели часто слишком велики, чтобы уместиться в памяти одного ускорителя. Например, модели BLOOM-176B может потребоваться более 350 гигабайт памяти ускорителя, что намного превышает емкость доступных сегодня аппаратных ускорителей. Это требует использования методов параллельного моделирования из таких библиотек, как DeepSpeed ​​и Hugging Face Accelerate, для распределения модели по нескольким ускорителям для вывода. В этом посте мы используем Контейнер вывода больших моделей SageMaker для создания и сравнения задержки и пропускной способности с использованием этих двух библиотек с открытым исходным кодом.

DeepSpeed ​​и Accelerate используют разные методы для оптимизации больших языковых моделей для вывода. Ключевое отличие — DeepSpeed использование оптимизированных ядер. Эти ядра могут значительно улучшить задержку вывода за счет уменьшения узких мест в вычислительном графе модели. Оптимизированные ядра бывает сложно разработать, и они обычно специфичны для конкретной архитектуры модели; DeepSpeed ​​поддерживает популярные большие модели, такие как OPT и BLOOM, с помощью этих оптимизированных ядер. Напротив, библиотека Accelerate Hugging Face на момент написания не включает оптимизированные ядра. Как мы обсуждаем в разделе результатов, эта разница во многом определяет преимущество DeepSpeed ​​в производительности по сравнению с Accelerate.

Второе различие между DeepSpeed ​​и Accelerate — это тип параллелизма моделей. Accelerate использует конвейерный параллелизм для разделения модели между скрытыми слоями модели, тогда как DeepSpeed ​​использует тензорный параллелизм для разделения самих слоев. Конвейерный параллелизм — это гибкий подход, который поддерживает больше типов моделей и может повысить пропускную способность при использовании пакетов большего размера. Тензорный параллелизм требует большего взаимодействия между графическими процессорами, поскольку слои модели могут быть распределены по нескольким устройствам, но могут уменьшить задержку вывода за счет одновременного задействования нескольких графических процессоров. Вы можете узнать больше о методах параллелизма в Введение в модельный параллелизм и Параллелизм модели.

Обзор решения

Для эффективного размещения больших языковых моделей нам нужны функции и поддержка в следующих ключевых областях:

  • Сборка и тестирование решений – Учитывая итеративный характер разработки машинного обучения, нам нужна возможность создавать, быстро выполнять итерации и тестировать, как будет вести себя конечная точка вывода, когда эти модели размещены, включая возможность быстрого сбоя. Эти модели обычно могут размещаться только на более крупных экземплярах, таких как p4dn или g5, и, учитывая размер моделей, запуск экземпляра вывода и запуск любой тестовой итерации может занять некоторое время. Локальное тестирование обычно имеет ограничения, поскольку для тестирования вам нужен экземпляр аналогичного размера, а получить эти модели непросто.
  • Развертывание и запуск в масштабе – Файлы модели необходимо загружать в экземпляры вывода, что само по себе представляет проблему, учитывая размер. Tar/Un-Tar в качестве примера для Bloom-176B занимает около 1 часа на создание и еще час на загрузку. Нам нужен альтернативный механизм, обеспечивающий легкий доступ к файлам модели.
  • Загрузка модели как синглтона – Для процесса с несколькими рабочими нам необходимо гарантировать, что модель загружается только один раз, чтобы не столкнуться с условиями гонки и дополнительно не тратить ненужные ресурсы. В этом посте мы покажем способ загрузки непосредственно из Простой сервис хранения Amazon (Амазонка S3). Однако это работает только в том случае, если мы используем настройки DJL по умолчанию. Более того, любое масштабирование конечных точек должно осуществляться за несколько минут, что требует переосмысления того, как модели могут быть загружены и распределены.
  • Фреймворки шардинга – Эти модели обычно должны быть созданы, как правило, с помощью механизма тензорного параллелизма или сегментирования конвейера в качестве типичных методов сегментирования, и у нас есть передовые концепции, такие как сегментирование ZeRO, построенные на основе тензорного сегментирования. Дополнительную информацию о методах сегментирования см. Параллелизм модели. Для этого мы можем иметь различные комбинации и использовать платформы NIVIDIA, DeepSpeed ​​и других. Для этого требуется возможность тестировать BYOC или использовать контейнеры 1P, перебирать решения и проводить сравнительные тесты. Вы также можете протестировать различные варианты хостинга, такие как асинхронный, бессерверный и другие.
  • Выбор оборудования – Ваш выбор оборудования определяется всеми вышеупомянутыми моментами и дальнейшими моделями трафика, потребностями вариантов использования и размерами модели.

В этом посте мы используем оптимизированные ядра DeepSpeed ​​и методы тензорного параллелизма для размещения BLOOM-176B и OPT-30B в SageMaker. Мы также сравниваем результаты Accelerate, чтобы продемонстрировать преимущества производительности оптимизированных ядер и тензорного параллелизма. Дополнительную информацию о DeepSpeed ​​и Accelerate см. DeepSpeed ​​Inference: обеспечение эффективного вывода моделей трансформаторов в беспрецедентном масштабе и Невероятно быстрый вывод BLOOM с помощью DeepSpeed ​​и Accelerate.

В этом примере мы используем DJLServing в качестве решения для обслуживания модели. DJLServing — это высокопроизводительное универсальное решение для обслуживания моделей, основанное на библиотеке Deep Java (DJL), не зависящей от языка программирования. Чтобы узнать больше о DJL и DJLServing, см. Развертывание больших моделей в Amazon SageMaker с использованием параллельного вывода моделей DJLServing и DeepSpeed..

Стоит отметить, что оптимизированные ядра могут привести к изменениям точности и изменению графа вычислений, что теоретически может привести к изменению поведения модели. Хотя иногда это может изменить результат вывода, мы не ожидаем, что эти различия существенно повлияют на основные показатели оценки модели. Тем не менее, практикам рекомендуется убедиться, что результаты модели соответствуют ожиданиям при использовании этих ядер.

Следующие шаги демонстрируют, как развернуть модель BLOOM-176B в SageMaker с помощью DJLServing и контейнера вывода большой модели SageMaker. Полный пример также доступен в нашем Репозиторий GitHub.

Использование образа DLC DJLServing SageMaker

Используйте следующий код, чтобы использовать образ DLC DJLServing SageMaker после замены региона на ваш конкретный регион, в котором вы используете блокнот:

763104351884.dkr.ecr..amazonaws.com/djl-inference:0.19.0-deepspeed0.7.3-cu113
# example uri might be like 763104351884.dkr.ecr.us-east-1.amazonaws.com/djl-inference:0.19.0-deepspeed0.7.3-cu113

Создадим файл нашей модели

Сначала мы создаем файл с именем serving.properties который содержит только одну строку кода. Это указывает серверу модели DJL использовать движок DeepSpeed. Файл содержит следующий код:

engine=DeepSpeed

serving.properties — это файл, определенный DJLServing, который используется для настройки конфигурации каждой модели.

Далее создаем нашу model.py файл, который определяет код, необходимый для загрузки и последующего обслуживания модели. В нашем коде мы читаем в TENSOR_PARALLEL_DEGREE переменная среды (значение по умолчанию — 1). Это задает количество устройств, по которым распределяются тензорные параллельные модули. Обратите внимание, что DeepSpeed ​​предоставляет несколько встроенных определений разделов, в том числе одно для моделей BLOOM. Мы используем его, указав replace_method и relpace_with_kernel_inject. Если у вас есть настроенная модель и вам нужен DeepSpeed ​​для эффективного разделения, вам необходимо изменить relpace_with_kernel_inject в false и добавить injection_policy чтобы рабочий раздел работал. Для получения дополнительной информации см. Инициализация для вывода. В нашем примере мы использовали предварительно разделенную модель BLOOM на DeepSpeed.

Во-вторых, в model.py файл, мы также загружаем модель из Amazon S3 после того, как конечная точка была развернута. Модель загружается в /tmp пространство в контейнере, поскольку SageMaker отображает /tmp до Магазин эластичных блоков Amazon Том (Amazon EBS), который монтируется, когда мы указываем параметр создания конечной точки. VolumeSizeInGB. Для таких экземпляров, как p4dn, которые уже встроены в экземпляр тома, мы можем продолжать использовать /tmp на контейнере. См. следующий код:

from djl_python import Input, Output
import os
import deepspeed
import torch
import torch.distributed as dist
import sys
import subprocess
import time
from glob import glob
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
from transformers.models.opt.modeling_opt import OPTDecoderLayer

predictor = None

def check_config():
    local_rank = os.getenv('LOCAL_RANK')
    
    if not local_rank:
        return False
    return True
    
def get_model():

    if not check_config():
        raise Exception("DJL:DeepSpeed configurations are not default. This code does not support non default configurations") 
    
    tensor_parallel = int(os.getenv('TENSOR_PARALLEL_DEGREE', '1'))
    local_rank = int(os.getenv('LOCAL_RANK', '0'))
    model_dir = "/tmp/model"
    bucket = os.environ.get("MODEL_S3_BUCKET")
    key_prefix = os.environ.get("MODEL_S3_PREFIX")
    print(f"rank: {local_rank}")
    if local_rank == 0:
        if f"{model_dir}/DONE" not in glob(f"{model_dir}/*"):
            print("Starting Model downloading files")
            try:
                proc_run = subprocess.run(
                    ["aws", "s3", "cp", "--recursive", f"s3://{bucket}/{key_prefix}", model_dir]
                )
                print("Model downloading finished")
                # write file when download complete. Could use dist.barrier() but this makes it easier to check if model is downloaded in case of retry
                with open(f"{model_dir}/DONE", "w") as f:
                    f.write("download_complete")
                    
                proc_run.check_returncode() # to throw the error in case there was one
                
            except subprocess.CalledProcessError as e:
                print ( "Model download failed: Error:nreturn code: ", e.returncode, "nOutput: ", e.stderr )
                raise # FAIL FAST  
                               
    dist.barrier()
                
    
    tokenizer = AutoTokenizer.from_pretrained(model_dir)
    
    # has to be FP16 as Int8 model loading not yet supported
    with deepspeed.OnDevice(dtype=torch.float16, device="meta"):
        model = AutoModelForCausalLM.from_config(
            AutoConfig.from_pretrained(model_dir), torch_dtype=torch.bfloat16
        )
    model = model.eval()
    
    model = deepspeed.init_inference(
        model,
        mp_size=tensor_parallel,
        dtype=torch.int8,
        base_dir = model_dir,
        checkpoint=os.path.join(model_dir, "ds_inference_config.json"),
        replace_method='auto',
        replace_with_kernel_inject=True
    )

    model = model.module
    dist.barrier()
    return model, tokenizer

DJLServing управляет установкой во время выполнения любых пакетов pip, определенных в requirement.txt. Этот файл будет иметь:

awscli
boto3

Мы создали каталог под названием code и model.py, serving.propertiesи requirements.txt файлы уже созданы в этом каталоге. Чтобы просмотреть файлы, вы можете запустить из терминала следующий код:

mkdir -p code
cat code/model.py 
cat code/serving.properties 
cat code/requirements.txt 

На следующем рисунке показана структура model.tar.gz.

Наконец, мы создаем файл модели и загружаем его на Amazon S3:

tar cvfz model.tar.gz code
s3_code_artifact = sess.upload_data("model.tar.gz", bucket, s3_code_prefix)

Загрузите и сохраните модель из Hugging Face (необязательно).

В этом разделе мы предоставили инструкции на тот случай, если вы захотите загрузить модель на Amazon S3 и использовать ее оттуда. Инструкции представлены в файле Jupyter на GitHub. На следующем снимке экрана показан снимок шагов.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.

Создайте модель SageMaker

Теперь мы создаем Модель SageMaker, Мы используем Реестр Amazon Elastic Container (Amazon ECR), предоставленное и артефакт модели из предыдущего шага для создания модели SageMaker. В настройках модели мы настраиваем TENSOR_PARALLEL_DEGREE=8, что означает, что модель разделена на 8 графических процессоров. См. следующий код:

PrimaryContainer={
        "Image": inference_image_uri,
        "ModelDataUrl": s3_code_artifact,
        "Environment": {
            "MODEL_S3_BUCKET": bucket,
            "MODEL_S3_PREFIX": s3_model_prefix,
            "TENSOR_PARALLEL_DEGREE": "8",
},

После запуска предыдущей ячейки в файле Jupyter вы увидите вывод, аналогичный следующему:

{
    "ModelArn": "arn:aws:sagemaker:us-east-1::model/bloom-djl-ds-"
}

Создайте конечную точку SageMaker

Для тестирования вы можете использовать любые экземпляры с несколькими графическими процессорами. В этой демонстрации мы используем экземпляр p4d.24xlarge. В следующем коде обратите внимание, как мы устанавливаем ModelDataDownloadTimeoutInSeconds, ContainerStartupHealthCheckTimeoutInSecondsи VolumeSizeInGB параметры, чтобы приспособиться к большому размеру модели. VolumeSizeInGB Параметр применим к инстансам GPU, поддерживающим подключение тома EBS.

endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=endpoint_config_name,
    ProductionVariants=[
        {
            "VariantName": "variant1",
            "ModelName": model_name,
            "InstanceType": "ml.p4d.24xlarge",
            "InitialInstanceCount": 1,
            #"VolumeSizeInGB" : 200,
            "ModelDataDownloadTimeoutInSeconds": 2400,
            "ContainerStartupHealthCheckTimeoutInSeconds": 2400,
        },
    ],
)'

Наконец, мы создаем конечную точку SageMaker:

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

Вы видите его распечатанным в следующем коде:

{
    "EndpointArn": "arn:aws:sagemaker:us-east-1::endpoint/bloom-djl-ds-"
}

Запуск конечной точки может занять некоторое время. Вы можете попробовать еще несколько раз, если столкнетесь с InsufficientInstanceCapacity ошибка, или вы можете отправить запрос в AWS, чтобы увеличить лимит в вашем аккаунте.

Настройка производительности

Если вы собираетесь использовать этот пост и прилагаемый блокнот с другой моделью, вы можете изучить некоторые настраиваемые параметры, предлагаемые SageMaker, DeepSpeed ​​и DJL. Многократное экспериментирование с этими параметрами может оказать существенное влияние на задержку, пропускную способность и стоимость размещенной большой модели. Чтобы узнать больше о параметрах настройки, таких как количество рабочих процессов, степень тензорного параллелизма, размер очереди заданий и других, см. Конфигурации обслуживания DJL и Развертывание больших моделей в Amazon SageMaker с использованием параллельного вывода моделей DJLServing и DeepSpeed..

Итоги

В этом посте мы использовали DeepSpeed ​​для размещения BLOOM-176B и OPT-30B на экземплярах SageMaker ML. В следующей таблице приведены наши результаты производительности, включая сравнение с Accelerate Hugging Face. Задержка отражает количество миллисекунд, необходимое для создания строки из 256 токенов четыре раза (batch_size=4) из модели. Пропускная способность отражает количество токенов, создаваемых в секунду для каждого теста. Для Hugging Face Accelerate мы использовали загрузку библиотеки по умолчанию с отображением памяти графического процессора. Для DeepSpeed ​​мы использовали более быстрый механизм загрузки контрольных точек.

Модель Библиотека Модель Точность Размер партии Параллельная степень Пример Время загрузки
(S)
Задержка (вывод токенов 4 x 256) .
. . . . . . . P50
(Миз)
P90
(Миз)
P99
(Миз)
Увеличить пропускную способность
(токенов/сек)
БЛУМ-176Б Глубокая скорость INT8 4 8 p4d.24xlarge 74.9 27,564 27,580 32,179 37.1
БЛУМ-176Б Ускорять INT8 4 8 p4d.24xlarge 669.4 92,694 92,735 103,292 11.0
ОПТ-30Б Глубокая скорость FP16 4 4 g5.24xбольшой 239.4 11,299 11,302 11,576 90.6
ОПТ-30Б Ускорять FP16 4 4 g5.24xбольшой 533.8 63,734 63,737 67,605 16.1

С точки зрения задержки DeepSpeed ​​примерно в 3.4 раза быстрее для BLOOM-176B и в 5.6 раза быстрее для OPT-30B, чем Accelerate. Оптимизированные ядра DeepSpeed ​​ответственны за большую часть этой разницы в задержке. Учитывая эти результаты, мы рекомендуем использовать DeepSpeed ​​вместо Accelerate, если выбранная вами модель поддерживается.

Также стоит отметить, что время загрузки модели с помощью DeepSpeed ​​было намного короче, что делает его лучшим вариантом, если вы ожидаете необходимости быстрого увеличения количества конечных точек. Более гибкий метод параллелизма конвейеров Accelerate может оказаться лучшим вариантом, если у вас есть модели или точность модели, которые не поддерживаются DeepSpeed.

Эти результаты также демонстрируют разницу в задержке и пропускной способности моделей разных размеров. В наших тестах OPT-30B генерирует в 2.4 раза больше токенов в единицу времени, чем BLOOM-176B, на экземпляре типа, который более чем в три раза дешевле. По цене за единицу пропускной способности OPT-30B на экземпляре g5.24xl в 8.9 раз лучше, чем BLOOM-176B на экземпляре p4d.24xl. Если у вас есть строгие ограничения по задержке, пропускной способности или стоимости, рассмотрите возможность использования самой маленькой модели, которая по-прежнему будет соответствовать функциональным требованиям.

Убирать

В рамках передового опыта всегда рекомендуется удалять простаивающие экземпляры. В приведенном ниже коде показано, как удалить экземпляры.

# - Delete the end point
sm_client.delete_endpoint(EndpointName=endpoint_name)

# - In case the end point failed we still want to delete the model
sm_client.delete_endpoint_config(EndpointConfigName=endpoint_config_name)
sm_client.delete_model(ModelName=model_name)

При желании удалите контрольную точку модели из вашего S3.

!aws s3 rm --recursive s3:///{s3_model_prefix}

Заключение

В этом посте мы продемонстрировали, как использовать контейнеры вывода больших моделей SageMaker для размещения двух больших языковых моделей: BLOOM-176B и OPT-30B. Мы использовали методы параллельного моделирования моделей DeepSpeed ​​с несколькими графическими процессорами в одном экземпляре SageMaker ML.

Дополнительные сведения об Amazon SageMaker и его возможностях вывода больших моделей см. Amazon SageMaker теперь поддерживает развертывание больших моделей благодаря настраиваемому размеру тома и квотам времени ожидания. и Вывод в реальном времени.


Об авторах

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Саймон Замарин является архитектором решений AI / ML, основной задачей которого является помощь клиентам в извлечении выгоды из своих информационных ресурсов. В свободное время Саймон любит проводить время с семьей, читать научную фантастику и работать над различными домашними проектами.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай. Рупиндер Гревал является старшим архитектором решений Ai/ML Specialist в AWS. В настоящее время он занимается обслуживанием моделей и MLOps в SageMaker. До этой должности он работал инженером по машинному обучению, создавая и размещая модели. Вне работы он любит играть в теннис и кататься на велосипеде по горным тропам.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Фрэнк Лю является инженером-программистом для AWS Deep Learning. Он специализируется на создании инновационных инструментов глубокого обучения для инженеров-программистов и ученых. В свободное время он любит ходить в походы с друзьями и семьей.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Алан Тан является старшим менеджером по продуктам в SageMaker, возглавляющим работу по выводу больших моделей. Он увлечен применением машинного обучения в области аналитики. Вне работы он любит проводить время на свежем воздухе.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Дхавал Патель является главным архитектором машинного обучения в AWS. Он работал с организациями, начиная от крупных предприятий и заканчивая стартапами среднего размера, над проблемами, связанными с распределенными вычислениями и искусственным интеллектом. Он специализируется на глубоком обучении, включая домены NLP и Computer Vision. Он помогает клиентам добиться высокопроизводительного логического вывода модели в SageMaker.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Цин Лан является инженером-разработчиком программного обеспечения в AWS. Он работал над несколькими сложными продуктами в Amazon, включая высокопроизводительные решения для логического вывода машинного обучения и высокопроизводительную систему ведения журналов. Команда Цин успешно запустила первую модель с миллиардом параметров в Amazon Advertising с очень низкой задержкой. Цин обладает глубокими знаниями по оптимизации инфраструктуры и ускорению глубокого обучения.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Цинвэй Ли является специалистом по машинному обучению в Amazon Web Services. Он получил докторскую степень. в исследованиях операций после того, как он нарушил счет своего советника на исследовательский грант и не смог вручить обещанную Нобелевскую премию. В настоящее время он помогает клиентам в сфере финансовых услуг и страхования создавать решения для машинного обучения на AWS. В свободное время любит читать и преподавать.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Роберт Ван Дусен является старшим менеджером по продуктам в Amazon SageMaker. Он возглавляет оптимизацию моделей глубокого обучения для таких приложений, как вывод больших моделей.

Разверните BLOOM-176B и OPT-30B в Amazon SageMaker с помощью контейнеров глубокого обучения для вывода больших моделей и анализа данных DeepSpeed ​​PlatoBlockchain. Вертикальный поиск. Ай.Сиддхартх Венкатесан — инженер-программист в AWS Deep Learning. В настоящее время он занимается созданием решений для вывода больших моделей. До AWS он работал в организации Amazon Grocery, разрабатывая новые платежные функции для клиентов по всему миру. Вне работы он любит кататься на лыжах, отдыхать на природе и смотреть спортивные состязания.

Отметка времени:

Больше от Машинное обучение AWS