Modelos de Dados e Operações em Ecossistemas de IA: Garantindo Conformidade com Direitos Autorais

Modelos de Dados e Operações em Ecossistemas de IA: Garantindo Conformidade com Direitos Autorais

Os modelos de IA estão se tornando cada vez mais onipresentes em nosso mundo digital, impulsionando inovações em uma ampla gama de setores. No entanto, à medida que esses modelos se tornam mais sofisticados e amplamente adotados, surge a necessidade crítica de garantir a conformidade com as leis de direitos autorais que regem o uso de dados e modelos.

Neste artigo, exploraremos uma estrutura abrangente que aborda essa questão, fornecendo uma visão detalhada sobre os principais atributos de modelos de dados, as operações-chave que podem ser executadas e como a estrutura facilita a renovação de licenças.

Modelos de Dados

Os principais atributos que a estrutura IBIS suporta podem ser amplamente agrupados da seguinte forma (ver Tabela I):

  • Atributos do conjunto de dados: Um conjunto de dados é identificado exclusivamente por um datasetId e originado de uma URL específica. Ele inclui informações sobre o proprietário dos direitos autorais, licença associada e modelos treinados nele. Além disso, a propriedade e o criador do conjunto de dados são rastreados por meio do copyrightOwnerId do CO.
  • Atributos da licença: Cada licença tem um licenseId distinto e abrange um escopo definido, normalmente um URL/URI. Inclui detalhes como propriedade de direitos autorais, assinaturas digitais de proprietários e carimbos de data/hora de validade. O identificador de tipo de licença typeId auxilia na determinação do contrato inteligente LVC aplicável para validação de licença. Além disso, ele lista os conjuntos de dados cobertos pelos termos da licença.
  • Atributos do modelo: os modelos de IA são identificados por um modelo exclusivo e associados aos proprietários. Eles utilizam conjuntos de dados para treinamento, que são listados dentro dos atributos do modelo. Os modelos retreinados referenciam uma fonte sourceModelId, e quaisquer modelos subsequentes derivados dela são listados como modelos filhos em childModelList. Essa estrutura estabelece a linhagem dos modelos e facilita o rastreamento de relacionamentos entre modelos e dados dentro dos serviços de IA.

Destacamos dois aspectos. Primeiro, o modelo de dados é extensível, permitindo que AOs e COs incorporem atributos personalizados adicionais conforme necessário. Por exemplo, uma URL de armazenamento pode ser incluído nos metadados do conjunto de dados para indicar onde o AO armazena o conjunto de dados. A licença pode incluir atributos personalizados, como data de expiração, exclusividade e outros termos e condições. Segundo, um caminho da web é empregado para delinear o escopo do que está sendo licenciado, considerando que a maioria dos modelos de IA são treinados usando dados online.

Um exemplo em execução. A Fig.6 ilustra a inter-relação lógica entre os três modelos de dados, dentro de um cenário de exemplo em que o Modelo-1 é inicialmente treinado usando três conjuntos de dados e, posteriormente, retreinado com um quarto conjunto de dados para produzir o Modelo-2. Os dois modelos são vinculados por meio do atributo sourceModelId do Modelo-2 e do childModelList do Modelo-1. Um conjunto de dados e um modelo são vinculados por meio do datasetList do modelo e do modelList do conjunto de dados. Uma licença e um conjunto de dados são vinculados por meio do datasetList da licença e do licensed do conjunto de dados.

Operações Funcionais

Esta seção delineia as operações que podem ser executadas por AOs e COs, juntamente com sua análise de complexidade de tempo. A Tabela II lista a complexidade de tempo das operações e as entidades autorizadas a executá-las. Assumimos que o registro de licença on-chain, DMR e MMR são implementados como mapas de hash em um contrato inteligente, resultando em uma complexidade de tempo de O(1) para pesquisá-los.

Obter licenças de conjunto de dados

