Introdução geral
O Arc Institute Evo 2 é um projeto de código aberto focado em modelagem e design de genoma, desenvolvido pelo Arc Institute, uma organização de pesquisa sem fins lucrativos com sede em Palo Alto, Califórnia, EUA, e lançado em colaboração com parceiros como a NVIDIA. O projeto cria modelos de base biológica capazes de trabalhar com DNA, RNA e proteínas por meio de técnicas de aprendizagem profunda de ponta para tarefas preditivas e generativas nas ciências da vida. O evo 2 é treinado em diversos dados genômicos de mais de 9 trilhões de nucleotídeos, tem até 40 bilhões de parâmetros e suporta comprimentos de contexto de até 1 milhão de bases. Seu código, dados de treinamento e pesos do modelo são totalmente de código aberto, hospedados no GitHub e projetados para acelerar a bioengenharia e a pesquisa médica. Tanto os pesquisadores quanto os desenvolvedores podem usar a ferramenta para explorar os mistérios do genoma e projetar novas sequências biológicas.
Lista de funções
- Oferece suporte à modelagem de genomas em todos os domínios da vida: permite a previsão e o design nos genomas de bactérias, archaea e eucariotos.
- Capacidade de manipulação de sequências longas: manipula sequências de DNA de até 1 milhão de bases para tarefas de análise em contextos muito longos.
- Geração e otimização de DNA: gere novas sequências de DNA com anotações de regiões codificadoras com base em sequências de entrada ou dicas de espécies.
- Previsão de efeito de variante de amostra zero: prever o impacto biológico de variantes genéticas sem treinamento adicional, por exemplo, análise de efeito de variantes BRCA1.
- Conjuntos de dados e modelos de código aberto: forneça modelos pré-treinados e conjuntos de dados do OpenGenome2 para apoiar o desenvolvimento secundário e a pesquisa.
- Suporte à computação paralela de várias GPUs: aloque automaticamente vários recursos de GPU por meio da estrutura Vortex para aumentar a eficiência da computação em grande escala.
- Integração com o NVIDIA BioNeMo: acesso contínuo à plataforma de biocomputação da NVIDIA para expandir os cenários de aplicativos.
- Ferramentas de visualização e interpretação: combinadas com o Interpretive Visualiser da Goodfire, revelam os recursos e padrões biométricos reconhecidos pelo modelo.
Usando a Ajuda
Processo de instalação
Para usar o Evo 2 localmente, são necessários determinados recursos de computação e configuração do ambiente. Veja abaixo as etapas detalhadas de instalação:
1. preparação ambiental
- sistema operacionalSe você tiver um sistema operacional Linux (por exemplo, Ubuntu) ou macOS, recomenda-se que os usuários do Windows instalem o WSL2.
- Requisitos de hardwarePelo menos uma GPU NVIDIA (recomenda-se várias GPUs para suportar o modelo 40B) com um mínimo de 16 GB de memória de vídeo (por exemplo, A100 ou RTX 3090).
- dependência de softwareVerifique se o Git, o Python 3.8+, o PyTorch (com suporte a CUDA) e o pip estão instalados.
2. clonagem do repositório de código
Abra um terminal e execute o seguinte comando para obter o código-fonte do Evo 2:
git clone --recurse-submodules git@github.com:ArcInstitute/evo2.git
cd evo2
Atenção:--recurse-submodules
Certifique-se de que todos os submódulos também tenham sido baixados.
3. instalação de dependências
Execute-o no diretório raiz do projeto:
pip install .
Se você tiver problemas, tente instalar a partir do Vortex (consulte o LEIAME do GitHub para obter detalhes). Quando a instalação estiver concluída, execute os testes para verificar:
python -m evo2.test
Se a saída não relatar erros, a instalação foi bem-sucedida.
4. download de modelos pré-treinados
O Evo 2 está disponível em uma variedade de versões de modelos (por exemplo, parâmetros 1B, 7B, 40B) que podem ser baixados do Hugging Face ou das versões do GitHub. Exemplo:
wget https://huggingface.co/arcinstitute/evo2_7b/resolve/main/evo2_7b_base.pt
Coloque os arquivos de modelo em um diretório local para carregamento posterior.
Como usar
Depois de instaladas, as funções principais do Evo 2 podem ser chamadas por meio de scripts Python. Abaixo está um procedimento detalhado para as principais funções:
Função 1: Gerar sequência de DNA
O Evo 2 pode gerar uma sequência de continuação a partir de um fragmento de DNA de entrada. O procedimento é o seguinte:
- Modelos de carregamento::
from evo2 import Evo2 model = Evo2('evo2_7b') # usando o modelo de parâmetro 7B
- Digite os prompts e gere::
prompt = ["ACGT"] # sequência de DNA inicial de entrada output = model.generate(prompt_seqs=prompt, n_tokens=400, temperature=1.0, top_k=4) print(output.sequences[0]) # Saída gerou 400 sequências de nucleotídeos
- Interpretação dos resultadosSequências geradas: as sequências geradas podem ser usadas para análises biológicas posteriores, com o parâmetro de temperatura controlando a estocasticidade e top_k limitando o intervalo de amostragem.
Função 2: Previsão de efeitos de variantes de amostra zero
O gene BRCA1 foi usado como exemplo para prever o impacto biológico das variantes:
- Preparar dadosDepósito: deposita as sequências de referência e variantes na lista.
- Previsões operacionais::
ref_seqs = ["ATCG..."] Sequência de referência do # var_seqs = ["ATGG..."] Sequências de variantes do # ref_scores = model.score_sequences(ref_seqs) var_scores = model.score_sequences(var_seqs) print(f "Probabilidade da referência: {ref_scores}, Probabilidade da variante: {var_scores}")
- análiseComparação das diferenças nas pontuações para avaliar o possível impacto das variantes na função.
Função 3: Processamento de sequências longas
Para sequências muito longas, o Evo 2 suporta carregamento e computação em partes:
- Carregando modelos grandes::
model = Evo2('evo2_40b') # requer suporte a várias GPUs
- Manuseio de sequências longas::
long_seq = "ATCG..." * 100000 # modelando uma sequência de 1 milhão de bases output = model.generate([long_seq], n_tokens=1000) print(output.sequences[0])
- advertênciaNo momento, a propagação direta de sequências longas pode ser lenta, e é recomendável otimizar a configuração do hardware ou usar o método de solicitação do professor (solicitação do professor).
Função 4: Conjuntos de dados e desenvolvimento secundário
- Obtendo o conjunto de dadosFaça o download do conjunto de dados do OpenGenome2 (no formato FASTA ou JSONL) em Hugging Face.
- Treinamento personalizadoModifique a arquitetura do modelo ou ajuste os parâmetros com base na estrutura do Savanna para necessidades específicas de pesquisa.
Dicas e precauções de operação
- Configuração de várias GPUsSe estiver usando um modelo 40B, você precisa garantir que o Vortex reconheça corretamente várias GPUs usando a opção
nvidia-smi
Verifique a alocação de recursos. - otimização do desempenhoProcessamento de sequências longas reduz
temperatura
para reduzir a carga computacional. - Suporte à comunidadePerguntas: As perguntas podem ser direcionadas ao quadro de problemas do GitHub, onde a equipe do Arc Institute e a comunidade estão disponíveis para ajudar.
Essas etapas o ajudarão a começar a trabalhar com o Evo 2, seja para gerar sequências de DNA ou analisar variantes genéticas, e você poderá fazer isso de forma eficiente.