top of page
Foto do escritorLipie Souza

LangSmith - Como saber o que se passa na linha de "raciocínio" de um LLM visando melhorar o seu Fine Tunning?

A arte de customizar um LLM para um determinado contexto é um processo quase artesanal, de tentativa e erro e que a princípio não parece complexo, você vai lá e entende qual modelo base melhor se adequa ao problema a ser resolvido, por exemplo, você pode precisar de um modelo com raciocínio lógico mais apurado, ou até mesmo de um modelo com maior capacidade de generalização. Depois você volta a pensar qual é o melhor formato para aprimorar seu treinamento via RAG, define qual é a estrutura dos dados a serem consumidos, aprimora o prompt de consumo desses dados, dentre outras “mágicas”. Com o tempo, na tentativa de resolver uma solução de negócio, você vai aprendendo que são muitas as variáveis a serem “tunadas” e muitas vezes você não sabe como uma alteração impacta em como o modelo processa informações de uma forma global, é difícil estabelecer correlações de causa e efeito nessas customizações.


Para resolver este problema, surgem algumas ferramentas que permitem você entender qual foi a “árvore de raciocínio” realizada para que o modelo chegasse em determinada resposta, por exemplo, se precisou consumir alguma informação proveniente de base especializada, se se sim, de qual base vetorial e qual foi o blob (pedacinho de informação vetorial), ou até mesmo qual API externa foi acionada, tudo isso em tempo real. Este ferramental ajuda demais no fine tuning! E para quem já está acostumado com debugging de aplicações tradicionais, o processo de aprendizado é bem tranquilo.



Existem algumas ferramentas surgindo, dentre as opções disponíveis hoje, temos o LangSmith que é do mesmo framework OpenSource do LangChain, e que portanto é o meu preferido, por fazer parte do ecossistema mais importante de ferramentas open source para modelos de linguagem do Vale do Silício, e temos também o LangFuse e o Lunary. PS: O LangSmith não leva este nome a toa, para quem assistiu Matrix, sabe do que estou falando. A diferença é que aqui, o agente revela as informações sobre a matrix. Não tenta protegê-la. Brincadeiras à parte, estas ferramentas nos ajudam a debugar uma aplicação de IA Generativa como se fosse um software tradicional. Elas trazem dados de sub-chamadas, tempos de latências, custos das chamadas e  tracings/tags de eventos que você porventura criou na aplicação de IA Generativa também. É excelente também para monitorar sua aplicação em produção, seja na detecção de erros, seja em estatísticas de uso.


Agora, pera-lá, qual é o real valor destas ferramentas?


Há muitas coisas sobre LLMs que não são intuitivas quando você as observa de uma perspectiva numérica, então poder ver visualizações através de uma interface de usuário será útil (por exemplo, como a temperatura afeta a distribuição de saída do modelo). Pessoalmente, acho que ter uma interface de usuário bem elaborada pode realmente acelerar a prototipagem e trabalho, já que fazer tudo com código pode ser muitas vezes complicado. Além disso, poder visualizar o processo pelo qual o sistema LLM está passando e uma cadeia complexa de comandos pode ser super útil para entender por que você está obtendo o resultado que está. À medida que você constrói fluxos de trabalho mais complexos, pode ser difícil entender exatamente quais consultas estão passando por diferentes fluxos, então uma interface simples para ver isso e registrar os dados históricos será um valor agregado desde o primeiro dia.

Quem está competindo com LangSmith? 

Embora não sejam concorrentes diretos até agora, faz muito sentido para organizações como a Vercel (que têm o SDK de IA) construir recursos semelhantes em sua plataforma, dado o desejo de ser o lugar para os criadores de aplicativos de GenAI. Eu imagino que outras plataformas construam ferramentas semelhantes nos próximos 3-6 meses, dado que o mercado para essas ferramentas tem muito potencial.

Embora o LangSmith não pareça se aprofundar em Embeddings/Vector Store ainda, parece haver uma grande interseção natural entre essa funcionalidade e muitos dos provedores de Embeddings/Vector Store que estão se diferenciando com a interface de usuário inclusa. Ecossistemas como o LlamaIndex se beneficiariam desse tipo de desenvolvimento de produto, mas não está claro se eles podem se manter diferenciados ao longo do tempo, pois o espaço do problema parece ser muito semelhante. Apesar disso, é bom ver que o LangSmith ainda deseja se conectar com o maior número possível de ferramentas. 

O que é necessário para se diferenciar ao longo do tempo?

Estou animado com o LangSmith, por isso estou dedicando tempo para escrever isso. Acho que ele resolve vários problemas reais que desenvolvedores e criadores enfrentam ao tentar entrar em produção. A verdadeira questão a longo prazo ainda permanece: "Há o suficiente aqui para construir um negócio defensável a longo prazo?".

Eu não tenho uma bola de cristal (surpreendentemente), mas minha mentalidade geral hoje é que muitos dos recursos atuais do LangSmith são básicos para os desenvolvedores. A maioria dos provedores de LLM quererá construir recursos semelhantes em suas plataformas ao longo do tempo. Isso não significa que o LangSmith não possa ter sucesso, no entanto. Veja o Terraform da HashiCorp, por exemplo, ele é a cola que se encaixa entre todos os provedores de nuvem e resolve um problema grande o suficiente para ser uma empresa de capital aberto. Mas o LangSmith precisará continuar a expandir seu escopo para ser competitivo com vários provedores e outros ecossistemas de ferramentas, e já possui uma vantagem natural! Está sendo criada pelos mesmos desenvolvedores da LangChain que hoje é a biblioteca mais utilizada para criação e implantação de aplicações de IA Generativa, portanto as perspectivas são boas.!



Em conclusão, a personalização de LLMs é uma arte complexa que envolve muitos desafios e variáveis. Ferramentas como LangSmith, LangFuse e Lunary surgem como soluções essenciais para facilitar esse processo, oferecendo interfaces de usuário intuitivas que permitem uma melhor visualização e entendimento dos modelos. Com o suporte para debugging e monitoramento em tempo real, essas ferramentas não apenas simplificam o desenvolvimento e a produção, mas também oferecem um valor significativo desde o início, ajudando desenvolvedores a otimizar seus fluxos de trabalho e resolver problemas de forma mais eficiente.

O futuro dessas ferramentas parece promissor, especialmente com a integração e a colaboração em ecossistemas de código aberto como o LangChain. Apesar da concorrência potencial e das semelhanças funcionais com outras soluções emergentes, LangSmith e seus concorrentes têm a oportunidade de se estabelecer como líderes nesse espaço ao continuarem a inovar e expandir suas capacidades. Com uma base sólida e uma comunidade crescente, essas ferramentas estão bem posicionadas para ajudar a definir o futuro do desenvolvimento de LLMs e IA generativa. 🚀


52 visualizações0 comentário

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page