Llama2.c
순수 C로 작성된 Llama 2 추론 코드
Llama2.c는 Andrej Karpathy가 개발한 순수 C로 작성된 Inference Llama 2입니다. 이 프로젝트는 기계 학습 모델의 추론을 위한 경량화된 라이브러리로, C 언어로 작성되어 있어 다양한 플랫폼에서 사용할 수 있습니다. 이 라이브러리는 특히 작은 모델들에 대해 CPU에서 빠르게 작동하도록 설계되었습니다.
요약
이 라이브러리는 기계 학습 모델의 추론을 위한 경량화된 라이브러리로, C 언어로 작성되어 있어 다양한 플랫폼에서 사용할 수 있습니다. 이 라이브러리는 특히 작은 모델들에 대해 CPU에서 빠르게 작동하도록 설계되었습니다. 이 라이브러리는 특히 작은 모델들에 대해 CPU에서 빠르게 작동하도록 설계되었습니다.
이 프로젝트는 다양한 최적화 옵션을 제공하며, 이를 통해 사용자는 시스템에 따라 코드를 더 빠르게 실행할 수 있습니다. 예를 들어, -O3, -Ofast, -ffast-math, -funsafe-math-optimizations, -march=native 등의 컴파일 옵션을 사용할 수 있습니다. 이러한 옵션들은 벡터화, 루프 풀기, 분기 예측 등의 최적화를 포함하며, 일부 옵션은 C/IEEE 사양을 위반할 수도 있습니다.
이 프로젝트는 아직 개발 중이며, 여러 가지 해결해야 할 문제들이 있습니다. 예를 들어, C 샘플링 코드에서 ./run을 실행할 때 앞에 공백이 있는 이유, 작은 모델들에 대한 다중 쿼리 지원, 최대 시퀀스 길이를 넘어서 추론하는 지원 등이 있습니다.
Features
- GCC 최적화 옵션: GCC의 다양한 최적화 옵션에 대해 자세히 알아볼 수 있습니다.
- GCC 부동 소수점 수학: -ffast-math와 -funsafe-math-optimizations 옵션에 대한 자세한 정보를 얻을 수 있습니다.
- Andrej Karpathy의 GitHub: Andrej Karpathy의 다른 프로젝트를 확인할 수 있습니다.
- Llama2.c의 라이선스: 이 프로젝트의 MIT 라이선스를 확인할 수 있습니다.
- Llama2.c의 기여자 목록: 이 프로젝트에 기여한 사람들을 확인할 수 있습니다.
See also
Favorite site
- karpathy/llama2.c
- RahulSChand/llama2.c-for-dummies: Step by step explanation/tutorial of llama2.c - 스탭 바이 스탭으로 설명한 llama2.c