O desenvolvimento de software de código aberto geralmente segue os princípios de reciprocidade e produção entre pares, promovendo a melhoria de módulos de produção, canais de comunicação e comunidades interativas. Exemplos típicos incluem Linux e Mozilla Firefox.
Software de código fechado (proprietário), devido a razões comerciais ou outras, não divulga o código-fonte, fornecendo apenas programas legíveis por computador (como formato binário). O código-fonte é mantido e controlado apenas pelos desenvolvedores. Exemplos típicos incluem Windows e Android.
O código aberto é um modelo de desenvolvimento de software baseado em abertura, compartilhamento e colaboração, incentivando a participação coletiva no desenvolvimento e aprimoramento do software, impulsionando o progresso tecnológico contínuo e a ampla aplicação.
Software que opta pelo desenvolvimento de código fechado tem mais probabilidade de se tornar um produto estável e focado, mas geralmente requer pagamento e, se houver erros ou falta de funcionalidades, só é possível esperar que o desenvolvedor resolva o problema.
Quanto ao que é um modelo de grande escala de código aberto, a indústria não chegou a um consenso claro como no caso do software de código aberto.
O código aberto de grandes modelos de linguagem e o código aberto de software são semelhantes em conceito, ambos baseados em abertura, compartilhamento e colaboração, incentivando a participação comunitária no desenvolvimento e aprimoramento, promovendo o progresso tecnológico e aumentando a transparência.
No entanto, há diferenças significativas na implementação e requisitos.
O código aberto de software é principalmente voltado para aplicativos e ferramentas, com menores requisitos de recursos, enquanto o código aberto de grandes modelos de linguagem envolve grandes quantidades de recursos computacionais e dados de alta qualidade, e pode ter mais restrições de uso. Portanto, embora ambos visem promover inovação e disseminação tecnológica, o código aberto de grandes modelos de linguagem enfrenta maior complexidade, e as formas de contribuição da comunidade também são diferentes.
Li Yanhong também enfatizou a diferença entre os dois, afirmando que o código aberto de modelos não é equivalente ao código aberto de software: "O código aberto de modelos só permite acesso a um conjunto de parâmetros, ainda é necessário fazer SFT (fine-tuning supervisionado) e alinhamento de segurança. Mesmo com o código-fonte correspondente, não se sabe que proporção e que tipo de dados foram usados para treinar esses parâmetros, impossibilitando a colaboração efetiva e o desenvolvimento iterativo baseado no trabalho de outros."
O código aberto completo de grandes modelos de linguagem inclui tornar transparente todo o processo de desenvolvimento do modelo, desde a coleta de dados, design do modelo, treinamento até a implantação. Essa abordagem não apenas inclui a divulgação do conjunto de dados e a abertura da arquitetura do modelo, mas também abrange o compartilhamento do código do processo de treinamento e a publicação dos pesos do modelo pré-treinado.
No último ano, o número de grandes modelos de linguagem aumentou significativamente, muitos alegando ser de código aberto, mas quão abertos eles realmente são?
Andreas Liesenfeld, pesquisador de inteligência artificial da Universidade Radboud na Holanda, e Mark Dingemanse, linguista computacional, também descobriram que, embora o termo "código aberto" seja amplamente usado, muitos modelos são, no máximo, "pesos abertos", com a maioria dos outros aspectos da construção do sistema ocultos.
Por exemplo, empresas de tecnologia como Meta e Microsoft, embora promovam seus grandes modelos de linguagem como "código aberto", não divulgam informações importantes relacionadas à tecnologia subjacente. Surpreendentemente, empresas e instituições de IA com menos recursos tiveram um desempenho mais louvável.
A equipe de pesquisa analisou uma série de projetos populares de grandes modelos de linguagem "de código aberto", avaliando seu grau real de abertura em vários aspectos, desde código, dados, pesos, API até documentação. O estudo também incluiu o ChatGPT da OpenAI como ponto de referência de código fechado, destacando a situação real dos projetos "de código aberto".
✔ para aberto, ~ para parcialmente aberto, X para fechado
Os resultados mostram diferenças significativas entre os projetos. De acordo com este ranking, o OLMo do Allen Institute for AI é o modelo de código aberto mais aberto, seguido pelo BloomZ do BigScience, ambos desenvolvidos por organizações sem fins lucrativos.
O artigo afirma que, embora o Llama da Meta e o Gemma do Google DeepMind se declarem de código aberto ou abertos, na realidade, apenas os pesos são abertos, permitindo que pesquisadores externos acessem e usem o modelo pré-treinado, mas não podem inspecionar ou personalizar o modelo, nem sabem como o modelo foi ajustado para tarefas específicas.
Recentemente, o lançamento do LLaMA 3 e do Mistral Large 2 atraiu ampla atenção. Em termos de abertura do modelo, o LLaMA 3 divulgou os pesos do modelo, permitindo que os usuários acessem e usem esses pesos pré-treinados e ajustados por instruções. Além disso, a Meta forneceu algum código básico para pré-treinamento e ajuste fino por instruções do modelo, mas não forneceu o código de treinamento completo, e os dados de treinamento do LLaMA 3 também não foram divulgados. No entanto, desta vez a Meta trouxe um relatório técnico de 93 páginas sobre o LLaMA 3.1 405B.
A situação do Mistral Large 2 é semelhante, mantendo um alto grau de abertura em termos de pesos do modelo e API, mas com menor grau de abertura em termos de código completo e dados de treinamento, adotando uma estratégia que equilibra interesses comerciais e abertura, permitindo uso para pesquisa, mas com algumas restrições para uso comercial.
O Google afirma que a empresa é "muito precisa na linguagem" ao descrever o modelo, referindo-se ao Gemma como aberto, não de código aberto. "Os conceitos existentes de código aberto nem sempre se aplicam diretamente aos sistemas de IA", dizem eles.
Um contexto importante para este estudo é a Lei de IA da União Europeia, que, quando entrar em vigor, aplicará regulamentações mais flexíveis aos modelos classificados como abertos, tornando a definição de código aberto potencialmente mais importante.
Os pesquisadores afirmam que a única maneira de inovar é ajustando o modelo, o que requer informações suficientes para construir sua própria versão. Além disso, os modelos devem estar sujeitos a escrutínio; por exemplo, se um modelo foi treinado em um grande número de amostras de teste, passar em um teste específico pode não ser uma conquista significativa.
Eles também ficaram satisfeitos com o surgimento de tantas alternativas de código aberto. O ChatGPT é tão popular que é fácil esquecer que não se sabe nada sobre seus dados de treinamento ou outros métodos nos bastidores. Isso é uma desvantagem para aqueles que desejam entender melhor o modelo ou construir aplicativos baseados nele, e as alternativas de código aberto tornam possível a pesquisa fundamental crucial.
O Siren Xing também compilou estatísticas sobre a situação de código aberto de alguns grandes modelos de linguagem domésticos:
Na tabela, podemos ver que, semelhante à situação no exterior, os modelos com código aberto mais completo são basicamente liderados por instituições de pesquisa. Isso se deve principalmente ao fato de que o objetivo das instituições de pesquisa é promover o progresso da pesquisa científica e o desenvolvimento da indústria, tendendo a abrir seus resultados de pesquisa.
As empresas comerciais, por outro lado, usam suas vantagens de recursos para desenvolver modelos mais poderosos e obtêm vantagens competitivas através de estratégias apropriadas de código aberto.
Desde o GPT-3 até o BERT, o código aberto trouxe um impulso importante para o ecossistema de grandes modelos.
Ao tornar públicas suas arquiteturas e métodos de treinamento, pesquisadores e desenvolvedores podem explorar e melhorar ainda mais com base nesses fundamentos, gerando mais tecnologias e aplicações de ponta.
O surgimento de grandes modelos de código aberto reduziu significativamente a barreira de entrada para o desenvolvimento. Desenvolvedores e pequenas e médias empresas podem utilizar essas tecnologias avançadas de IA sem ter que construir modelos do zero, economizando assim uma grande quantidade de tempo e recursos. Isso permitiu que mais projetos e produtos inovadores fossem rapidamente implementados, impulsionando o desenvolvimento de toda a indústria. Os desenvolvedores compartilham ativamente métodos de otimização e casos de aplicação em plataformas de código aberto, promovendo também a maturidade tecnológica e a aplicação.
Para a educação e pesquisa científica, os grandes modelos de linguagem de código aberto fornecem recursos valiosos. Estudantes e desenvolvedores iniciantes podem dominar rapidamente tecnologias avançadas de IA estudando e usando esses modelos, encurtando a curva de aprendizado e injetando sangue novo na indústria.
No entanto, a abertura dos grandes modelos de linguagem não é uma característica binária simples. A arquitetura do sistema baseada em Transformer e seu processo de treinamento são extremamente complexos, difíceis de classificar simplesmente como abertos ou fechados. Os grandes modelos de código aberto não são uma simples etiqueta, mas mais como um espectro, variando de totalmente aberto a parcialmente aberto em diferentes graus.
O código aberto de grandes modelos de linguagem é um trabalho complexo e detalhado, e nem todos os modelos precisam ser de código aberto.
Não se deve exigir código aberto completo de forma "moralmente coercitiva", pois isso envolve muitas considerações técnicas, de recursos e de segurança, e é necessário equilibrar abertura e segurança, inovação e responsabilidade. Assim como em outros aspectos do campo tecnológico, apenas formas diversificadas de contribuição podem construir um ecossistema tecnológico mais rico.
A relação entre modelos de código aberto e fechado pode ser comparada à coexistência de software de código aberto e fechado na indústria de software.
Os modelos de código aberto promovem a ampla disseminação e inovação tecnológica, enquanto os modelos de código fechado fornecem soluções mais profissionais e seguras em áreas específicas. Ambos se complementam e impulsionam conjuntamente o desenvolvimento da tecnologia de inteligência artificial.
No futuro, provavelmente veremos o surgimento de mais modos híbridos, como código parcialmente aberto ou código aberto condicional, para equilibrar o compartilhamento tecnológico e os interesses comerciais.
Seja de código aberto ou fechado, o importante é garantir a segurança, confiabilidade e ética dos modelos. Isso requer esforços conjuntos da indústria, academia e órgãos reguladores para estabelecer padrões e normas apropriados, garantindo o desenvolvimento saudável da tecnologia de IA.
Em geral, os grandes modelos de linguagem de código aberto e fechado têm suas próprias vantagens e limitações. Os modelos de código aberto promovem a ampla disseminação e inovação tecnológica, enquanto os modelos de código fechado fornecem soluções mais profissionais e seguras em áreas específicas. A coexistência e competição entre os dois impulsionarão o desenvolvimento de toda a indústria de IA, trazendo mais escolhas e melhores experiências para os usuários.
No futuro, provavelmente veremos o surgimento de mais modos híbridos, como código parcialmente aberto ou código aberto condicional, para equilibrar o compartilhamento tecnológico e os interesses comerciais. Independentemente do modo adotado, garantir a segurança, confiabilidade e ética dos modelos é crucial, o que requer esforços conjuntos da indústria, academia e órgãos reguladores.