fernandosola's picture
Update README.md
2c5ffc3 verified
metadata
license: mit
language: pt
base_model: mistralai/Mistral-7B-Instruct-v0.1
pipeline_tag: text-generation

Blue Arara 7b instruct GGUF

Descrição

Este repositório contêm o modelo quantizado GGUF de [bluearara-7b-instruct] (https://huggingface.co/fernandosola/bluearara-7B-instruct).
Estes arquivos foram quantizados por AByrth

Arara Azul

Sobre o formato GGUF

GGUF é um formato quantizado para modelos LLM introduzido pela equipe llama.cpp em Agosto de 2023.

Sugestões de aplicativos clientes e bibliotecas que suportam modelos GGUF:

  • llama.cpp. O projeto fonte do GGUF. Oferece uma CLI e uma opção de servidor.
  • text-generation-webui, uma interface web com muitos recursos e extensões poderosas. Suporta aceleração de GPU.
  • GPT4All, uma GUI de execução local gratuita e de código aberto, compatível com Windows, Linux e macOS com aceleração em GPU.
  • LM Studio, um aplicativo GUI local fácil de usar para Windows, Linux e macOS (Silicon), com aceleração de GPU.
  • llama-cpp-python, uma biblioteca Python com aceleração de GPU, suporte LangChain e servidor API compatível com OpenAI.

Repositorios disponíveis

Prompt template: Mistral

<s>[INST] {prompt} [/INST]

Modelos Quantizados GGUF

Nome Quantização Bits Tamanho Consumo de RAM Indicação
bluearara-7B-instruct_Q3_K_M.gguf Q3_K_M 3 3.52 GB 6.02 GB Pequeno, perda de qualidade razoável
bluearara-7B-instruct-Q4_0.gguf Q4_0 4 4.11 GB 6.61 GB Pequeno, Qualidade balanceada
bluearara-7B-instruct-Q5_0.gguf Q5_0 5 5.00 GB 7.50 GB Médio, Qualidade balanceada
bluearara-7B-instruct-Q6_K.gguf Q6_K 6 5.94 GB 8.44 GB Grande, pouquíssima perda de qualidade
bluearara-7B-instruct-Q8_0.gguf Q8_0 8 7.70 GB 10.20 GB Grande, perda mínima de qualidade

Note: Note: O consumo de RAM assume uso exclusivo em CPU, sem offload de camadas (layers) do modelo para a GPU. O consumo de RAM é reduzido se uma ou mais camadas forem descarregadas em GPU.

Como realizar o download dos arquivos GGUF

Observação para downloaders manuais: Evite clonar o repositório inteiro! Escolha apenas o arquivo com a quantização desejada.

Os clientes/bibliotecas listados abaixo farão download automaticamente para você, fornecendo uma lista de modelos disponíveis para você escolher:

  • LM Studio
  • oobabooga/text-generation-webui

Usando oobabooga/text-generation-webui

Em Download Model, coloque o endereço do repositorio e modelo: fernandosola/bluearara-7B-instruct-v02

Finalmente, clique "Download"

Em comando de linha

Use a biblioteca Python huggingface-hub:

pip3 install huggingface-hub

Então você pode baixar qualquer arquivo de modelo individual para o diretório atual, em alta velocidade, com um comando como este:

huggingface-cli download fernandosola/bluearara-7B-instruct-GGUF bluearara-7B-instruct_q4_0.gguf.gguf --local-dir . --local-dir-use-symlinks False
Opções avançados de download do huggingface-cli (clique para ler)

Você também pode baixar vários arquivos de uma vez com um padrão:

huggingface-cli download fernandosola/bluearara-7B-instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4*gguf'

Para acelerar downloads em conexões rápidas (1Gbit/s ou superior), instale hf_transfer:

pip3 install hf_transfer

E defina a variável de ambiente HF_HUB_ENABLE_HF_TRANSFER com valor 1:

HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download fernandosola/bluearara-7B-instruct-GGUF bluearara-7B-instruct_Q4_0.gguf --local-dir . --local-dir-use-symlinks False

Usuários da linha de comando do Windows: você pode definir a variável de ambiente executandoset HF_HUB_ENABLE_HF_TRANSFER=1 antes de executar o comando para download.

Como executar com llama.cpp

Baixe a versão mais recente do llama.cpp:

git clone https://github.com/ggerganov/llama.cpp.git

Compile os aplicativos C++ nativos usando make:

make

Execute o modelo quantizado baixado previamente:

./main -ngl 35 -m bluearara-7B-instruct_Q4_0.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<s>[INST] {prompt} [/INST]"

Mude -ngl 32 para o número de camadas (layerd) que deseja descarregar para a GPU. Remova, caso não tenha GPU disponível.

Mude -c 2048 para o tamanho de contexto desejado. O valor máximo é 32768 (32K). No entanto, contextos longos exigem muita mémória RAM. Reduza se enfrentar problemas.

Se você quiser ter uma conversa no estilo chat, substitua o argumento -p <PROMPT> por -i -ins

para outros parâmetros, consulte the llama.cpp documentation

Usando text-generation-webui

Mais instruções podem ser encontradas na documentação do text-generation-webui, aqui: text-generation-webui/docs/04 ‐ Model Tab.md.

Executando com Python

Você pode usar modelos GGUF do Python usando a biblioteca llama-cpp-python

Exemplo:

Simple llama-cpp-python example code

from llama_cpp import Llama

# Defina gpu_layers como o número de camadas a serem descarregadas para GPU. Defina como 0 se nenhuma aceleração de GPU estiver disponível em seu sistema.
llm = Llama(
  model_path="./bluearara-7B-instruct_Q4_0.gguf",  # Faça download do modelo antes
  n_ctx=32768,            # Tamanho máximo de contexto. Reduza, se tiver pouco RAM disponível
  n_threads=8,            # Número de threads CPU para usar. Teste para verificar o número idela no seu sistema.
  n_gpu_layers=35         # O número de camadas (layers) a serem descarregadas para GPU, se você tiver aceleração de GPU disponível
)

# Fazendo uma inferência simples
output = llm(
  "<s>[INST] {prompt} [/INST]", # Prompt
  max_tokens=512,  # Limitando resposta em 512 tokens
  stop=["</s>"],   # Examplo de stop token - verifique no seu modelo
  echo=True        # True se deve repetir o prompt.


# API para Chat Completion
llm = Llama(model_path="./bluearara-7B-instruct_Q4_0.gguf", chat_format="llama-2")  # Set chat_format according to the model you are using
llm.create_chat_completion(
    messages = [
                # o role "system" está em desuso.  
                # {"role": "system", "content": "You are a story writing assistant."},				
                {
                "role": "user", "content": "You are a story writing assistant. \n\n Write a story about llamas."
                }
            ]
)

Carbon Footprint - Environmental Concerns

A pegada de Carbono deste subprojeto consumiu 6 de horas de computação acumuladas em GPUs em hardware do tipo NVIDIA RTX 3070 e CPU Intel Xeon E5. Toda energia consumida foi de origem solar, com produção de 0.0g de CO2 ou gases de efeitos estufa.

The Carbon footprint of this subproject consumed 6 hours of computing accumulated on hardware as NVIDIA RTX 3070 GPUs (100W-270W) and Intel Xeon E5 CPU (100W). All energy consumed was of solar origin, producing 0.0g of CO2 or greenhouse gases.