Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

MM-EUREKA: uma ferramenta de aprendizagem por reforço multimodal para explorar o raciocínio visual

Introdução geral

O MM-EUREKA é um projeto de código aberto desenvolvido pelo Shanghai Artificial Intelligence Laboratory, pela Shanghai Jiao Tong University e por outras partes. Ele amplia os recursos de raciocínio textual para cenários multimodais por meio de técnicas de aprendizagem por reforço baseadas em regras para ajudar os modelos a processar informações textuais e de imagem. O objetivo principal dessa ferramenta é melhorar o desempenho dos modelos em tarefas de raciocínio visual e matemático. Ela apresenta dois modelos principais, MM-Eureka-8B e MM-Eureka-Zero-38B, que permitem o treinamento eficiente com pequenas quantidades de dados, como o uso de apenas 54K de dados gráficos para superar outros modelos que exigem milhões de dados. O projeto é totalmente de código aberto, e o código, os modelos e os dados estão disponíveis gratuitamente no GitHub para pesquisadores e desenvolvedores que exploram técnicas de inferência multimodal.

MM-EUREKA: uma ferramenta de aprendizado por reforço multimodal para explorar o raciocínio visual-1


 

Lista de funções

  • Suporte ao raciocínio multimodal: a capacidade de processar imagens e textos ao mesmo tempo melhora a capacidade do modelo de entender problemas complexos.
  • Aprendizado por reforço baseado em regras: modelos de treinamento com regras simples para reduzir a dependência de dados em grande escala.
  • Epifanias visuais: os modelos podem revisitar pistas de imagens em seu raciocínio, imitando o processo de reflexão humana.
  • Pipeline completo de código aberto: fornece código, conjuntos de dados e fluxo de treinamento para fácil reprodução e aprimoramento.
  • Alta eficiência de dados: o desempenho é comparável aos modelos treinados em milhões de dados com pequenas quantidades de dados (por exemplo, 8K ou 54K pares de gráficos).
  • Suporte ao raciocínio matemático: especialmente otimizado para a solução de problemas matemáticos em cenários educacionais e acadêmicos.

 

Usando a Ajuda

O MM-EUREKA é um projeto de código aberto baseado no GitHub, destinado principalmente a usuários com uma certa base de programação, especialmente pesquisadores e desenvolvedores. A seguir, apresentamos uma descrição detalhada de como instalar e usar essa ferramenta, incluindo os principais recursos do processo de operação real.

Processo de instalação

  1. Preparação do ambiente
    • Certifique-se de ter o Python 3.8 ou posterior instalado em seu computador. Isso pode ser feito com o comando python --versão Verificar.
    • Você precisa instalar o Git para clonar seu código. Se você não tiver o Git, poderá fazer o download e instalá-lo no site oficial.
    • Recomendado para sistemas Linux (por exemplo, Ubuntu 20.04 ou 22.04), os usuários do Windows podem precisar de configuração adicional.
  2. Clonagem do código do projeto
    • Abra um terminal e digite o seguinte comando para fazer download do código-fonte do MM-EUREKA:
      git clone https://github.com/ModalMinds/MM-EUREKA.git
      
    • Quando o download estiver concluído, vá para a pasta do projeto:
      cd MM-EUREKA
      
  3. Instalação de dependências
    • Execute o seguinte comando para instalar as dependências básicas:
      pip install -e .
      
    • Se você precisar usar o vLLM É necessário instalar o Accelerated Reasoning e pacotes adicionais:
      pip install -e . [vllm]
      
    • Instale o Flash-Attention (versão 2.3.6) para melhorar o desempenho:
      pip install flash-attn==2.3.6 --no-build-isolation
      

      Se você encontrar problemas, tente instalar a partir da fonte:

      git clone https://github.com/Dao-AILab/flash-attention.git
      cd flash-attention
      git checkout v2.3.6
      python setup.py install
      
  4. Baixar conjunto de dados
    • O projeto fornece dados de treinamento MM-Eureka-Dataset, que podem ser baixados do GitHub Releases.
    • Após o download, descompacte o arquivo e modifique os dados conforme necessário na seção image_urls que aponta para o caminho da imagem local.
  5. Verificar a instalação
    • Após a conclusão da instalação, execute python -c "import mm_eureka" Verifique se há algum erro relatado. Se não houver erros, a instalação foi bem-sucedida.

