Muse Spark Open da Meta já está disponível no Amazon SageMaker JumpStart

O que é o Muse Spark Open?

A Meta anunciou a disponibilidade do Muse Spark Open no Amazon SageMaker JumpStart, o hub de aprendizado de máquina (ML) do Amazon SageMaker AI. Trata-se de um modelo de pesos abertos otimizado para tarefas de programação e fluxos de trabalho agênticos — ou seja, para agentes que executam sequências longas de ações de forma autônoma.

O modelo foi treinado a partir de fluxos de trabalho reais de desenvolvedores, incluindo refatorações em múltiplos arquivos, sessões longas de depuração e geração de código. Ele aceita como entrada texto, imagens, documentos, áudio e vídeo, e retorna texto como saída.

Arquitetura e características técnicas

O Muse Spark Open utiliza uma arquitetura de Mistura de Especialistas (MoE — Mixture of Experts), com 816 bilhões de parâmetros totais, dos quais apenas 42 bilhões ficam ativos para cada token processado. Isso significa que o modelo carrega a capacidade de uma rede muito grande, mas o custo computacional por token se aproxima ao de um modelo denso bem menor.

Outro destaque é a janela de contexto de 1 milhão de tokens. Com isso, é possível fornecer ao modelo um projeto inteiro — incluindo dependências, código legado e milhares de arquivos — sem precisar dividir a tarefa em pedaços menores.

A tabela abaixo resume as principais características do modelo:

  • Provedor: Meta
  • Arquitetura: Mistura de Especialistas (MoE), modelo de raciocínio
  • Parâmetros: 816B totais, 42B ativos
  • Janela de contexto: 1 milhão de tokens
  • Modalidades de entrada: Texto, imagem, documento, áudio, áudio-vídeo
  • Modalidade de saída: Texto
  • Variantes no SageMaker JumpStart: BF16 e NVFP4
  • Licença: Muse Model License, incluindo a Muse Spark Usage Policy

Construído para agentes de programação de longa duração

Segundo a Meta, o Muse Spark Open foi projetado desde o início como um modelo agêntico. Ele não apenas executa chamadas de ferramentas isoladas — ele planeja, age, observa os resultados e se autocorrige ao longo de horizontes longos de execução. Como modelo de raciocínio, ele processa a tarefa antes de agir, e o endpoint do SageMaker AI retorna esse raciocínio junto com a resposta final, permitindo acompanhar o que o agente está fazendo e por quê.

A Meta também treinou o modelo para navegar na web, coordenar subagentes em tarefas paralelizáveis e operar computadores em ambientes de desktop, mobile e navegador. Vale destacar: no SageMaker AI, é a aplicação ou o framework de agentes do desenvolvedor que fornece as ferramentas, o navegador e o ambiente de uso — o modelo apenas os chama.

Além do código, o Muse Spark Open raciocina sobre imagens, documentos, áudio e vídeo, o que abre espaço para fluxos de trabalho de engenharia multimodal.

Duas variantes e a escolha de instância

O SageMaker JumpStart oferece duas variantes do modelo:

  • BF16 — Muse-Spark-Open-816B-A42B: variante de precisão total, requer a instância ml.p6-b300.48xlarge
  • NVFP4 — Muse-Spark-Open-816B-A42B-NVFP4: variante quantizada em ponto flutuante de 4 bits da NVIDIA, requer a instância ml.p5e.48xlarge e ocupa cerca de um quarto da memória da variante BF16

A ativação esparsa mantém o custo por token baixo, mas o serviço ainda exige memória suficiente para armazenar todos os 816 bilhões de parâmetros. Por isso, a escolha da instância é determinada pela capacidade de memória. A recomendação é começar com a variante NVFP4 para avaliar custo-benefício, validando a qualidade nos seus próprios conjuntos de trabalho antes de decidir qual usar em produção.

Controle total do deploy na sua conta AWS

Com os pesos abertos no SageMaker AI, o desenvolvedor mantém controle total sobre o ambiente. O endpoint roda na própria conta AWS, o que significa que o código-fonte e os prompts são processados em infraestrutura que você configura e controla. É possível:

