Inscreva-se no feed

À medida que a inteligência artificial (IA) continua a evoluir, sua influência se estende por todos os setores, transformando operações e aprimorando processos de tomada de decisão. Neste momento, acredito que a maioria de nós pode imaginar que, em um futuro próximo, a IA fará parte do dia a dia de um desenvolvedor de software tanto quanto fará parte da vida de um fazendeiro. Para concretizar essa visão nessa escala, é preciso democratizar a evolução das tecnologias de IA para criar um ecossistema que ofereça oportunidades para colaborações abertas. Já tentamos isso antes e o desenvolvimento de software open source é um exemplo bem-sucedido que prova que é possível fazer isso. Desenvolver software em um ecossistema open source é a nova norma hoje em dia, e não seria exagero se pudéssemos dizer o mesmo sobre o desenvolvimento de IA. Além disso, na minha opinião, o impacto da democratização da IA ​​será muito maior do que o impacto do desenvolvimento de software baseado em open source.

Dado que a tecnologia é aplicável a um amplo espectro de domínios, aumentá-la para cada domínio individual e entregá-la ao amplo espectro da base de usuários se tornará um desafio crítico. A adoção mais ampla da IA ​​neste nível exige um esforço coletivo em larga escala. Embora essa tarefa pareça um empreendimento enorme, acredito que o desafio não se restrinja a reunir pessoas para contribuir, mas mais fornecer ferramentas simples e consumíveis para minimizar a barreira de entrada para contribuição.

InstructLab é um esforço marcante na democratização da tecnologia de IA. É uma plataforma que tem o poder de permitir que usuários com qualquer ou nenhuma habilidade relacionada à IA contribuam e criem uma visão de IA personalizada que atenda às suas necessidades específicas. Este é o primeiro passo de uma longa jornada, mas estou otimista de que ele evoluirá como uma ferramenta imensamente útil para usuários com vários níveis de habilidades necessárias para adotar a tecnologia de IA em sua vida cotidiana.

Hoje, para alavancar os benefícios da IA ​​e dos grandes modelos de linguagem (LLMs), é preciso ciência de dados e expertise em desenvolvimento de software, limitando assim a adoção mais ampla da tecnologia e seu potencial ganho comercial. Sob a suposição de que os usuários precisam ter um entendimento mínimo da tecnologia de IA para alavancá-la para seu domínio de trabalho, eles precisarão responder às seguintes perguntas ao começarem sua jornada de IA:

  • Como posso interagir com modelos existentes e estabelecer um ambiente para permitir esta interação?
  • O modelo tem a capacidade ou conhecimento que o usuário está procurando?
  • Como posso contribuir com uma capacidade de domínio específica ou conhecimento para o modelo?
  • Como eu posso alimentar documentos específicos para o domínio para ajudar o modelo a formular melhores respostas, tais como inserir documentos financeiros da companhia para gerar melhores respostas às suas questões relacionadas?
  • Como posso verificar que o modelo vai fornecer respostas mais precisas para as mesmas perguntas após o treinamento?

Responder a cada uma dessas perguntas individuais pode levar a uma discussão tecnológica na qual o usuário normal pode não se sentir motivado a se envolver. Por exemplo, estou bastante confiante de que um especialista não-tecnológico não gostaria de se aprofundar na configuração de drivers gráficos na distribuição Linux. Isso levanta a necessidade de criar uma abstração de alto nível, simples e consumível que expresse a intenção dos usuários e também seja fácil de seguir sem se aprofundar nos detalhes da tecnologia. Além disso, precisa garantir que possa ser traduzido para um conjunto de instruções para executar por meio dos complexos componentes de IA de backend usados ​​para construir e ajustar modelos.

Como argumentei acima, a eficácia e a adoção da IA ​​não são determinadas somente pela sofisticação de seus algoritmos ou pelo poder de suas capacidades de processamento de dados; as abstrações do usuário, como a interface do usuário (UI), desempenham um papel igualmente fundamental na determinação do sucesso da IA. O campo de inserção de texto habilitado para processamento de linguagem natural (NLP) do ChatGPT foi tão crítico quanto sua infraestrutura de IA de backend que treina o modelo LLM. A UI habilitada para NPL serve como ponte entre usuários humanos e sistemas complexos de IA, promovendo compreensão, interação e confiança. Sem uma UI intuitiva e acessível, mesmo o sistema de IA mais poderoso pode deixar de ser compreendido pelos usuários, levando à subutilização ou ceticismo.

