GGUF versus GGML

Vista aérea de São Francisco iluminada.

O GPT-Generated Unified Format (GGUF) é um formato de arquivo que simplifica o uso e a implementação de grandes modelos de linguagem (LLMs). O GGUF foi especialmente projetado para armazenar modelos de inferência e ter bom desempenho em hardware de computador de nível de consumidor.

Ele consegue isso combinando os parâmetros do modelo (pesos e desvios) com metadados adicionais para uma execução eficiente. O GGUF é claro, extensível, versátil e capaz de incorporar novas informações sem destruir a compatibilidade com modelos mais antigos. O GGUF é um desenvolvimento mais recente, que se baseia nas bases estabelecidas por seu formato de arquivo antecessor, o GGML.

O GGUF é um formato binário projetado explicitamente para carregar e salvar modelos com rapidez. Por ser compatível com várias linguagens de programação, como Python e R, o GGUF aumentou a popularidade do formato. Ele também é compatível com ajuste fino, para que os usuários possam adaptar os LLMs a aplicações especializadas, e armazena modelos prontos para implementações de modelos em aplicações. Embora o GGML ainda esteja em uso, seu suporte foi substituído pelo GGUF.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Qual é a diferença entre GGUF e GGML?

O GGML foi o formato de arquivo que precedeu diretamente o GGUF, criado pelo desenvolvedor Georgi Gerganov. O nome é uma combinação das iniciais de Gerganov (GG) e ML para aprendizado de máquina. O GGML era uma biblioteca de tensores projetada para alto desempenho em várias plataformas de hardware. Foi também uma tentativa inicial de criar um formato de arquivo para os modelos de inteligência artificial GPT da OpenAI para facilitar o compartilhamento e a execução de modelos. O GGML foi projetado para não ser ambíguo e conter todas as informações necessárias para carregar um modelo.

O GGML foi um esforço inicial para tornar grandes modelos de linguagem acessíveis em hardware padrão. No entanto, era limitado em termos de flexibilidade e extensibilidade. Isso significa que o GGML precisava de ajustes manuais e enfrentava problemas de compatibilidade conforme os usuários adicionavam novas funcionalidades para lidar com suas limitações.

O GGUF lida com as limitações do GGML e permite adicionar novos recursos, mantendo a compatibilidade com modelos mais antigos. Como o GGUF elimina alterações urgentes, ele facilita as transições para versões mais recentes e é compatível com uma ampla gama de modelos, tornando-o uma solução abrangente. A conversão de modelos existentes para GGUF pode ser demorada e, como acontece com todos os novos formatos, usuários e desenvolvedores devem se acostumar com suas especificidades.

AI Academy

Por que os modelos de base são uma mudança de paradigma para a IA

Aprenda sobre uma nova classe de modelos de IA flexíveis e reutilizáveis que podem liberar novas receitas, reduzir custos e aumentar a produtividade, e utilize o nosso guia para se aprofundar.

Conversão para o GGUF

A Huggingface é uma empresa e uma plataforma voltada para a comunidade que fornece ferramentas e modelos para processamento de linguagem natural (NLP). Eles oferecem uma biblioteca de transformadores, que inclui muitos modelos pré-treinados que podem ser convertidos para o formato de arquivo GGUF. O Huggingface também é compatível com ajuste fino e implementação, tornando-o parte integrante do ecossistema em torno do GGUF.

Os transformadores são um tipo de arquitetura de modelos que se tornou a espinha dorsal da PLN moderna. O GGUF é compatível com o armazenamento e a implementação de modelos baseados em transformadores para aplicações que dependem dessas arquiteturas avançadas.

Por que o GGUF é importante

O GGUF fornece um formato robusto, flexível e eficiente para modelos de linguagem. Ele lida com as limitações dos formatos anteriores, garantindo a compatibilidade com tecnologias e técnicas em evolução. Sua flexibilidade aprimorada, melhor desempenho e compatibilidade com estruturas avançadas de quantização e implementação o tornam uma ferramenta crítica para o futuro da IA e do aprendizado de máquina.

