O que é o Jetson Nano

O Jetson Nano e um computador de placa única (SBC) da NVIDIA voltado para aplicações de inteligência artificial no edge, ou seja, fora da nuvem. Ele tem uma GPU integrada com 128 núcleos CUDA, o que permite rodar modelos de IA localmente sem depender de conexão com servidores externos. O dispositivo custa entre 100 e 150 dólares dependendo da versão (2GB ou 4GB de RAM).

O Jetson Nano foi lançado em 2019 e se tornou popular entre pesquisadores, makers e devs que precisam de inferência de IA com baixo consumo de energia. Ele roda Ubuntu e e compatível com o ecossistema CUDA, o que significa que bibliotecas como PyTorch, TensorFlow e ONNX Runtime funcionam nativamente no dispositivo.

Com a popularização de modelos de linguagem pequenos (SLMs) e ferramentas como o Ollama, o Jetson Nano ganhou um novo caso de uso: rodar LLMs localmente no edge com privacidade total dos dados e sem custo de API. E exatamente isso que vamos explorar neste post.

Como funciona o Ollama no Jetson Nano

O Ollama e uma ferramenta que simplifica o gerenciamento e execução de modelos de linguagem localmente. Ele funciona como um servidor de inferência local: você instala o Ollama, baixa o modelo desejado (como Llama 3, Mistral ou Phi-3) e faz chamadas via API REST ou pela CLI, exatamente como faria com a API da OpenAI.

No Jetson Nano, o Ollama se beneficia da GPU CUDA para acelerar a inferência. Sem aceleração de GPU, rodar um LLM em um ARM CPU seria extremamente lento. Com a GPU do Jetson, modelos de 3 a 7 bilhoes de parâmetros ficam usáveis, gerando tokens a uma velocidade razoável para aplicações práticas.

O conceito de quantização e fundamental para rodar LLMs no Jetson Nano. Quantização e o processo de reduzir a precisão numérica dos pesos do modelo (de float32 para int8 ou int4), o que diminui dramaticamente o uso de memoria e aumenta a velocidade de inferência com perda mínima de qualidade. No Jetson Nano 4GB, modelos quantizados em Q4 são os que funcionam de forma mais estável.

💡
Dica

Para o Jetson Nano 4GB, use modelos no formato GGUF com quantização Q4_K_M. Essa configuração oferece o melhor equilíbrio entre qualidade e uso de memoria no dispositivo.

Principais recursos do Ollama no Jetson Nano

A combinação do Ollama com o Jetson Nano oferece recursos interessantes para devs:

  • API REST compatível com OpenAI: você pode apontar qualquer cliente OpenAI para o endpoint local do Ollama e o código funciona sem modificação.
  • Gerenciamento de modelos simples: baixar, listar e remover modelos com comandos simples de CLI.
  • Streaming de resposta: o Ollama suporta streaming nativo, o que melhora a experiência do usuário em aplicações de chat.
  • Múltiplos modelos simultâneos: o Ollama pode manter vários modelos carregados e alternar entre eles sem precisar recarregar.
  • Aceleração GPU automática: o Ollama detecta a GPU CUDA do Jetson e usa automaticamente para acelerar a inferência.

Para aplicações de edge computing, a principal vantagem e a privacidade: todos os dados processados ficam no dispositivo local, sem nenhuma informação enviada para servidores externos. Isso e crítico em aplicações medicas, industriais e corporativas que lidam com dados sensíveis.

⚠️
Atenção

O Jetson Nano original (2019) usa CUDA compute capability 5.3, que não e suportado pelas versões mais recentes do Ollama. Use versões específicas do Ollama compiladas para JetPack ou o Ollama-Jetson disponível na comunidade.

Como começar: instalação passo a passo

Para rodar o Ollama no Jetson Nano, você precisa do Jetson Nano com JetPack 4.6 instalado (Ubuntu 18.04 com CUDA 10.2). O processo de instalação e diferente do Linux padrão por causa da arquitetura ARM e do CUDA.

Passo 1: Atualize o sistema e instale dependências básicas.

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y curl git

Passo 2: Instale o Ollama usando o script para ARM64/Jetson. A versão padrão do site pode não funcionar, então use a versão compilada para o Jetson.

# Verifique a versão compatível com seu JetPack em ollama.com/download/Linux
curl -fsSL https://ollama.com/install.sh | sh

Passo 3: Baixe um modelo compatível com a memoria disponível. Para Jetson Nano 4GB, recomendamos o Phi-3 mini ou o Llama 3.2 3B.

ollama pull phi3:mini
# ou
ollama pull llama3.2:3b-instruct-q4_K_M

Passo 4: Teste a inferência via CLI ou API REST.

ollama run phi3:mini "Explique o que é quantização em modelos de IA"
# Via API:
curl http://localhost:11434/api/generate -d '{"model":"phi3:mini","prompt":"Hello"}'
🚀
Pro tip

Aumente a memoria de swap do Jetson Nano para 8GB antes de rodar modelos maiores. O swap em SD card e lento, mas permite carregar modelos que não cabem na RAM.

Exemplo prático: chatbot local com API REST

Com o Ollama rodando no Jetson Nano, você pode criar um chatbot local em Python que processa perguntas sem enviar dados para a nuvem. O código abaixo usa a biblioteca requests para fazer chamadas ao endpoint local do Ollama com streaming de resposta.

import requests, json

