A luta entre software de código aberto e software proprietário é bem compreendida. Mas as tensões que permeiam os círculos de software há décadas foram transferidas para o espaço da inteligência artificial, em parte porque ninguém consegue concordar sobre o que “código aberto” realmente significa no contexto da IA.
O New York Times recentemente publicou uma avaliação entusiasmada do CEO da Meta, Mark Zuckerberg, observando como sua adoção de “IA de código aberto” o tornou popular mais uma vez no Vale do Silício. Segundo a maioria das estimativas, no entanto, os grandes modelos de linguagem da marca Llama da Meta não são realmente de código aberto, o que destaca o cerne do debate.
É esse desafio que a Open Source Initiative (OSI) está tentando resolver, liderado pelo diretor executivo Stefano Maffulli (foto acima), por meio de conferências, workshops, painéis, webinars, relatórios e muito mais.
IA não é código de software
O OSI tem sido um administrador do 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 esta definição pode ser legitimamente considerada “código aberto”, embora reconheça um espectro de licenças variando de extremamente permissivo a não tão permissivo.
Mas transpor convenções legadas de licenciamento e nomenclatura de software para IA é problemática. José Jacksevangelista de código aberto e fundador da empresa VC Capital OSSchega a dizer que existe “não existe IA de código aberto”, observando que “o código aberto foi inventado explicitamente para o código-fonte do software”. Além disso, “pesos de redes neurais” (NNWs) — um termo usado no mundo da inteligência artificial para descrever os parâmetros ou coeficientes através dos quais a rede aprende durante o processo de treinamento — não são de forma significativa comparáveis ao software.
“Os pesos líquidos neurais não são código-fonte de software; eles são ilegíveis pelos humanos, [and they are not] depurável”, observa Jacks. “Além disso, os direitos fundamentais do código aberto também não se traduzem nos NNWs de forma congruente.”
Essas inconsistências no ano passado levaram Jacks e o colega da OSS Capital Heather Meeker para criar sua própria definição de espécie, em torno do conceito de “pesos abertos”. E Maffulli, pelo que vale, concorda com eles. “A questão está correta”, disse ele ao TechCrunch. “Um dos debates iniciais que tivemos foi se deveríamos chamá-la de IA de código aberto, mas todo mundo já estava usando o termo.”
Fundada em 1998, a OSI é uma corporação de utilidade pública sem fins lucrativos que trabalha em uma infinidade de atividades relacionadas ao código aberto em torno de defesa de direitos, educação e sua principal razão de ser: a definição de código aberto. Hoje, a organização depende de patrocínios para financiamento, com membros conceituados como Amazon, Google, Microsoft, Cisco, Intel, Salesforce e Meta.
O envolvimento da Meta com o OSI é particularmente notável neste momento no que se refere à noção de “IA de código aberto”. Apesar do Meta pendurar seu chapéu de IA no peg de código abertoa empresa tem restrições notáveis em relação a como seus modelos Llama podem ser usados: claro, eles podem ser usados gratuitamente para pesquisa e casos de uso comercial, mas os desenvolvedores de aplicativos com mais de 700 milhões de usuários mensais devem solicitar uma licença especial da Meta, que ele concederá puramente a seu próprio critério.
A linguagem da Meta em torno de seus LLMs é um tanto maleável. Embora a empresa tenha chamado seu Modelo Llama 2 de código abertocom a chegada do Llama 3 em abril, recuou um pouco da terminologia, usando frases como “disponível abertamente” e “acessível abertamente”. Mas em alguns lugares, é ainda se refere o modelo como “código aberto”.
“Todos os outros envolvidos na conversa concordam perfeitamente que o próprio Llama não pode ser considerado de código aberto”, disse Maffulli. “As pessoas com quem conversei e que trabalham na Meta sabem que é um pouco exagerado.”
Além disso, alguns podem argumentar que há um conflito de interesses aqui: uma empresa que demonstrou o desejo de aproveitar a marca do código aberto também fornece financiamento aos administradores da “definição”?
Esta é uma das razões pelas quais o OSI está a tentar diversificar o seu financiamento, garantindo recentemente uma subvenção do Fundação Sloan, que está ajudando a financiar seu esforço global multilateral para alcançar a definição de IA de código aberto. O TechCrunch pode revelar que esse subsídio equivale a cerca de US$ 250.000, e Maffulli está esperançoso de que isso possa alterar a ótica em torno de sua dependência de financiamento corporativo.
“Essa é uma das coisas que a doação do Sloan deixa ainda mais clara: poderíamos dizer adeus ao dinheiro da Meta a qualquer momento”, disse Maffulli. “Poderíamos fazer isso antes mesmo deste Sloan Grant, porque sei que receberemos doações de outras pessoas. E Meta sabe disso muito bem. Eles não estão interferindo em nada disso [process]nem a Microsoft, nem o GitHub, nem a Amazon, nem o Google — eles sabem absolutamente que não podem interferir, porque a estrutura da organização não permite isso.”
Definição funcional de IA de código aberto
O rascunho atual da definição de IA de código aberto está em versão 0.0.8, constituindo três partes principais: o “preâmbulo”, que define a missão do documento; a própria definição de IA de código aberto; e uma lista de verificação que percorre os componentes necessários para um sistema de IA compatível com código aberto.
De acordo com o rascunho atual, um sistema de IA de código aberto deve conceder liberdade para usar o sistema para qualquer finalidade sem solicitar permissão; permitir que outros estudem como o sistema funciona e inspecionem os seus componentes; e modificar e compartilhar o sistema para qualquer finalidade.
Mas um dos maiores desafios tem sido 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 usá-lo? Segundo Maffulli, é mais importante saber de onde vieram os dados e como um desenvolvedor rotulou, desduplicou e filtrou os dados. E também, ter acesso ao código que foi utilizado para montar o conjunto de dados a partir de suas diversas fontes.
“É muito melhor conhecer essas informações do que ter o conjunto de dados simples, sem o resto”, disse Maffulli.
Embora fosse bom ter acesso ao conjunto de dados completo (o OSI torna este um componente “opcional”), Maffulli diz que não é possível ou prático em muitos casos. Isso pode ocorrer 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 aprendizagem automática em que os dados em si não são realmente partilhados com o sistema, utilizando técnicas como aprendizagem federada, privacidade diferencial e encriptação 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, e essa disparidade é o que o OSI está tentando capturar em seu definição.
No software, o código-fonte e o código binário são duas visões do mesmo artefato: eles refletem o mesmo programa em formas diferentes. Mas os conjuntos de dados de treinamento e os modelos treinados subsequentes são coisas distintas: você pode usar o mesmo conjunto de dados e não será necessariamente capaz de recriar o mesmo modelo de forma consistente.
“Há uma variedade de lógicas estatísticas e aleatórias que acontecem durante o treinamento, o que significa que ele não pode torná-lo replicável da mesma forma que o software”, acrescentou Maffulli.
Portanto, um sistema de IA de código aberto deve ser fácil de replicar, com instruções claras. E é aqui que entra em jogo a faceta da lista de verificação da definição de IA de código aberto, que se baseia em um artigo acadêmico publicado recentemente chamado “A estrutura de abertura do modelo: promovendo integridade e abertura para reprodutibilidade, transparência e usabilidade em inteligência artificial”.
Este artigo propõe o Model Openness Framework (MOF), um sistema de classificação que classifica modelos de aprendizado de máquina “com base em sua integridade e abertura”. O MF 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 formação e detalhes sobre os parâmetros do modelo.
Condição estável
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 do horário nobre. O OSI propositalmente não o chama de “versão final” porque partes dele 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 a parte superior da definição – como ‘o que é um sistema de IA?’ – mudar muito. Mas as peças a que nos referimos no checklist, essas listas de componentes dependem de tecnologia? Amanhã, quem sabe como será a tecnologia.”
Espera-se que a definição estável de IA de código aberto seja carimbada pelo Conselho no Conferência Todas as Coisas Abertas no final de outubro, com o OSI embarcando em um roadshow global nos meses seguintes, abrangendo cinco continentes, buscando mais “contribuições diversas” sobre como a “IA de código aberto” será definida no futuro. Mas quaisquer alterações finais provavelmente serão pouco mais do que “pequenos ajustes” aqui e ali.
“Esta é a reta final”, disse Maffulli. “Chegamos a uma versão completa da definição; temos todos os elementos que precisamos. Agora temos uma lista de verificação, por isso estamos verificando se não há surpresas nela; não há sistemas que devam ser incluídos ou excluídos.”
Link do Autor