Недавно Google Cloud запустила поддержку графического процессора для платформы Cloud Run без сервера. Эта функция позволяет разработчикам ускорить без сервера вывод моделей, развернутых в Cloud Run.
В этом уроке я проведу вас по этапам развертывания модели Llama 3.1 большой языковой модели (LLM) с параметрами 8B на сервисе облачного прогона на основе графического процессора. Мы будем использовать сервер вывода генерации текста (TGI) от обнимающего лица в качестве сервера модели и механизма вывода.
Это руководство предполагает, что вы можете получить доступ к Google Cloud и установить и настроить Gcloud CLI на вашем компьютере.
Шаг 1 — Инициализация окружающей среды
Давайте начнем с определения переменных среды, необходимых для настройки Cloud Run
Export Project_id = your_gcp_project Export Location = US-Central1 Export Container_uri = US-Docker.pkg.dev/Deeplearning-Platform-Release/gcr.io/huggingface-text-Generation-inference-cu121.2-2.ubuntu2204.py310 Service_name = Text-generation-in Export 1234. Project_id = your_gcp_projectexport location = us-central1 export container_uri = us-docker.pkg.dev/deeplearning-platform-release/gcr.io/huggingface-text-inference-cu121.2-2.ubuntu2204.py310export service_name = text-inerence-inference-inference-inference-inference-inferencer
Поскольку Cloud Run ожидает изображения контейнера в качестве подразделения развертывания, мы используем официальный контейнер для глубокого обучения от обнимающего лица, уже хранящегося в реестре Google Cloud Artifact.
Изображение US-docker.pkg.dev/deeplearning-platform-release/gcr.io/huggingface-text-generation-inference-cu121.2-2.ubuntu2204.py310 представляет официальное изображение контейнера TGI, которое мы будем развернуть в Cloud Run.
Следующим шагом является настройка GCLOUD CLI для использования правильного проекта и региона. Запустите следующие команды для инициализации среды.
Gcloud Auth Login gcloud Config Set Project $ Project_id 12 gcloud Auth Auth LogingCloud набор конфигурации $ project_id
Наконец, давайте убедитесь, что API Cloud Run включен для вашего проекта.
GCLOUD SERVICES включить run.googleApis.com 1 GCLOUD Services outble run.googleapis.com
Шаг 2 — развертывание сервера модели TGI
Мы готовы развернуть сервер вывода генерации текста в Google Cloud. Запустите ниже команду для развертывания.
Gcloud Beta Run Deploy $ service_name \ -Image = $ container_uri \ -Args = «-model-id = hugging-quants/meta-llama-3.1-8b-instruk-awq-int4,-Quantize = awq,-max-concurrent-requests = 64» \—set-env-vars = «hf_hunable-requests = 64» \—set-env-vars = «hfburrent-requests = 64» \—set-env-vars = Hf_token = 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 «\ -port = 8080 \—cpu = 4 \-memory = 16gi \—no-cpu-throttling \—gpu = 1 \—gpu-type = nvidia—-max-instance = 1 \—conc =—conc =—conc =—conc =—conc =—conc =—conc -region = $ location \-no-wallow-unauthenticated 12345678910111213 Gcloud Beta Run Deploy $ service_name \ -Image = $ container_uri \ -args = «-model-id = hugging-quants/meta-llama-3.1-8b-instruct-awq-int4,-Quantize = awq,-max-concurrent-requests = 64» \-set-env-vars = «hf_hub_enable_hf_transfer = 1, HF_TOKEN = HF_LXSKZIHSYJWOQUUCAQWUYPRMZZJMGHTOKM «\ -Port = 8080 \—CPU = 4 \-Мемори = 16GI \—NO-CPU-TTHROTM -Регион = $ местоположение \—нет невозможно-упрекаемой
Параметр -image указывает изображение контейнера, хранящееся в реестре артефактов Google Cloud, который мы инициализировали в переменной среды.
Переключатель -Aargs передает имя модели, как он появляется в репозитории об объятиях. Для увеличения пропускной способности мы используем квантованную модель Int4, которая может обрабатывать до 64 параллельных запросов.
Наиболее важным набором аргументов является GPU = 1 и—GPU-тип = nvidia-l4, который заставляет службу использовать ускорение графического процессора.
Мы не хотим использовать анонимную аутентификацию. Таким образом, переключатель-не с неверно-контрольными заставляет клиент использовать облачную аутентификацию Google.
Подождите, пока команда закончит, и вы сможете увидеть службу в Google Cloud Console. Зеленая отметка указывает на то, что сервис развернута и работает.
Шаг 3 — Вывод
С моделью, развернутой в облачном запуска, теперь мы можем выполнить вывод против конечной точки. До этого давайте запустим прокси, чтобы разоблачить услугу на нашей местной машине. Это удобная техника для тестирования сервиса, развернутой в Cloud Run.
Gcloud Run Services Proxy $ service_name -Region $ location 1 Gcloud Run Services Proxy $ service_name -Region $ location
Теперь мы можем использовать команду Curl для проверки конечной точки вывода.
curl \ -x post \ -h » content -type: application/json ‘\ -d’ {«model»: «tgi», «Сообщения»: [
{
«role»: «system»,
«content»: «You are a helpful assistant.»
},
{
«role»: «user»,
«content»: «What is the capital of France?»
}
]»max_tokens»: 128} ‘
С тех пор, как обнимаю лицо TGI, обнаруживает, что OpenAI-совместимая конечная точка, мы также можем использовать стандартную библиотеку Python Openai, чтобы поговорить с сервисом.
Установите модуль Openai Python.
Установка PIP -обновления OpenAI 1 PIP установка -Upradge OpenAI
Теперь мы можем запустить код ниже, чтобы проверить службу.
из Openai import openai client = openai (base_url = «api_key =»-«,) cat_completion = client.chat.completions.create (model =» tgi «, сообщения =[
{«role»: «system», «content»: «You are a helpful assistant.»},
{«role»: «user», «content»: «What is the capital of France?»},
]max_tokens = 128,) 123456789101112131415 от Openai import openai client = openai (base_url = «api_key =»-«,) cat_complation = client.chat.completions.create (model =» tgi «, сообщения =[ {«role»: «system», «content»: «You are a helpful assistant.»}, {«role»: «user», «content»: «What is the capital of France?»}, ]max_tokens = 128,)
Первый запрос требует времени, когда модель загружается. Тем не менее, последующие вызовы будут быстрее, поскольку модель кэшируется и становится легко доступной.
Помимо TGI, возможно, развертывание других модельных серверов, таких как VLLM, в Google Cloud Run.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Janakiram MSV является основным аналитиком в Janakiram & Associates и адъюнкт -преподавателем Международного института информационных технологий. Он также является квалифицированным Google Cloud Developer, сертифицированным архитектором решений Amazon, сертифицированным разработчиком Amazon, … Подробнее от Janakiram MSV