前些天,Meta 发布的免费可商用版本 Llama 2,可谓在 AI 界引起了巨大的轰动。
Meta 一口气发布了多个模型系列:包含 70 亿、130 亿和 700 亿三种参数变体,此外还训练了一个 340 亿参数变体。
公布的测评结果显示,Llama 2 在包括推理、编码、精通性和知识测试等许多外部基准测试中都优于其他开源语言模型。
不同于 ChatGPT、GPT-4 等闭源模型,由于 Llama 2 可用于商业目的,一经发布就吸引了一大波 AI 研究人员的注意。由于任何人都可以通过在 Meta 网站上填写表格来请求下载 Llama 2,根据官方消息,自发布以来,Llama 2 一周内就有超过 15 万次的下载请求。Meta 对于这一数字的描述是难以置信,并且用户请求数量还在增长。
Llama 2 请求地址:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
来源:https://ai.meta.com/blog/llama-2-update/?utm_source=twitter&utm_medium=organic_social&utm_campaign=llama2&utm_cnotallow=card
随着 Llama 2 的逐渐走红,大家对它的二次开发开始流行起来。前几天,OpenAI 科学家 Karpathy 利用周末时间开发了一个明星项目 llama2.c,借助 GPT-4,该项目仅用 500 行 C 语言就实现了对 Llama 2 baby 模型的推理。该项目可以在苹果 M1 笔记本上每秒输出 98 个 token。
刚刚,又有一个和 LLaMA 2 相关的项目 llama2.rs 开始得到大家的关注,项目作者是来自康奈尔大学的助理教授 Alexander Rush。
总结而言,该项目主要是用 Rust 实现 Llama2,结果表明,用这种方式实现的 LLaMA 2 非常安全,而且很快。值得一提的是,该项目用到了 Karpathy 的 llama2.c 项目的 Rust 端口。
项目地址:https://github.com/srush/llama2.rs
深度学习三巨头之一的 Yann LeCun 也宣传了一波:
接下来我们看看,如何使用 llama2.rs。
构建 llama2.rs 非常简单,只需一行代码:
> cargo build --release
运行程序如下,显示 tok/s 为 0.92618316:
> target/release/llama2_rs ../llama2.c/llama2_7b.bin 0.0 11 "The only thing"
The only thing that is certain in life is change.
achieved tok/s: 0.92618316
作为对比,下面是作者在电脑上运行原始 llama2.c,显示 tok/s 为 0.139889:
> ./run llama2_7b.bin 0.0 11 "The only thing"
The only thing that is certain in life is change.
achieved tok/s: 0.139889
在谈到为何开发这一项目时,Alexander Rush 表示,自己只是想做一些关于 Rust 的练习,与此同时,学习该如何进行程序移植,比如内存映射、并行处理和一些数学技巧。
接下来,Alexander Rush 打算尝试移植 minitorch,感兴趣的读者可以关注一下了。