Executando um LLM local (Gemma 3) no iOS com MLC-LLM
(blog.devstory.co.kr)Este é um post que organiza como executar o modelo Gemma 3 localmente em dispositivos iOS por meio do MLC-LLM e apresenta métricas de desempenho em execução real.
Resumo
- Uso do MLC-LLM: construção de um ambiente de inferência confortável, com praticamente nenhuma latência, mesmo em dispositivos móveis, por meio de aceleração com a API Metal
- Processo de build do Gemma 3 1B: guia completo do fluxo de trabalho, desde o download do modelo no Hugging Face até a quantização q4f16_1, aplicação do template de conversa (gemma3_instruction) e compilação do kernel Metal
- Métricas de desempenho e recursos:
- Gemma 2 2B: cerca de 2,4 GB de VRAM em uso
- Gemma 3 1B: cerca de 1,14 GB de VRAM em uso
- Dica de execução: inclui como empacotar um modelo customizado em um projeto Xcode por meio da configuração
mlc-package-config.json
Avaliação
- Ao usar o MLC-LLM, é possível portar LLMs de alto desempenho diretamente para dispositivos iOS, obtendo ao mesmo tempo as vantagens de privacidade e execução offline
- O modelo aparenta ter certa dificuldade para gerar respostas estruturadas, como no formato JSON
- Para uso em funções que exigem prompts de sistema complexos ou tarefas de extração de dados, parece necessário complementar com prompt engineering ou trabalho adicional, como fine-tuning
- Se futuramente houver também integração de pipelines dedicados ao modelo e otimização do projeto, espera-se que seja possível construir serviços de IA on-device ainda mais práticos
8 comentários
Eu estou rodando o qwen 3 0.6b q5 em um Galaxy Fold 4. Até agora, a sensação é de que ainda deixa um pouco a desejar.
Fiquei curioso sobre em que ponto exatamente ficou aquém.
A dúvida é se o desempenho do LLM deixou a desejar porque o modelo é pequeno demais, ou se o problema foi o desempenho de execução ao rodar localmente.
O desempenho deixa a desejar. Como ainda não há suporte a GPU nem a algumas NPUs específicas, fica lento..
Estou pesquisando o modelo gemma3 1b int4 em um Galaxy Note 20 Ultra
É um nível que roda em modelos antigos.
Ah, por acaso tem aceleração via Vulkan?
Dizem que funciona, mas comigo não funciona 😭
No Galaxy Note20, talvez seja difícil usar isso de forma fluida até que saia um modelo que funcione bem em uma CPU com especificações mais baixas (ou seja, bem otimizado).
Pelo conteúdo acima, está escrito que foi feito para kernels Metal exclusivos para Mac.
Pelo que sei, ao usar MLX é possível ter carregamento e execução mais rápidos do que com GGUF comum.
Mas até 4B fica meio questionável ;;