A UI do InstructLab foi criada para abordar os requisitos de UI mencionados acima no contexto do projeto InstructLab. A jornada da UI do InstructLab começou com a intenção de construir uma UI eficaz com a ajuda da contribuição e feedback da comunidade open source que pode ajudar a otimizar o potencial do InstructLab e da IA ​​e impulsionar uma ampla adoção.Um grupo de engenheiros de rede e plataforma dentro do Escritório do CTO da Red Hat, sem nenhuma experiência anterior em design de UI, pensou que eles eram os melhores candidatos para resolver esse desafio, porque o objetivo principal era criar uma abstração que não fosse influenciada pela tecnologia de IA em si, mas pela perspectiva de como pessoas leigas entendem a IA ​​como uma tecnologia. O resultado esperado é uma UI simples que seja intuitiva para usuários humanos, mas que esconda a complexidade do sistema de IA de backend.

O InstructLab como plataforma aborda a maioria das questões listadas acima. Uma vez que o software da plataforma é instalado e configurado em uma máquina com uma unidade de processamento gráfico (GPU), ele permite que os usuários baixem qualquer modelo existente e o hospedem localmente para conversar com ele. Se o modelo não tiver habilidade ou conhecimento, ele fornece uma estrutura de árvore de taxonomia onde os usuários podem contribuir com sua habilidade ou conhecimento em um formato YAML que adere ao esquema de taxonomia. Uma vez que a contribuição está sendo feita, a plataforma fornece uma função para treinar o modelo na habilidade ou conhecimento recém-contribuído. Quando o modelo é treinado com as novas contribuições, ele pode ser hospedado novamente para interação para verificar as novas respostas.

Isso pode soar como uma boa descrição de alto nível do trabalho do InstructLab para um engenheiro de software com conhecimento básico de IA, mas para um fazendeiro que quer inserir dados agrícolas em um modelo de IA, pode parecer intimidador. Embora a declaração do problema seja bem clara — treinar um modelo de IA com conhecimento do usuário — as ferramentas que podem ser alavancadas para resolver esse problema são limitadas, especificamente se a solução precisa atender a um amplo espectro de base de usuários. Considerando esse requisito, a UI do InstructLab assumiu a suposição mínima de que o usuário sabe como executar um navegador e preencher as caixas de entrada básicas ou fazer upload de arquivos por meio de caixas simples de arrastar e soltar.

O próximo desafio foi traduzir a intenção do usuário em uma interface simples e consumível. A primeira pergunta óbvia foi: como o usuário pode verificar se o modelo existente conhece a habilidade ou o conhecimento que o usuário deseja contribuir? Um chatbot baseado no navegador é provavelmente uma interface intuitiva, simples e consagrada que pode ser fornecida aos usuários para interagir com o modelo. A UI do InstructLab implementou o chatbot básico para interagir com diferentes modelos. Os usuários podem selecionar o modelo padrão fornecido e interagir com ele.

Os usuários também podem adicionar seus próprios modelos hospedados à lista se quiserem interagir com ele, embora seja necessário que o modelo seja hospedado em uma máquina que seja acessível por meio da URL ou de um endereço IP. A interface mostrada abaixo pode definitivamente ser melhorada, e os membros da comunidade estão atualmente fazendo um brainstorming sobre como simplificar a interface para implementar qualquer modelo e conversar com ele, sem a necessidade de saber nenhuma das informações solicitadas no formulário.

Se o modelo existente não fornecer a resposta correta ou de boa qualidade para as perguntas, o usuário gostaria de melhorar o modelo fazendo uma contribuição de habilidade ou conhecimento. Conforme mencionado acima, a plataforma InstructLab fornece as funcionalidades para treinar o modelo. Ele exige que os usuários enviem a contribuição em um formato YAML que obedeça a um esquema específico. Usuários não desenvolvedores podem não entender alguns dos atributos definidos no esquema ou mesmo escrever o conhecimento no formato YAML. Abstrair esses atributos complexos de esquema e remover a necessidade de escrever documentos YAML é o primeiro grande desafio que a UI do InstructLab aborda. Para resolver isso, a UI do InstructLab fornece um formulário web muito simples e intuitivo que o usuário precisa preencher com as informações que conhece e entende.

A imagem abaixo mostra o formulário de conhecimento que o usuário pode preencher com todos os dados de conhecimento, incluindo o breve resumo do conhecimento e os exemplos iniciais que ele deseja alimentar o modelo para treinamento. O exemplo inicial inclui um contexto e um conjunto de pares de perguntas e respostas com base no contexto fornecido.

