Início

Think

Tópicos

GGUF versus GGML

GGUF versus GGML
Explore os modelos de base do watsonx.ai da IBM Inscreva-se para receber atualizações de IA
Colagem de pictogramas com nuvens, gráfico de pizza e outros gráficos

Publicado em: 3 de julho de 2024
Colaboradores: Tim Mucci

GGUF versus GGML

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.

Como escolher os modelos de base de IA corretos

Inscreva-se para esse ebook para saber qual é a melhor abordagem para preparar conjuntos de dados e empregar modelos de IA, quais resultados sua organização pode esperar de projetos de IA generativa e por que a escolha do modelo errado pode afetar severamente sua empresa.

Conteúdo relacionado Como modelos de base e armazenamentos de dados liberam o potencial de negócios da IA generativa
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.

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 (PLN). Ela oferece uma biblioteca de transformadores (link externo a ibm.com), que inclui muitos modelos pré-treinados que podem ser convertidos em 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 AI (LLaMA)

A Meta usa o GGUF para seus modelos LLaMA (Llama-2 e Llama-3), que são projetados para tarefas de processamento de linguagem natural (PLN), incluindo geração de texto, resumo e resposta a perguntas. O GGUF no LLaMA permite a implantaçã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
Explore o IBM Watsonx

A plataforma de dados e IA da IBM, o watsonx, inclui três componentes principais e um conjunto de assistentes de IA para ajudar sua organização a construir aplicações de IA personalizadas, gerenciar todas as fontes de dados e acelerar fluxos de trabalho de IA responsável.

Explore o IBM watsonx

Explore os serviços de consultoria em IA da IBM

Saiba como os serviços de consultoria em IA da IBM podem ajudar sua organização a projetar, dimensionar e integrar a IA nos processos de negócios para obter maior ROI, melhor experiência do cliente e eficiência.

Serviços de consultoria em inteligência artificial (IA)

Explore as soluções de IA da IBM

A confiança na IA é alcançada usando a IA certa para o trabalho e treinando-a com os dados certos. A IA também deve ser construída com base em princípios éticos. A IBM oferece soluções de IA que podem ajudar as empresas a melhorar a produtividade e o desempenho.

Soluções de inteligência artificial (IA)
Recursos relacionados O que é LLM (grandes modelos de linguagem)?

Saiba o que são LLMs e as diferentes tarefas que eles podem realizar, incluindo geração de texto, resumo, tradução de idiomas, assistentes de IA e muito mais.

O que é IA generativa?

Explore o que é a IA generativa, o que ela pode criar e casos de uso importantes que estão sendo usados nas organizações atualmente.

O que é processamento de linguagem natural (PNL)?

Explore o que é PLN e as diferentes tarefas que ele pode executar, incluindo entender e gerar linguagem humana, extrair informações do texto e muito mais.

Construa um copiloto de IA local usando IBM Granite Code, Ollama e Continue

Descubra como adotar ferramentas de copiloto de IA em um ambiente empresarial com software de código aberto.

Dê o próximo passo

Treine, valide, ajuste e implemente IA generativa, modelos fundacionais e recursos de machine learning com o IBM watsonx.ai, um estúdio empresarial de última geração para desenvolvedores de IA. Crie aplicações de IA em uma fração do tempo e com muito menos dados.

Explore o watsonx.ai Agende uma demonstração em tempo real