zkPyTorch: Criando o futuro da IA confiável com zk-SNARKs

Autor original: Jiaheng Zhang

Com o aprofundamento da inteligência artificial (IA) em áreas-chave como saúde, finanças e condução autónoma, garantir a fiabilidade, transparência e segurança do processo de inferência do aprendizado de máquina (ML) tornou-se mais importante do que nunca.

No entanto, os serviços tradicionais de aprendizado de máquina muitas vezes operam como uma "caixa preta", onde os usuários só podem ver os resultados, dificultando a verificação do processo. Esta opacidade expõe os serviços modelo ao risco:

  • O modelo foi roubado,
  • Resultados de inferência foram alterados maliciosamente,
  • Os dados dos usuários enfrentam o risco de violação de privacidade.

ZKML (aprendizado de máquina de conhecimento zero) oferece uma nova solução criptográfica para esse desafio. Baseia-se na tecnologia de provas de conhecimento zero (ZKPs), conferindo aos modelos de aprendizado de máquina a capacidade de verificação criptografada: provar que um cálculo foi executado corretamente sem revelar informações sensíveis.

Em outras palavras, ZKPs permitem que os prestadores de serviços provem aos usuários:

"Os resultados de raciocínio que você obteve foram, de fato, gerados pelo modelo que eu treinei - mas eu não irei revelar nenhum parâmetro do modelo."

Isto significa que os utilizadores podem confiar na veracidade dos resultados da inferência, enquanto a estrutura e os parâmetros do modelo (que muitas vezes são ativos de alto valor) permanecem sempre privados.

zkPyTorch

A Polyhedra Network lançou em grande estilo o zkPyTorch — um compilador revolucionário projetado especificamente para aprendizado de máquina com zero conhecimento (ZKML), com o objetivo de conectar a última milha entre os principais frameworks de IA e a tecnologia ZK.

zkPyTorch combina a poderosa capacidade de aprendizado de máquina do PyTorch com um motor de prova de conhecimento zero de ponta, permitindo que os desenvolvedores de IA construam aplicações de IA verificáveis em um ambiente familiar, sem precisar alterar seus hábitos de programação ou aprender uma nova linguagem ZK.

Este compilador pode traduzir automaticamente operações de modelo de alto nível (como convolução, multiplicação de matrizes, ReLU, softmax e mecanismos de atenção) em circuitos ZKP que podem ser verificados criptograficamente e combinar com o conjunto de otimização ZKML auto-desenvolvido da Polyhedra para comprimir e acelerar de forma inteligente os caminhos de inferência mainstream para garantir a correção do circuito e a eficiência computacional.

Infraestrutura fundamental para construir um ecossistema de IA confiável

O ecossistema de aprendizado de máquina atual enfrenta múltiplos desafios, como segurança de dados, verificabilidade computacional e transparência do modelo. Especialmente em setores críticos como saúde, finanças e condução autônoma, os modelos de IA não apenas lidam com uma grande quantidade de informações pessoais sensíveis, mas também carregam valiosos direitos de propriedade intelectual e segredos comerciais essenciais.

O aprendizado de máquina com conhecimento zero (ZKML) surgiu como um importante avanço para resolver esse impasse. Através da tecnologia de prova de conhecimento zero (ZKP), o ZKML pode realizar a verificação da integridade da inferência do modelo sem revelar os parâmetros do modelo ou os dados de entrada — preservando a privacidade e garantindo a confiança.

Mas na realidade, o desenvolvimento de ZKML muitas vezes tem um alto nível de dificuldade, exigindo um profundo conhecimento em criptografia, muito além da capacidade de um engenheiro de IA tradicional.

Esta é a missão do zkPyTorch. Ele constrói uma ponte entre o PyTorch e o motor ZKP, permitindo que os desenvolvedores construam sistemas de IA com proteção de privacidade e verificabilidade usando código familiar, sem a necessidade de reaprender uma linguagem criptográfica complexa.

Através do zkPyTorch, a Polyhedra Network está a reduzir significativamente a barreira técnica do ZKML, promovendo aplicações de IA escaláveis e confiáveis para o mainstream, reestruturando um novo paradigma de segurança e privacidade em IA.

zkPyTorch Fluxo de Trabalho

! zkPyTorch: Construindo o futuro da IA confiável com provas de conhecimento zero

Figura 1: Visão geral da arquitetura do ZKPyTorch

Como mostrado na figura 1, o zkPyTorch converte automaticamente modelos padrão do PyTorch em circuitos compatíveis com ZKP (prova de conhecimento zero) através de três módulos cuidadosamente projetados. Esses três módulos incluem: módulo de pré-processamento, módulo de quantização amigável ao conhecimento zero e módulo de otimização de circuitos.

Este processo não requer que o desenvolvedor domine nenhum circuito criptográfico ou sintaxe especializada: o desenvolvedor só precisa escrever o modelo no padrão PyTorch, e zkPyTorch pode convertê-lo em um circuito que pode ser reconhecido por um mecanismo de prova de conhecimento zero, como o Expander, para gerar a prova ZK correspondente. Este design altamente modular reduz significativamente a barreira de entrada para o desenvolvimento ZKML, tornando mais fácil para os desenvolvedores de IA criar aplicativos de aprendizado de máquina eficientes, seguros e verificáveis sem ter que mudar de idioma ou aprender criptografia.

Módulo 1: Pré-processamento de Modelos

Na primeira fase, zkPyTorch converte o modelo PyTorch em um gráfico computacional estruturado usando o Open Neural Network Exchange Format (ONNX). O ONNX é o padrão de representação intermediária mais amplamente adotado do setor para uma representação unificada de operações complexas de aprendizado de máquina. Através desta etapa de pré-processamento, o zkPyTorch pode esclarecer a estrutura do modelo, desmontar o processo de computação central e estabelecer uma base sólida para a geração subsequente de circuitos à prova de conhecimento zero.

Módulo Dois: ZKP Amigável Quantificação

O módulo de quantização é uma parte fundamental do sistema ZKML. Os modelos tradicionais de aprendizado de máquina dependem de operações de ponto flutuante, enquanto o ambiente ZKP é mais adequado para operações inteiras em campos finitos. zkPyTorch usa um esquema de quantização inteiro otimizado para campos finitos para mapear com precisão cálculos de ponto flutuante para cálculos inteiros e, ao mesmo tempo, converter operações não lineares que não são propícias ao ZKP (como ReLU e Softmax) em tabelas de pesquisa eficientes.

Esta estratégia não apenas reduziu significativamente a complexidade do circuito, mas também melhorou a verificabilidade e a eficiência operacional de todo o sistema, garantindo a precisão do modelo.

Módulo Três: Otimização de Circuitos em Camadas

zkPyTorch adota uma estratégia em múltiplos níveis na otimização de circuitos, incluindo:

  • Otimização de Batch Projetado especialmente para computação serializada, reduz significativamente a complexidade computacional e o consumo de recursos ao processar múltiplos passos de inferência de uma só vez, especialmente adequado para cenários de validação de grandes modelos de linguagem como o Transformer.
  • Aceleração da operação original Combinada com a convolução da Transformada Rápida de Fourier (FFT) e a tecnologia de mesa de pesquisa, a velocidade de execução do circuito de operações básicas, como convolução e Softmax, pode ser efetivamente melhorada, e a eficiência geral da computação é fundamentalmente melhorada.
  • Execução de circuitos em paralelo Aproveitar ao máximo as vantagens de capacidade de cálculo de múltiplos núcleos de CPU e GPU, dividindo cálculos pesados, como a multiplicação de matrizes, em várias subtarefas para execução paralela, melhorando significativamente a velocidade e a escalabilidade da geração de provas de conhecimento zero.

Discussão Técnica Profunda

Grafo Acíclico Direcionado (DAG)

