Skip to content

Índice de contenidos

Importación de un adaptador afinado desde pesos de Safetensors

Primero, crea un Modelfile con un comando FROM que apunte al modelo base que usaste para el afinado, y un comando ADAPTER que apunte al directorio que contiene tu adaptador de Safetensors:

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

Asegúrate de usar el mismo modelo base en el comando FROM que usaste para crear el adaptador; de lo contrario, obtendrás resultados erráticos. La mayoría de los frameworks utilizan diferentes métodos de cuantización, por lo que es mejor usar adaptadores no cuantizados (es decir, no QLoRA). Si tu adaptador está en el mismo directorio que tu Modelfile, usa ADAPTER . para especificar la ruta del adaptador.

Ahora ejecuta ollama create desde el directorio donde se creó el Modelfile:

shell
ollama create my-model

Por último, prueba el modelo:

shell
ollama run my-model

Ollama admite la importación de adaptadores basados en varias arquitecturas de modelo diferentes, entre las que se incluyen:

  • Llama (incluyendo Llama 2, Llama 3, Llama 3.1 y Llama 3.2);
  • Mistral (incluyendo Mistral 1, Mistral 2 y Mixtral); y
  • Gemma (incluyendo Gemma 1 y Gemma 2)

Puedes crear el adaptador usando un framework o herramienta de afinado que pueda exportar adaptadores en formato Safetensors, como:

Importación de un modelo desde pesos de Safetensors

Primero, crea un Modelfile con un comando FROM que apunte al directorio que contiene tus pesos de Safetensors:

dockerfile
FROM /path/to/safetensors/directory

Si creas el Modelfile en el mismo directorio que los pesos, puedes usar el comando FROM ..

Ahora ejecuta el comando ollama create desde el directorio donde creaste el Modelfile:

shell
ollama create my-model

Por último, prueba el modelo:

shell
ollama run my-model

Ollama admite la importación de modelos para varias arquitecturas diferentes, entre las que se incluyen:

  • Llama (incluyendo Llama 2, Llama 3, Llama 3.1 y Llama 3.2);
  • Mistral (incluyendo Mistral 1, Mistral 2 y Mixtral);
  • Gemma (incluyendo Gemma 1 y Gemma 2); y
  • Phi3

Esto incluye la importación de modelos base, así como cualquier modelo afinado que se haya fusionado con un modelo base.

Importación de un modelo o adaptador basado en GGUF

Si tienes un modelo o adaptador basado en GGUF, es posible importarlo a Ollama. Puedes obtener un modelo o adaptador GGUF de las siguientes formas:

  • Convirtiendo un modelo de Safetensors con convert_hf_to_gguf.py de Llama.cpp;
  • Convirtiendo un adaptador de Safetensors con convert_lora_to_gguf.py de Llama.cpp; o
  • Descargando un modelo o adaptador de una fuente como HuggingFace

Para importar un modelo GGUF, crea un Modelfile que contenga:

dockerfile
FROM /path/to/file.gguf

Para un adaptador GGUF, crea el Modelfile con:

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

Al importar un adaptador GGUF, es importante usar el mismo modelo base que se utilizó para crear el adaptador. Puedes usar:

  • Un modelo de Ollama
  • Un archivo GGUF
  • Un modelo basado en Safetensors

Una vez que hayas creado tu Modelfile, usa el comando ollama create para generar el modelo.

shell
ollama create my-model

Cuantización de un modelo

La cuantización de un modelo te permite ejecutar modelos más rápido y con un menor consumo de memoria, pero a costa de una precisión reducida. Esto te permite ejecutar un modelo en hardware más modesto.

Ollama puede cuantizar modelos basados en FP16 y FP32 a diferentes niveles de cuantización usando el indicador -q/--quantize con el comando ollama create.

Primero, crea un Modelfile con el modelo basado en FP16 o FP32 que desees cuantizar.

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

Usa ollama create para generar el modelo cuantizado.

shell
$ ollama create --quantize q4_K_M mymodel
transfiriendo datos del modelo
cuantizando modelo F16 a Q4_K_M
creando nueva capa sha256:735e246cc1abfd06e9cdcf95504d6789a6cd1ad7577108a70d9902fef503c1bd
creando nueva capa sha256:0853f0ad24e5865173bbf9ffcc7b0f5d56b66fd690ab1009867e45e7d2c4db0f
escribiendo manifiesto
éxito

Cuantizaciones compatibles

  • q8_0

Cuantizaciones K-means

  • q4_K_S
  • q4_K_M

Compartir tu modelo en ollama.com

Puedes compartir cualquier modelo que hayas creado subiéndolo a ollama.com para que otros usuarios puedan probarlo.

Primero, usa tu navegador para ir a la página de Registro en Ollama. Si ya tienes una cuenta, puedes saltarte este paso.

Registro

El campo Username se usará como parte del nombre de tu modelo (por ejemplo, jmorganca/mymodel), así que asegúrate de que el nombre de usuario que seleccionaste te parezca adecuado.

Ahora que has creado una cuenta y has iniciado sesión, ve a la página de Configuración de claves de Ollama.

Sigue las indicaciones de la página para determinar la ubicación de tu clave pública de Ollama.

Claves de Ollama

Haz clic en el botón Add Ollama Public Key y copia y pega el contenido de tu clave pública de Ollama en el campo de texto.

Para subir un modelo a ollama.com, primero asegúrate de que tenga el nombre correcto con tu nombre de usuario. Es posible que tengas que usar el comando ollama cp para copiar tu modelo y darle el nombre correcto. Una vez que estés satisfecho con el nombre de tu modelo, usa el comando ollama push para subirlo a ollama.com.

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

Una vez que tu modelo se haya subido, otros usuarios pueden descargarlo y ejecutarlo usando el comando:

shell
ollama run myuser/mymodel