def chat_local(prompt: str) -> str:
    resp = requests.post(
        "http://localhost:11434/api/generate",
        json={"model": "phi3:mini", "prompt": prompt, "stream": False},
        timeout=120
    )
    return resp.json()["response"]

print(chat_local("Qual a capital do Brasil?"))

Para aplicações com interface de usuário, você pode apontar o Open WebUI (antes chamado Ollama WebUI) para o Jetson e ter uma interface de chat completa rodando no browser, com o processamento acontecendo inteiramente no dispositivo local.

Um caso de uso prático: um sistema de perguntas e respostas sobre documentos internos de uma empresa, onde os documentos são indexados localmente e as perguntas processadas pelo Ollama no Jetson, sem que nenhum dado corporativo sensível saia da rede local.

Quantização ótima: escolhendo o formato certo

A escolha do nível de quantização impacta diretamente a velocidade e a qualidade do modelo. Para o Jetson Nano 4GB, as opcoes mais práticas são:

  • Q4_K_M: melhor equilíbrio entre tamanho e qualidade. Recomendado para uso geral.
  • Q4_K_S: mais rápido e menor que o Q4_K_M, com perda de qualidade um pouco maior.
  • Q5_K_M: melhor qualidade, mas requer mais memoria. Funciona com modelos de 3B em Jetson 4GB.
  • Q8_0: qualidade próxima ao modelo original, mas muito grande para o Jetson Nano 4GB.

A regra prática e: use o maior nível de quantização que couber na sua memoria disponível. Para o Jetson Nano 4GB com sistema operacional ocupando cerca de 1.5GB, sobram aproximadamente 2.5GB para o modelo. Um modelo Phi-3 mini em Q4_K_M ocupa cerca de 2.2GB, o que funciona bem nessa configuração.

Comparação com alternativas de edge AI

O Jetson Nano não e o único hardware para inferência de IA no edge. As principais alternativas são o Raspberry Pi 5, o Orange Pi 5 com NPU e o Jetson Orin Nano (o sucessor mais moderno).

O Raspberry Pi 5 não tem GPU dedicada para CUDA, então a inferência de LLMs e muito mais lenta. E adequado para modelos bem menores ou para uso esporádico. O Orange Pi 5 tem uma NPU integrada que pode ser usada para inferência, mas o suporte a ferramentas como Ollama ainda e mais limitado.

O Jetson Orin Nano e o caminho natural de upgrade: mais memoria, GPU mais poderosa e suporte a modelos maiores. Para quem quer mais capacidade e pode gastar mais (preço por volta de 250 dólares), e a escolha certa.

Pontos positivos e limitações

Os pontos fortes são claros: privacidade total, sem custo de API, funciona offline, baixo consumo de energia (5-10W em uso), e a GPU CUDA permite inferência acelerada. Para prototipagem de sistemas de IA no edge, e uma das melhores relações custo-beneficio do mercado.

As limitações são igualmente reais. O Jetson Nano 4GB não consegue rodar modelos acima de 7 bilhoes de parâmetros em quantização Q4. A velocidade de inferência e menor que em GPUs desktop ou servidores cloud. E o suporte a versões novas de frameworks as vezes atrasa por causa da arquitetura ARM e do CUDA 10.2.

🔴
Cuidado

O Jetson Nano esquenta bastante durante inferência prolongada. Use um dissipador de calor adequado e monitore a temperatura com o comando tegrastats para evitar throttling térmico.

Casos de uso reais

Industria e manufatura: sistemas de visão computacional e análise de texto de logs de máquinas, processados localmente sem enviar dados de produção para a nuvem.

Saúde: análise de documentos médicos e prontuários com LLMs locais, garantindo conformidade com regulamentações de privacidade como a LGPD.

Educação: tutor de IA que funciona em escolas sem internet confiável, respondendo perguntas de alunos localmente.

Dev e prototipagem: ambiente de desenvolvimento e teste de aplicações de IA sem custo de API durante a fase de prototipagem, migrando para cloud apenas na produção.

Dicas e boas práticas

💡
Dica

Use o modo de energia máximo do Jetson Nano durante inferência. Execute sudo nvpmodel -m 0 && sudo jetson_clocks para maximizar a frequência da GPU e CPU.

💡
Dica

Prefira SSD via adaptador USB 3.0 em vez de cartão SD para o sistema operacional. A velocidade de leitura do SSD acelera significativamente o carregamento dos modelos.

⚠️
Atenção

Modelos quantizados em Q4 tem degradação de qualidade em tarefas que exigem raciocínio matemático ou lógico complexo. Para essas tarefas, prefira Q5 ou Q6 se a memoria permitir.

🚀
Pro tip

Use o Open WebUI com autenticação habilitada e exponha o Jetson via Tailscale para ter um assistente de IA privado acessível de qualquer lugar, sem expor o dispositivo diretamente na internet.

Vale a pena?

Para devs que querem explorar IA no edge com privacidade total e sem custo recorrente de API, o Jetson Nano com Ollama e uma combinação excelente para prototipagem. O investimento inicial em hardware se paga rapidamente para quem usa LLMs com frequência no desenvolvimento.

Para produção em escala, o Jetson Nano tem limitações de performance. Mas como ambiente de desenvolvimento, prova de conceito ou sistema de produção leve para uma única aplicação com poucos usuários simultâneos, funciona muito bem.

Se você já tem um Jetson Nano na gaveta ou esta pensando em comprar um para experimentar IA local, instale o Ollama e comece com o Phi-3 mini. Em menos de 30 minutos você tem um LLM rodando localmente sem gastar um centavo em API.