OpenAI联创Karpathy爱上羊驼:纯C代码实现婴儿Llama2,MacBook可运行,已经揽1.6k星
编纂:杜伟
上个周末 ,联创Karpathy 花了全部周六来忙一个 Llama2 的爱上幽默名目。
这一周来,羊驼婴儿Meta 开源的代码 Llama2 火遍了全部 AI 社区。
这不 ,实现连特斯拉前 AI 总监 、可运年初重回 OpenAI 的行已k星 Andrej Karpathy 也坐不住了 。他运用周末光阴 ,经揽做了一个对于 Llama2 的联创幽默名目 ——「llama2.c」。
GitHub 地址:https://github.com/karpathy/llama2.c
详细是爱上甚么呢?他展现「llama2.c」可能让你在 PyTorch 中磨炼一个 baby Llama2 模子 ,而后运用近 500 行纯 C、羊驼婴儿无任何依赖性的代码文件妨碍推理。而且 ,实现这个预磨炼模子可能在 M1 芯片的可运 MacBook Air 上以 fp32 的浮点精度、18 tok/s 的行已k星速率对于故事妨碍采样。
Karpathy 介绍称 ,「llama2.c」的灵感来自 llama.cpp,后者由资深开源社区开拓者 Georgi Gerganov 建树,可能在 MacBook 上运用 4-bit 量化运行第一代 LLaMA 模子 。
对于「llama2.c」 ,它的磨炼代码由 nanoGPT 更正而来 ,用来磨炼 Llama2 架构的模子。中间是在如下 run.c 中编写 C 推理引擎,不外它当初并非一个破费级库 。下面是部份推理代码。
残缺代码地址 :https://github.com/karpathy/llama2.c/blob/master/run.c
服从令 Karpathy 颇为惊惶,你可能在(M1)CPU 的纯复线程 C 语言中以 fp32 的交互速率来推理更小(O (~10MB))的模子。
尽管,他展现自己不试验对于最小规模的 Llama2 模子(70 亿参数)妨碍推理,他估量速率会颇为慢 。
当初 ,Karpathy 在 M1 MacBook Air 上 ,可能以 fp32 的浮点精度 、100tok/s 的速率对于 15M 参数的 288 6 层 6 头的模子妨碍推理。
之后