(Experimental) Modelo de lenguaje en español para generar artículos detallados optimizado con LoRA y cuantización de 4 bits.

Tools 0.5B

1 Pull Updated 18 hours ago

19 hours ago

b1f649abb252 · 352MB

model
qwen2
·
494M
·
Q4_0
params
{"stop":["<|im_start|>","<|im_end|>"]}
template
{{ if .Messages }} {{- if or .System .Tools }}<|im_start|>system {{ .System }} {{- if .Tools }} # Tools You are provided with function signatures within <tools></tools> XML tags: <tools>{{- range .Tools }} {"type": "function", "function": {{ .Function }}}{{- end }} </tools> For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags: <tool_call> {"name": <function-name>, "arguments": <args-json-object>} </tool_call> {{- end }}<|im_end|> {{ end }} {{- range $i, $_ := .Messages }} {{- $last := eq (len (slice $.Messages $i)) 1 -}} {{- if eq .Role "user" }}<|im_start|>user {{ .Content }}<|im_end|> {{ else if eq .Role "assistant" }}<|im_start|>assistant {{ if .Content }}{{ .Content }} {{- else if .ToolCalls }}<tool_call> {{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}} {{ end }}</tool_call> {{- end }}{{ if not $last }}<|im_end|> {{ end }} {{- else if eq .Role "tool" }}<|im_start|>tool <tool_response> {{ .Content }} </tool_response><|im_end|> {{ end }} {{- if and (ne .Role "assistant") $last }}<|im_start|>assistant {{ end }} {{- end }} {{- else }} {{- if .System }}<|im_start|>system {{ .System }}<|im_end|> {{ end }}{{ if .Prompt }}<|im_start|>user {{ .Prompt }}<|im_end|> {{ end }}<|im_start|>assistant {{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}

Readme

Modelo: experimental-2.5-0.5b-it-v2

Novedades:
- Entrenado con un dataset más pequeño pero de mejor calidad.
- Pequeños ajustes en el prompt base.

Resultados:
- Mejora la tasa de artículos de calidad de un 60% a un 99%.

experimental.png

Descripción

experimental-2.5-0.5b-it-v2 es un modelo de lenguaje ajustado a partir del modelo base Qwen/Qwen2.5-0.5B-Instruct utilizando cuantización de 4 bits y adaptación LoRA (Low-Rank Adaptation). Este modelo está diseñado para generar artículos detallados en español, optimizado para ejecutarse en hardware con recursos limitados, como GPUs con menor memoria, gracias a las técnicas de compresión y optimización utilizadas.

El modelo ha sido ajustado para seguir instrucciones en formato de conversación, lo que lo hace adecuado para la generación de contenido estructurado en español.

Prompt Base

(Nuevo) El modelo fue entrenado para seguir este prompt base al generar contenido:

Escribe un gran artículo muy extenso y detallado en Markdown con un tamaño de al menos mil palabras de longitud siguiendo estos pasos:

