nnl
gpt2-xl assets
nnl是低内存 GPU 平台上大型模型的推理引擎。
大模型太大,无法装入 GPU 内存。 nnl通过 PCIE 带宽和内存之间的权衡解决了这个问题。
典型的推理流程如下:
通过 GPU 内存池和内存碎片整理,NNIL 使得在低端 GPU 平台上推理大型模型成为可能。
这只是几周内写的一个业余爱好项目,目前仅支持 CUDA 后端。
make lib nnl _cuda.a && make lib nnl _cuda_kernels.a
此命令将构建两个静态库: lib/lib nnl _cuda.a和lib/lib nnl _cuda_kernels.a 。第一个是 C++ 的 CUDA 后端核心库,第二个是 CUDA 内核。
这里提供了GPT2-XL (1.6B)的演示程序。该程序可以通过以下命令编译:
make gpt2_1558m
从版本中下载所有权重后,我们可以在低端 GPU 平台(例如 GTX 1050(2 GB 内存))上运行以下命令:
./bin/gpt2_1558m --max_len 20 " Hi. My name is Feng and I am a machine learning engineer "
输出是这样的:
免责声明:这只是 gpt2-xl 生成的示例,我不在 Google 工作,我不认识 Randi。
你可以找到GPU内存访问模式
和平OSL