O repositório 'Llama-Recipes' é um companheiro dos modelos Meta Llama. Apoiamos a versão mais recente, LLAMA 3.2 Vision e LLAMA 3.2 Text, neste repositório. Esse repositório contém scripts e notebooks de exemplo para começar os modelos em uma variedade de casos de uso, incluindo ajuste fino para adaptação de domínio e aplicações baseadas em Building LLM com llama e outras ferramentas no ecossistema LLM. Os exemplos aqui usam lhama localmente, na nuvem e no local.
Dica
Comece com o LLAMA 3.2 com estas novas receitas:
Observação
O LLAMA 3.2 segue o mesmo modelo de prompt que o LLAMA 3.1, com um novo token especial <|image|> representando a imagem de entrada para os modelos multimodais.
Mais detalhes sobre os modelos de prompt para raciocínio de imagem, chamada de ferramentas e intérprete de código podem ser encontrados no site da documentação.
recipes/src/Essas instruções fornecerão uma cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste. Consulte a implantação para obter notas sobre como implantar o projeto em um sistema ao vivo.
Se você deseja usar o Pytorch Nightlies em vez da versão estável, vá para este guia para recuperar o parâmetro --extra-index-url URL para os comandos pip install em sua plataforma.
O LLAMA-RECIPES fornece uma distribuição PIP para facilitar a instalação e o uso em outros projetos. Como alternativa, ele pode ser instalado a partir da fonte.
Observação
Certifique-se de usar a versão CUDA correta (da nvidia-smi ) ao instalar as rodas Pytorch. Aqui estamos usando 11.8 como cu118 . GPUs H100 funcionam melhor com CUDA> 12.0
pip install llama-recipes
O LLAMA-RECIPES oferece a instalação de pacotes opcionais. Existem três grupos de dependência opcional. Para executar os testes de unidade, podemos instalar as dependências necessárias com:
pip install llama-recipes[tests]
Para o exemplo VLLM, precisamos de requisitos adicionais que possam ser instalados com:
pip install llama-recipes[vllm]
Para usar o verificador de segurança de tópicos sensíveis, instale com:
pip install llama-recipes[auditnlg]
Algumas receitas requerem a presença de Langchain. Para instalar os pacotes, siga a descrição da receita ou instale com:
pip install llama-recipes[langchain]
As dependências opcionais também podem ser combinadas com [opção1, opção2].
Para instalar a partir da fonte, por exemplo, para o desenvolvimento, use esses comandos. Estamos usando o Hatchling como nosso back-end de construção, que requer um pacote pip atualizado, bem como o pacote SetupTools.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Para desenvolvimento e contribuição para os recintos de lhama, instale todas as dependências opcionais:
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
Você pode encontrar modelos de lhama em abraçar o hub de rosto aqui, onde modelos com hf no nome já estão convertidos a abraçar pontos de verificação do rosto, para que não seja necessária uma conversão adicional . A etapa de conversão abaixo é apenas para pesos originais do modelo da Meta, que são hospedados no Hub de Modelo de Face Aragurado também.
Se você tiver os pontos de verificação do modelo baixados do site meta, poderá convertê -lo para o formato de face abraçando com:
# # Install Hugging Face Transformers from source
pip freeze | grep transformers # # verify it is version 4.45.0 or higher
git clone [email protected]:huggingface/transformers.git
cd transformers
pip install protobuf
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 3B --output_dir /output/path A maior parte do código que trata do uso da LLAMA é organizada em duas pastas principais: recipes/ e src/ .
recipes/Contém exemplos organizados em pastas por tópico:
| Subpasta | Descrição |
|---|---|
| Investir rápido | O "Hello World" de usar lhama, comece aqui se você é novo em usar lhama. |
| use_cases | Scripts mostrando aplicações comuns do meta llama3 |
| 3p_integrações | Pasta de propriedade do parceiro mostrando aplicações comuns do meta llama3 |
| responsável_ai | Scripts para usar o Purplellama para salvaguardar saídas do modelo |
| experimental | Implementações de meta llama de técnicas experimentais de LLM |
src/Contém módulos que suportam as receitas de exemplo:
| Subpasta | Descrição |
|---|---|
| configurações | Contém os arquivos de configuração para métodos PEFT, FSDP, conjuntos de dados, pesos e preconceitos rastreamento de experimentos. |
| conjuntos de dados | Contém scripts individuais para que cada conjunto de dados faça o download e o processo. Observação |
| inferência | Inclui módulos para inferência para os modelos ajustados. |
| Model_CheckPoin | Contém manipuladores de ponto de verificação do FSDP. |
| políticas | Contém scripts FSDP para fornecer políticas diferentes, como precisão mista, política de embrulho de transformador e verificação de verificação de ativação, juntamente com qualquer otimizador de precisão (usado para executar o FSDP com o modo BF16 puro). |
| UTILS | Arquivos de utilitário para: - train_utils.py fornece um loop de treinamento/avaliação e mais utilitários de trem.- dataset_utils.py para obter conjuntos de dados pré -processados.- config_utils.py para substituir as configurações recebidas da CLI.- fsdp_utils.py fornece política de embrulho FSDP para métodos PEFT.- memory_utils.py Gerenciador de contexto para rastrear diferentes estatísticas de memória no loop de trem. |
As receitas e módulos neste repositório suportam os seguintes recursos:
| Recurso | |
|---|---|
| Suporte de IC para inferência | ✅ |
| Suporte de IC para Finetuning | ✅ |
| Peft | ✅ |
| Inicialização diferida (meta init) | ✅ |
| Modo de CPU baixo para Multi GPU | ✅ |
| Precisão mista | ✅ |
| Quantização de um nó único | ✅ |
| Flash de atenção | ✅ |
| Verificação de ativação Ponto do FSDP | ✅ |
| Dados sharded híbridos paralelos (HSDP) | ✅ |
| Embalagem e preenchimento de dados | ✅ |
| Otimizador BF16 (puro BF16) | ✅ |
| Perfil e rastreamento MFU | ✅ |
| Acumulação de gradiente | ✅ |
| Descarga da CPU | ✅ |
| Conversão do ponto de verificação do FSDP em HF para inferência | ✅ |
| Rastreador de experimentos da W&B | ✅ |
Leia contribuindo.md para obter detalhes sobre nosso código de conduta e o processo para enviar solicitações de puxar para nós.
Veja o arquivo de licença para a Meta Llama 3.2 aqui e a política de uso aceitável aqui
Veja o arquivo de licença para a Meta Llama 3.1 aqui e a política de uso aceitável aqui
Veja o arquivo de licença para a meta llama 3 aqui e a política de uso aceitável aqui
Veja o arquivo de licença para meta llama 2 aqui e política de uso aceitável aqui