Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как развертывать модели с помощью API Foundation Model с зарезервированной пропускной способностью. Azure Databricks рекомендует предоставленную пропускную способность для продуктивных рабочих нагрузок и обеспечивает оптимизированный вывод для фундаментальных моделей с гарантиями производительности.
Что такое подготовленная пропускная способность?
При создании подготовленной модели пропускной способности, обслуживающей конечную точку в Azure Databricks, вы выделяете выделенную емкость вывода, чтобы обеспечить согласованную пропускную способность для базовой модели, которую вы хотите обслуживать. Конечные точки сервиса моделей, обрабатывающие основные модели, можно создавать в блоках единиц модели. Количество выделенных единиц модели позволяет приобрести именно пропускную способность, необходимую для надежной поддержки рабочего приложения GenAI.
Список поддерживаемых архитектур моделей для конечных точек с регулируемой пропускной способностью см. в разделе "Поддерживаемые базовые модели Mosaic AI Model Serving".
Требования
См. раздел Требования.
[рекомендуется] Развертывание базовых моделей из каталога Unity
Databricks рекомендует использовать базовые модели, предварительно установленные в каталоге Unity. Эти модели можно найти под номером system в каталоге и в схеме ai (system.ai).
Чтобы развернуть базовую модель, выполните приведенные действия.
- Перейдите к
system.aiв обозревателе каталогов. - Щелкните имя модели для развертывания.
- На странице модели нажмите кнопку Запустить эту модель.
- Откроется страница Создание конечной точки обслуживания. См. раздел Создание конечной точки с заданной пропускной способностью, используя пользовательский интерфейс.
Заметка
Чтобы развернуть модель Meta Llama из system.ai в Unity Catalog, необходимо выбрать соответствующую версию Instruct. Базовые версии моделей Meta Llama не поддерживаются для развертывания из system.ai в каталоге Unity. См. сведения о моделях Foundation, размещенных в Databricks , поддерживаемых вариантами моделей Meta Llama.
Создание подготовленной конечной точки пропускной способности с помощью пользовательского интерфейса
После регистрации модели в каталоге Unity создайте подготовленную конечную точку обслуживания пропускной способности, выполнив следующие действия:
- Перейдите к пользовательскому интерфейсу обслуживания в рабочей области.
- Выберите Создать конечную точку обслуживания.
- В поле сущности выберите вашу модель из каталога Unity. Для подходящих моделей пользовательский интерфейс для обслуживаемой сущности отображает экран предоставленной пропускной способности.
- В раскрывающемся списке Максимум вы можете настроить максимальную пропускную способность токенов в секунду для конечной точки.
- Подготовленные конечные точки пропускной способности автоматически масштабируются, поэтому вы можете выбрать Изменить, чтобы просмотреть минимальное количество токенов в секунду, до которого ваша конечная точка может снизить масштаб.
Создание подготовленной конечной точки пропускной способности с помощью REST API
Чтобы развернуть модель в подготовленном режиме пропускной способности с помощью REST API, необходимо указать в запросе поля min_provisioned_throughput и max_provisioned_throughput. Если вы предпочитаете Python, вы также можете создать конечную точку, используя SDK для развертывания MLflow.
Сведения о том, как определить подходящий диапазон подготовленной пропускной способности для модели, см. в разделах иотносительно получения этой информации.
import requests
import json
# Set the name of the MLflow endpoint
endpoint_name = "prov-throughput-endpoint"
# Name of the registered MLflow model
model_name = "ml.llm-catalog.foundation-model"
# Get the latest version of the MLflow model
model_version = 3
# Get the API endpoint and token for the current notebook context
API_ROOT = "<YOUR-API-URL>"
API_TOKEN = "<YOUR-API-TOKEN>"
headers = {"Context-Type": "text/json", "Authorization": f"Bearer {API_TOKEN}"}
optimizable_info = requests.get(
url=f"{API_ROOT}/api/2.0/serving-endpoints/get-model-optimization-info/{model_name}/{model_version}",
headers=headers)
.json()
if 'optimizable' not in optimizable_info or not optimizable_info['optimizable']:
raise ValueError("Model is not eligible for provisioned throughput")
chunk_size = optimizable_info['throughput_chunk_size']
# Minimum desired provisioned throughput
min_provisioned_throughput = 2 * chunk_size
# Maximum desired provisioned throughput
max_provisioned_throughput = 3 * chunk_size
# Send the POST request to create the serving endpoint
data = {
"name": endpoint_name,
"config": {
"served_entities": [
{
"entity_name": model_name,
"entity_version": model_version,
"min_provisioned_throughput": min_provisioned_throughput,
"max_provisioned_throughput": max_provisioned_throughput,
}
]
},
}
response = requests.post(
url=f"{API_ROOT}/api/2.0/serving-endpoints", json=data, headers=headers
)
print(json.dumps(response.json(), indent=4))
Логарифмическая вероятность для задач завершения чата
Для задач завершения чата можно использовать параметр logprobs для предоставления логарифмической вероятности выбора токена при выборке в процессе генерации крупной языковой модели. Вы можете использовать logprobs для различных сценариев, включая классификацию, оценку неопределенности модели и выполнение метрик оценки. Дополнительные сведения о параметрах см. в API завершения чата .
увеличение подготовленной пропускной способности
Выделенная пропускная способность доступна в виде приростов токенов в секунду, причем конкретные приросты зависят от модели. Чтобы определить подходящий диапазон для ваших потребностей, Databricks рекомендует использовать API сведений об оптимизации модели на платформе.
GET api/2.0/serving-endpoints/get-model-optimization-info/{registered_model_name}/{version}
Ниже приведен пример ответа api:
{
"optimizable": true,
"model_type": "llama",
"throughput_chunk_size": 1580
}
Limitation
- Развертывание модели может завершиться сбоем из-за проблем с пропускной способностью GPU, что приводит к истечению времени ожидания во время создания или обновления конечной точки. Обратитесь к команде менеджеров по работе с клиентами Databricks, чтобы помочь устранить эту проблему.