zkPyTorch utiliza um grafo acíclico dirigido (DAG) para gerenciar o fluxo de cálculo em aprendizado de máquina. A estrutura do DAG é capaz de capturar sistematicamente as complexas relações de dependência do modelo, como mostrado na Figura 2, onde cada nó representa uma operação específica (como transposição de matriz, multiplicação de matriz, divisão e Softmax), e as arestas descrevem com precisão a direção do fluxo de dados entre essas operações.

Esta representação clara e estruturada não só facilita muito o processo de comissionamento, mas também facilita uma maior otimização do desempenho. A natureza livre de loops dos DAGs evita dependências cíclicas e garante a execução eficiente e controlável de sequências computacionais, o que é crítico para otimizar a geração de circuitos à prova de conhecimento zero.

Além disso, o DAG permite que o zkPyTorch processe de forma eficiente arquiteturas de modelos complexos, como o Transformer e a Rede Residual (ResNet), que geralmente apresentam fluxos de dados complexos, não lineares e com múltiplos caminhos. O design do DAG se encaixa perfeitamente nas suas necessidades computacionais, garantindo a precisão e a eficiência da inferência do modelo.

zkPyTorch: Construindo o futuro confiável da IA com provas de conhecimento zero

Figura 2: Exemplo de um modelo de aprendizado de máquina representado na forma de um gráfico acíclico direcionado (DAG)

técnica de quantificação avançada

Na zkPyTorch, a tecnologia de quantização avançada é um passo fundamental para transformar cálculos em ponto flutuante em operações inteiras adequadas para aritmética de campo finito eficiente em sistemas de prova de conhecimento zero (ZKP). O zkPyTorch utiliza um método de quantização inteira estática, projetado cuidadosamente para equilibrar a eficiência computacional e a precisão do modelo, garantindo que a geração de provas seja rápida e precisa.

Este processo de quantização envolve calibração rigorosa para determinar com precisão a escala de quantização ideal para representar efetivamente os números de vírgula flutuante e evitar transbordamentos e grande perda de precisão. Em resposta aos desafios de computação não linear exclusivos do ZKP, como o Softmax e a normalização de camadas, o zkPyTorch transforma de forma inovadora essas funções complexas em operações eficientes de pesquisa de tabelas.

Esta estratégia não só melhora muito a eficiência da geração de provas, mas também garante que os resultados de prova gerados sejam completamente consistentes com a saída do modelo de quantização de alta precisão, levando em conta o desempenho e a credibilidade, e promovendo a aplicação prática de aprendizado de máquina verificável.

Estratégias de otimização de circuitos em múltiplos níveis

zkPyTorch adota um sistema de otimização de circuitos em múltiplos níveis altamente preciso, abordando de várias dimensões para garantir o desempenho extremo da inferência de conhecimento zero em eficiência e escalabilidade:

Otimização de Processamento em Lote (Batch Processing Optimization)

Ao empacotar várias tarefas de inferência no processamento em lote, a complexidade computacional geral é significativamente reduzida, especialmente para cenários de operação sequencial em modelos de linguagem como Transformers. Como mostrado na Figura 3, o processo de inferência tradicional de modelo de linguagem grande (LLM) é executado em uma base token a token, enquanto a abordagem inovadora do zkPyTorch agrega todos os tokens de entrada e saída em um único processo de prompt para validação. Esse processo confirma que a inferência geral do LLM está correta de uma só vez, garantindo que cada token de saída seja consistente com a inferência LLM padrão.

Na inferência LLM, a correção do mecanismo de cache KV é a chave para garantir a credibilidade da saída de inferência. Se a lógica de inferência do modelo estiver incorreta, mesmo que o cache seja usado, não será possível restaurar os resultados consistentes com o processo de decodificação padrão. O zkPyTorch garante certeza verificável e integridade de cada saída em uma prova de conhecimento zero, reproduzindo com precisão esse processo.

zkPyTorch: Construindo um futuro de IA confiável com provas de conhecimento zero

