bitsandbytes
bitsandbytes
库是一个轻量级的Python封装,包含CUDA自定义函数,特别是8位优化器、矩阵乘法(LLM.int8())以及8位和4位量化函数。
该库通过bitsandbytes.nn.Linear8bitLt
和bitsandbytes.nn.Linear4bit
提供8位和4位操作的量化原语,以及通过bitsandbytes.optim
模块提供8位优化器。
目前正在努力支持更多硬件后端,如Intel CPU + GPU、AMD GPU、Apple Silicon。Windows支持也在推进中,即将到来。
请访问官方文档页面:
https://huggingface.co/docs/bitsandbytes/main
征集Alpha测试者:multi-backend-refactor
AMD GPU + Intel CPU/GPU特定BNB后端实现
我们正在进行一项复杂的重构,以允许BNB支持CUDA以外的其他硬件后端。这项工作已经取得了很大进展,已经有大量功能就绪,需要用户亲自体验!Mac支持可能很快也会有进展。但是,我建议等待2周,直到设备抽象进一步巩固(即将有重大变更)。
目前,您仍需要从源代码编译,在切换到multi-backend-refactor
分支后(说明正在编写中,但当前从源代码编译的文档是一个很好的起点;欢迎在此Github讨论中分享建议/意见。我们很快将启用每日构建版本,让这个过程变得更加简单!
请在这个专门的Github讨论空间给我们反馈!
我们对这些最新进展感到非常兴奋,也感谢您能提供任何建设性意见或支持,帮助我们实现这一目标。BNB是一个社区项目,我们期待您的合作🤗
许可证
bitsandbytes
使用MIT许可证。
我们感谢Fabio Cannizzo在FastBinarySearch上的工作,我们在CPU量化中使用了它。