Blog

Desenvolvendo inteligência artificial para Windows com Copilot Runtime.

A Microsoft está apostando que a linguagem natural e a computação semântica são o futuro do Windows, não apenas fazendo uma grande aposta na AI no sistema operacional.

Windows 11 auf Bildschirm eines Notebooks
Imagem: driles/iStock

Identificar o foco principal do Build 2024 não foi complicado. Desde a introdução antecipada dos PCs Copilot+ até os discursos significativos de Satya Nadella e Scott Guthrie, a inteligência artificial (IA) foi o destaque. Até mesmo a apresentação anual de inovações de hardware do Azure por Mark Russinovich foi centrada no suporte à IA.

Durante os primeiros anos de Nadella como CEO, ele frequentemente mencionava a importância da combinação entre grandes dados, aprendizado de máquina e processamento baseado na borda, que ele denominava como “a nuvem inteligente e a borda inteligente”. Essa abordagem industrial da Microsoft para a inteligência artificial foi influenciada pela visão de Nadella e destacava o uso do Azure para hospedar treinamento e inferência de modelos de IA na nuvem, independentemente do tamanho desses modelos.

Deslocando a Inteligência Artificial para a periferia.

Com a crescente demanda de energia e resfriamento para a inteligência artificial centralizada, não é surpreendente que a Microsoft tenha focado em transferir parte da funcionalidade de IA de endpoint do Azure para os computadores dos usuários. Isso permitirá aproveitar os aceleradores de IA locais para realizar inferências em diversos algoritmos. Em vez de rodar Copilots no Azure, a empresa utilizará as unidades de processamento neural, ou NPUs, presentes nas próximas gerações de chips de desktop da Arm, Intel e AMD.

A utilização de aceleração de hardware tem sido uma estratégia eficaz que foi testada diversas vezes com sucesso. No começo dos anos 1990, eu estava desenvolvendo código para análise de elementos finitos que se valia do processamento de vetores para agilizar as operações com matrizes. As NPUs atuais são descendentes diretas desses processadores vetoriais, projetados para executar operações semelhantes no espaço vetorial complexo utilizado em redes neurais. Se você está utilizando algum dos dispositivos Arm mais recentes da Microsoft (ou alguns dispositivos Intel ou AMD recentes), já possui uma NPU, embora não tão potente quanto as 40 TOPS (trilhões de operações por segundo) necessárias para atender aos requisitos do PC Copilot+ da Microsoft.

A Microsoft apresentou vários aplicativos variados que utilizam NPU em seu hardware atual, os quais os desenvolvedores podem acessar por meio das APIs DirectML e com suporte para o tempo de execução de inferência ONNX. No entanto, durante o evento Build 2024, a empresa demonstrou um compromisso ainda maior com os desenvolvedores ao lançar um novo conjunto de serviços de IA que são hospedados em um endpoint e estão reunidos sob uma nova marca chamada Windows Copilot Runtime.

RELACIONADO:  Quais são as lacunas no treinamento em computação em nuvem?

O Windows Copilot Runtime é um conjunto de ferramentas que combina novos e já existentes serviços para auxiliar no desenvolvimento de aplicações de inteligência artificial no Windows. Inclui um conjunto de bibliotecas de programação e mais de 40 modelos de machine learning, como o Phi Silica, uma versão especializada em NPU da família Phi da Microsoft, com modelos de linguagem de pequena escala.

Os modelos do Windows Copilot Runtime não se limitam a modelos de linguagem, muitos deles são projetados para funcionar com o pipeline de vídeo do Windows, oferecendo suporte a versões aprimoradas dos efeitos existentes do Studio. Se os modelos pré-embalados não forem suficientes ou não se adequarem aos seus casos de uso específicos, existem ferramentas disponíveis para ajudá-lo a executar seus próprios modelos no Windows, com suporte direto para PyTorch. Além disso, há um novo tempo de execução de modelo hospedado na web, WebNN, que possibilita a execução dos modelos em um navegador da Web e, possivelmente no futuro, em aplicativos WebAssembly.

Desenvolvimento de inteligência artificial para Windows.

A Microsoft apresentou no evento Build o Windows Copilot Runtime como uma plataforma inovadora para interagir com o sistema operacional por meio de ferramentas de inteligência artificial. Foi demonstrado como essa plataforma funciona em conjunto com recursos de hardware avançados, novas bibliotecas e modelos, além das ferramentas essenciais para auxiliar no desenvolvimento de código.

Essa pilha básica é uma simplificação extrema. Mostrar cada parte do Windows Copilot Runtime em detalhes ocuparia facilmente um slide do PowerPoint. Os principais destaques são a loja de vetores locais DiskANN e o conjunto de APIs conhecidas como Biblioteca Copilot do Windows.

O DiskANN pode ser comparado ao SQLite, sendo uma ferramenta de armazenamento local rápida para dados vetoriais essenciais para aplicações de realidade aumentada. Assim como o SQLite, o DiskANN não possui interface de usuário e é acessado via linha de comando ou API. Ele utiliza busca de vizinhos mais próximos e pode armazenar incorporações e conteúdo, além de ser compatível com a busca integrada do Windows ao se conectar a estruturas NTFS e arquivos.

