? Modelos abraçando o rosto | Blogue | Site | Comece
Obrigado por desenvolver com modelos Llama. Como parte do lançamento do Llama 3.1, consolidamos os repositórios do GitHub e adicionamos alguns repositórios adicionais à medida que expandimos a funcionalidade do Llama para se tornar um e2e Llama Stack. Use os seguintes repositórios daqui para frente:
llama-models - repositório central para os modelos básicos, incluindo utilitários básicos, cartões de modelo, licenças e políticas de uso
PurpleLlama – Componente principal do Llama Stack com foco em riscos de segurança e mitigações de tempo de inferência
llama-toolchain - Interfaces de desenvolvimento de modelo (inferência/ajuste fino/escudos de segurança/geração de dados sintéticos) e implementações canônicas
llama-agentic-system - sistema Llama Stack independente E2E, junto com uma interface subjacente opinativa, que permite a criação de aplicativos agentic
llama-recipes - Scripts e integrações conduzidos pela comunidade
Se você tiver alguma dúvida, sinta-se à vontade para registrar um problema em qualquer um dos repositórios acima e faremos o possível para responder em tempo hábil.
Obrigado!
Estamos liberando o poder dos grandes modelos de linguagem. Nossa versão mais recente do Llama agora está acessível a indivíduos, criadores, pesquisadores e empresas de todos os tamanhos para que possam experimentar, inovar e dimensionar suas ideias de forma responsável.
Esta versão inclui pesos de modelo e código inicial para modelos de linguagem Llama 3 pré-treinados e ajustados por instrução – incluindo tamanhos de parâmetros de 8B a 70B.
Este repositório é um exemplo mínimo de carregamento de modelos do Llama 3 e execução de inferência. Para exemplos mais detalhados, consulte receitas de lhama.
Para baixar os pesos do modelo e o tokenizer, visite o site da Meta Llama e aceite nossa licença.
Assim que sua solicitação for aprovada, você receberá um URL assinado por e-mail. Em seguida, execute o script download.sh, passando a URL fornecida quando solicitado para iniciar o download.
Pré-requisitos: Certifique-se de ter wget
e md5sum
instalados. Em seguida, execute o script: ./download.sh
.
Lembre-se que os links expiram após 24 horas e uma certa quantidade de downloads. Você sempre pode solicitar um link novamente se começar a ver erros como 403: Forbidden
.
Também fornecemos downloads no Hugging Face, nos formatos transformers e nativo llama3
. Para baixar os pesos do Hugging Face, siga estas etapas:
Visite um dos repositórios, por exemplo metal-llama/Meta-Llama-3-8B-Instruct.
Leia e aceite a licença. Assim que sua solicitação for aprovada, você terá acesso a todos os modelos do Llama 3. Observe que as solicitações costumavam levar até uma hora para serem processadas.
Para baixar os pesos nativos originais para usar com este repositório, clique na aba “Arquivos e versões” e baixe o conteúdo da pasta original
. Você também pode baixá-los da linha de comando se pip install huggingface-hub
:
huggingface-cli baixar meta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir meta-llama/Meta-Llama-3-8B-Instruct
Para usar com transformadores, o seguinte snippet de pipeline fará download e armazenará em cache os pesos:
importar transformersimport torchmodel_id = "meta-llama/Meta-Llama-3-8B-Instruct"pipeline = transformers.pipeline( "geração de texto", model="meta-llama/Meta-Llama-3-8B-Instruct", model_kwargs ={"torch_dtype": torch.bfloat16}, dispositivo="cuda", )
Você pode seguir as etapas abaixo para começar a usar os modelos Llama 3 rapidamente. Essas etapas permitirão que você execute inferências rápidas localmente. Para mais exemplos, consulte o repositório de receitas do Llama.
Clone e baixe este repositório em um ambiente conda com PyTorch/CUDA.
No diretório de nível superior, execute:
pip instalar -e.
Visite o site da Meta Llama e cadastre-se para baixar o(s) modelo(s).
Uma vez cadastrado, você receberá um e-mail com uma URL para baixar os modelos. Você precisará desse URL ao executar o script download.sh.
Depois de receber o e-mail, navegue até o repositório de lhama baixado e execute o script download.sh.
Certifique-se de conceder permissões de execução ao script download.sh
Durante este processo, você será solicitado a inserir o URL do e-mail.
Não utilize a opção “Copiar Link”; copie o link do e-mail manualmente.
Depois que os modelos desejados forem baixados, você pode executar o modelo localmente usando o comando abaixo:
torchrun --nproc_per_node 1 exemplo_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruir/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Observação
Substitua Meta-Llama-3-8B-Instruct/
pelo caminho para o diretório do seu ponto de verificação e Meta-Llama-3-8B-Instruct/tokenizer.model
pelo caminho para o seu modelo de tokenizer.
O –nproc_per_node
deve ser definido com o valor MP do modelo que você está usando.
Ajuste os parâmetros max_seq_len
e max_batch_size
conforme necessário.
Este exemplo executa example_chat_completion.py encontrado neste repositório, mas você pode alterá-lo para um arquivo .py diferente.
Diferentes modelos requerem diferentes valores de modelo paralelo (MP):
Modelo | Deputado |
---|---|
8B | 1 |
70B | 8 |
Todos os modelos suportam comprimento de sequência de até 8.192 tokens, mas pré-alocamos o cache de acordo com os valores max_seq_len
e max_batch_size
. Portanto, defina-os de acordo com o seu hardware.
Esses modelos não são ajustados para bate-papo ou perguntas e respostas. Eles devem ser solicitados de forma que a resposta esperada seja a continuação natural da solicitação.
Veja example_text_completion.py
para alguns exemplos. Para ilustrar, veja o comando abaixo para executá-lo com o modelo llama-3-8b ( nproc_per_node
precisa ser definido com o valor MP
):
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir Meta-Llama-3-8B/ --tokenizer_path Meta-Llama-3-8B/tokenizer.model --max_seq_len 128 --max_batch_size 4
Os modelos ajustados foram treinados para aplicações de diálogo. Para obter os recursos e desempenho esperados para eles, a formatação específica definida em ChatFormat
precisa ser seguida: O prompt começa com um token especial <|begin_of_text|>
, seguido por uma ou mais mensagens. Cada mensagem começa com a tag <|start_header_id|>
, a função system
, user
ou assistant
e a tag <|end_header_id|>
. Após uma nova linha dupla nn
, segue o conteúdo da mensagem. O final de cada mensagem é marcado pelo token <|eot_id|>
.
Você também pode implantar classificadores adicionais para filtrar entradas e saídas consideradas inseguras. Consulte o repositório llama-recipes para obter um exemplo de como adicionar um verificador de segurança às entradas e saídas do seu código de inferência.
Exemplos usando llama-3-8b-chat:
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Llama 3 é uma nova tecnologia que apresenta riscos potenciais com o uso. Os testes realizados até o momento não cobriram — e não poderiam — cobrir todos os cenários. Para ajudar os desenvolvedores a lidar com esses riscos, criamos o Guia de Uso Responsável.
Por favor, reporte qualquer “bug” de software ou outros problemas com os modelos através de um dos seguintes meios:
Relatando problemas com o modelo: https://github.com/meta-llama/llama3/issues
Denunciar conteúdo de risco gerado pelo modelo: developers.facebook.com/llama_output_feedback
Relatando bugs e questões de segurança: facebook.com/whitehat/info
Consulte MODEL_CARD.md.
Nosso modelo e pesos são licenciados para pesquisadores e entidades comerciais, mantendo os princípios de abertura. Nossa missão é capacitar os indivíduos e a indústria por meio desta oportunidade, ao mesmo tempo em que promovemos um ambiente de descoberta e avanços éticos em IA.
Consulte o arquivo LICENSE, bem como nossa Política de Uso Aceitável que o acompanha
Para dúvidas comuns, o FAQ pode ser encontrado aqui, que será atualizado ao longo do tempo à medida que surgirem novas dúvidas.