Como implantar o JAIS com o Estúdio do Azure Machine Learning
Neste artigo, você aprenderá a usar o Estúdio do Azure Machine Learning para implantar o modelo JAIS como um serviço com cobrança paga conforme o uso.
O modelo JAIS está disponível no Estúdio do Azure Machine Learning com cobrança baseada em token paga conforme o uso com Modelos como serviço.
Você pode encontrar o modelo JAIS no catálogo de modelos filtrando na coleção JAIS.
Pré-requisitos
Uma assinatura do Azure com uma forma de pagamento válida. As assinaturas gratuitas ou de avaliação do Azure não funcionarão. Caso você não tenha uma assinatura do Azure, crie uma conta paga do Azure para começar.
Um Workspace do Azure Machine Learning. Se você não tiver esses recursos, use as etapas do artigo Início Rápido: Criar recursos de workspace para criá-los. A oferta de implantação do modelo de API sem servidor para o JAIS só está disponível com espaços de trabalho criados nessas regiões:
- Leste dos EUA
- Leste dos EUA 2
- Centro-Norte dos EUA
- Centro-Sul dos Estados Unidos
- Oeste dos EUA
- Oeste dos EUA 3
- Suécia Central
Para obter uma lista de regiões disponíveis para cada um dos modelos que dão suporte a implantações de ponto de extremidade de API sem servidor, consulte Disponibilidade de região para modelos em pontos de extremidade de API sem servidor.
O RBAC do Azure (controle de acesso baseado em função) do Azure é usado para permitir acesso a operações no Estúdio de IA do Azure. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de Desenvolvedor de IA do Azure no grupo de recursos. Para obter mais informações sobre permissões, confira Controle de acesso baseado em função no Estúdio de IA do Azure.
Bate-papo do JAIS 30b
O Chat do JAIS 30b é um LLM bilíngue auto regressivo para árabe e inglês. As versões ajustadas usam ajuste fino supervisionado (SFT). O modelo está afinado com pares de resposta rápida em árabe e inglês. Os conjuntos de dados de ajuste fino incluíram uma ampla gama de dados instrucionais em vários domínios. O modelo aborda uma ampla gama de tarefas comuns, incluindo resposta a perguntas, geração de código e raciocínio sobre conteúdo textual. Para melhorar o desempenho em árabe, a equipe do Core42 desenvolveu um conjunto de dados em árabe interno, bem como traduzindo algumas instruções em inglês de software livre para árabe.
Comprimento do contexto: O chat do JAIS 30b dá suporte a um comprimento de contexto de 8K.
Entrada: A entrada de modelo é somente texto.
Saída: O modelo gera somente texto.
Importante
Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.
Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Implantar com o pagamento conforme o uso
Alguns modelos no catálogo de modelos podem ser implantados como um serviço pré-pago, fornecendo uma maneira de consumi-los como uma API sem hospedá-los em sua assinatura, mantendo as necessidades das organizações de segurança e conformidade da empresa. Essa opção de implantação não requer cota de sua assinatura.
O modelo de Chat do JAIS 30b mencionado anteriormente pode ser implantado como um serviço com pagamento conforme o uso e é oferecido pelo Core42 por meio do Microsoft Azure Marketplace. A Core42 pode alterar ou atualizar os termos de uso e preços desse modelo.
Criar uma nova implantação
Para criar uma implantação:
Acesse o Estúdio do Azure Machine Learning.
Selecione o workspace no qual você deseja implantar seus modelos. Para usar a oferta de implantação do modelo de pagamento conforme o uso, seu espaço de trabalho deve pertencer à região Leste dos EUA2 ou Suécia Central.
Pesquise por JAIS e selecione o modelo Jais-30b-chat.
Na página de visão geral do modelo no catálogo de modelos, selecione Implantar.
No assistente de implantação, selecione o link para Termos do Azure Marketplace para saber mais sobre os termos de uso.
Você também pode selecionar a guia Preço e termos para saber mais sobre o preço do modelo selecionado.
Se esta for sua primeira vez implantando o modelo no workspace, você precisará assinar o workspace para a oferta específica do modelo. Esta etapa exige que sua conta tenha as permissões de função de Desenvolvedor de IA do Azure no Grupo de Recursos, conforme listado nos pré-requisitos. Cada workspace tem sua própria inscrição na oferta específica do Azure Marketplace, que permite controlar e monitorar os gastos. Selecione Assinar e Implantar. Atualmente, você pode ter apenas uma implantação para cada modelo em um workspace.
Depois de assinar o workspace na oferta específica do Azure Marketplace, as implantações subsequentes da mesma oferta no mesmo workspace não exigirão a inscrição novamente. Se esse cenário se aplicar a você, haverá uma opção Continuar a implantar para seleção.
Dê um nome à implantação. Esse nome se torna parte da URL da API de implantação. Essa URL deve ser exclusiva em cada região do Azure.
Selecione Implantar. Aguarde até que a implantação seja concluída e você seja redirecionado para a página de pontos de extremidade sem servidor.
Selecione o ponto de extremidade para abrir a página Detalhes.
Selecione a guia Testar para começar a interagir com o modelo.
Você sempre pode encontrar os detalhes do ponto de extremidade, a URL e as chaves de acesso do ponto de extremidade navegando até Workspace>Pontos de extremidade>Pontos de extremidade sem servidor.
Anote a URL de destino e a chave secreta. Para obter mais informações sobre como usar as APIs, consulte a seção Referência.
Para saber mais sobre a cobrança de modelos implantados com pagamento conforme o uso, confira Considerações sobre custo e cota para modelos JAIS implantados como um serviço.
Consumir o modelo de chat do JAIS 30b como um serviço
Esses modelos podem ser consumidos usando a API do chat.
Em seu workspace, selecione a guia Pontos de extremidade à esquerda.
Vá para a guia Pontos de extremidade sem servidor.
Selecione sua implantação para o chat do JAIS 30b.
Você pode testar a implantação na guia Teste.
Para usar as APIs, copie a URL de Destino e o valor Chave.
Para obter mais informações sobre como usar as APIs, consulte a seção Referência.
Referência da API de chat para o JAIS implantado como um serviço
v1/chat/conclusões
Solicitação
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Esquema de solicitação v1/chat/completions
O chat do JAIS 30b aceita os seguintes parâmetros para uma chamada de inferência de resposta v1/chat/completions
:
Propriedade | Type | Padrão | Descrição |
---|---|---|---|
messages |
array |
None |
Entrada de texto para o modelo a ser respondido. |
max_tokens |
integer |
None |
O número máximo de tokens gerados pelo modelo como parte da resposta. Observação: definir um valor baixo pode resultar em gerações incompletas. Se não for especificado, gerará tokens até o final da sequência. |
temperature |
float |
0.3 |
Controla a aleatoriedade no modelo. Valores mais baixos tornarão o modelo mais determinístico e valores mais altos tornarão o modelo mais aleatório. |
top_p |
float |
None |
A probabilidade cumulativa dos tokens de vocabulário de maior probabilidade de parâmetro a serem mantidos para amostragem de núcleos, é padrão nulo. |
top_k |
integer |
None |
O número de tokens de vocabulário de maior probabilidade a serem mantidos para filtragem top-k, o padrão é nulo. |
Uma mensagem de usuário ou sistema dá suporte às seguintes propriedades:
Propriedade | Type | Padrão | Descrição |
---|---|---|---|
role |
enum |
Obrigatório | role=system ou role=user . |
content |
string |
Obrigatório | Entrada de texto para o modelo a ser respondido. |
Uma mensagem de assistente dá suporte às seguintes propriedades:
Propriedade | Type | Padrão | Descrição |
---|---|---|---|
role |
enum |
Obrigatório | role=assistant |
content |
string |
Obrigatório | O conteúdo da mensagem do assistente. |
Esquema de resposta v1/chat/completions
O conteúdo da resposta é um dicionário com os campos a seguir:
Chave | Type | Descrição |
---|---|---|
id |
string |
Um identificador exclusivo do preenchimento. |
choices |
array |
A lista de opções de preenchimento que o modelo gerou para as mensagens de entrada. |
created |
integer |
O carimbo de data/hora do UNIX (em segundos) de quando o preenchimento foi criado. |
model |
string |
A model_id usada para o preenchimento. |
object |
string |
chat.completion. |
usage |
object |
Estatísticas de uso para a solicitação de preenchimento. |
O objeto choices
é um dicionário com os seguintes campos:
Chave | Type | Descrição |
---|---|---|
index |
integer |
Índice de opções. |
messages ou delta |
string |
O resultado da conclusão do chat é o objeto de mensagens. Quando o modo de streaming é usado, a chave delta é usada. |
finish_reason |
string |
O motivo pelo qual o modelo parou de gerar tokens. |
O objeto usage
é um dicionário com os seguintes campos:
Chave | Type | Descrição |
---|---|---|
prompt_tokens |
integer |
Número de tokens no prompt. |
completion_tokens |
integer |
Número de tokens gerados no preenchimento. |
total_tokens |
integer |
Total de tokens. |
Exemplos
Árabe
Solicitação:
"messages": [
{
"role": "user",
"content": "ما هي الأماكن الشهيرة التي يجب زيارتها في الإمارات؟"
}
]
Resposta:
{
"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
}
}
Português do Brasil
Solicitação:
"messages": [
{
"role": "user",
"content": "List the emirates of the UAE."
}
]
Resposta:
{
"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
}
}
Mais exemplos de inferência
Tipo de amostra | Exemplo de notebook |
---|---|
CLI usando solicitações web CURL e Python | webrequests.ipynb |
SDK do OpenAI (experimental) | openaisdk.ipynb |
LiteLLM | litellm.ipynb |
Custo e cotas
Considerações sobre custo e cota para modelos implantados como um serviço
O chat JAIS 30b é implantado como um serviço são oferecidos pelo Core42 por meio do Azure Marketplace e integrados ao Estúdio de IA do Azure para uso. Você pode encontrar preços do Azure Marketplace ao implantar o modelo.
Sempre que um projeto se inscreve em determinada oferta do Azure Marketplace, um recurso é criado para acompanhar os custos associados ao consumo dele. O mesmo recurso é usado para acompanhar os custos associados à inferência. No entanto, vários medidores estão disponíveis para acompanhar cada cenário de modo independente.
Para obter mais informações sobre como acompanhar os custos, consulte Monitorar os custos dos modelos oferecidos por meio do Azure Marketplace.
A cota é gerenciada por implantação. Cada implantação tem um limite de taxa de 200.000 tokens por minuto e 1.000 solicitações de API por minuto. No entanto, atualmente, limitamos uma implantação por modelo e projeto. Entre em contato com o Suporte do Microsoft Azure se os limites de taxa atuais não forem suficientes para seus cenários.
Filtragem de conteúdo
Os modelos implantados como um serviço com o pagamento conforme o uso são protegido pela Segurança de Conteúdo de IA do Azure. Com a Segurança de Conteúdo de IA do Azure, o prompt e o preenchimento passam por um conjunto de modelos de classificação destinados a detectar e impedir a saída de conteúdo prejudicial. O sistema de filtragem de conteúdo detecta e executa ações em categorias específicas de conteúdo potencialmente prejudicial em prompts de entrada e conclusões de saída. Saiba mais sobre filtragem de conteúdo aqui.