Transformers documentation
llama.cpp
Comece agora
Classes base
Modelos
Pré-processadores
Inferência
Pipeline API
API de geração
Otimização
Conversar com modelos
Serving
Treinamento
Hardware
Quantização
Integrações com o ecossistema
Recursos
API
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v5.22.2).
llama.cpp
llama.cpp é um mecanismo de inferência em C/C++ para implantar modelos de linguagem grandes localmente. Ele é leve e não requer Python, CUDA ou outra infraestrutura de servidor pesada. O llama.cpp usa o formato de arquivo GGUF. O GGUF suporta pesos de modelo quantizados e memory-mapping para reduzir a largura de banda de memória no seu dispositivo.
Pesquise no Hub por modelos já disponíveis no formato GGUF.
Converta qualquer modelo do Transformers para o formato GGUF com o script convert_hf_to_gguf.py.
python3 convert_hf_to_gguf.py ./models/openai/gpt-oss-20b \ --outfile gpt-oss-20b.gguf \
Implante o modelo localmente pela linha de comando com llama-cli ou inicie uma interface web com llama-server. Adicione a flag -hf para indicar que o modelo é do Hub.
llama-cli
llama-server
llama-cli -hf ggml-org/gpt-oss-20b-GGUF
llama-server -hf ggml-org/gpt-oss-20b-GGUF
Integração com Transformers
- AutoConfig.from_pretrained() carrega o arquivo
config.jsondo modelo para extrair metadados. - AutoTokenizer.from_pretrained() extrai o vocabulário e a configuração do tokenizador.
- Com base no campo
architecturesna configuração, o script seleciona uma classe de conversor de seu registro interno. O registro mapeia os nomes de arquitetura do Transformers (como LlamaForCausalLM) para as classes de conversor correspondentes. - O conversor mapeia os nomes dos tensores do Transformers (por exemplo,
model.layers.0.self_attn.q_proj.weight) para os nomes dos tensores GGUF, transforma os tensores e empacota o vocabulário. - A saída é um único arquivo GGUF contendo os pesos do modelo, o tokenizador e os metadados.
Recursos
- Documentação do llama.cpp
- post de blog Introdução ao ggml