做LLaMA的事情,但现在在Rust
🦀 🚀 🦙
图像来自@darthdeus,使用稳定扩散
LLaMA-rs是llama.cpp项目的Rust端口。这允许使用全精度、f16 或 4 位量化版本的模型在性能良好的 CPU 上运行 Facebook 的 LLaMA 模型的推理。
就像它的C++对应物一样,它由ggml
张量库提供支持,实现了与原始代码相同的性能。
确保设置了 rust 工具链。
cargo build --release)
cargo run --release -- <ARGS>
要尝试的其他一些操作:
--help
--cache-prompt
--restore-prompt
注意:为获得最佳结果,请确保在发布模式下生成并运行。调试版本将非常慢。
例如,你尝试以下提示:
cargo run --release -- -m /data/Llama/LLaMA/7B/ggml-model-q4_0.bin -p "Tell me how cool the Rust programming language is
问:你为什么这样做?
一个:这不是我的选择。费里斯出现在我的梦中,让我以圣蟹的名义重写。
问:现在说真的
一个:加油!我不想卷入一场火焰战争。你知道它是怎么回事,有些东西记忆,有些东西很好,不要让我说出来,每个人都已经知道了。
问:我坚持。
答:嘘!奥卡伊。在看到骆驼.cpp的巨大潜力后,我做的第一件事就是看看把它变成一个库来嵌入我的项目中有多难。我开始深入研究代码,并意识到繁重的工作是由(一个 C 库,易于绑定到 Rust)完成的,整个项目只有大约 ~2k 行C++代码(不太容易绑定)。在几次(失败的)尝试在工具中构建HTTP服务器之后,我意识到如果我只是将代码移植到Rust上,我会更有效率,在那里我更舒服。
ggml
问:这是真正的原因吗?
一个:哈哈。当然不是。我只是喜欢收集想象中的互联网积分,以小星星的形式,每当我开始毫无意义的重写 X 事物时,人们似乎都会给我这些点,但在 Rust 中。
欢迎投稿!以下是一些紧迫的问题:
llama-rs
build.rs
ggml_raw