O uso de modelos de linguagem grandes em dispositivos é um tópico cada vez mais popular, e o vídeo apresenta uma discussão aprofundada sobre como utilizar esses modelos em aplicações móveis. O vídeo se concentra em Gemma, um modelo de predição de token de próxima geração que faz parte do projeto MediaPipe, e como integrá-lo com Flutter, um framework de desenvolvimento de aplicativos cross-platform.

Conversas com Gemma e Limitações

O vídeo apresenta conversas entre humanos e Gemma, destacando as capacidades do modelo em responder a perguntas e fornecer informações. No entanto, também são abordadas as limitações de Gemma, que não é capaz de “aprender” no sentido clássico, mas sim treinada em dados. Além disso, o vídeo apresenta Ellen, um companheiro de bolso que pode responder a perguntas e fornecer informações sem uma conexão de internet.

Aspectos Técnicos

O vídeo também se aprofunda nos aspectos técnicos do uso de modelos de linguagem em dispositivos. São discutidos parâmetros como “top K” e “top P”, que controlam o número de palavras possíveis consideradas pelo modelo e o equilíbrio entre previsibilidade e aleatoriedade. Além disso, o vídeo apresenta Gemini, uma versão on-device do modelo Gemini que pode ser executada em um dispositivo sem precisar de computação em nuvem.

Desbloqueando o Poder dos Modelos de Linguagem

Para utilizar modelos de linguagem em aplicativos móveis, é necessário baixar e adicionar o modelo ao diretório do aplicativo, escolhendo a variante certa do modelo (CPU ou GPU) com base nas necessidades do aplicativo. O pacote MediaPipe é uma biblioteca para modelos de linguagem que pode ser utilizada com Flutter, mas atualmente tem 18 problemas abertos, principalmente solicitações de recursos.

O vídeo também apresenta o pacote MediaPipe Gen AI, que está em sua infância e pode ser contribuído no GitHub. Qualquer modelo compatível com MediaPipe pode ser utilizado em Flutter. A engine e a geração de resposta são inicializadas descartando qualquer engine existente e recriando-a com as configurações desejadas.

Um Olhar mais Profundo nos Internos do Modelo

O vídeo apresenta um exemplo de um aplicativo de chatbot que utiliza o modelo de linguagem Gemma, onde o aplicativo envia um histórico de conversa formatado para Gemma, e Gemma responde com um sumário breve do contexto da conversa. Além disso, o vídeo se aprofunda nos internos do modelo, explicando como ele utiliza classes e construtores, incluindo construtores CPU e GPU. O SDK MediaPipe é um binário C++ que precisa ser inicializado e empaquetado no aplicativo.

O Motor de Inferência de LLM

Finalmente, o vídeo explica como o motor de inferência de LLM (Large Language Model) funciona, utilizando isolates e código nativo para lidar com tarefas de longa duração e manter uma interface de usuário responsiva. A inicialização do modelo LLM é movida para um isolate para evitar bloquear a thread da interface de usuário, e a comunicação entre o isolate e a thread da interface de usuário é feita utilizando ports de envio e recebimento.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *