Skip to content

Sumário

Importando um adaptador de ajuste fino a partir de pesos Safetensors

Primeiro, crie um Modelfile com um comando FROM que aponte para o modelo base que você usou para o ajuste fino, e um comando ADAPTER que aponte para o diretório com seu adaptador Safetensors:

dockerfile
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory

Certifique-se de usar o mesmo modelo base no comando FROM que você usou para criar o adaptador, caso contrário você obterá resultados erráticos. A maioria das estruturas usa métodos de quantização diferentes, então é melhor usar adaptadores não quantizados (ou seja, não QLoRA). Se seu adaptador estiver no mesmo diretório que o Modelfile, use ADAPTER . para especificar o caminho do adaptador.

Agora execute ollama create no diretório onde o Modelfile foi criado:

shell
ollama create my-model

Por fim, teste o modelo:

shell
ollama run my-model

O Ollama suporta a importação de adaptadores baseados em várias arquiteturas de modelo diferentes, incluindo:

  • Llama (incluindo Llama 2, Llama 3, Llama 3.1 e Llama 3.2);
  • Mistral (incluindo Mistral 1, Mistral 2 e Mixtral); e
  • Gemma (incluindo Gemma 1 e Gemma 2)

Você pode criar o adaptador usando uma estrutura ou ferramenta de ajuste fino que possa exportar adaptadores no formato Safetensors, como:

Importando um modelo a partir de pesos Safetensors

Primeiro, crie um Modelfile com um comando FROM que aponte para o diretório que contém seus pesos Safetensors:

dockerfile
FROM /path/to/safetensors/directory

Se você criar o Modelfile no mesmo diretório que os pesos, pode usar o comando FROM ..

Agora execute o comando ollama create no diretório onde você criou o Modelfile:

shell
ollama create my-model

Por fim, teste o modelo:

shell
ollama run my-model

O Ollama suporta a importação de modelos para várias arquiteturas diferentes, incluindo:

  • Llama (incluindo Llama 2, Llama 3, Llama 3.1 e Llama 3.2);
  • Mistral (incluindo Mistral 1, Mistral 2 e Mixtral);
  • Gemma (incluindo Gemma 1 e Gemma 2); e
  • Phi3

Isso inclui a importação de modelos base, bem como quaisquer modelos ajustados finos que tenham sido fundidos com um modelo base.

Importando um modelo ou adaptador baseado em GGUF

Se você tiver um modelo ou adaptador baseado em GGUF, é possível importá-lo para o Ollama. Você pode obter um modelo ou adaptador GGUF por meio de:

  • convertendo um modelo Safetensors com o convert_hf_to_gguf.py do Llama.cpp;
  • convertendo um adaptador Safetensors com o convert_lora_to_gguf.py do Llama.cpp; ou
  • baixando um modelo ou adaptador de um local como o HuggingFace

Para importar um modelo GGUF, crie um Modelfile contendo:

dockerfile
FROM /path/to/file.gguf

Para um adaptador GGUF, crie o Modelfile com:

dockerfile
FROM <model name>
ADAPTER /path/to/file.gguf

Ao importar um adaptador GGUF, é importante usar o mesmo modelo base que o modelo base com o qual o adaptador foi criado. Você pode usar:

  • um modelo do Ollama
  • um arquivo GGUF
  • um modelo baseado em Safetensors

Depois de criar seu Modelfile, use o comando ollama create para construir o modelo.

shell
ollama create my-model

Quantizando um Modelo

A quantização de um modelo permite executar modelos mais rapidamente e com menor consumo de memória, mas com precisão reduzida. Isso permite executar um modelo em hardware mais modesto.

O Ollama pode quantizar modelos baseados em FP16 e FP32 para diferentes níveis de quantização usando a flag -q/--quantize com o comando ollama create.

Primeiro, crie um Modelfile com o modelo baseado em FP16 ou FP32 que você deseja quantizar.

dockerfile
FROM /path/to/my/gemma/f16/model

Use ollama create para então criar o modelo quantizado.

shell
$ ollama create --quantize q4_K_M mymodel
transferring model data
quantizing F16 model to Q4_K_M
creating new layer sha256:735e246cc1abfd06e9cdcf95504d6789a6cd1ad7577108a70d9902fef503c1bd
creating new layer sha256:0853f0ad24e5865173bbf9ffcc7b0f5d56b66fd690ab1009867e45e7d2c4db0f
writing manifest
success

Quantizações Suportadas

  • q8_0

Quantizações K-means

  • q4_K_S
  • q4_K_M

Compartilhando seu modelo no ollama.com

Você pode compartilhar qualquer modelo que você criou fazendo push dele para o ollama.com para que outros usuários possam testá-lo.

Primeiro, use seu navegador para acessar a página de Cadastro no Ollama. Se você já tiver uma conta, pode pular esta etapa.

Cadastro

O campo Username será usado como parte do nome do seu modelo (por exemplo, jmorganca/mymodel), então certifique-se de que está confortável com o nome de usuário que você selecionou.

Agora que você criou uma conta e está conectado, acesse a página de Configurações de Chaves do Ollama.

Siga as instruções na página para descobrir onde sua Chave Pública do Ollama está localizada.

Chaves do Ollama

Clique no botão Add Ollama Public Key e copie e cole o conteúdo da sua Chave Pública do Ollama no campo de texto.

Para fazer push de um modelo para o ollama.com, primeiro certifique-se de que ele está nomeado corretamente com seu nome de usuário. Talvez você precise usar o comando ollama cp para copiar seu modelo e dar a ele o nome correto. Quando estiver satisfeito com o nome do seu modelo, use o comando ollama push para fazer push dele para o ollama.com.

shell
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel

Depois que seu modelo for enviado por push, outros usuários podem fazer pull e executá-lo usando o comando:

shell
ollama run myuser/mymodel