13 pontos por ninebow 2023-07-24 | 1 comentários | Compartilhar no WhatsApp
  • Este texto é uma descrição gerada automaticamente com GPT-4 e pode conter informações incorretas. :smile:
  • Se encontrar algum erro, por favor avise nos comentários! :bowing_man:

Introdução

Llama2.c é uma implementação de inferência do Llama 2 em C puro, desenvolvida por Andrej Karpathy. Este projeto é uma biblioteca leve para inferência de modelos de aprendizado de máquina e, por ter sido escrita em C, pode ser usada em diversas plataformas. A biblioteca foi projetada especialmente para rodar rápido em CPU com modelos pequenos.

Resumo

Esta biblioteca é uma biblioteca leve para inferência de modelos de aprendizado de máquina e, por ter sido escrita em C, pode ser usada em diversas plataformas. A biblioteca foi projetada especialmente para rodar rápido em CPU com modelos pequenos. A biblioteca foi projetada especialmente para rodar rápido em CPU com modelos pequenos.

Este projeto oferece várias opções de otimização, permitindo que o usuário execute o código mais rapidamente dependendo do sistema. Por exemplo, é possível usar opções de compilação como -O3, -Ofast, -ffast-math, -funsafe-math-optimizations, -march=native. Essas opções incluem otimizações como vetorização, desenrolamento de loops e predição de desvios, e algumas delas podem até violar as especificações de C/IEEE.

Este projeto ainda está em desenvolvimento e há vários problemas a serem resolvidos. Por exemplo, o motivo de haver um espaço em branco no início ao executar ./run no código de sampling em C, suporte a multi-query para modelos pequenos e suporte para inferência além do comprimento máximo de sequência.

Referências

  1. Opções de otimização do GCC: É possível saber mais em detalhes sobre as várias opções de otimização do GCC.
  2. Matemática de ponto flutuante no GCC: É possível obter informações detalhadas sobre as opções -ffast-math e -funsafe-math-optimizations.
  3. GitHub de Andrej Karpathy: Confira outros projetos de Andrej Karpathy.
  4. Licença do Llama2.c: Confira a licença MIT deste projeto.
  5. Lista de contribuidores do Llama2.c: Veja quem contribuiu para este projeto.

Fonte

https://github.com/karpathy/llama2.c