13 puntos por ninebow 2023-07-24 | 1 comentarios | Compartir por WhatsApp
  • Este texto es una descripción generada automáticamente con GPT-4, por lo que puede contener errores. :smile:
  • Si encuentras información incorrecta, te agradeceremos que nos lo avises en los comentarios. :bowing_man:

Introducción

Llama2.c es una implementación de inferencia de Llama 2 en C puro desarrollada por Andrej Karpathy. Este proyecto es una biblioteca ligera para la inferencia de modelos de aprendizaje automático y, al estar escrita en C, puede usarse en diversas plataformas. Esta biblioteca está diseñada especialmente para funcionar rápido en CPU con modelos pequeños.

Resumen

Esta biblioteca es una biblioteca ligera para la inferencia de modelos de aprendizaje automático y, al estar escrita en C, puede usarse en diversas plataformas. Esta biblioteca está diseñada especialmente para funcionar rápido en CPU con modelos pequeños. Esta biblioteca está diseñada especialmente para funcionar rápido en CPU con modelos pequeños.

Este proyecto ofrece varias opciones de optimización, lo que permite a los usuarios ejecutar el código más rápido según su sistema. Por ejemplo, se pueden usar opciones de compilación como -O3, -Ofast, -ffast-math, -funsafe-math-optimizations, -march=native. Estas opciones incluyen optimizaciones como vectorización, desenrollado de bucles y predicción de saltos, y algunas de ellas incluso pueden violar las especificaciones de C/IEEE.

Este proyecto aún está en desarrollo y hay varios problemas por resolver. Por ejemplo, por qué el código de muestreo en C antepone un espacio al ejecutar ./run, el soporte de multi-query para modelos pequeños y el soporte para hacer inferencia más allá de la longitud máxima de secuencia.

Referencias

  1. Opciones de optimización de GCC: Puedes consultar en detalle las distintas opciones de optimización de GCC.
  2. Matemática de punto flotante en GCC: Puedes obtener información detallada sobre las opciones -ffast-math y -funsafe-math-optimizations.
  3. GitHub de Andrej Karpathy: Puedes revisar otros proyectos de Andrej Karpathy.
  4. Licencia de Llama2.c: Puedes consultar la licencia MIT de este proyecto.
  5. Lista de contribuidores de Llama2.c: Puedes ver quiénes han contribuido a este proyecto.

Fuente

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