Figura 3: Validação em lote calculada por Modelos de Linguagem de Grande Escala (LLMs), onde L representa o comprimento da sequência de entrada, N representa o comprimento da sequência de saída e H representa a dimensão da camada oculta do modelo.

Operações Primitivas Otimizadas

O zkPyTorch otimiza profundamente as primitivas de aprendizado de máquina subjacentes, o que melhora muito a eficiência do circuito. Por exemplo, as operações de convolução sempre foram computacionalmente intensivas, e o zkPyTorch usa um método de otimização baseado na Transformada Rápida de Fourier (FFT) para converter convoluções originalmente realizadas no domínio espacial em operações de multiplicação no domínio da frequência, o que reduz significativamente o custo computacional. Ao mesmo tempo, para funções não lineares como ReLU e softmax, o sistema adota o método de tabela de pesquisa pré-calculada, que evita o cálculo não linear hostil de ZKP e melhora muito a eficiência de operação do circuito de inferência.

Execução de Circuito Paralelo

O zkPyTorch compila automaticamente operações complexas de ML em circuitos paralelos, liberando todo o potencial de hardware de CPUs/GPUs multi-core para geração massivamente paralela. Por exemplo, ao executar a multiplicação de tensores, zkPyTorch dividirá automaticamente a tarefa de computação em várias subtarefas independentes, que serão distribuídas para várias unidades de processamento em paralelo. Esta estratégia de paralelização não só melhora significativamente o rendimento da execução do circuito, mas também permite a verificação eficiente de modelos grandes, abrindo uma nova dimensão para ZKML escalável.

Teste de desempenho abrangente: uma dupla quebra de desempenho e precisão

zkPyTorch demonstrou desempenho e utilidade prática excepcionais em vários modelos de aprendizado de máquina principais através de rigorosos testes de benchmark:

Teste do modelo VGG-16

No conjunto de dados CIFAR-10, o zkPyTorch leva apenas 6,3 segundos para gerar a prova VGG-16 para uma única imagem, e a precisão é praticamente a mesma em comparação com cálculos em ponto flutuante tradicionais. Isso marca a capacidade prática do zkML em tarefas clássicas como reconhecimento de imagem.

Teste do modelo Llama-3

Para o modelo de linguagem Llama-3 com até 8 bilhões de parâmetros, o zkPyTorch implementou uma geração de provas eficiente de aproximadamente 150 segundos por token. O mais impressionante é que seus resultados de saída mantiveram uma similaridade coseno de 99,32% em comparação com o modelo original, garantindo alta credibilidade enquanto ainda preserva a consistência semântica da saída do modelo.

zkPyTorch: Criando um futuro de IA confiável com provas de conhecimento zero

zkPyTorch: Criando um futuro confiável para a IA com provas de conhecimento zero

Tabela 1: Desempenho de várias soluções ZKP em redes neurais convolucionais e redes transformadoras

Cenários de aplicação ampla voltados para o mundo real

Serviço de Aprendizagem de Máquina Verificável (Verifiable MLaaS)

Com o valor dos modelos de aprendizado de máquina em constante ascensão, cada vez mais desenvolvedores de IA optam por implantar modelos desenvolvidos internamente na nuvem, oferecendo serviços de MLaaS (Machine-Learning-as-a-Service) ao público. No entanto, na prática, os usuários muitas vezes têm dificuldade em verificar se os resultados da inferência são verdadeiros e confiáveis; e os fornecedores de modelos também desejam proteger ativos essenciais, como a estrutura e os parâmetros do modelo, para evitar que sejam roubados ou mal utilizados.

zkPyTorch foi criado precisamente para resolver essa contradição: ele permite que os serviços de IA em nuvem tenham capacidade nativa de "verificação de conhecimento zero", tornando o nível de criptografia dos resultados de inferência verificáveis.

