Os problemas que atraem as pessoas mais inteligentes

Apr 02 2023
A montanha-russa que é a IA generativa continua funcionando e, para aqueles de nós sentados na platéia, é mais do que divertido. Por um breve momento esta semana, eu estava determinado a entrar em ação e contribuir com algo pequeno para a notável comunidade que cresceu em torno do LLaMA da Meta AI, escrevendo ligações python para o projeto mais popular.
Posso viver com a ironia de ter obtido a imagem perfeita para este artigo de um site aleatório de controle de pragas.

A montanha-russa que é a IA generativa continua funcionando e, para aqueles de nós sentados na platéia, é mais do que divertido.

Por um breve momento esta semana, eu estava determinado a entrar em ação e contribuir com algo pequeno para a notável comunidade que cresceu em torno do LLaMA da Meta AI , escrevendo ligações python para o projeto mais popular.

O llama.cpp de Georgi Gerganov parece ser o sucesso mais significativo no mar de atividades em torno dos infames pesos, continuando onde garfos e outros projetos inspirados parecem ter caído de lado. Eu prometo a você, a leitura diária de problemas, discussões, PRs e commits vale o esforço.

Nos últimos dois dias, um PR mais significativo de Justine Tunney permitiu que o llama.cpp carregasse pesos ggml com cerca de cinquenta por cento menos RAM. As mudanças geraram controvérsia , mas a resposta foi geralmente positiva . Eu acompanhei a discussão quando o mmapping dos pesos foi apresentado pela primeira vez há cerca de três semanas , porque essa mudança me permitiria executar modelos maiores e mais capazes em minha humilde máquina.

Aqui está um rápido resumo das alterações feitas. Para executar a inferência (ou seja, “usar”) um modelo de ML, os pesos do modelo terão que ser carregados na RAM, para que possam ser acessados ​​rapidamente pelo processo em execução. O que isso significa é que, para executar a inferência em um modelo de 4 GB, um dispositivo terá que ter pelo menos essa quantidade de RAM de sobra para manter o modelo na memória.

O mapeamento de memória permite que o processo receba apenas o suficiente dos grandes pesos de modelo necessários para executar a inferência, delegando a E/S real ao sistema operacional. O que isso significa na prática é que, pelo menos no carregamento inicial, um trabalho de inferência (você pedindo ao llama.cpp para fazer algo) não precisará carregar n gigabytes de pesos antes mesmo de iniciar a tarefa.

Antes que a notícia da atualização fosse enviada ao Hacker News , eu só conhecia o jart como apenas um dos muitos colaboradores que se reuniram para o projeto inspirador de Gerganov para tornar a acessibilidade do LLM uma coisa. Ontem à noite, descobri quem ela era , e foi aí que percebi.

Parafraseando Paul Graham, “os desafios mais ambiciosos atraem as pessoas mais inteligentes” . Você vê esse sentimento em alguns de seus ensaios, mas é uma experiência e tanto testemunhar isso se desenrolar diante de você.

(O mesmo vale para todos os tipos de espaços problemáticos: se for fraudulento, atrairá o tipo de pessoa que jogaria em áreas morais cinzentas para lucro pessoal; se for burocrático-autoritário, sim, você sabe quem encontrará lá !)

Claro, minha referência a Graham neste contexto usa “inteligente” em um sentido bastante limitado, e desafios complexos são multifacetados, convidando todos os tipos de pessoas a jogar dentro dos muitos nichos que eles fornecem. No entanto, podemos concordar que os tipos de desafios/oportunidades/problemas que as pessoas são atraídos nos dizem muito sobre quem são.

Tornar a inferência mais barata e eficiente talvez seja a reação mais importante à primavera da IA ​​que estamos enfrentando atualmente. Em um próximo texto, vou delinear o que penso estar em jogo, mas para resumir aqui, democratizar os meios de produção digital é a diferença entre um futuro autoritário distópico e uma humanidade empoderada (e reconhecidamente caótica) .

Tal missão não exige desleixo. A Inteligência Artificial é difícil. Modelos de linguagem grandes são mais do que autocorreção glorificada. Eles são difíceis. Torná-los eficientes é difícil. Também não é do interesse imediato de grandes corporações e laboratórios de pesquisa bem dotados que podem pagar vários milhares de dólares em computação, armazenamento e implantação em massa.

Incentivos orientam a ação. LLMs mais eficientes farão OpenAI, MetaAI, Google e similares, economizando milhões no processo e permitindo que sejam ainda mais ambiciosos. Mas chegamos a um ponto em nossa jornada em direção a uma IA ainda mais geral, em que as corporações têm uma vantagem significativa sobre a concorrência e o restante da comunidade aberta. Eles também estão preocupados com os custos dessa inovação para a humanidade. Isso não os fará parar. Só a vontade de vencer.

O que isso significa é que, uma vez que o treinamento e a inferência sejam baratos o suficiente para seus orçamentos, eles podem não estar inclinados a ir além, especialmente se os recursos precisarem ser puxados para realmente tornar sua tecnologia lucrativa. Quantos engenheiros do Google você acha que serão solicitados a trabalhar para fazer um LLM rodar em um iPhone antigo quando, você sabe, você poderia apenas consumir uma API do Google Cloud?

Cabe aos pequenos descobrir isso. E com apostas tão altas, titãs como jart, Kevin Kwok, Gerganov e centenas de entusiastas inteligentes se empenharam para fazer isso acontecer.

Acompanhar pode ser difícil em um espaço tão empolgante. Com esse ritmo de desenvolvimento, seguir as notícias provavelmente é mais difícil do que realmente contribuir com código, já que as melhores mentes estão construindo ativamente as bases de um futuro de IA mais aberto.

Acompanhar o progresso, no entanto, é sua própria emoção.

Se você gostou disso, me avise.