Casos de uso

A Meta posiciona o Muse Spark Open para os seguintes cenários:

  • Assistentes de código sobre repositórios privados: responder perguntas sobre bases de código grandes, refatorá-las e depurá-las com o projeto completo em contexto, enquanto o código é processado em um endpoint na sua conta.
  • Agentes de programação de longa duração: executar agentes que planejam uma mudança, editam múltiplos arquivos, rodam testes no seu próprio ambiente e corrigem o curso com base nos resultados.
  • Fluxos de trabalho de engenharia multimodal: transformar capturas de tela, documentos de design ou um relatório de bug gravado em áudio e vídeo em um plano de reprodução ou uma correção preliminar.

Pré-requisitos para o deploy

Antes de começar, é necessário ter:

  • Uma conta AWS com permissões para criar modelos e endpoints no SageMaker AI
  • Uma função de execução do AWS Identity and Access Management (IAM) para o SageMaker AI. Para este tutorial, a política gerenciada AmazonSageMakerFullAccess é suficiente. Para produção, restrinja a função às ações e recursos necessários — consulte como usar funções de execução do SageMaker AI.
  • Um domínio SageMaker AI com acesso ao SageMaker Studio, para o caminho via Studio. Veja como configurar rapidamente o Amazon SageMaker AI.
  • Cota de serviço para o tipo de instância do endpoint: ml.p5e.48xlarge para a variante NVFP4 ou ml.p6-b300.48xlarge para a variante BF16. Para solicitar aumento de cota, consulte como solicitar aumento de cota.
  • Para o caminho via SDK: Python 3.10 ou superior e SageMaker Python SDK v3 (pip install --upgrade sagemaker)
  • Uma região AWS onde o Muse Spark Open esteja disponível no SageMaker JumpStart. No lançamento, as regiões disponíveis são US East (N. Virginia) e US East (Ohio).

Atenção: as instâncias que hospedam o Muse Spark Open são instâncias multi-GPU e cobram pelo tempo em que o endpoint está ativo, independentemente de estar recebendo requisições. Exclua o endpoint ao terminar os testes. Para verificar os valores, consulte a página de preços do Amazon SageMaker AI.

Deploy pelo SageMaker Studio

O caminho pelo Amazon SageMaker Studio é indicado para uma primeira avaliação. Para localizar o Muse Spark Open no SageMaker JumpStart:

  1. Abra o SageMaker Studio.
  2. No painel de navegação, escolha JumpStart.
  3. Na caixa de busca, digite Muse Spark Open.
  4. Escolha Muse-Spark-Open-816B-A42B para a variante BF16 ou Muse-Spark-Open-816B-A42B-NVFP4 para a variante NVFP4.

Para fazer o deploy:

  1. No cartão de detalhes do modelo, escolha Deploy.
  2. Como o Muse Spark Open é um modelo restrito (gated), o SageMaker Studio exibirá o contrato de licença de usuário final (EULA — End-User License Agreement). Revise e aceite para continuar.
  3. Em Endpoint name, mantenha o nome gerado ou insira o seu.
  4. Em Instance type, selecione ml.p5e.48xlarge para NVFP4 ou ml.p6-b300.48xlarge para BF16.
  5. Em Initial instance count, insira 1.
  6. (Opcional) Em Advanced options, selecione uma VPC e uma chave AWS KMS, ou ative o isolamento de rede.
  7. Escolha Deploy.

O processo de implantação leva tipicamente entre 15 e 20 minutos, enquanto o SageMaker AI provisiona a instância e carrega os pesos. Quando o status do endpoint mudar para InService, ele estará pronto para receber requisições.

Deploy pelo SageMaker Python SDK

O SageMaker Python SDK identifica cada variante por um ID de modelo:

  • BF16: meta-vlm-muse-spark-open-816b-a42b
  • NVFP4: meta-vlm-muse-spark-open-816b-a42b-nvfp4