Uma vez que um usuário contribui com um conjunto de habilidades e conhecimento, as próximas perguntas são obviamente:

 

  • Como o modelo pode ser treinado com essas contribuições?
  • Como os usuários podem interagir com o modelo treinado?

Atualmente, ele requer que o usuário configure a plataforma InstructLab em uma máquina (somente CPU ou GPU) para treinar o modelo. Os membros da comunidade de UI do InstructLab estão trabalhando ativamente para habilitar recursos que acionam essas próximas etapas por meio da própria UI, sem a necessidade de nenhuma configuração manual específica da plataforma.

A seguir, apresentamos um vislumbre dos recursos do projeto InstructLab que estão em andamento para permitir que o usuário execute o fluxo de trabalho de treinamento de ponta a ponta, da contribuição ao treinamento, por meio da UI:

  • Fornecer uma interface para acionar o treinamento do modelo nas contribuições do usuário por meio da UI. Pode ser tão simples quanto clicar em um botão para acionar o treinamento.
  • Melhorar os formulários de envio de conhecimento onde os usuários podem simplesmente carregar o documento de conhecimento e a UI fornecerá a lista de contextos que os usuários podem aceitar ou rejeitar. Uma vez que o contexto é aceito, a UI fornecerá uma lista de pares de perguntas e respostas gerados automaticamente para seleção ao usuário. Isso simplificará a experiência do usuário para contribuição de conhecimento e reduzirá significativamente o tempo total necessário para enviar a contribuição de conhecimento.
  • Fornecer uma interface de usuário para permitir que os usuários façam RAG (geração aumentada de recuperação) sem a complexidade associada à RAG.

Este blog discute a UI no contexto da contribuição do usuário para um modelo open source para melhorar o modelo com várias habilidades e conhecimentos. No entanto, as empresas também podem aproveitar esta plataforma para replicar internamente o processo de treinamento do modelo da comunidade para treinar o modelo em suas próprias contribuições de habilidades e conhecimentos proprietários. Mesmo dentro do escopo de uma empresa, os desafios que exigem uma UI simples e intuitiva existem, porque as empresas também têm um amplo espectro de usuários, desde desenvolvedores de IA até equipes de vendas e marketing.

O sucesso da IA ​​depende de mais do que apenas seus algoritmos. Ela requer uma UI bem pensada e bem executada que capacite os usuários, democratize a tecnologia e suporte integração perfeita em fluxos de trabalho diários. A UI do InstructLab é um esforço da comunidade que está explorando e experimentando UIs para atender a essas necessidades da plataforma.

Para se envolver com a UI do InstructLab, visite nosso GitHub. Para explorar a atual UI do InstructLab e usá-la para contribuir com o InstructLab, visite o site da UI do InstructLab. Saiba mais sobre como navegar pelo InstructLab e como a UI do InstructLab pode ajudar os usuários a contribuir com o InstructLab.


Sobre os autores

Anil is part of the Network Team at the Office of CTO, RedHat. He has been doing research, design and development of software networking products for more than 18 years. Anil's expertise spans across Software-Defined Networking (SDN), Data Center Networking, Network Virtualization, Cloud Networking and application of AI in networking. He is a passionate contributor to open-source communities, actively engaging with projects such as OpenDaylight, OpenStack, CNCF projects and more recently the InstructLab Initiative. Over the past decade, he has held various leadership roles in open-source projects, including project maintainer, project chair, technical oversight committee member, and community-elected board member.

Anil is a frequent speaker at international research conferences, industry summits, and local meetups, sharing insights and innovations in networking technologies. His research contributions are available here. Committed to advancing disruptive networking technologies and application of AI in networking space, Anil believes in the power of open-source collaboration to drive innovation.

Read full bio

Ryan Cook is the platform and Enterprise AI lead within the Emerging Technologies group. Ryan has been at Red Hat since 2012 doing everything from Jenkins to building distributed systems. 

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegue por canal

automation icon

Automação

Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes

AI icon

Inteligência artificial

Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente

open hybrid cloud icon

Nuvem híbrida aberta

Veja como construímos um futuro mais flexível com a nuvem híbrida

security icon

Segurança

Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias

edge icon

Edge computing

Saiba quais são as atualizações nas plataformas que simplificam as operações na borda

Infrastructure icon

Infraestrutura

Saiba o que há de mais recente na plataforma Linux empresarial líder mundial

application development icon

Aplicações

Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações

Original series icon

Programas originais

Veja as histórias divertidas de criadores e líderes em tecnologia empresarial