1. Escribe un título principal (#) que tenga entre 50 y 60 caracteres.
2. Escribe el subtítulo "Introducción" (##):
   - Redacta un párrafo que introduzca el tema.
   - Redacta un párrafo que introduzca el artículo.
3. Continúa con muchos subtítulos (##):
   - Escribe varios párrafos largos y detallados.
   - De ser necesario añade sub-subtítulos (###):
     - Escribe varios párrafos largos y detallados.
4. Escribe el subtítulo "Conclusión" (##):
   - Redacta varios párrafos.

Asegúrate de redactar en español utilizando explicaciones muy extensas y detalladas, manteniendo siempre un tono amigable. Resalta las palabras clave usando **negritas**. Es obligatorio que bajo cada subtítulo escribas al menos tres párrafos antes de pasar a un nuevo subtítulo.

Comienza inmediatamente con el título principal (#).

Detalles Técnicos

  • Modelo base: Qwen/Qwen2.5-0.5B-Instruct
  • Tamaño: 0.5B parámetros
  • Cuantización: 4-bit (NF4) usando la biblioteca bitsandbytes
  • Adaptación: LoRA con 64 dimensiones (r=64), lora_alpha=32 y lora_dropout=0.05
  • Tarea: Modelo de lenguaje causal (Causal LM)
  • Idioma: Español
  • Entrenamiento supervisado (SFT): Utiliza entrenamiento supervisado para ajuste fino
  • Tipo de modelo: AutoModelForCausalLM

Proceso de Conversión

El modelo fue convertido al formato GGUF desde Nichonauta/experimental-2-5-0-5b-it-v2 utilizando llama.cpp a través del espacio GGUF-my-repo de ggml.ai. Para utilizar el modelo en formato GGUF, sigue los pasos detallados a continuación.

El modelo también está disponible para su uso en LM Studio y Ollama.

Uso con llama.cpp

  1. Instalación: Instala llama.cpp a través de brew (funciona en Mac y Linux):
   brew install llama.cpp
  1. Uso con CLI:
   llama-cli --hf-repo Nichonauta/experimental-2-5-0-5b-it-v2-Q4_0-GGUF --hf-file experimental-2-5-0-5b-it-v2-q4_0.gguf -p "El significado de la vida y el universo es"
  1. Uso con servidor:
   llama-server --hf-repo Nichonauta/experimental-2-5-0-5b-it-v2-Q4_0-GGUF --hf-file experimental-2-5-0-5b-it-v2-q4_0.gguf -c 2048

Uso en LM Studio

El modelo experimental-2.5-0.5b-it-v2 está disponible para su uso en LM Studio, una aplicación de escritorio que facilita la ejecución de modelos de lenguaje sin necesidad de configuraciones complejas. Para utilizar el modelo:

  1. Descarga e instala LM Studio desde su sitio oficial.
  2. Carga el modelo desde Hugging Face o en formato GGUF para su uso en el entorno de LM Studio.
  3. Ejecuta consultas o prompts en el modelo fácilmente desde la interfaz gráfica de LM Studio.

Uso en Ollama

El modelo también está disponible en Ollama, una herramienta similar a LM Studio que permite interactuar con modelos de lenguaje de manera local. Sigue los pasos a continuación:

  1. Instala Ollama desde su página oficial.
  2. Accede al modelo desde Ollama - Nichonauta/experimental-2-5-0-5b-it-v2.
  3. Ejecuta el modelo directamente en tu dispositivo.

Configuración de Entrenamiento

  • Dataset: El modelo fue entrenado con un dataset de instrucciones en formato conversacional siguiendo una plantilla de prompt para generar artículos extensos en Markdown en español.

Uso

Este modelo está diseñado para generar artículos detallados en español siguiendo una plantilla estructurada. Puedes cargar el modelo directamente desde Hugging Face y comenzar a generar contenido con la siguiente estructura de prompt:

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "experimental-2.5-0.5b-it-v2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

prompt = "Escribe un gran artículo muy detallado en Markdown siguiendo estos pasos: ..."

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs)

print(tokenizer.decode(outputs[0]))

Aplicaciones

  • Generación de artículos: Ideal para crear contenido en español siguiendo una estructura detallada.
  • Redacción automatizada: Generación de texto extensivo y bien estructurado en español.

Licencia y Cumplimiento

El modelo base se ajusta a la Qwen Terms of Use. Al utilizar, reproducir, modificar o distribuir este modelo, debes cumplir con los siguientes requisitos:

  • Distribución: Incluir la cláusula de restricciones de uso y proporcionar una copia del acuerdo de licencia a todos los terceros destinatarios del modelo.
  • Modificaciones: Cualquier modificación del modelo debe incluir un aviso prominente de que se ha modificado y seguir las restricciones de uso especificadas en la licencia.
  • Prohibiciones: No usar el modelo para fines prohibidos especificados en la Prohibited Use Policy.

Resultados del Entrenamiento

  • El modelo mostró una mejora continua en la pérdida a lo largo del entrenamiento.

Limitaciones

  • Idioma: El modelo está diseñado para el idioma español.
  • Datos de entrenamiento: Limitado al dataset de entrenamiento proporcionado.
  • Cuantización: La cuantización a 4 bits puede llevar a una ligera degradación en la calidad de las predicciones.

Recursos

Autores y Contribuciones

Este modelo fue ajustado por el equipo Nichonauta. Visítanos en: