Nova Forge SDK: Acesso Simplificado à Customização de LLMs Empresariais
Desbloqueando o Potencial dos LLMs Personalizados com Nova Forge SDK
Olá, sou Jackson, Engenheiro de Software Sênior e Arquiteto de Soluções na AITY. As Large Language Models (LLMs) revolucionaram nossa interação com a IA, mas a abordagem "tamanho único" nem sempre funciona. Modelos LLMs pré-treinados, com conhecimento geral, frequentemente falham em tarefas específicas de domínio, fluxos de trabalho proprietários ou requisitos de negócio únicos. Clientes empresariais necessitam cada vez mais de LLMs especializados que compreendam profundamente seus dados proprietários, processos de negócio e terminologia de domínio. Sem customização, somos forçados a aceitar respostas genéricas ou buscar um meio-termo com engenharia de contexto excessiva.
A Nova Customization oferece um conjunto de recursos robustos, que vão desde opções de customização no Amazon Bedrock, como Supervised Fine-Tuning (SFT) e Reinforcement Fine Tuning (RFT), até as capacidades de customização de IA do Amazon SageMaker, incluindo SFT, Direct Preference Optimization (DPO), RFT, e customização baseada em LoRA e full rank.
O Desafio da Customização e a Solução Nova Forge SDK
Um desafio comum ao refinar modelos em datasets especializados é a "perda catastrófica" (catastrophic forgetting), onde os modelos podem perder algumas capacidades base, como seguir instruções, habilidades de raciocínio e expertise de conhecimento amplo. O Amazon Nova Forge oferece uma ferramenta para superar essa troca, permitindo construir modelos de fronteira usando Nova, partindo de checkpoints iniciais e mesclando seus datasets com dados curados pela Amazon Nova, tudo isso hospedando seus modelos customizados de forma segura na AWS.
No entanto, esses fluxos de trabalho de customização podem ser complexos, exigindo configuração técnica de infraestrutura e um investimento considerável de tempo, criando uma alta barreira de entrada.
Para combater essa questão, estamos lançando o Nova Forge SDK, que torna a customização de LLMs acessível. Ele capacita equipes a explorar todo o potencial dos modelos de linguagem sem os desafios de gerenciamento de dependências, seleção de imagens e configuração de receitas, diminuindo drasticamente a barreira de entrada. Vemos a customização como um continuum na escala de adoção, e o Nova Forge SDK suporta todas as opções, do Amazon Bedrock ao Amazon SageMaker AI, utilizando as capacidades do Amazon Nova Forge.
Nova Forge SDK: Construído por Desenvolvedores para Desenvolvedores
O Nova Forge SDK entrega um kit de ferramentas unificado, projetado especificamente para clientes e desenvolvedores Nova. Ele abrange todo o ciclo de vida da customização, fornecendo soluções em um único lugar, desde ferramentas de preparação de dados e gerenciamento de tarefas de treinamento até a implantação de modelos.
O SDK representa um esforço para remover o "heavy lifting" indiferenciado da customização de LLMs, permitindo que você se concentre na experimentação. Ele complementa as ferramentas existentes, oferecendo fluxos de trabalho com defaults inteligentes e orientação, enquanto ainda permite que usuários avançados acessem todo o poder dos SDKs dos serviços subjacentes quando necessário. Isso oferece aos clientes fluxos de trabalho simplificados para tarefas comuns e flexibilidade total para casos de uso avançados.
Arquitetura do Nova Forge SDK
O SDK pode ser compreendido em três camadas distintas:
- Input Layer: Esta é a camada que você fornece como entradas. Inclui um objeto
RuntimeManager(definindo o hardware, plataforma e a função IAM para permissões), o método de treinamento, os dados de treinamento e quaisquer hiperparâmetros que você escolha sobrescrever, além do modelo de escolha para customizar. - Customizer Layer: Esta é a camada intermediária que recebe essas entradas e, nos bastidores, constrói as configurações de receita corretas e inicia a tarefa com os valores de entrada passados.
- Output Layer: A camada de saída emite os artefatos de saída, incluindo Logs do Amazon CloudWatch, métricas ML Flow, logs do TensorBoard, juntamente com o artefato do modelo treinado final que pode ser usado para refinar ainda mais o modelo por meio de fine-tuning iterativo ou implantar o modelo no Amazon SageMaker AI ou Amazon Bedrock para inferência.
O usuário do Nova Forge SDK fornece um RuntimeManager configurado, um modelo para customizar e um método de treinamento para um dos métodos de API em um NovaModelCustomizer inicializado. A inicialização do Customizer inclui a especificação do local de onde ele pode recuperar os dados de treinamento, que é tipicamente um bucket do Amazon Simple Storage Service (Amazon S3). Com base nessas configurações, o Customizer lida com a configuração e o início de uma tarefa do Amazon SageMaker AI para executar a tarefa especificada. Finalmente, a tarefa concluída gera artefatos de saída e (para a API "train") um modelo treinado, que você pode então referenciar através do SDK ou diretamente usando as APIs do Amazon SageMaker.
Pré-requisitos para o Desenvolvimento
Antes de iniciar o fluxo de trabalho de customização, certifique-se de ter o seguinte configurado em seu ambiente. Esta postagem do blog usa o Amazon SageMaker Training Jobs (SMTJ) como plataforma de computação.
- Conta AWS e AWS CLI: Você precisará de uma conta AWS. Instale e configure o AWS Command Line Interface (AWS CLI) com suas credenciais. Isso é usado para as chamadas de API iniciais para a configuração, e a cadeia de credenciais do AWS CLI é compartilhada pelo Nova Forge SDK.
- Acesso à Plataforma SageMaker AI: Siga a documentação pública para configurar seu acesso à plataforma SageMaker AI, que o Nova Forge SDK usa para fornecer acesso aos modelos Amazon Nova e recursos de customização.
- Funções IAM: Você deve criar duas funções IAM para trabalhar com o Nova Forge SDK: a
User rolee aExecution role.- User role: A função que você assume em sua máquina ao executar o SDK e o AWS CLI. Esta função precisa de permissões para Amazon SageMaker AI (
CreateTrainingJob,DescribeTrainingJob), Amazon S3 (leitura/escrita em seu bucket de dados), Amazon CloudWatch Logs (leitura) e IAM (PassRole). - Execution role: A função que o Amazon SageMaker AI assume para executar tarefas de treinamento em seu nome. Sua política de confiança deve permitir que
sagemaker.amazonaws.coma assuma.
- User role: A função que você assume em sua máquina ao executar o SDK e o AWS CLI. Esta função precisa de permissões para Amazon SageMaker AI (
- Cotas de Serviço: Esta postagem usa instâncias
ml.p5.48xlargepara treinamento e avaliação. O Nova Lite 2.0 requer um mínimo de 4 instâncias para treinamento SFT; se você estiver executando tarefas de treinamento e avaliação simultaneamente, poderá precisar de pelo menos 5 instâncias. Solicite cotas suficientes paraml.p5.48xlargepara uso de tarefas de treinamento através do console de Service Quotas para Amazon SageMaker Training Jobs. - S3 Bucket: Crie um bucket Amazon Simple Storage Service (Amazon S3) na mesma região AWS que suas tarefas de treinamento (usamos
us-east-1ao longo desta postagem) e certifique-se de que suas funções IAM de usuário e execução tenham acesso de leitura e escrita ao bucket. É aqui que armazenaremos os dados de treinamento e artefatos de saída. - Amazon SageMaker HyperPod (Opcional): Além do Amazon SageMaker Training Jobs (SMTJ), o Nova Forge SDK também suporta a execução de tarefas no Amazon SageMaker HyperPod (SMHP). Se você deseja executar o treinamento no SMHP, deve configurar um cluster Amazon SageMaker HyperPod com Restricted Instance Groups (RIGs) para trabalhar com os modelos Amazon Nova.
Configurando o Nova Forge SDK
Após concluir os pré-requisitos, você pode usar as seguintes diretrizes para configurar seu ambiente para começar a usar o Nova Forge SDK.
-
Ambiente Python: O Nova Forge SDK requer Python 3.12 ou posterior. Recomendamos criar um ambiente virtual para isolar dependências e evitar conflitos com outros pacotes em seu sistema.
-
Instale o SDK: Você pode instalar o SDK com o seguinte comando Pip:
bash pip install nova-forge-sdk -
Verifique a Instalação: Importe os módulos chave em um arquivo Python de exemplo para verificar a instalação:
python from nova_forge_sdk import NovaModelCustomizer, SMTJRuntimeManager, TrainingMethod, Model from nova_forge_sdk.data import CSVDatasetLoader from nova_forge_sdk.evaluation import EvaluationTaskAbaixo, breves descrições de cada um desses módulos:
NovaModelCustomizer: A classe principal para interagir com o Nova Forge SDK. Contém os métodos centrais para a API e é usada para inicializar grande parte da configuração de treinamento.SMTJRuntimeManager: Gerencia a infraestrutura AWS necessária para a customização SMTJ, como o tipo e a contagem de instâncias selecionadas para uma tarefa de customização.TrainingMethod: UmEnumdos tipos de treinamento possíveis, que pode ser usado para configurar umNovaModelCustomizer.EvaluationTask: UmEnumdos tipos de avaliação possíveis, que pode ser usado para configurar umNovaModelCustomizer.CSVDatasetLoader: Usado para carregar dados de arquivos CSV para uso no Nova Forge SDK.Model: UmEnumdos modelos Amazon Nova suportados pelo Nova Forge SDK.
Conclusão
A interface unificada do Nova Forge SDK abstrai a complexidade da formatação de dados e das configurações específicas da plataforma, permitindo que os desenvolvedores se concentrem no que realmente importa: seus dados, seu domínio e seus objetivos de negócio. Seja você começando com fine-tuning no Amazon SageMaker Training Jobs ou planejando executar customização com Amazon SageMaker HyperPod, o SDK oferece uma experiência consistente em todo o continuum de customização.
Ao remover as barreiras tradicionais à customização de LLMs – requisitos de expertise técnica e investimento de tempo – o Nova Forge SDK capacita as organizações a construir modelos que realmente entendem seu contexto único, sem sacrificar as capacidades gerais que tornam os modelos de base tão valiosos. O SDK lida com a configuração de recursos de computação, orquestração de todo o pipeline de customização, monitoramento de tarefas de treinamento e implantação de endpoints. O resultado é uma IA empresarial que é especializada e inteligente, especialista no domínio e amplamente capaz.
Pronto para customizar seus próprios modelos Nova? Comece com o Nova Forge SDK no GitHub e explore a documentação completa para começar a construir modelos adaptados às necessidades da sua empresa.
Aguardando Login...