Pesos do modelo são os parâmetros aprendidos por um modelo de aprendizado de máquina durante o treinamento. O GGUF armazena esses pesos de forma eficiente, permitindo carregamento e inferência rápidos. Métodos de quantização aplicados aos pesos do modelo podem melhorar ainda mais o desempenho e reduzir o consumo de recursos.

A quantização, o processo de conversão de sinais contínuos em formatos digitais com menos valores possíveis, desempenha um papel crucial no GGUF. A quantização melhora a eficiência e o desempenho, especialmente para hardware com recursos limitados. Ao reduzir o tamanho do modelo e melhorar a velocidade de inferência, os modelos quantizados exigem menos poder computacional, o que leva à redução do consumo de energia. Isso torna o GGUF altamente adequado para implementação em dispositivos de edge e plataformas móveis onde os recursos de energia são limitados.

Por exemplo, uma técnica de quantização específica usada é o GPTQ (Quantização pós-treinamento precisa para transformadores pré-treinados generativos). O GPTQ reduz o tamanho e as necessidades computacionais de um LLM, convertendo seus dados complexos em formatos mais simples. Isso permite a implementação de LLMs em dispositivos com menos memória e capacidade de processamento.

O GGUF também foi projetado para incorporar novas funcionalidades sem comprometer a compatibilidade com uma versão anterior. Esse recurso permite adicionar novos tipos de dados e metadados, tornando o GGUF pronto para o futuro. Conforme os modelos de aprendizado de máquina evoluem, o GGUF pode acomodar essas mudanças, protegendo a relevância e a adaptabilidade no longo prazo.

O projeto de formato binário do GGUF melhora significativamente a velocidade de carregamento e salvamento de modelos, o que é particularmente vital para aplicações que exigem implementação e inferência rápidas. Serviços de conversão de linguagem em tempo real e sistemas interativos de IA, por exemplo, se beneficiam do tratamento eficiente de arquivos de modelos do GGUF. Quanto mais rápido um modelo puder ser carregado e usado, melhor será a experiência do usuário nessas aplicações urgentes.

O GGUF se destaca por sua compatibilidade com técnicas avançadas de ajuste, como adaptação de baixa classificação (LoRA), adaptação quantizada de baixa classificação (QLoRA) e quantização de peso adaptável (AWQ). Essas técnicas otimizam ainda mais o desempenho do modelo e o uso dos recursos.

Além disso, o GGUF é compatível com vários níveis de quants, fornecendo flexibilidade para equilibrar a precisão e a eficiência do modelo. Os esquemas de quantização comuns compatíveis com o GGUF incluem:

  • Quantização de 2 bits: oferece a maior compactação, reduzindo significativamente o tamanho do modelo e a velocidade de inferência, embora com um possível impacto na precisão.
  • Quantização de 4 bits: equilibra compressão e precisão, tornando-a adequada para muitas aplicações práticas.
  • Quantização de 8 bits: fornece boa precisão com compressão moderada, amplamente utilizada em várias aplicações.

Quants refere-se aos vários níveis de quantização aplicados aos pesos do modelo, como quantização de 2 bits, 4 bits ou 8 bits.

Os modelos GGUF também usam o Compute Unified Device Architecture (CUDA), uma plataforma de computação paralela e uma interface de programação de aplicativos que permite que os modelos usem GPUs para tarefas de computação aceleradas. Esse recurso melhora a eficiência computacional e a velocidade dos modelos de linguagem. Por fim, a integração do GGUF com o Langchain, uma framework para desenvolver e implementar modelos de linguagem, facilita a implementação de modelos GGUF para que possam ser usados efetivamente em ambientes e aplicações de desenvolvimento.

Modelos e casos de uso do GGUF

Grande modelo de linguagem Meta IA (LLaMA)
 

