Desenvolvedores e inteligência artificial
Publicado em Developer
desenvolvedores ia
Nos últimos dias tive duas experiências que me fizeram refletir um pouco sobre todo o hype sobre inteligência articial que estamos tendo atualmente. Primeiro um pouco de contexto sobre esse hype, que pode ser causado por causa de pessoas famosas no mainstream como de algumas mais desconhecidas e com certeza não menos importantes.
Pessoas como George Dyson, que faz algumas argumentações interessantes como
"... a evolução de código de computador está em movimento muito mais rápido do que a evolução de código biológico"
"... Barricelli desejava uma definição muito mais ampla sobre a vida. Na década de 1950, estávamos apenas começando a viajar para o espaço e, talvez, descobrir uma resposta para saber se poderia haver vida e inteligência fora do nosso planeta. Ele estava preocupado em talvez não reconhecer a vida ou inteligência quando a virmos, porque as nossas definições do que é preciso para ser vivo ou inteligente eram muito limitadas"
"... não sabemos como iríamos lidar com formas extraterrestres da vida se as encontrássemos. Como na lei, na ética tem de ser desenvolvido um processo de cada vez. Você não pode simplesmente fazer uma grande lei que cobre tudo, assim como você não pode fazer uma declaração ética grande que permanece verdadeira através do espaço e do tempo."
"... a computação está mudando muito mais rapidamente do que a nossa capacidade de pensar sobre ela, nós ainda estamos presos em um modelo de computação dos anos 50."
" ... encontrar respostas é fácil, a parte difícil é criar um mapa que encontre a resposta específica para a pergunta certa."
"... nós agora vivemos em um mundo onde a informação é potencialmente ilimitada. A informação é barata, mas o significado é caro. Onde está o significado? Somente os seres humanos podem dizer-lhe onde está. Estamos extraindo significado de nossas mentes e nossas próprias vidas."
"... o perigo não é que as máquinas estão avançando. O perigo é que estamos a perdendo a nossa inteligência se contarmos com computadores em vez de nossas próprias mentes. Em um nível fundamental, temos de nos perguntar: precisamos da inteligência humana? E o que acontece se deixarmos de exercê-la?"
"... os seres humanos, que estão limitados pela evolução biológica lenta, não poderiam competir e seriam substituídos"
"... o desenvolvimento da inteligência artificial completa pode significar o fim da raça humana"
"... inteligência artificial é a nossa maior ameaça existencial"
"... os seres humanos orientam o futuro não porque somos mais os fortes ou os mais rápidos, mas porque somos os mais inteligentes, quando as máquinas se tornarem mais inteligentes do que os seres humanos, estaremos entregando-lhes o volante."
" ... dentro de algumas décadas, a inteligência da máquina irá superar a inteligência humana"
Skynet feelings à parte, é uma discussão bem interessante que com certeza somente o tempo irá nos dar as respostas finais (e talvez, talvez, fatais), mas por enquanto eu vejo de uma maneira muito interessante de um ponto de vista do Princípio Copernicano, que mais uma vez incomoda por nos tirar do centro do universo, do algo do nosso ego como se fossemos a coisa mais linda que já aconteceu no universo durante toda a sua existência. De repente até podemos ser, mas não temos a noção disso e de como nos comportar diante de toda uma suposta grandeza, fazendo e repetindo os mesmos erros durante eras e eras. Acho muito interessante as opiniões de Barricelli ainda mais em uma época em que estamos começando a teorizar sobre vida em planetas e luas que antigamente a menor suposição de comportarem vida era motivo de piada. Nos vemos sob uma ótica orientada pelo ego, onde não nos damos conta que as mesmas ferramentas que são utilizadas para avaliar vida em outros mundos, se utilizadas desses outros mundos apontadas para nós, iriam indicar que temos condições de somente 82% de chance de abrigar vida. Felizmente, como disse, isso está mudando, e aparentemente a passos bem largos assim como a tecnologia evolui a questão da inteligência articial.
Mas tentando localizar tudo isso nas duas experiências que mencionei. A primeira foi uma conversa que estava tendo com um conhecido meu que cuida de algumas marcas da minha empresa, onde ele comentou que um outro cliente dele desenvolveu um algoritmo de imagem para máquinas de exames em hospitais, onde ele consegue, de maneira rápida e precisa, identificar certos pontos em uma imagem que podem indicar uma determinada doença e sua evolução. Alguns algoritmos desses já existem por aí, mas segundo o meu conhecido o do cliente dele era bem melhor e ele havia requerido a patente do mesmo, inclusive com algumas propostas milionárias de fabricantes desses tipos de equipamentos para o utilizarem em suas máquinas.
Fiquei pensando: uma das coisas que as inteligências artificiais com certeza vão fazer bem melhor do que nós é produzir esses tipos de algoritmos que hoje em dia deixa as pessoas milionárias. Alimentando uma dessas inteligências com uma massa enorme de dados, com imagens mostrando resultados positivos e a evolução dos mesmos, com certeza elas vão encontrar um pattern bem mais preciso e rápido nisso tudo, deixando esse tipo de função já obsoleta, ao mesmo tempo transferindo os recursos ganhos para quem, em uma primeiro momento, tiver condições de ter uma IA dessas funcionando e recursos computacionais, logísticos e de tempo para alimentar ela com as informações adequadas. Em um segundo momento, com certeza após isso tudo ser popularizado e o poder computacional dos computadores pessoais aumentarem ainda mais, poderia ir para a mão da população em geral. Alguém aí quer brincar com o TensorFlow?
E o que isso poderia trazer como resposta de uma obsolescência nesse sentido? Será que, como sempre em uma revolução muito grande chegando rápido, pode trazer uma reação mais dura de alguns setores, como estamos vendo no caso do Uber aqui no Brasil? Ou será que vamos "dar um jeitinho", e por exemplo, utilizar alguns recursos como esses para tentar ganhar alguma vantagem pessoal, utilizando as IAs para fazer o trabalho duro para nós?
Isso me leva à segunda experiência. Essa semana, como forma de tentar dar um gás para as turmas que estão fazendo os nossos treinamentos de Ruby on Rails na Bluefish, eu resolvi me inscrever para um programa de trabalho remoto, para ver como é para passar para o pessoal que está interessado em trabalhar com Ruby on Rails e ainda (felizmente, está crescendo a demanda) não encontra mercado aqui no interior de SP. A primeira fase é uma entrevista, depois me passaram para alguns testes de algoritmos na Codility, já deixando claro que eu teria um determinado tempo para fazer os algoritmos e que seria melhor fazer o teste em um momento em que não poderia ser interrompido. Levando em conta que eu havia conseguido um período sossegado em uma semana bem corrida aqui na empresa, resolvi começar os testes. Um deles era parecido (mas tenho quase certeza que não era) com o equilibrium index, outro era o knight travails e o terceiro não me lembro bem o que era, era alguma coisa sobre representação de números negativos etc. Enquanto eu estava começando a resolver o primeiro, apareceu algo no radar, um assunto da empresa que eu realmente precisava dar atenção. Na mesma hora parei os testes para dar uma olhada no assunto, afinal, é aquele tipo de coisa que paga as contas e nesse caso em especial era uma daquelas coisas que fazem parte daqueles feelings de "bola de cristal de análise de mercado futuro", mas isso é um papo para algum outro dia (que eu consiga parar para fazer outro post, ok, tenho ficado bem longe daqui).
Enfim, fui resolver essa questão e deixei os testes sem resolver. Quando havia dado por satisfeita essa questão mais urgente, o tempo para resolver as coisas nos testes iria ser bem curto. Aí que eu chego no primeiro ponto: as soluções desses algoritmos (que alguns, convenhamos, são para quando estamos estudando ciências da computação em sua forma mais pura e nem tem tanto uso prático no dia-a-dia) são facilmente encontrados na web (seguindo os links acima encontramos vários, o Google hoje é algo como nossa IA particular em várias questões, não é mesmo?) e eu poderia ter muito bem sacaneado e feito um "copy and paste" de algum dos links encontrados (mesmo que colar o conteúdo se não me engano poderia estar desabilitado, daria para dar um jeito rapidinho nisso com o Chrome Developer Tools). Mas aí eu iria estar trapaceando, e pô, isso é feio. Como já havia gasto um certo tempo nesse processo todo, mesmo antes da primeira entrevista, resolvi não responder nada dos testes e fechar a janela, ganhando o belo score de 0,0,0, mas a consciência tranquila de não ter feito nada de errado. Aí que entra a questão da ética.
Será que, por nosso comportamento em geral egoísta, quando tivermos ferramentas de IA potentes em nossas mãos, não vamos tomar algumas decisões éticas complicadas, especialmente quando notarmos que essas mecanismos estão nos ameaçando de alguma forma, não no sentido de "exterminar a humanidade", mas de nos deixar menos importantes e necessários em alguma área delicada para nós? Será que vamos ter a noção de não utilizar esses mecanismos para trapacear da mesma forma que podemos copiar e colar resultados de testes como o descrito acima, ou como milhares de pessoas hoje em dia fazem com o seu dever de casa? E não estou falando só de nível fundamental ou médio não, eu já cheguei a receber trabalhos de pós-graduação que eram cópias exatas um do outro (inclusive, um sujeito mandou com o repositório do Git de outro, com todos os commits do primeiro!). Será que, quando nos sentirmos ameaçados de alguma forma por esse dispositivo, mesmo ele tendo desenvolvido consciência (seja lá no sentido amplo-discutível que isso possa ser), não vamos o abandonar como fazemos com cãezinhos hoje em dia ou mesmo a desligarmos mesmo ela pedindo que não, pois está consciente e não quer "morrer"? Falando em consciência, Roger Penrose, em "A Mente Nova do Rei", discute algumas questões nesse sentido sobre consciência e IA.
Citando também Yuval Harari, autor de Sapiens, que já está aqui na minha lista de leitura:
"Os seres humanos só têm duas habilidades básicas - físicas e cognitivas. Quando as máquinas nos substituiram em habilidades físicas, nos fomos para trabalhos que exigem habilidades cognitivas, se as inteligências artificiais tornarem-se melhor do que nós nisso também, não há um terceiro campo para os humanos".
"No século 19, durante a Revolução Industrial, as mudanças na tecnologia e na economia levaram ao surgimento de uma nova classe maciça de seres humanos, a classe trabalhadora urbana."
"Agora, no século 21, estamos nos aproximando de uma nova revolução industrial que vai dar surgimento a ... uma classe 'não trabalhadora', pessoas que vão ser irrelevantes para lidarem com um mundo totalmente diferente."
"Esta, talvez, vai ser a grande questão no século 21. O que fazer com milhares de milhões de seres humanos inúteis?"
Como vamos lidar, eticamente, com esses dilemas? Eu particularmente vejo um outro campo onde nós poderíamos nos destacar se continuássemos a evoluir de determinada maneira, mas não é uma coisa muito científica e acredito que demandaria muito tempo sem uma "ajudinha externa", então eu deixo esse ponto para discussões futuras.
Alguns argumentam que nós, como desenvolvedores no futuro, vamos é treinar as inteligências artificiais:
Código é lógico. Código é hackeável. Código é destino. Estes são os princípios centrais (e profecias auto-realizáveis) da vida na era digital. Como o software tem comido o mundo, parafraseando o capitalista de risco Marc Andreessen, temos rodeado-nos com máquinas que convertem nossas ações, pensamentos e emoções em dados - material bruto para exércitos de engenheiros empunhando código para manipulação
Neste mundo, a capacidade de escrever código tornou-se não apenas uma habilidade desejável, mas uma língua que concede status para aqueles que a falam. Eles têm acesso ao que em uma era mais mecânica teria sido chamado as alavancas do poder. "Se você controlar o código, você controla o mundo", escreveu o futurista Marc Goodman.
Paul Ford foi um pouco mais cauteloso: "Se os programadores não fazem funcionar o mundo, eles fazem funcionar as coisas que fazem o mundo funcionar."
Com aprendizagem de máquina, programadores não programam computadores com instruções. Eles os treinam. Se você quer ensinar uma rede neural para reconhecer um gato, por exemplo, você não diz a ela para procurar bigodes, orelhas, pele e olhos. Você simplesmente mostra milhares e milhares de fotos de gatos, e, eventualmente, ele aprende. Se ela continua confundindo raposas como gatos, você não reescreve o código. Você simplesmente continua a treinando.
As implicações de uma linguagem de máquina não analisável não são apenas filosóficas. Nas duas últimas décadas, aprender a programar foi um dos caminhos mais seguros para um emprego seguro. Mas um mundo governado por máquinas de aprendizagem neural profunda em rede requer uma força de trabalho diferente. Os analistas já começaram a se preocupar com o impacto da AI no mercado de trabalho, enquanto as máquinas deixam antigas habilidades irrelevantes. Os programadores poderão em breve ter um gostinho de como isso é.
São questões complexas, mas já começam, como nas duas situações apresentadas, a ter reflexo hoje em dia, tanto nos meios que envolvem a criação de determinadas obras e meios de sustento como nas questões éticas, e por que não, também humanas envolvidas, em uma escala de tentarmos nos redescobrir como espécie e indivíduos, especiais ou não, e pensarmos em qual seria o nosso próximo passo evolutivo diante disso tudo.
P.S: A imagem do começo do artigo, por sinal, é do curta "Sunspring", onde uma IA real, "Benjamin" (ela que se chamou assim!) escreveu o roteiro e até a trilha sonora. Não ficou exatamente uma obra prima, mas já dá para ver em que ponto estamos com alguns recursos disponíveis.
Comentários
Comentários fechados.
Sem nenhum comentário.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300