Como mostrado na Figura 4, os desenvolvedores podem conectar diretamente modelos grandes, como Llama-3, ao zkPyTorch para construir um sistema MLaaS confiável com recursos de prova de conhecimento zero. Ao integrar-se perfeitamente com o mecanismo ZKP subjacente, o zkPyTorch pode gerar provas automaticamente sem expor os detalhes do modelo, verificando se cada inferência foi executada corretamente, estabelecendo assim uma base de confiança interativa verdadeiramente credível para fornecedores de modelos e consumidores.

! zkPyTorch: Construindo o futuro da IA confiável com provas de conhecimento zero

Figura 4: Cenários de aplicação do zkPyTorch em serviços de aprendizagem de máquina verificáveis (Verifiable MLaaS).

A segurança na avaliação de modelos

O zkPyTorch fornece um mecanismo de avaliação de modelo de IA seguro e verificável, permitindo que as partes interessadas avaliem criticamente seus indicadores-chave de desempenho sem revelar os detalhes do modelo. Este método de avaliação de "fuga zero" estabelece um novo padrão de confiança para modelos de IA, melhorando a eficiência das transações comerciais e, ao mesmo tempo, protegendo a propriedade intelectual dos desenvolvedores. Não só aumenta a visibilidade do valor dos modelos, mas também traz maior transparência e equidade para a indústria de IA como um todo.

com a integração profunda da blockchain EXPchain

zkPyTorch integração nativa com a rede Polyhedra, blockchain EXPchain desenvolvida internamente, colaborando na construção de uma infraestrutura de IA descentralizada e confiável. Esta integração oferece um caminho altamente otimizado para chamadas de contratos inteligentes e validação na cadeia, permitindo que os resultados de inferência de IA sejam criptograficamente verificados e permanentemente registrados na blockchain.

Com a colaboração do zkPyTorch e do EXPchain, os desenvolvedores conseguem construir aplicações de IA verificáveis de ponta a ponta, desde a implantação do modelo, passando pelo cálculo de inferência até a verificação em cadeia, realizando assim um fluxo de cálculo de IA verdadeiramente transparente, confiável e auditável, fornecendo suporte de base para a próxima geração de aplicações blockchain + IA.

Roteiro Futuro e Inovação Contínua

A Polyhedra continuará a avançar na evolução do zkPyTorch, com foco nas seguintes direções:

Código aberto e construção comunitária

Liberar progressivamente os componentes centrais do zkPyTorch, estimulando a participação de desenvolvedores globais e promovendo a inovação colaborativa e a prosperidade do ecossistema no campo do aprendizado de máquina de conhecimento zero.

compatibilidade de modelos e frameworks

Ampliar o suporte a modelos e estruturas de aprendizado de máquina mainstream, aumentando ainda mais a capacidade de adaptação e a versatilidade do zkPyTorch, permitindo sua incorporação flexível em diversos fluxos de trabalho de IA.

Ferramentas de desenvolvimento e SDK de construção

Lançar uma cadeia de ferramentas de desenvolvimento abrangente e um pacote de ferramentas de desenvolvimento de software (SDK), simplificar o processo de integração e acelerar a implementação e aplicação do zkPyTorch em cenários de negócios reais.

Conclusão

zkPyTorch é um marco importante rumo ao futuro confiável da IA. Ao integrar profundamente o maduro framework PyTorch com a tecnologia de prova de conhecimento zero de ponta, o zkPyTorch não apenas melhora significativamente a segurança e a verificabilidade do aprendizado de máquina, mas também redefine a forma como as aplicações de IA são implantadas e as fronteiras de confiança.

A Polyhedra continuará a aprofundar a inovação no campo da "IA segura", promovendo o aprendizado de máquina em áreas como proteção de privacidade, verificabilidade de resultados e conformidade de modelos, ajudando a construir sistemas inteligentes transparentes, confiáveis e escaláveis.

Por favor, acompanhe os nossos últimos desenvolvimentos que estamos a publicar continuamente e testemunhe como o zkPyTorch está a moldar o futuro da era da segurança e da inteligência.

Link original

Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)