O código desenvolvido sobre a base do Windows Copilot Runtime utiliza uma variedade de mais de 40 modelos de inteligência artificial e aprendizado de máquina, agrupados com a pilha. Nem todos esses modelos são generativos, já que muitos deles são utilizados pelos Serviços Cognitivos do Azure para funções relacionadas à visão computacional, como reconhecimento de texto e a criação de efeitos no Windows Studio.

RELACIONADO:  Por que abandonar a nuvem? 37 indícios esclarecem.

É possível optar por usar APIs em nuvem, como por exemplo, escolhendo entre um modelo de idioma local mais simples ou um modelo de linguagem mais avançado hospedado na nuvem, como o ChatGPT. O sistema pode alternar automaticamente entre os dois modelos dependendo da largura de banda disponível ou da complexidade da tarefa em questão.

A Microsoft oferece um guia simples para auxiliar na escolha entre APIs de inteligência artificial locais ou na nuvem. As principais considerações incluem recursos disponíveis, privacidade e custos. A utilização de recursos locais não gera custos, ao passo que os custos de utilizar serviços de IA em nuvem podem ser variáveis e difíceis de prever.

As APIs da Biblioteca do Copilot do Windows, como a AI Text Recognition, requerem um NPU apropriado para tirar proveito de sua aceleração de hardware. Antes de chamar a API, é necessário adicionar as imagens a um buffer de imagem. Assim como a API equivalente da Azure, é preciso fornecer um bitmap à API para obter o texto reconhecido como uma string. Além disso, é possível obter informações sobre a caixa de ligação para criar uma sobreposição na imagem original, juntamente com os níveis de confiança associados ao texto reconhecido.

Phi Silica é um modelo de linguagem desenvolvido para NPUs que opera diretamente no dispositivo.

Uma das características fundamentais do Windows Copilot Runtime é a introdução do novo modelo de linguagem Phi Silica, que foi aprimorado com tecnologia NPU. Como parte da família de modelos Phi, o Phi Silica é um modelo de inteligência artificial gerativa que é simples de usar e foi desenvolvido para gerar respostas de texto de forma rápida. Um trecho de código de exemplo demonstra que o Phi Silica faz uso da nova namespace Microsoft.Windows.AI.Generative C# e opera de forma assíncrona, produzindo respostas geradas a partir de solicitações de texto.

Utilizar a API básica da Phi Silica é uma tarefa simples. Depois de desenvolver um método para lidar com as chamadas, é possível aguardar por uma sequência completa de strings ou obter resultados conforme são gerados, possibilitando assim a personalização da experiência do usuário. Além disso, outras chamadas fornecem informações de status do modelo, permitindo verificar se os prompts resultaram em uma resposta ou se a chamada falhou.

Phi Silica tem suas restrições, mesmo com a utilização do NPU de um Copilot + PC, sua capacidade de processamento é de apenas 650 fichas por segundo. Embora essa quantidade seja adequada para responder a um único prompt de forma eficiente, o desempenho pode ser afetado ao lidar com múltiplos prompts simultaneamente.

RELACIONADO:  Downsides para usar sistemas de autoscaling em nuvem

Phi Silica passou por um treinamento baseado em livros didáticos, o que limita sua flexibilidade em comparação com o ChatGPT. No entanto, Phi Silica é mais preciso e confiável, podendo ser integrado em um sistema de agentes locais por meio das técnicas RAG e um índice de vetor local armazenado no DiskANN, que segmenta os arquivos em uma pasta específica.

A Microsoft abordou a importância do Windows Copilot Runtime como um elemento independente na estrutura de desenvolvimento do Windows. Este componente está mais integrado do que o apresentado nas apresentações principais da Build, fazendo parte de uma atualização programada para junho de 2024 do Windows App SDK. A empresa não apenas está investindo em inteligência artificial no Windows, mas também está apostando que a IA, em particular, a linguagem natural e a computação semântica, representam o futuro do Windows.

Recursos para desenvolvimento de inteligência artificial no Windows.

Apesar de ser provável que o Windows Copilot Runtime stack se baseie nas ferramentas já existentes do Windows AI Studio, que agora foi renomeado como AI Toolkit para Visual Studio Code, ainda falta uma visão completa. De forma interessante, atualizações recentes do AI Toolkit (pós Build 2024) introduziram suporte para ajuste e desenvolvimento de modelos Linux x64 e Arm64. Isso indica um potencial rápido lançamento de um conjunto abrangente de ferramentas de desenvolvimento de IA e para futuras melhorias do AI Toolkit para Visual Studio.

Uma funcionalidade crucial do AI Toolkit, fundamental para a utilização dos modelos Windows Copilot Runtime, é o seu ambiente de testes, que possibilita a experimentação com os modelos antes de implementá-los nos seus próprios Copilots. Esse recurso é projetado para lidar com modelos de linguagem menores, como o Phi, ou com modelos PyTorch de código aberto da Hugging Face, e, portanto, irá aproveitar as novidades do sistema operacional no lançamento do Windows 24H2 e do hardware NPU nos PCs Copilot+.

Vamos explorar mais informações com a introdução do Windows App SDK em junho e o lançamento do primeiro hardware Copilot+ PC. A Microsoft está focada em fornecer uma plataforma que integra a inteligência artificial ao Windows, facilitando a incorporação de recursos de IA em aplicativos de desktop de forma segura e privada, respeitando o controle dos usuários. Além disso, esse desenvolvimento também pode auxiliar a Microsoft a controlar o orçamento de energia e resfriamento do Azure.

Artigos relacionados

Leave a Reply

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

Back to top button