ggml - 用于机器学习的张量库

Created at: 2022-09-19 01:07:19
Language: C
License: MIT

吉姆

用于机器学习的张量库

请注意,此项目正在开发中,尚未准备好用于生产。
一些发展目前正在耳语.cpp回购中进行

特征

  • 用 C 语言编写
  • 16 位浮点支持
  • 自动区分(在制品正在进行中)
  • 自动原子能和L-BFGS优化器
  • 通过 NEON 内部函数和加速框架针对 Apple 芯片进行了优化
  • 在 x86 架构上利用 AVX 内联函数
  • 无第三方依赖关系
  • 运行时内存分配为零

路线图

耳语推理(示例)

使用 ggml,你可以在 CPU 上有效地运行耳语推理。

内存要求:

磁盘 记忆
75兆字节 ~280 兆字节
基础 142兆字节 ~430 MB
466兆字节 ~1.0 千兆字节
中等 1.5 千兆字节 ~2.6 千兆字节
2.9 千兆字节 ~4.7 千兆字节

GPT 推理(示例)

使用 ggml,你可以在 CPU 上有效地运行 GPT-2 和 GPT-J 推理。

以下是运行示例程序的方法:

# Build ggml + examples
git clone https://github.com/ggerganov/ggml
cd ggml
mkdir build && cd build
cmake ..
make -j4 gpt-2 gpt-j

# Run the GPT-2 small 117M model
../examples/gpt-2/download-ggml-model.sh 117M
./bin/gpt-2 -m models/gpt-2-117M/ggml-model.bin -p "This is an example"

# Run the GPT-J 6B model (requires 12GB disk space and 16GB CPU RAM)
../examples/gpt-j/download-ggml-model.sh 6B
./bin/gpt-j -m models/gpt-j-6B/ggml-model.bin -p "This is an example"

我在32GB MacBook M1 Pro上为不同型号获得的推理速度如下:

大小 时间/代币
GPT-2 117米 5 毫秒
GPT-2 345米 12 毫秒
GPT-2 774米 23 毫秒
GPT-2 1558米 42 毫秒
--- --- ---
GPT-J 6乙 125 毫秒

有关详细信息,请查看示例文件夹中的相应程序。