Llama-3.3-70B-Instruct
(huggingface.co)- O Llama-3.3-70B-Instruct, publicado no Hugging Face, é um modelo multilíngue de geração de texto da Meta, com 70B parâmetros e ajustado por instruções, voltado para IA conversacional e usos de geração de texto
- Sua base é um modelo de linguagem autorregressivo com Transformer otimizado, e a versão ajustada é alinhada por SFT e RLHF às preferências de utilidade e segurança
- O pré-treinamento usou cerca de 15 trilhões+ de tokens de dados públicos online; o comprimento de contexto é de 128k, o cutoff de conhecimento é dezembro de 2023, e há suporte a 8 idiomas
- Para acessar o modelo no Hugging Face, é preciso concordar com o compartilhamento de informações de contato e seguir a Llama 3.3 Community License e a Acceptable Use Policy
- Em implantações reais, em vez de usar apenas o modelo isoladamente, deve-se compor um sistema de IA com guardrails de segurança e realizar testes e ajustes de segurança específicos para cada uso
Características do modelo e principais especificações
- O Llama 3.3 é um grande modelo de linguagem multilíngue desenvolvido pela Meta, e a versão
70B Instructé um modelo generativo ajustado por instruções que aceita entrada de texto e produz saída de texto - É otimizado para casos de uso de conversação multilíngue e foi avaliado como superior a diversos modelos de chat open source e fechados em benchmarks gerais da indústria
- A arquitetura é um modelo de linguagem autorregressivo baseado em Transformer otimizado
- A versão ajustada usa supervised fine-tuning (SFT) e reinforcement learning with human feedback (RLHF)
- Todas as versões do modelo usam Grouped-Query Attention (GQA) para melhorar a escalabilidade da inferência
- Principais especificações
- Parâmetros: 70B
- Entrada: texto multilíngue
- Saída: texto multilíngue e código
- Comprimento de contexto: 128k
- Número de tokens de pré-treinamento: 15T+
- Cutoff de conhecimento: dezembro de 2023
- Data de lançamento: 6 de dezembro de 2024
- Os idiomas com suporte são inglês, alemão, francês, italiano, português, hindi, espanhol e tailandês
- O modelo é um modelo estático treinado com datasets offline, e futuras versões ajustadas do modelo serão lançadas incorporando feedback da comunidade
Condições de acesso e obrigações de licença
- Para acessar o conteúdo deste modelo no Hugging Face, é preciso concordar com o compartilhamento de informações de contato
- As informações fornecidas são coletadas, armazenadas, processadas e compartilhadas de acordo com a Meta Privacy Policy
- A licença é o Llama 3.3 Community License Agreement
- Llama Materials incluem o Llama 3.3 da Meta, a documentação e partes deles
- É concedida uma licença limitada, não exclusiva, mundial, intransferível e isenta de royalties para uso, reprodução, distribuição, cópia, criação de obras derivadas e modificação
- Há requisitos adicionais ao redistribuir ou distribuir produtos que o incluam
- Ao distribuir Llama Materials ou derivados, ou oferecer produtos/serviços que os incluam, é necessário fornecer uma cópia da licença junto com eles
- Em sites, UIs, posts de blog, páginas about e documentação de produto relacionados, deve-se exibir “Built with Llama” de forma destacada
- Ao usar Llama Materials ou suas saídas/resultados para criar, treinar, fazer fine-tuning ou melhorar um modelo de IA e distribuí-lo, o nome do modelo deve incluir “Llama” no início
- Todas as cópias distribuídas devem manter os avisos de copyright e licença especificados no arquivo de texto “Notice”
- Usos comerciais em grande escala têm condições adicionais
- Se, no mês imediatamente anterior à data de lançamento do Llama 3.3, os produtos/serviços oferecidos pelo Licensee ou por afiliadas tiverem mais de 700 milhões de usuários ativos mensais, é preciso solicitar uma licença separada à Meta
- Até que a Meta conceda explicitamente os direitos, esses direitos não podem ser exercidos
- O contrato é interpretado segundo as leis do estado da Califórnia, e disputas relacionadas ficam sob jurisdição exclusiva dos tribunais da Califórnia
Escopo permitido e usos proibidos
- O Llama 3.3 é destinado a uso comercial e de pesquisa em vários idiomas
- Modelos text-only ajustados por instruções são usados em chats do tipo assistant-like
- Modelos pretrained podem ser adaptados para diversas tarefas de geração de linguagem natural
- As saídas do modelo também podem ser usadas para melhorar outros modelos, incluindo geração de dados sintéticos e distillation
- Usos fora do escopo incluem:
- Uso que viole leis ou regulamentos aplicáveis, ou normas de conformidade comercial
- Uso de formas proibidas pela Acceptable Use Policy e pela Llama 3.3 Community License
- Uso fora dos idiomas explicitamente suportados no model card
- Embora o modelo tenha sido treinado com uma coleção de idiomas mais ampla que os 8 idiomas suportados, ao usar idiomas adicionais o desenvolvedor deve cumprir a licença e as políticas, além de garantir um uso seguro e responsável
- A Acceptable Use Policy proíbe os seguintes usos:
- Violência, terrorismo, exploração infantil, tráfico de pessoas, violência sexual, distribuição de informações ilegais, solicitação sexual e outras atividades criminosas
- Assédio, abuso, ameaças e bullying
- Discriminação ou atos ilegais/nocivos em emprego, crédito, moradia e fornecimento de bens e serviços essenciais
- Exercício profissional sem autorização
- Coletar, processar, divulgar, gerar ou inferir informações sensíveis ou privadas de indivíduos sem direitos legais adequados
- Violação ou uso indevido de direitos de terceiros
- Criação de código malicioso, malware ou vírus de computador, ou interferência na operação de sistemas
- Bypass ou remoção de restrições de uso ou medidas de segurança
- Atividades com risco de morte ou dano físico também são proibidas
- Atividades militares, guerra, indústria ou aplicações nucleares, espionagem e atividades sujeitas ao ITAR
- Armas de fogo e armas ilegais, drogas ilícitas e substâncias controladas
- Infraestrutura crítica, tecnologia de transporte e operação de maquinário pesado
- Conteúdo que incentive automutilação ou dano a terceiros, violência, abuso ou dano físico
- Também há proibições relacionadas a engano
- Criar ou promover fraude ou desinformação
- Criar conteúdo difamatório
- Criar ou distribuir spam
- Personificação sem consentimento ou direito legal
- Apresentar o uso ou a saída do Llama 3.3 como se tivesse sido criada por uma pessoa
- Gerar engajamento online falso, como avaliações falsas
- Modelos multimodais incluídos no Llama 3.3 não concedem os direitos da Section 1(a) a pessoas físicas residentes na UE ou empresas com sede principal na UE
- Essa restrição não se aplica aos usuários finais de produtos/serviços que incluam esses modelos multimodais
Como executar e opções de serving
- Este repositório inclui duas versões do Llama-3.3-70B-Instruct: uma para
transformerse outra para a base de código originalllama - A partir de
transformers >= 4.45.0, é possível executar inferência conversacional com a abstração Transformerspipelineou com classes Auto e a funçãogenerate()- A atualização da instalação é feita com
pip install --upgrade transformers - O exemplo cria um pipeline
text-generationcomtorch.bfloat16edevice_map="auto"
- A atualização da instalação é feita com
- O uso de ferramentas (tool use) no Transformers também é suportado
- Há suporte a vários formatos de uso de ferramentas, e o guia de formato de prompt pode ser visto na documentação de formato de prompt do LLaMA
- O uso de ferramentas pode ser tratado pelos chat templates do Transformers
- Quando o modelo gera uma chamada de ferramenta, adiciona-se
tool_callsà mensagem do assistant, acrescenta-se o resultado da execução da ferramenta como uma mensagem com o papeltoole então chama-segenerate()novamente
- Com
bitsandbytesetransformers, é possível carregar checkpoints em 8-bit e 4-bit para otimizar ainda mais a memória- O carregamento em 8-bit usa
BitsAndBytesConfig(load_in_8bit=True) - O carregamento em 4-bit passa
load_in_4bit=True
- O carregamento em 8-bit usa
- Para usar a base de código original
llama, siga as instruções do repositório Meta Llama- Os checkpoints originais podem ser baixados no formato
huggingface-cli download meta-llama/Llama-3.3-70B-Instruct --include "original/*" --local-dir Llama-3.3-70B-Instruct
- Os checkpoints originais podem ser baixados no formato
- Também são oferecidas opções para apps locais e serving
- O vLLM inicia o servidor com
vllm serve "meta-llama/Llama-3.3-70B-Instruct"e é chamado pela API compatível com OpenAI/v1/chat/completions - O SGLang executa o servidor com
python3 -m sglang.launch_server --model-path "meta-llama/Llama-3.3-70B-Instruct"e é chamado por uma API compatível com OpenAI - O Docker Model Runner usa
docker model run hf.co/meta-llama/Llama-3.3-70B-Instruct
- O vLLM inicia o servidor com
Dados de treinamento, computação e emissões
- Os dados de pré-treinamento consistem em cerca de 15 trilhões de tokens de fontes públicas
- Os dados de fine-tuning incluem datasets públicos de instruções e mais de 25 milhões de exemplos gerados sinteticamente
- A atualidade dos dados vai até dezembro de 2023 com base nos dados de pré-treinamento
- O treinamento usou bibliotecas de treinamento customizadas, clusters de GPU customizados da Meta e infraestrutura de produção
- Fine-tuning, anotação e avaliação também foram realizados na infraestrutura de produção
- Em hardware H100-80GB, foram usados 39,3M horas de GPU acumuladas de computação no treinamento
- O tempo de treinamento do item Llama 3.3 70B é de 7,0M horas de GPU
- O consumo de energia de treinamento é apresentado como 700W por GPU
- As emissões de gases de efeito estufa do treinamento são separadas conforme a metodologia de cálculo
- A estimativa total de emissões baseada em localização é de 11.390 tons CO2eq
- As emissões baseadas em localização do item Llama 3.3 70B são de 2.040 tons CO2eq
- Como a Meta mantém emissões líquidas zero nas operações globais desde 2020 e fez matching de 100% do consumo de energia com energia renovável, as emissões de treinamento baseadas em mercado são 0 tons CO2eq
- O uso de energia e a metodologia de cálculo de gases de efeito estufa são apresentados no artigo
- Como a Meta faz o lançamento público do modelo, o uso de energia de treinamento e as emissões de gases de efeito estufa não recaem sobre outros usuários
Posição nos benchmarks
- Benchmarks de texto em inglês comparam o Llama 3.3 a modelos anteriores
- Principais resultados do Llama-3.3 70B Instruct
- MMLU(CoT): 86.0
- MMLU Pro(CoT): 68.9
- IFEval: 92.1
- GPQA Diamond(CoT): 50.5
- HumanEval: 88.4
- MBPP EvalPlus(base): 87.6
- MATH(CoT): 77.0
- BFCL v2: 77.3
- MGSM: 91.1
- Algumas comparações com modelos anteriores e superiores
- No HumanEval, o Llama 3.1 70B Instruct marca 80.5, o Llama-3.3 70B Instruct marca 88.4, e o Llama 3.1 405B Instruct marca 89.0
- No MATH, o Llama 3.1 70B Instruct marca 68.0, o Llama-3.3 70B Instruct marca 77.0, e o Llama 3.1 405B Instruct marca 73.8
- No MGSM, o Llama 3.1 70B Instruct marca 86.9, o Llama-3.3 70B Instruct marca 91.1, e o Llama 3.1 405B Instruct marca 91.6
Avaliação de segurança e responsabilidade de implantação
- A abordagem de lançamento responsável da Meta segue três estratégias para gerenciar riscos de confiança e segurança
- Ajudar desenvolvedores a implantar experiências úteis, seguras e flexíveis adequadas aos usuários-alvo e aos casos de uso suportados pelo Llama
- Proteger desenvolvedores contra usuários adversariais que tentem abusar das capacidades do Llama
- Oferecer proteção à comunidade para ajudar a prevenir o mau uso do modelo
- O Llama 3.3 foi projetado como tecnologia de base usada em diversos casos de uso
- A segurança do modelo é alinhada a casos de uso gerais e categorias padrão de dano
- Desenvolvedores devem definir políticas adequadas aos seus casos de uso e implantar sistemas Llama com as proteções necessárias
- As orientações relacionadas são fornecidas no Responsible Use Guide
- O fine-tuning de segurança do Llama 3.3 Instruct se concentra em fornecer recursos para estudar a robustez do fine-tuning de segurança e em reduzir o ônus dos desenvolvedores na implantação de sistemas de IA seguros
- Os dados de fine-tuning combinam dados gerados por humanos produzidos por fornecedores e dados sintéticos
- Classificadores baseados em LLM são usados para selecionar prompts e respostas de alta qualidade
- A estratégia de dados de segurança inclui prompts borderline e adversariais
- As respostas dos dados de segurança são modificadas para seguir diretrizes de tom de recusa
- Grandes modelos de linguagem, incluindo o Llama 3.3, não são projetados para implantação isolada
- Devem ser implantados como parte de um sistema de IA completo, junto com guardrails de segurança adicionais
- Ao criar sistemas agentic, desenvolvedores devem implantar proteções de sistema
- A Meta oferece Llama Guard 3, Prompt Guard e Code Shield como recursos de trust and safety
- Demonstrações de reference implementations incluem essas proteções por padrão
- Em recursos de uso de ferramentas, o desenvolvedor é responsável pela integração entre o LLM e as ferramentas/serviços escolhidos
- Deve definir políticas claras específicas ao caso de uso
- Deve avaliar a integridade e os limites de segurança e proteção dos serviços de terceiros
- Em recursos multilíngues, o modelo também pode produzir saídas em idiomas além dos 8 suportados
- Para conversar em idiomas que não atenderam aos critérios de segurança e utilidade, é preciso implementar fine-tuning e controles de sistema
- A Meta desaconselha fortemente conversas em idiomas não suportados
Avaliação de riscos e recursos da comunidade
- A avaliação foi realizada para casos de uso gerais e funcionalidades específicas
- A avaliação de casos de uso gerais mede riscos de segurança nas aplicações mais comuns, como chatbots, assistentes de programação e chamadas de ferramentas
- Foi construído um dataset adversarial dedicado, e foi avaliado um sistema composto por modelos Llama e Llama Guard 3
- É importante avaliar a aplicação no contexto, e recomenda-se construir datasets de avaliação dedicados para cada caso de uso
- Foram realizados treinamentos iterativos de red team
- O objetivo é descobrir riscos por meio de prompting adversarial
- Os resultados do aprendizado são usados para melhorar benchmarks e datasets de safety tuning
- A red team é composta por especialistas em cibersegurança, machine learning adversarial, IA responsável e integrity, além de especialistas em conteúdo multilíngue
- Áreas de risco mitigadas com foco
- CBRNE: para avaliar riscos relacionados à proliferação de armas químicas e biológicas, foram feitos testes de uplift para verificar se o uso de modelos da família Llama 3 aumentaria de forma significativa as capacidades de agentes mal-intencionados
- Child Safety: equipes de especialistas avaliaram a capacidade de gerar saídas que poderiam criar riscos à segurança infantil e analisaram a necessidade de mitigação por fine-tuning
- Cyber attack enablement: investigou-se se o modelo aumenta o nível técnico e a velocidade das capacidades humanas em tarefas de hacking, e avaliou-se se ele consegue realizar ataques cibernéticos complexos como agente autônomo no contexto de ataques de ransomware
- A Meta participa de consórcios abertos como AI Alliance, Partnership on AI e MLCommons, contribuindo para padronização de segurança e transparência
- As ferramentas Purple Llama foram tornadas open source para uso da comunidade, e contribuições da comunidade são recebidas no repositório PurpleLlama no GitHub
- O Llama Impact Grants identifica e apoia aplicações do Llama para benefício social em três categorias: educação, clima e inovação aberta
- Por meio de mecanismos de denúncia de saídas e do bug bounty program, a tecnologia Llama é continuamente aprimorada com ajuda da comunidade
Limitações e cuidados para desenvolvedores
- O valor central do Llama 3.3 é apresentado como abertura, inclusão e utilidade
- O modelo foi projetado para ser acessível a pessoas com diferentes origens, experiências e perspectivas
- O Llama 3.3 é uma tecnologia nova, e seu uso ainda envolve riscos
- Os testes até agora não incluíram, nem poderiam incluir, todos os cenários
- Como em outros LLMs, saídas potenciais não podem ser previstas antecipadamente
- Em alguns casos, ele pode produzir respostas imprecisas, enviesadas ou de outro modo desagradáveis
- Antes de implantar aplicações do modelo Llama 3.3, desenvolvedores devem realizar testes de segurança e ajustes específicos para a aplicação
- Materiais relacionados ao desenvolvimento responsável estão disponíveis no Responsible Use Guide, em Trust and Safety e em outros resources
1 comentários
Opiniões no Hacker News
Benchmarks: https://www.reddit.com/r/LocalLLaMA/comments/1h85ld5/comment...
Parece ter desempenho parecido ou um pouco melhor que o Llama 3.2 405B, o que é realmente impressionante
Segundo Zuck (https://www.instagram.com/p/DDPm9gqv2cW/), este é o último lançamento da série Llama 3, e o Llama 4 deve sair em 2025, então há expectativa
Coloquei 40/80 camadas na GPU, e a qualidade da saída parece boa até agora
Para consultas que você não quer enviar pela rede e em que deseja a melhor resposta possível, essa configuração é utilizável
Quando houver quantização melhor ou configurações com mais memória de GPU, acho que será possível usar esses modelos grandes localmente como assistentes de programação sólidos
O modelo usado foi
lmstudio-community/Llama-3.3-70B-Instruct-GGUF/Llama-3.3-70B-Instruct-Q4_K_M.ggufOs modelos 8B/70B/405B são um dos Llama 3, 3.1 ou 3.3 (o 405B não existia no lançamento inicial), e o Llama 3.2 inclui apenas os modelos 1B, 3B, 11B vision e 90B vision
É uma estrutura bem confusa
Isso lembra a famosa frase de Steve Jobs para o Dropbox, de que armazenamento era “um recurso, não um produto”
Ao lançar esses modelos poderosos como open source, Zuckerberg está essencialmente transformando IA em commodity, enquanto o modelo de negócio real da Meta continua centrado em plataformas sociais
Eles podem usar esses modelos para fortalecer os serviços Facebook e Instagram e, ao mesmo tempo, se beneficiar de melhorias da comunidade e da atenção gerada
A estratégia não é vender IA, mas usar IA para tornar o negócio principal mais forte
Ao torná-los públicos, eles ganham as vantagens de ampla adoção e desenvolvimento mesmo sem monetizar diretamente os próprios modelos
Pode ser coincidência, mas depois que começaram a lançar esses modelos, passei a ver com mais frequência pessoas no HN chamando a empresa de “Meta”, e ultimamente tenho visto uma postura muito mais positiva do que o normal
Boa vontade talvez não valha tanto quanto moderação/censura automática barata ou recursos chamativos, mas certamente tem valor
Depois de ver as declarações de Zuckerberg, ficou claro para mim que, do ponto de vista de uma empresa, open source é útil quando pode aumentar a receita ou reduzir custos
Exemplos de aumento de receita são Chrome e Visual Studio Code
Por exemplo, quanto mais pessoas programam, maior a chance de pagarem dinheiro à MSFT, então o VS Code tem o objetivo de tornar a programação o mais atraente possível
O Chrome é parecido
Exemplos de redução de custos são Linux e Llama
Como o próprio Zuckerberg disse, eles não querem que um lado cresça como uma bola de neve graças a um monopólio de LLMs, então preferiram ajudar o lado open source a ganhar tração
Fico pensando se não estão limitando artificialmente a capacidade para empurrar serviços de armazenamento em nuvem
Tenho visto anúncios no Facebook e Instagram e de fato acabado comprando com frequência; sinceramente, nos últimos mais de 20 anos, acho que nunca tinha clicado intencionalmente em um anúncio
Em vários benchmarks, parece estar quase no nível do GPT-4o: https://x.com/Ahmad_Al_Dahle/status/1865071436630778109
É um dia triste para a OpenAI e um bom dia para a humanidade
A maior parte da evolução da IA está acontecendo em modelos menores
A verdadeira mudança veio quando as empresas começaram a perceber o valor dos dados de treinamento e a eficiência que supera em muito o tamanho do modelo resultante
A versão 08-06 parece sair um pouco acima desses dados em vários benchmarks: https://github.com/openai/simple-evals?tab=readme-ov-file#be...
Nos nossos benchmarks, saiu muito melhor do que o esperado: https://help.kagi.com/kagi/ai/llm-benchmark.html
Ainda preciso investigar mais, mas é impressionante
O GPT-4 também inventou um pouco, e o Claude acertou exatamente
Fiquei curioso porque perdi o fluxo do lado dos modelos no HuggingFace
Quero entender o que dá para fazer com modelos assim
Dá para baixar em um notebook e rodar pelo JupyterLab? Se sim, quais seriam as vantagens? É possível atualizar periodicamente com dados novos da internet etc.? Dá para fazer fine-tuning para usos específicos, como dados geoespaciais? E quão difícil é o fine-tuning, quanto tempo leva?
Se houver respostas para essas perguntas no HuggingFace, seria bom receber a URL
Para mim, o HuggingFace parece o GitHub no começo
Uma minoria usa intensamente, enquanto o resto fica coçando a cabeça sem saber como usar
É uma pergunta de iniciante, mas acho que uma resposta ajudaria muita gente
A comunidade cria versões quantizadas que podem rodar em GPUs de consumidor
A quantização de 4 bits do Llama 70B roda muito bem em um MacBook Pro, e o Neural Engine, que usa a memória unificada com a CPU, também é bem sólido para esse tipo de uso
Em GPU é um pouco mais complicado, porque a memória das GPUs de consumidor ainda é pequena
Fine-tuning também é possível
Frameworks como o Unsloth tornam isso mais fácil: https://github.com/unslothai/unsloth
Fine-tuning pode ser bem trabalhoso para fazer direito, porque é preciso entender fatores como taxa de aprendizado, mas há bons materiais na internet e muitos desenvolvedores hobbyistas já conseguiram
Não é preciso ter doutorado em machine learning, mas é necessário ter dados que possam ser expressos em texto
Como referência, trabalho na Databricks como diretor de engenharia de model serving
Atualizações periódicas são praticamente difíceis, e fine-tuning é possível, mas é bem irritante, então é melhor simplesmente pagar alguém para fazer
Qualquer pessoa pode subir qualquer coisa, mas ele padroniza em certa medida as ferramentas e as formas de distribuição
Também há uma equipe que ajuda nas integrações para tornar os releases mais fáceis de usar, e eles oferecem bibliotecas para fine-tuning
Tenho acompanhado no OpenRouter o preço por 1 milhão de tokens, e é divertido ver que ele cai a cada poucas atualizações de página: https://openrouter.ai/meta-llama/llama-3.3-70b-instruct
Para quem tiver interesse, coloquei os pesos em bitsandbytes de 4 bits, GGUF e os pesos originais de 16 bits em https://huggingface.co/unsloth
Com o Unsloth, dá para fazer fine-tuning do Llama 3.3 70B com menos de 48 GB de VRAM, 2x mais rápido e usando 70% menos memória
Pelo que me lembro, abrir o Llama como open source é um dos melhores exemplos de execução da estratégia commoditize your complement
Para quem não conhece essa estratégia, deixo o link de “Laws of Tech: Commoditize Your Complement”, do Gwern: https://gwern.net/complement
A Meta continua entregando acima das expectativas
Desde o começo, o objetivo era mirar e desestabilizar OpenAI/Anthropic com uma estratégia de terra arrasada, lançando modelos abertos fortes
Os maiores vencedores somos nós, desenvolvedores
Hoje de manhã passei alguns minutos subindo um servidor de modelos com H100 e coloquei isso em 2 H100 usando a versão com quantização FP8 e também quantização do cache KV; a velocidade e a qualidade parecem promissoras
Estou curioso para ver se benchmarks melhores de seguimento de instruções vão levar a melhorias em chamada de funções e recursos agênticos