O que significa 'IA de código aberto', afinal?

A luta entre software de código aberto e software proprietário é bem compreendida. Mas as tensões permeando círculos de software há décadas se misturaram ao espaço emergente de inteligência artificial, com controvérsia em perseguição quente.

O New York Times publicou recentemente uma avaliação efusiva do CEO do Meta, Mark Zuckerberg, notando como sua adoção de 'IA de código aberto' o tornou popular mais uma vez no Vale do Silício. O problema, porém, é que os modelos de linguagem grandes da marca Llama do Meta não são realmente de código aberto.

Ou será que são?

Por maioria das estimativas, não são. Mas destaca como a noção de 'IA de código aberto' só vai gerar mais debates nos anos vindouros. Isso é algo que a Iniciativa de Código Aberto (OSI) está tentando abordar, liderada pelo diretor executivo Stefano Maffulli (foto acima), que tem trabalhado no problema há mais de dois anos através de um esforço global abrangendo conferências, workshops, painéis, webinars, relatórios e muito mais.

IA não é código de software

Créditos da Imagem: Westend61 via Getty

A OSI tem sido guardiã da Definição de Código Aberto (OSD) há mais de um quarto de século, estabelecendo como o termo 'código aberto' pode, ou deve, ser aplicado ao software. Uma licença que atenda a essa definição pode legitimamente ser considerada 'código aberto', embora reconheça um espectro de licenças que variam de extremamente permissivas a não tão permissivas.

Mas transpor convenções de licenciamento e nomes legados do software para a IA é problemático. Joseph Jacks, evangelista de código aberto e fundador da empresa de capital de risco OSS Capital, vai tão longe a ponto de dizer que não há 'IA de código aberto', observando que 'o código aberto foi inventado explicitamente para código-fonte de software'.

Em contraste, 'pesos de rede neural' (NNWs) - um termo usado no mundo da inteligência artificial para descrever os parâmetros ou coeficientes pelos quais a rede aprende durante o processo de treinamento - não são de forma alguma comparáveis ao software de maneira significativa.

Os pesos da rede neural não são código-fonte de software; eles são ilegíveis por humanos, nem são depuráveis, 'Jacks observa. Além disso, os direitos fundamentais do código-fonte aberto também não se traduzem em NNWs de forma congruente.

Isso levou Jacks e a colega da OSS Capital Heather Meeker a criar sua própria definição em torno do conceito de 'pesos abertos'.

Então, antes mesmo de chegarmos a uma definição significativa de 'IA de código aberto', já podemos ver algumas das tensões inerentes em tentar chegar lá. Como podemos concordar com uma definição se não podemos concordar que o 'algo' que estamos definindo existe?

Maffulli, por valioso que seja, concorda.

'O ponto é correto', disse ao TechCrunch. 'Um dos primeiros debates que tivemos foi se chamar de IA de código aberto, mas todos já estavam usando o termo'.

Isso espelha alguns dos desafios no amplo espectro da IA, onde debates abundam sobre se o que estamos chamando de 'IA' hoje realmente é IA ou apenas sistemas potentes ensinados a identificar padrões entre vastas extensões de dados. Mas os detratores estão em sua maioria resignados ao fato de que a nomenclatura 'IA' está aqui, e não adianta lutar contra isso.

Meta análise

Créditos da Imagem: Larysa Amosova via Getty

Fundada em 1998, a OSI é uma corporação de benefício público sem fins lucrativos que trabalha em uma miríade de atividades relacionadas ao código aberto em torno de advocacia, educação e sua razão de ser principal: a Definição de Código Aberto. Hoje, a organização depende de patrocínios para financiamento, com membros tão ilustres como Amazon, Google, Microsoft, Cisco, Intel, Salesforce e Meta.

O envolvimento do Meta com a OSI é particularmente notável agora, pois diz respeito à noção de 'IA de código aberto'. Apesar do Meta pendurar seu chapéu de IA de código aberto no cabide, a empresa tem restrições notáveis em vigor sobre como seus modelos Llama podem ser usados: Claro, eles podem ser usados gratuitamente para pesquisas e casos de uso comerciais, mas os desenvolvedores de aplicativos com mais de 700 milhões de usuários mensais devem solicitar uma licença especial do Meta, que será concedida puramente a seu critério.

Simplificando, os colegas de Big Tech do Meta podem assobiar se quiserem participar.

A linguagem do Meta em torno de seus LLMs é um tanto maleável. Embora a empresa tenha chamado seu modelo Llama 2 de código aberto, com a chegada do Llama 3 em abril, ela recuou um pouco da terminologia, usando frases como 'disponível abertamente' e 'acessível abertamente' em vez disso. Mas em alguns lugares, ainda se refere ao modelo como 'código aberto'.

'Todos os outros envolvidos na conversa concordam perfeitamente que o Llama em si não pode ser considerado código aberto', disse Maffulli. 'Pessoas com quem falei que trabalham no Meta, eles sabem que é um pouco exagero'.

Além disso, pode-se argumentar que há um conflito de interesses aqui: uma empresa que mostrou desejo de se aproveitar da marca de código aberto também fornece financiamento aos guardiões da 'definição'?

Esta é uma das razões pelas quais a OSI está tentando diversificar sua receita de financiamento, recentemente garantindo uma bolsa da Fundação Sloan, que está ajudando a financiar seu esforço global de múltiplos stakeholders para alcançar a Definição de IA de Código Aberto. O TechCrunch pode revelar que esta bolsa equivale a cerca de $250.000, e Maffulli está esperançoso de que isso possa alterar a ótica em torno de sua dependência de financiamento corporativo.

'Uma das coisas que a bolsa da Sloan deixa ainda mais clara: poderíamos dizer adeus ao dinheiro do Meta a qualquer momento', disse Maffulli. 'Poderíamos fazer isso mesmo antes desta Bolsa Sloan, porque sei que vamos receber doações de outros. E o Meta sabe muito bem disso. Eles não estão interferindo em nada disso [processo], nem está a Microsoft, nem o GitHub ou a Amazon ou o Google - eles absolutamente sabem que não podem interferir, porque a estrutura da organização não permite isso.'

Definição de trabalho de IA de código aberto

Créditos da Imagem: Aleksei Morozov / Getty Images

O rascunho atual da Definição de IA de Código Aberto está na versão 0.0.8, constituindo três partes principais: o 'preâmbulo', que estabelece o âmbito do documento; a Definição de IA de Código Aberto em si; e uma lista de verificação que percorre os componentes necessários para um sistema de IA compatível com o código aberto.

Segundo o rascunho atual, um sistema de IA de Código Aberto deve conceder liberdades para usar o sistema para qualquer finalidade sem solicitar permissão; permitir a outros estudar como o sistema funciona e inspecionar seus componentes; e modificar e compartilhar o sistema para qualquer finalidade.

Mas um dos maiores desafios tem girado em torno dos dados - isto é, um sistema de IA pode ser classificado como 'código aberto' se a empresa não disponibilizou o conjunto de dados de treinamento para que outros possam investigar? De acordo com Maffulli, é mais importante saber de onde vieram os dados e como um desenvolvedor rotulou, deduplicou e filtrou os dados. E também, ter acesso ao código que foi usado para montar o conjunto de dados de suas várias fontes.

'É muito melhor conhecer essa informação do que ter apenas o conjunto de dados sem o restante', disse Maffulli.

Embora ter acesso ao conjunto de dados completo seja bom (a OSI torna isso um componente 'opcional'), Maffulli diz que não é possível ou prático em muitos casos. Isso pode ser porque há informações confidenciais ou protegidas por direitos autorais contidas no conjunto de dados que o desenvolvedor não tem permissão para redistribuir. Além disso, existem técnicas para treinar modelos de aprendizado de máquina nas quais os dados em si não são realmente compartilhados com o sistema, usando técnicas como aprendizado federado, privacidade diferencial e criptografia homomórfica.

E isso destaca perfeitamente as diferenças fundamentais entre 'software de código aberto' e 'IA de código aberto': As intenções podem ser semelhantes, mas não são comparáveis de forma direta e essa disparidade é o que a OSI está tentando capturar em sua definição.

No software, o código-fonte e o código binário são duas visualizações do mesmo artefato: eles refletem o mesmo programa em formas diferentes. Mas os conjuntos de dados de treinamento e os modelos treinados subseqüentes são coisas distintas: você pode pegar o mesmo conjunto de dados e não necessariamente ser capaz de recriar o mesmo modelo consistentemente.

'Há uma variedade de lógica estatística e randômica que acontece durante o treinamento que significa que não pode torná-lo replicável da mesma forma que o software', acrescentou Maffulli.

Então, um sistema de IA de código aberto deve ser fácil de replicar, com instruções claras. E é aí que entra em jogo a faceta de lista de verificação da Definição de IA de Código Aberto, que se baseia em um artigo acadêmico publicado recentemente chamado 'O Modelo Framework de Transparência: Promovendo Completeness e Transparência para Reprodutibilidade, Transparência e Usabilidade em Inteligência Artificial.'

Este artigo propõe o Modelo Framework de Transparência (MOF), um sistema de classificação que classifica modelos de aprendizado de máquina 'com base em sua completude e transparência'. O MOF exige que componentes específicos do desenvolvimento do modelo de IA sejam 'incluídos e lançados sob licenças abertas apropriadas', incluindo metodologias de treinamento e detalhes sobre os parâmetros do modelo.

Condição estável

Stefano Maffulli apresentando na cúpula de membros da Digital Public Goods Alliance (DPGA) em Addis Abeba.
Créditos da Imagem: OSI

A OSI está chamando o lançamento oficial da definição de 'versão estável', assim como uma empresa fará com um aplicativo que passou por extensos testes e depuração antes da estreia. A OSI está propositadamente não chamando de 'lançamento final' porque partes dela provavelmente evoluirão.

'Não podemos realmente esperar que esta definição dure 26 anos como a Definição de Código Aberto', disse Maffulli. 'Não espero que a parte superior da definição - como 'o que é um sistema de IA?' - mude muito. Mas as partes nas quais nos referimos na lista de verificação, aquelas listas de componentes dependem da tecnologia? Amanhã, quem sabe como a tecnologia parecerá.'

A versão estável da Definição de IA de Código Aberto deve ser aprovada pelo Conselho na conferência All Things Open no final de outubro, com a OSI embarcando em uma turnê global nos meses intermediários cobrindo cinco continentes, buscando mais 'diversas contribuições' sobre como a 'IA de código aberto' será definida daqui para frente. Mas quaisquer mudanças finais provavelmente serão pouco mais do que 'ajustes pequenos' aqui e ali.

'Esta é a reta final', disse Maffulli. 'Chegamos a uma versão completa de recurso da definição; temos todos os elementos de que precisamos. Agora temos uma lista de verificação, então estamos verificando se não há surpresas lá; não há sistemas que devem ser incluídos ou excluídos.'