A Meta usa GGUF para seus modelos LLaMA (Llama-2 e Llama-3), que são projetados para tarefas de processamento de linguagem natural (NLP), incluindo geração de texto, resumo e resposta a perguntas. O GGUF no LLaMA permite a implementação em diferentes configurações de hardware, desde GPUs de alto desempenho até CPUs de nível de consumidor mais comuns. O Llama-3 é o modelo atual.

webUI de geração de texto

 

Essa interface da web gera texto usando LLMs e usa o GGUF para armazenamento e inferência de modelos. A flexibilidade do GGUF permite que os usuários carreguem grandes modelos rapidamente para realizar tarefas de geração de texto com latência mínima.

KoboldCpp

 

Um cliente popular para executar LLMs localmente, a KoboldCpp adotou o GGUF para melhorar seu desempenho para os usuários finais. Isso é especialmente benéfico para amadores e pesquisadores que precisam de soluções robustas e fáceis de usar para fazer experimentos com LLMs em computadores pessoais.

Apoio da comunidade e do ecossistema

O desenvolvimento do GGUF é apoiado por uma comunidade colaborativa. Inúmeras bibliotecas e ferramentas foram desenvolvidas para apoiar o GGUF, garantindo ampla adoção e integração com vários fluxos de trabalho de IA. Alguns dos principais participantes desse ecossistema incluem:

  • llama.cpp: Uma biblioteca central que fornece ferramentas para trabalhar com o GGUF, incluindo utilitários de conversão e compatibilidade com modelos em execução.
  • ctransformers: essa biblioteca é compatível com a integração de modelos GGUF em diferentes ambientes de programação, facilitando o uso desses modelos pelos desenvolvedores em suas aplicações.
  • LoLLMS Web UI: uma interface baseada na web compatível com o GGUF, permitindo que os usuários interajam com os modelos por meio de uma interface amigável.

Preparação para o futuro e impacto mais amplo

A introdução do GGUF marca uma mudança em direção a formatos de modelos generativos mais sustentáveis e adaptáveis. Sua capacidade de compatibilidade com uma ampla gama de modelos e configurações significa que ele não está limitado a casos de uso ou hardware específicos. Essa versatilidade garante que o GGUF possa continuar atendendo às necessidades da comunidade de IA à medida que novos avanços surgirem.

Além disso, a ênfase do GGUF na compatibilidade com uma versão anterior minimiza a interrupção durante as atualizações, facilitando a transição para versões mais recentes sem downtime ou reconfiguração significativos.

O GGUF, sendo um formato aberto, se beneficia das contribuições colaborativas da comunidade de código aberto, que ajuda no seu desenvolvimento, melhoria e adoção generalizada. Sua adoção em projetos de alta visibilidade, como o LLaMA, e várias ferramentas de IA ressaltam sua importância na evolução contínua de grandes modelos de linguagem. Ao facilitar a implementação de modelos mais rápidos, flexíveis e preparados para o futuro, o GGUF desempenha um papel crucial no avanço dos recursos dos sistemas de IA.

Soluções relacionadas
IBM Bob

Acelere a entrega de software com o Bob, seu parceiro de IA para desenvolvimento seguro e com reconhecimento de intenção.

Explore o IBM Bob
IBM watsonx Orchestrate

Projete assistentes e agentes de IA escaláveis com facilidade, automatize tarefas repetitivas e simplifique processos complexos com o IBM® watsonx Orchestrate.

Explore o watsonx Orchestrate
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa com a experiência em IA líder do setor e com o portfólio de soluções da IBM.

Explore as soluções de IA
Dê o próximo passo

Onde quer que você esteja no ciclo de vida de desenvolvimento, o Bob tem tudo o que você precisa, apresentando avaliações agênticas com reconhecimento de intenção alinhadas à segurança que aceleram a entrega de software de alta qualidade.

  1. Descubra o IBM Bob
  2. Explore o watsonx Orchestrate