Cloud

Iniciar usando Azure OpenAI

Modelos de linguagem de inteligência artificial hospedados no Azure da Microsoft estão disponíveis para uso geral, e é surpreendentemente fácil integrá-los em seu código.

ai artificial intelligence ml machine learning vector
Imagem: Chakkree_Chantakad/FreeImages

O avanço do aprendizado de máquina e da pesquisa em inteligência artificial tem se expandido dos laboratórios para nossos ambientes de desenvolvimento, com recursos como os Serviços Cognitivos do Azure possibilitando o acesso a modelos pré-treinados por meio de APIs. Há diversas maneiras de disponibilizar serviços de IA, sendo uma das abordagens mais promissoras para o processamento de linguagem a técnica de pré-treinamento generativo, como o GPT, que lida com extensos volumes de texto.

OpenAI e Microsoft estão trabalhando juntas.

O laboratório de pesquisa OpenAI foi inovador ao introduzir essa técnica, divulgando o primeiro artigo sobre o assunto em 2018. O desenvolvimento do modelo passou por diversas iterações, começando com o GPT-2 não supervisionado, que utilizou dados não rotulados para imitar o comportamento humano. Com base em 40GB de conteúdo da internet, o GPT-2 passou por um extenso treinamento para se tornar um modelo com 1,5 bilhão de parâmetros. Em seguida, surgiu o GPT-3, um modelo muito maior com 175 bilhões de parâmetros. Com exclusividade para a Microsoft, o GPT-3 serve de base para ferramentas como o Codex, voltado para programação e utilizado pelo GitHub Copilot, e o DALL-E, um gerador de imagens.

Com um modelo como o GPT-3 requerendo grandes quantidades de computação e memória, em torno de milhares de petaflop/s-dias, ele se mostra ideal para ser utilizado em computação de alto desempenho na nuvem por meio de hardware de supercomputador especializado. A Microsoft desenvolveu seus próprios servidores baseados na tecnologia da Nvidia para supercomputação no Azure, e suas instâncias de nuvem estão presentes na lista TOP500 de supercomputadores. Os servidores de inteligência artificial do Azure são construídos em torno das GPUs do Núcleo Tensor Nvidia Ampere A12000, conectadas por meio de uma rede InfiniBand de alta velocidade.

Incorporar OpenAI no Azure

A tecnologia de inteligência artificial generativa da OpenAI foi desenvolvida e aprimorada nos servidores da Azure. Como parte de uma parceria de longo prazo entre a OpenAI e a Microsoft, as ferramentas da OpenAI estão sendo integradas ao Azure, com APIs específicas e integração com os serviços de faturamento da Azure. Após um período em que estava disponível apenas para visualização privada, o conjunto de APIs do Azure OpenAI agora está amplamente disponível, com suporte para a criação de texto GPT-3 e o modelo de código Codex. A Microsoft planeja incluir a capacidade de gerar imagens com o DALL-E em uma atualização futura.

RELACIONADO:  Ascensão da computação em nuvem em oposição

Isso não quer dizer que qualquer indivíduo possa desenvolver um aplicativo que utilize o GPT-3; a Microsoft continua enfatizando o acesso para assegurar que os projetos estejam em conformidade com suas políticas éticas de uso de IA e sejam estritamente limitados a casos de uso específicos. É necessário ser um cliente direto da Microsoft para ter acesso ao Azure OpenAI. A empresa adota um procedimento similar para o acesso aos seus Serviços Cognitivos de Acesso Limitado, visando evitar possíveis casos de falsificação ou violações de privacidade.

Essas medidas políticas provavelmente continuarão sendo restritas, e certas áreas, como os serviços de saúde, poderão necessitar de precauções adicionais para cumprir as normas regulatórias. As experiências da Microsoft com modelos de linguagem de IA a ensinaram uma lição valiosa que não desejam repetir. Como medida de segurança adicional, há filtros de conteúdo tanto na entrada quanto na saída, com alertas para a Microsoft e os desenvolvedores.

Descobrindo as funcionalidades do Azure OpenAI Studio.

Depois de ter sua conta aprovada para acessar o Azure OpenAI, é possível começar a desenvolver códigos que utilizem os terminais API. Os recursos correspondentes do Azure podem ser criados através do portal, do Azure CLI ou dos modelos Arm. Caso opte pelo uso do Azure Portal, é preciso criar um recurso atribuído à sua conta e ao grupo de recursos destinado ao seu aplicativo, bem como a quaisquer serviços e infraestrutura do Azure associados. Posteriormente, é necessário dar um nome ao recurso e selecionar o nível de preços disponível atualmente, pois essa opção pode mudar no futuro com o lançamento de novos níveis de serviço pela Microsoft.

Com uma função implementada, é possível agora utilizar o Azure OpenAI Studio para implantar um modelo. Neste ambiente, a maior parte do trabalho com o OpenAI será realizada. Atualmente, há a opção de selecionar modelos da família GPT-3, como o Codex baseado em código. Outros modelos disponíveis utilizam incorporações, que são informações semânticas complexas otimizadas para pesquisa.

Dentro de cada família de modelos, existem diferentes opções com nomes que indicam nível de custo e capacidade. No caso do uso do GPT-3, Ada representa a opção de menor custo e menor capacidade, enquanto Davinci é a opção mais cara e mais capaz. Cada modelo é uma versão aprimorada do anterior, o que significa que ao lidar com tarefas mais complexas, basta escolher um modelo diferente sem a necessidade de alterar o código. A Microsoft sugere começar com o modelo mais avançado ao desenvolver um aplicativo com tecnologia OpenAI, pois isso facilita ajustar o modelo conforme necessário em termos de preço e desempenho ao entrar em produção.