Uso das funções principais

Função 1: Execução de um modelo de inferência multimodal

  • Preparar dados
    • Os dados precisam ser organizados no formato JSONL, em que cada linha é um dicionário que contém ideconversaseresposta responder cantando image_urls Campos. Exemplo:
      {"id": "0", "conversations": [{"role": "user", "content": "What is the answer to the maths question in this picture?"}] , "answer": "42", "image_urls": ["file:///path/to/image.jpg"]}
      
    • Salvar os dados como dataset.jsonlcolocado no diretório do projeto.
  • raciocínio de execução
    • Digite o comando a seguir no terminal para carregar o modelo e raciocinar sobre ele:
      python scripts/inference.py --model MM-Eureka-8B --data dataset.jsonl
      
    • O resultado mostrará o processo de raciocínio do modelo e as respostas a cada pergunta.

Função 2: Treinamento de modelos personalizados

  • Configuração dos parâmetros de treinamento
    • show (um ingresso) config.yaml para definir parâmetros do modelo (por exemplo, taxa de aprendizado, tamanho do lote) e caminhos de dados.
    • seguro caminho_dos_dados Aponte-a para você. dataset.jsonl Documentação.
  • treinamento de preparação
    • Execute o seguinte comando para iniciar o treinamento:
      python scripts/train.py --config config.yaml
      
    • Durante o treinamento, o modelo salva os pontos de verificação no pontos de controle/ Pasta.

Função 3: Teste de epifanias visuais

  • Preparação de dados de teste
    • Use dados de problemas complexos de matemática que contenham imagens, por exemplo, escolhendo algumas perguntas do conjunto de dados K12.
  • teste operacional
    • Digite o comando:
      python scripts/test_reflection.py --model MM-Eureka-Zero-38B --data test.jsonl
      
    • O modelo mostrará o processo de raciocínio, inclusive como reexaminar as dicas de imagem.

Exemplo de um processo operacional: resolver problemas de matemática

  1. Carregar dados
    • Prepare uma imagem (por exemplo, um problema de geometria) e uma descrição do problema correspondente, salva no formato JSONL.
  2. modelo operacional
    • despesa ou gasto inference.py O script carrega o MM-Eureka-8B e insere os dados.
  3. Exibir resultados
    • O modelo gera a etapa de inferência ( tags) e a resposta final ( Tags), por exemplo:
      Olhando primeiro para o diagrama, o raio do círculo é 5 e a fórmula para a área é πr², portanto é 25π.
      25π
      

advertência

  • Se a memória da GPU for insuficiente, ajuste o tamanho do lote ou use o MM-Eureka-8B (modelo menor).
  • Os caminhos de imagem nos dados devem ser válidos ou o modelo não conseguirá processar a imagem.

Com essas etapas, você pode começar a usar facilmente o MM-EUREKA e experimentar seus recursos de raciocínio multimodal.

 

cenário do aplicativo

  1. Auxílios educacionais
    O MM-EUREKA analisa imagens de problemas matemáticos e fornece soluções detalhadas, adequadas para a prática do aluno ou para a preparação do professor.
  2. Exploração científica
    Os pesquisadores podem usá-lo para testar a eficácia do aprendizado por reforço em tarefas multimodais, aprimorar algoritmos ou desenvolver novos modelos.
  3. Desenvolvimento de AR/VR
    Os desenvolvedores podem usar seus recursos de raciocínio visual para criar aplicativos interativos mais inteligentes, como assistentes de solução de problemas em tempo real.

 

QA

  1. Quais são os idiomas suportados pelo MM-EUREKA?
    Atualmente, os dados gráficos em inglês e chinês são suportados principalmente, e o modelo tem o melhor efeito de inferência para esses dois idiomas.
  2. Qual é a configuração de computador necessária?
    Recomenda-se pelo menos 16 GB de RAM e uma GPU de médio porte (por exemplo, NVIDIA GTX 1660). Pode ser necessário um hardware mais potente para treinar modelos grandes.
  3. Como faço para contribuir com o código?
    Para enviar um Pull Request no GitHub, consulte a seção CONTRIBUINDO.md As diretrizes do documento.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MM-EUREKA: uma ferramenta de aprendizagem por reforço multimodal para explorar o raciocínio visual

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil