Implementación de JAIS con Azure Machine Learning Studio
En este artículo, aprenderá a usar Azure Machine Learning Studio para implementar el modelo JAIS como servicio con facturación de pago por uso.
El modelo JAIS está disponible en Azure Machine Learning Studio con facturación basada en tokens de pago por uso con Modelos como servicio.
Puede encontrar el modelo JAIS en el catálogo de modelos filtrando por la colección JAIS.
Requisitos previos
Una suscripción de Azure con un método de pago válido. Las suscripciones gratuitas o de evaluación de Azure no funcionarán. Si no tiene una suscripción de Azure, cree una cuenta de Azure de pago para comenzar.
Un área de trabajo de Azure Machine Learning. Si no las tiene, siga los pasos descritos en el artículo Inicio rápido: Creación de recursos de área de trabajo para crearlas. La oferta de implementación del modelo de API sin servidor para JAIS solo está disponible con áreas de trabajo creadas en estas regiones:
- Este de EE. UU.
- Este de EE. UU. 2
- Centro-Norte de EE. UU
- Centro-sur de EE. UU.
- Oeste de EE. UU.
- Oeste de EE. UU. 3
- Centro de Suecia
Para obtener una lista de las regiones disponibles para cada uno de los modelos que admiten implementaciones de puntos de conexión de API sin servidor, consulte Disponibilidad de región para modelos en puntos de conexión de API sin servidor.
Los controles de acceso basado en rol de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en la inteligencia artificial de Azure Studio. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol Desarrollador de Azure AI en el grupo de recursos. Para más información sobre los permisos, consulte control de acceso basado en rol en Inteligencia artificial de Azure Studio.
JAIS 30b Chat
JAIS 30b Chat es un LLM bidireccional auto regresivo para Árabe e Inglés. Las versiones optimizadas usan el ajuste fino supervisado (SFT). El modelo se ajusta con pares de respuesta rápida en árabe e inglés. Los conjuntos de datos de ajuste incluyen una amplia gama de datos informativos en varios dominios. El modelo cubre una amplia gama de tareas habituales, como la respuesta a preguntas, la generación de códigos y el razonamiento sobre contenidos textuales. Para mejorar el rendimiento en árabe, el equipo de Core42 ha desarrollado un conjunto de datos árabe interno, así como la traducción de algunas instrucciones en inglés de código abierto en árabe.
Longitud de contexto: JAIS 30b Chat admite una longitud de contexto de 8K.
Entrada: la entrada del modelo es solo texto.
Salida: el modelo solo genera texto.
Importante
Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas.
Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Implementación con pago por uso
Algunos modelos del catálogo de modelos se pueden implementar como un servicio con pago por uso, lo que proporciona una manera de consumirlos como una API sin hospedarlos en su suscripción, a la vez que se cumplen las necesidades de las organizaciones de seguridad y cumplimiento empresariales. Esta opción de implementación no requiere cuota de la suscripción.
El modelo de chat de JAIS 30b mencionado anteriormente se puede implementar como un servicio con pago por uso y se ofrece mediante Core42 a través de Microsoft Azure Marketplace. Core42 puede cambiar o actualizar los términos de uso y los precios de este modelo.
Crear una nueva implementación
Para crear una implementación:
Vaya a Azure Machine Learning Studio.
Seleccione el área de trabajo en la que desea implementar los modelos. Para usar la oferta de implementación de modelo de pago sobre la marcha, el área de trabajo debe pertenecer a la región este de EE. UU. 2 o la región Centro de Suecia.
Busque JAIS y seleccione el modelo Jais-30b en catálogo de modelos.
En la página de información general del modelo del catálogo de modelos, seleccione Implementar.
En el Asistente para la implementación, selecciona el vínculo a Términos de Azure Marketplace para obtener más información sobre los términos de uso.
También puede seleccionar la pestaña Precios y términos para obtener información sobre los precios del modelo seleccionado.
Si es la primera vez que implementa el modelo en el área de trabajo, debe suscribirse al área de trabajo para la oferta concreta del modelo. Este paso requiere que la cuenta tenga permisos de rol de desarrollador de Azure AI en el grupo de recursos, como se muestra en los requisitos previos. Cada área de trabajo tiene su propia suscripción a la oferta concreta de Azure Marketplace, lo que le permite controlar y supervisar los gastos. Seleccione Suscribir e implementar. Actualmente solo puedes tener una implementación para cada modelo dentro de un área de trabajo.
Una vez que suscribas el área de trabajo para la oferta concreta de Azure Marketplace, las implementaciones posteriores de la misma oferta en la misma área de trabajo no requieren la suscripción de nuevo. Si este escenario le afecta, podrá seleccionar la opción Continuar para implementar.
Asigne un nombre a la implementación. Este nombre forma parte de la dirección URL de la API de implementación. Esta dirección URL debe ser única en cada región de Azure.
Seleccione Implementar. Espere hasta que finalice la implementación y se le redirigirá a la página de puntos de conexión sin servidor.
Seleccione el punto de conexión para abrir su página de Detalles.
Seleccione la pestaña Prueba para empezar a interactuar con el modelo.
Puede encontrar los detalles, la dirección URL y las claves de acceso del punto de conexión; para ello, vaya a Área de trabajo>Puntos de conexión>Puntos de conexión sin servidor.
Tome nota de la dirección URL de destino y la clave secreta. Para obtener más información sobre el uso de las API, consulte la sección de referencia.
Para obtener información sobre la facturación de los modelos implementados con pago por uso, consulte Consideraciones de costo y cuota para los modelos JAIS implementados como servicio.
Consumo del modelo de chat de JAIS 30b como servicio
Estos modelos se pueden consumir mediante la API de chat.
En el área de trabajo, seleccione la pestaña Puntos de conexión de la izquierda.
Vaya a la pestañaPuntos de conexión sin servidor.
Seleccione la implementación para JAIS 30b Chat.
Puede probar la implementación en la pestaña Prueba.
Para usar las API, copie la dirección URL de destino y el valor de clave.
Para obtener más información sobre el uso de las API, consulte la sección de referencia.
Referencia de la API de chat para JAIS implementada como servicio
v1/chat/completions
Solicitar
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitud de v1/chat/completions
JAIS 30b Chat acepta los parámetros siguientes para una llamada de inferencia de respuesta de v1/chat/completions
:
Propiedad | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
messages |
array |
None |
Entrada de texto para que el modelo responda. |
max_tokens |
integer |
None |
Número máximo de tokens que genera el modelo como parte de la respuesta. Nota: Establecer un valor bajo puede dar lugar a generaciones incompletas. Si no se especifica, genera tokens hasta el final de la secuencia. |
temperature |
float |
0.3 |
Controla la aleatoriedad en el modelo. Los valores inferiores harán que el modelo sea más determinista y más alto hará que el modelo sea más aleatorio. |
top_p |
float |
None |
La probabilidad acumulativa de los tokens de vocabulario de probabilidad más alta del parámetro para mantener el muestreo de núcleos, el valor predeterminado es NULL. |
top_k |
integer |
None |
El número de tokens de vocabulario de mayor probabilidad que se conservarán para el filtrado top-k, por defecto es null. |
Un mensaje de usuario o sistema admite las siguientes propiedades:
Propiedad | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
role |
enum |
Obligatorio | role=system o role=user . |
content |
string |
Obligatorio | Entrada de texto para que el modelo responda. |
Un mensaje del asistente admite las siguientes propiedades:
Propiedad | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
role |
enum |
Obligatorio | role=assistant |
content |
string |
Obligatorio | Contenido del mensaje del asistente. |
Esquema de respuesta de v1/chat/completions
La carga de respuesta es un diccionario con los campos siguientes:
Clave | Tipo | Descripción |
---|---|---|
id |
string |
Identificador único para la finalización. |
choices |
array |
La lista de opciones de finalización que el modelo generó para los mensajes de entrada. |
created |
integer |
Marca de tiempo de Unix (en segundos) de cuando se creó la finalización. |
model |
string |
El model_id usado para la finalización. |
object |
string |
chat.completion. |
usage |
object |
Estadísticas de uso de la solicitud de finalización. |
El objeto choices
es un diccionario con los siguientes campos:
Clave | Tipo | Descripción |
---|---|---|
index |
integer |
Índice de elección. |
messages o delta |
string |
El resultado de la finalización del chat es el objeto messages. Cuando se usa el modo de streaming, se usa la clave delta. |
finish_reason |
string |
Motivo por el que el modelo dejó de generar tokens. |
El objeto usage
es un diccionario con los siguientes campos:
Clave | Tipo | Descripción |
---|---|---|
prompt_tokens |
integer |
Número de tokens en el símbolo del sistema. |
completion_tokens |
integer |
Número de tokens generados en la finalización. |
total_tokens |
integer |
Total de tokens. |
Ejemplos
Árabe
Solicitud:
"messages": [
{
"role": "user",
"content": "ما هي الأماكن الشهيرة التي يجب زيارتها في الإمارات؟"
}
]
Respuesta:
{
"id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "هناك العديد من الأماكن المذهلة للزيارة في الإمارات! ومن أشهرها برج خليفة في دبي وهو أطول مبنى في العالم ، ومسجد الشيخ زايد الكبير في أبوظبي والذي يعد أحد أجمل المساجد في العالم ، وصحراء ليوا في الظفرة والتي تعد أكبر صحراء رملية في العالم وتجذب الكثير من السياح لتجربة ركوب الجمال والتخييم في الصحراء. كما يمكن للزوار الاستمتاع بالشواطئ الجميلة في دبي وأبوظبي والشارقة ورأس الخيمة، وزيارة متحف اللوفر أبوظبي للتعرف على تاريخ الفن والثقافة العالمية"
}
}
],
"created": 1711734274,
"model": "jais-30b-chat",
"object": "chat.completion",
"usage": {
"prompt_tokens": 23,
"completion_tokens": 744,
"total_tokens": 767
}
}
English
Solicitud:
"messages": [
{
"role": "user",
"content": "List the emirates of the UAE."
}
]
Respuesta:
{
"id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "The seven emirates of the United Arab Emirates are: Abu Dhabi, Dubai, Sharjah, Ajman, Umm Al-Quwain, Fujairah, and Ras Al Khaimah."
}
}
],
"created": 1711734274,
"model": "jais-30b-chat",
"object": "chat.completion",
"usage": {
"prompt_tokens": 23,
"completion_tokens": 60,
"total_tokens": 83
}
}
Más ejemplos de inferencia
Tipo de ejemplo | Cuaderno de ejemplo |
---|---|
CLI mediante CURL y solicitudes web de Python | webrequests.ipynb |
SDK de OpenAI (experimental) | openaisdk.ipynb |
LiteLLM | litellm.ipynb |
Coste y cuotas
Consideraciones de costos y cuotas para los modelos implementados como servicio
JAIS 30b Chat se implementa como un servicio son ofrecidos por Core42 a través de Azure Marketplace e integrado con Azure AI Studio para su uso. Puedes encontrar los precios de Azure Marketplace al implementar modelos.
Cada vez que un proyecto se suscribe a una oferta determinada de Azure Marketplace, se crea un nuevo recurso para realizar un seguimiento de los costos asociados a su consumo. El mismo recurso se usa para hacer un seguimiento de los costos asociados con la inferencia; sin embargo, hay varios medidores disponibles para hacer un seguimiento de cada escenario de forma independiente.
Para más información sobre cómo realizar un seguimiento de los costos, consulte Supervisar los costos de los modelos ofrecidos en Azure Marketplace.
La cuota se administra por implementación. Cada implementación tiene un límite de velocidad de 200 000 tokens por minuto y 1000 solicitudes de API por minuto. Sin embargo, actualmente limitamos una implementación por modelo por proyecto. Póngase en contacto con el Soporte técnico de Microsoft Azure si los límites de velocidad actuales no son suficientes para sus escenarios.
Filtrado de contenido
Los modelos implementados como un servicio con pago por uso están protegidos por Seguridad del contenido de Azure AI. Con la seguridad de contenido de Azure AI, tanto la solicitud como la finalización pasan por un conjunto de modelos de clasificación destinados a detectar y evitar la salida de contenido dañino. El sistema de filtrado de contenido (versión preliminar) detecta y toma medidas en categorías específicas de contenido potencialmente perjudicial tanto en indicaciones de entrada como en finalizaciones de salida. Puede encontrar más información sobre el filtrado de contenido aquí.