Família de modelos de IA Granite 3.0 da IBM
Em seu evento anual TechXchange, a IBM anunciou o lançamento de sua família mais avançada de modelos de IA até agora, denominada de Granite 3.0. A nova geração de modelos oferece recursos incomparáveis para aplicativos corporativos. No total, são três classes de modelos:
- Modelos de Propósito Geral: Granite 3.0 8B Instruct, Granite 3.0 2B Instruct, Granite 3.0 8B Base, Granite 3.0 2B Base.
- Guardrails e Segurança: Granite Guardian 3.0 8B, Granite Guardian 3.0 2B.
- Mistura de especialistas (MoE): Granite 3.0 3B-A800M Instruct, Granite 3.0 1B-A400M Instruct, Granite 3.0 3B-A800M Base, Granite 3.0 1B-A400M Base.
Os modelos Granite 3.0 apresentam maior precisão na detecção de danos, detecção de alucinações e outras aplicações críticas. Essas características os tornam adequados para aplicações em ambientes sensíveis. A versão inicial do modelo Granite 3.0 8B oferece suporte a recursos avançados de raciocínio e resolução de problemas em várias etapas. Já a família Granite Guardian 3.0 possibilita que os desenvolvedores implementem recursos de detecção e mitigação de riscos em vários casos de uso.
Granite também irá alimentar o watsonx Code Assistant. Ele oferecerá assistência de codificação de uso geral em várias linguagens de programação.
Licença permissiva!
Vários modelos Granite 3.0 foram liberados sob a licença permissiva Apache 2.0.
modelos disponíveis para download
Existem quatro versões do Granite 3.0 disponíveis para download. Granite 2B e o Granite 8B são LLMs densos somente de texto. Eles foram treinados em mais de 12 trilhões de tokens de dados. Ambos foram projetados para oferecer suporte a casos de uso baseados em ferramentas e suporte para geração aumentada de recuperação (RAG), simplificando a geração de código, tradução e correção de bugs.
Em termos de desempenho, o Granite 8B Instruct supera com o Llama 3.1 8B Instruct em benchmarks como OpenLLM Leaderboard v1 e OpenLLM Leaderboard v2.
O desempenho do Granite 3.0 8B em comparação a outros LLMs de tamanhos equivalentes (fonte).
Também existem dois modelos com mixture of experts (MoE) de tamanhos 1B e 3B. Os modelos 1B e 3B são os primeiros modelos com MoE da IBM projetados para uso de baixa latência. Eles foram treinados em mais de 10 trilhões de tokens de dados. Ambas as versões Granite MoE são ideais para aplicativos que exigem inferências instantâneas.
Granite 3.0 em Python
Para usar os modelos Granite 3.0 em Python, podemos usar a biblioteca transformers da Hugging Face ou Ollama. Utilizaremos Ollama por ser mais amigável. As instruções para instalar a biblioteca para uso com Python podem ser obtidas aqui.
Com Ollama instalado no seu computador, baixe um dos modelos disponíveis. Para o post, usaremos a versão Granite denso de 2B. Ele pode ser baixado da plataforma Ollama com o comando:
ollama pull granite3-dense
Em seguida, num código Python, inicie um cliente Ollama e defina um prompt:
import ollama
# inicia o cliente
client = ollama.Client()
# prompt com contexto
context = """
Escreva seu contexto aqui
"""
instruction = """
Escreva sua instrução/pergunta aqui
"""
prompt = f"Context: {context}\n\nInstruction: {instruction}"
Depois basta alimentar o modelo com o prompt e executar o código para obter a resposta gerada:
# alimenta o modelo com o prompt
response = client.generate(model="granite3-dense", prompt=prompt)
# imprime a resposta
print("Resposta do Granite 3.0:", response['response'])
Se você tiver erros do tipo ResponseError: llama runner process has terminated ao executar o modelo, tente fazer o update do Ollama para seu sistema operacional.