1. Antes de começar
Um dos maiores avanços de machine learning nos últimos tempos são os modelos de linguagem grandes (LLMs). Eles podem ser usados para gerar texto, traduzir idiomas e responder a perguntas de maneira abrangente e informativa. Os LLMs, assim como o LaMDA e o PaLM do Google, são treinados com grandes quantidades de dados de texto, o que permite que eles aprendam os padrões estatísticos e as relações entre palavras e frases. Com isso, eles podem gerar textos semelhantes aos escritos por humanos e traduzir idiomas com alto grau de precisão.
Os LLMs são muito grandes em termos de armazenamento e geralmente consomem muita capacidade de computação para serem executados, o que significa que costumam ser implantados na nuvem e são bastante desafiadores para machine learning no dispositivo (ODML, na sigla em inglês) devido à capacidade computacional limitada em dispositivos móveis. No entanto, é possível executar LLMs menores (o GPT-2, por exemplo) em um dispositivo Android moderno e ainda ter resultados impressionantes.
Neste codelab, você aprenderá a criar um app com tecnologia de LLM usando:
- KerasNLP para carregar um LLM pré-treinado (GPT-2)
- KerasNLP para ajustar um LLM (GPT-2)
- TensorFlow Lite para converter, otimizar e implantar o LLM no Android
Pré-requisitos
- Conhecimento intermediário de Keras e TensorFlow Lite.
- Conhecimento básico de desenvolvimento para Android.
O que você vai aprender
- Como usar o KerasNLP para carregar um LLM pré-treinado e fazer ajustes.
- Como quantificar e converter um LLM para o TensorFlow Lite.
- Como executar inferência no modelo convertido do TensorFlow Lite.
O que será necessário
- Acesso ao Colab.
- A versão mais recente do Android Studio.
- Um dispositivo Android moderno com mais de 4 GB de RAM.
2. Começar a configuração
Para fazer o download do código para este codelab, faça o seguinte:
- Navegue até o repositório do GitHub (link em inglês) deste codelab.
- Clique em Code > Download zip para fazer o download de todo o código para este codelab.
- No arquivo ZIP salvo, descompacte a pasta raíz
examples
com todos os recursos necessários.
3. Executar o app inicial
- Importe a pasta
examples/lite/examples/generative_ai
para o Android Studio. - Inicie o Android Emulator e clique em Run no menu de navegação.
Executar e conhecer o app
O app chamado "Auto-complete" será iniciado no dispositivo Android. A interface é bem direta: você digita algumas palavras iniciais na caixa de texto e toca em Generate. O app vai executar a inferência em um LLM e gerar mais texto com base na sua entrada.
Por enquanto, nada acontece ao tocar em Generate depois de digitar algumas palavras. Isso ocorre porque o app ainda não está executando um LLM.
4. Preparar o LLM para implantação no dispositivo
- Abra o Colab e execute pelo notebook, que está hospedado no repositório do GitHub para Codelabs do TensorFlow (link em inglês).
5. Finalizar o app Android
Agora que você converteu o modelo GPT-2 para o TensorFlow Lite, ele já pode ser implantado no app.
Executar o app
- Arraste o arquivo modelo
autocomplete.tflite
salvo na última etapa para a pastaapp/src/main/assets/
no Android Studio.
- Clique em Run no menu de navegação e aguarde o app ser carregado.
- Digite algumas palavras iniciais no campo de texto e toque em Generate.
6. Observações sobre IA responsável
Como observado no aviso do GPT-2 da OpenAI (link em inglês) original, existem algumas ressalvas e limitações importantes relacionadas ao modelo GPT-2. Na verdade, os LLMs atuais têm alguns desafios conhecidos, como alucinações, imparcialidade e vieses. Isso ocorre porque esses modelos são treinados com dados reais, o que faz com que eles reflitam problemas do mundo real.
Este codelab foi criado apenas para demonstrar como criar um app com LLMs usando as ferramentas do TensorFlow. O modelo produzido aqui é apenas educativo e não deve ser destinado à produção.
O uso de um LLM na produção requer a seleção cuidadosa dos conjuntos de dados para treinamento e mitigações de segurança abrangentes. Para saber mais sobre IA responsável no contexto dos LLMs, assista a sessão técnica Desenvolvimento seguro e responsável com modelos generativos de linguagem no Google I/O 2023 e confira o Kit de ferramentas de IA responsável.
7. Conclusão
Parabéns! Você criou um app para gerar textos coerentes com base na entrada do usuário executando no dispositivo um modelo de linguagem grande pré-treinado.