llama2.c 还登上了 Github 的热门趋势榜首,最近这周时间花了一点时间研究llama2.c,应景写一个学习笔记吧。
这个repo大火原因有一下几点:
Llama2.c涉及LLM微调、模型构建、推理端末部署(量化、硬件加速)等众多方面,是学习研究Open LLM的很好切入点,计划如下:
1)Setup&体验:拉下代码,根据README跑一遍流程,写一个“概要&体验”;
2)Code Understand:打算从模型构建、train过程、模型转换、推理引擎几个方面深入阅读理解;
3)使用其他场景+数据重复过程,加深理解。
希望下半年自由时间更多点。
gcc -O3 -o run run.c -lm
以上为ubuntu 22环境,如果是centos环境,
gcc -O3 -std=c11 -o run run.c -lm
并且run.c修改如下
// #include <time.h> for centos
#include <linux/time.h>
提供OG/15M,44M,110M的基础模型。
基本都在普通笔记本程跑了出来,token/second 从60到7;这是没有大的优化,以及单线程C跑的结果,未来可期。
转换meta提供的 llama-2-7B模型,可以通过脚本完成
运行(非常慢,大概一分钟一个token,后来换了台强大点机器10s左右一个token)
训练比较麻烦,开始python 3.11不支持torch compile,转为python 3.9;然后没有gpu不支持cuda,又mem比较小;目前还没有完整跑出来一个。
1)Let's build GPT: from scratch, in code, spelled out. - YouTube
2)karpathy/llama2.c: Inference Llama 2 in one file of pure C (github.com)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。