RELACIONADO:  Atualizações de floco de neve direcionam a demanda de IA generativa de empresas

Atuando na customização do modelo.

Apesar de terem se tornado populares os recursos de conclusão de texto do GPT-3, sua aplicação prática precisa ser mais direcionada para atender às necessidades específicas de uso. É fundamental evitar que o GPT-3 seja usado para fornecer conselhos irrelevantes em um serviço de suporte. O ideal é desenvolver um modelo personalizado por meio de exemplos de treinamento com entradas e saídas desejadas, conhecidos como “compleções” no Azure OpenAI. É recomendável ter um amplo conjunto de dados de treinamento, sendo aconselhável utilizar centenas de exemplos. Uma forma eficiente de gerenciar os dados de treinamento é incluir todos os prompts e conclusões em um arquivo JSON.

Com um modelo personalizado configurado, é possível utilizar o Azure OpenAI Studio para experimentar o desempenho do GPT-3 em um contexto específico. Uma ferramenta básica de teste permite avaliar as respostas do modelo a instruções específicas, por meio de um simples aplicativo de console onde é possível inserir um comando e receber uma resposta do OpenAI. A Microsoft enfatiza a importância de criar prompts eficazes, destacando a necessidade de ser o mais claro e detalhado possível para obter resultados de qualidade. Além disso, o playground auxilia no treinamento do modelo, permitindo que, por exemplo, ao construir um classificador, sejam fornecidos exemplos de texto e suas respectivas saídas esperadas antes de submeter entradas reais para obter uma resposta.

Uma vantagem interessante do playground é a capacidade de estabelecer a intenção e os comportamentos desejados antecipadamente. Por exemplo, ao utilizar o OpenAI para alimentar uma ferramenta de triagem de mesa de ajuda, é possível definir a expectativa de uma saída educada e calma, evitando a imitação de um usuário irritado. Essas mesmas funcionalidades podem ser aplicadas ao modelo Codex, permitindo visualizar seu funcionamento como uma ferramenta para completar códigos ou como um assistente dinâmico.

Criar scripts para lidar com o Azure OpenAI.

Quando estiver pronto para iniciar a codificação, você pode utilizar os endpoints REST da sua implementação, seja diretamente ou por meio das bibliotecas OpenAI Python. Esta última opção é provavelmente a maneira mais rápida de obter código funcional. Será necessário ter em mãos a URL do endpoint, uma chave de autenticação e o nome da sua implementação. Com essas informações, configure as variáveis de ambiente apropriadas para o seu código. Em ambientes de produção, é recomendável evitar inserir chaves de autenticação diretamente no código e utilizar uma ferramenta como o Azure Key Vault para gerenciá-las.

RELACIONADO:  Utilizando o Neo4j Graph Database para Inteligência Artificial no Azure.

Chamar um ponto final é simples: Basta utilizar a openai. Ao criar um método para obter uma resposta, é essencial definir o limite máximo de tokens para conter o prompt e a resposta. O objeto de resposta retornado pela API inclui o texto gerado pelo modelo, que pode ser extraído, formatado e utilizado em outras partes do código. As chamadas básicas são fáceis de usar e há parâmetros adicionais disponíveis para controlar a resposta. Estes parâmetros influenciam a criatividade do modelo e a forma como ele gera os resultados. Ao utilizar esses parâmetros, é possível garantir que as respostas sejam claras e precisas.

Caso esteja utilizando um idioma diferente, utilize as ferramentas de análise REST e JSON disponíveis. É possível consultar a documentação do Azure OpenAI para encontrar uma referência da API ou utilizar as especificações do Swagger disponíveis no GitHub do Azure para realizar chamadas de API e manipular os dados recebidos. Essa estratégia é compatível com IDEs como o Visual Studio.

Preços do OpenAI no Azure.

Uma característica importante dos modelos OpenAI é o sistema de preços baseado em token. Os tokens utilizados no Azure OpenAI não são tokens de autenticação comuns; são partes tokenizadas de strings, geradas através de um modelo estatístico interno. A OpenAI disponibiliza uma ferramenta em seu site que demonstra como as cadeias de texto são tokenizadas, ajudando a compreender como as consultas são cobradas. Um token geralmente corresponde a cerca de quatro caracteres de texto, podendo variar para menos ou mais. Em média, um parágrafo de aproximadamente 75 palavras requer cerca de 100 tokens.

Quanto mais complicado o modelo, mais caros os tokens se tornam. O modelo base Ada custa cerca de $0.0004 por 1.000 fichas, enquanto o modelo high-end Davinci custa $0.02. Se você personalizar o modelo, haverá custos de armazenamento, e se incorporar embeddings, os custos podem aumentar significativamente devido aos requisitos computacionais mais elevados. Além disso, há custos extras para ajustes finos nos modelos, a partir de $20 por hora de computação. Embora o site do Azure forneça preços de referência, os valores reais podem variar conforme a relação da sua organização com a Microsoft.

Uma característica impressionante do Azure OpenAI é a sua simplicidade surpreendente. Ao utilizar modelos pré-elaborados e realizar ajustes conforme necessário, basta realizar um treinamento inicial básico, compreender como os prompts geram resultados e integrar as ferramentas ao seu código para criar conteúdo de texto ou código conforme requerido.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button