A operação getDatasetLicense recupera a licença de copyright de um dado identificador de conjunto de dados datasetId. Inicialmente, ela pesquisa o mapa de hash DMR usando o conjunto de dados datasetId como a chave, o que incorre em uma complexidade de tempo de O(1). Dependendo se o registro DMR retornado contém um lisenceId, esta operação recupera a licença por licenseId ou pesquisa uma licença relevante no registro de licenças da seguinte forma:

  • Recuperar a licença com licenseId: Esta operação consulta o mapa hash do registro de licença usando o licenseId como a chave. Como a complexidade de tempo resultante é O(1), a complexidade de tempo geral permanece a mesma.
  • Pesquisar uma licença relevante: Esta operação extrai o copyrightOwnerId do conjunto de dados e realiza uma pesquisa no registro de licenças usando copyrightOwnerId, que envolve uma complexidade de O(1). Esta pesquisa pode gerar uma lista de licenças com o mesmo copyrightOwnerId (embora com escopos diferentes). Finalmente, uma varredura é conduzida na lista de licenças para filtrar as licenças com escopos irrelevantes. Nossa estrutura opera na premissa de que os escopos de licença não se cruzam, garantindo que cada conjunto de dados corresponda a no máximo uma licença. Como é improvável que o CO tenha muitas licenças com o mesmo AO por razões práticas, pode-se supor que o tamanho desta lista seja pequeno. Consequentemente, ainda podemos supor que a complexidade de tempo geral seja O(1).

Obter licença de modelo

Dado um identificador de modelo modelId, a operação getModelLicenses recupera as licenças de seus conjuntos de dados de treinamento. Esta operação requer a execução de getDatasetLicense para cada um dos x conjuntos de dados de treinamento do modelo fornecido e seus modelos de origem upstream. Para identificar os conjuntos de dados de treinamento contribuintes, a operação funciona como um algoritmo de travessia de gráfico em um gráfico com o modelo fornecido como o nó raiz, os modelos upstream como nós intermediários e os conjuntos de dados como nós folha (conforme ilustrado na Fig. 6). A complexidade de tempo de um algoritmo básico de travessia de gráfico é O(|V| + |E|), onde V é o conjunto de vértices e E é o conjunto de arestas. Portanto, dado um gráfico com um conjunto de M modelos e D conjuntos de dados, a complexidade de tempo da travessia do gráfico é O(|D| + |M|). Como a complexidade de getDatasetLicense é O(1), a travessia do gráfico domina a complexidade de tempo geral.

Verifique a validade da licença

Dados os dados da licença e as variáveis de ambiente como entradas de transação, a operação checkLicenseValidity verifica a validade da licença. As variáveis de ambiente incluem a data atual, os locais de operação dos AOs e outras variáveis que podem potencialmente violar os termos e condições estipulados no contrato de licença.

Primeiro, precisamos localizar o contrato inteligente LVC correspondente para validar a licença. Isso pode ser feito usando outro mapa hash onde o tipo de licença typeID serve como a chave e o endereço do LVC como o valor. Consequentemente, essa operação de pesquisa pode ser realizada em tempo constante, ou seja, O(1). Em seguida, precisamos invocar o contrato LVC identificado para determinar a validade da licença. A complexidade de tempo do contrato LVC é diretamente proporcional ao número de variáveis de ambiente que precisam de validação. Abstraímos essa complexidade de tempo como O(|E|), onde E é o conjunto de variáveis de ambiente a serem validadas. Portanto, a complexidade de tempo geral é O(1) + O(|E|) = O(|E|).

Obtenha conjuntos de dados licenciados

A operação getLicensedDatasets recupera a lista de identificadores de conjunto de dados datasetIds, cada um com uma licença válida. Ela envolve a execução das operações getDatasetLicense e checkLicenseValidity para cada conjunto de dados. Dados D conjuntos de dados, a complexidade de tempo geral é O(|D| × {O(1) + O(E)} = O(|D||E|).

Obter conjuntos de dados autorizados por licença

Dado um identificador de licença licenseId, a operação getDatasetsByLicense recupera conjuntos de dados cobertos pela licença. Esta operação realiza uma busca do DMR usando o licenseId, resultando em uma complexidade de tempo de O(1).

Obtenha modelos autorizados por licença

Dado um identificador de licença licenseId, a operação getModelsByLicense recupera os metadados dos modelos cobertos pela licença. Esta operação envolve a execução de getDatasetsByLicense, seguida pela condução de uma travessia de gráfico que vai de cada conjunto de dados para os modelos treinados nele (incluindo modelos filhos indiretamente treinados nele). No pior caso, a complexidade de tempo geral é O(|D||M|).

Obter conjuntos de dados do modelo

Dado um identificador de modelo modelId, a operação getModelDatasets recupera os identificadores de seus conjuntos de dados de treinamento. Esta operação extrai o atributo datasetList do modelo fornecido e seus modelos de origem upstream. Se o modelo fornecido tiver um conjunto de M modelos upstream, a complexidade de tempo será O(|M|).

Renovação da licença

A verificação da validade da licença é uma tarefa contínua porque uma licença válida pode se tornar inválida sob certas circunstâncias (por exemplo, revogada ou expirada), exigindo que AOs e COs tomem as ações apropriadas para garantir a conformidade contínua com as leis de direitos autorais. A seguir, delineia-se como a estrutura facilita as verificações de renovação de licença e renovações.

  1. Verificação de renovação de licença: a estrutura oferece suporte a três tipos de verificações de renovação de licença (LRCs): orientadas por licença, orientadas por conjunto de dados e orientadas por modelo.

    No LRC orientado por licença, AOs ou COs conduzem uma varredura periódica do registro de licença, executando checkLicenseValidity em cada licença. Se uma licença falhar na verificação de validade, um AO pode executar a operação getModelsByLicense para reunir os identificadores de conjuntos de dados e modelos que dependem da licença inválida. Eles podem ser adicionados a uma lista negra para impedir o uso desses conjuntos de dados e modelos em treinamento futuro de novos modelos ou retenção.

    LRC orientado a conjunto de dados e orientado a modelo pode ser conduzido sob demanda antes de treinar um novo modelo. Em LRC orientado a conjunto de dados, um AO pode executar a operação getDatasetLicense seguida pela operação checkLicenseValidity para cada conjunto de dados de treinamento para identificar qualquer conjunto de dados que precise de uma renovação de licença. Em contraste, em LRC orientado a modelo, um AO pode executar a operação getModelLicenses seguida pela operação checkLicenseValidity para cada licença do modelo, determinando se o modelo precisa de uma renovação de licença.

  2. Renovação de licença: uma renovação de licença envolve adicionar uma nova licença assinada bilateralmente ao registro de licenças, em vez de atualizar os registros existentes. Isso permite que AOs e COs acessem todas as licenças históricas para comprovar a conformidade regulatória e evitar quaisquer disputas. Após uma nova licença ter sido adicionada, um AO pode executar a operação getModelsByLicense para reunir os identificadores de conjuntos de dados e modelos que dependem da licença renovada. Em seguida, os registros DMR dos conjuntos de dados são atualizados para fazer referência à nova licença. Como a lista de conjuntos de dados e modelos dependentes agora pode ser considerada elegível para treinamento, seus identificadores também são removidos da lista negra.

Operação Atomicidade

Observa-se que vários estágios (ou seja, S.1, S.3 e Renovação de Licença) envolvem a atualização de vários registros. Além de garantir integridade e imutabilidade, outra vantagem de manter DMR, registro de licença e MMR on-chain é que essas atualizações múltiplas são garantidamente atômicas. Isso ocorre porque os contratos inteligentes podem garantir a atomicidade, onde as ações incluídas em uma transação entram em vigor todas ou nenhuma delas entra em vigor. Portanto, é preciso ter cuidado durante a implementação para garantir que todas as atualizações dentro de um estágio sejam incluídas na mesma transação.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.