O código abaixo faz o deploy da variante NVFP4 com o SageMaker Python SDK v3. Ele pode ser executado em um notebook do SageMaker Studio, que usa a função de execução do domínio. Em qualquer outro ambiente Python com credenciais AWS, passe a função de execução do SageMaker AI pelo parâmetro role_arn. Como o Muse Spark Open é um modelo restrito, é obrigatório definir accept_eula=True para fazer o deploy.

from sagemaker.core.jumpstart.configs import JumpStartConfig
from sagemaker.serve import ModelBuilder
from sagemaker.train.configs import Compute

# NVFP4 variant; for BF16, use "meta-vlm-muse-spark-open-816b-a42b" with ml.p6-b300.48xlarge
model_id = "meta-vlm-muse-spark-open-816b-a42b-nvfp4"

jumpstart_config = JumpStartConfig(
    model_id=model_id,
    accept_eula=True,  # Confirms that you accept Meta's license terms
)

model_builder = ModelBuilder.from_jumpstart_config(
    jumpstart_config=jumpstart_config,
    compute=Compute(instance_type="ml.p5e.48xlarge"),
    # role_arn="<your-sagemaker-execution-role-arn>",  # Required outside SageMaker Studio
)

model = model_builder.build(model_name="muse-spark-open-nvfp4")
endpoint = model_builder.deploy(endpoint_name="muse-spark-open-nvfp4")

Executando a primeira inferência

Quando o endpoint estiver ativo, envie uma requisição com o método invoke. O endpoint aceita um payload de chat compatível com OpenAI, com uma lista de mensagens, e retorna uma conclusão de chat. A resposta final fica em message.content, o raciocínio do modelo fica em message.reasoning_content, e usage.reasoning_tokens informa quantos tokens foram usados no raciocínio. Por ser um modelo de raciocínio, deixe espaço suficiente em max_tokens para o raciocínio e a resposta final.

import json

payload = {
    "messages": [
        {
            "role": "user",
            "content": "Write a Python function that validates ISO 8601 dates, and add pytest unit tests for it.",
        }
    ],
    "max_tokens": 4096,
}

response = endpoint.invoke(
    body=json.dumps(payload),
    content_type="application/json",
)

result = json.loads(response.body.read().decode("utf-8"))
message = result["choices"][0]["message"]

print("Reasoning:", message.get("reasoning_content"))
print("Answer:", message["content"])

O endpoint também suporta streaming. Para receber os tokens à medida que são gerados, adicione "stream": true ao corpo da requisição e chame endpoint.invoke_with_response_stream em vez de invoke.

Limpeza: encerrando o endpoint

Para evitar cobranças contínuas, exclua o endpoint quando não precisar mais dele. Se o deploy foi feito pelo SDK, exclua o modelo, o endpoint e a configuração do endpoint:

from sagemaker.core.resources import EndpointConfig

endpoint_config = EndpointConfig.get(endpoint_config_name=endpoint.endpoint_name)
model.delete()
endpoint.delete()
endpoint_config.delete()

Se o deploy foi feito pelo SageMaker Studio, exclua o endpoint pelo console do SageMaker AI: escolha Inference, depois Endpoints, selecione o endpoint e escolha Actions > Delete.

Conclusão

A disponibilidade do Muse Spark Open no SageMaker JumpStart representa uma opção relevante para equipes que buscam um modelo de raciocínio de pesos abertos, otimizado para programação e com suporte a fluxos agênticos de longa duração. A janela de 1 milhão de tokens permite trabalhar com projetos inteiros em contexto, e o controle total sobre o endpoint — incluindo VPC, criptografia e isolamento de rede — é um diferencial importante para cenários com dados sensíveis.

Antes de escolher a variante para produção, a recomendação é avaliar as duas opções (BF16 e NVFP4) nos seus próprios repositórios e cargas de trabalho. Para opções adicionais de implantação, como componentes de inferência e configurações otimizadas, consulte o guia de uso de modelos de fundação no JumpStart no Amazon SageMaker AI Developer Guide.

Fonte

Meta’s Muse Spark Open now available in Amazon SageMaker JumpStart (https://aws.amazon.com/blogs/machine-learning/metas-muse-spark-open-now-available-in-amazon-sagemaker-jumpstart/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *