#内存优化
unsloth入门指南 - 加速大语言模型微调2-5倍的开源工具
Unsloth: 革命性的LLM微调加速工具
SqueezeLLM
SqueezeLLM通过密集与稀疏量化方法降低大语言模型的内存占用并提升性能,将权重矩阵拆分为易量化的密集组件和保留关键部分的稀疏组件,实现更小内存占用、相同延迟和更高精度。支持包括LLaMA、Vicuna和XGen在内的多个热门模型,提供3位和4位量化选项,适用于不同稀疏度水平。最新更新涵盖Mistral模型支持和自定义模型量化代码发布。
KIVI
KIVI是一种创新的2比特KV缓存量化算法,无需模型微调即可优化大型语言模型的内存使用。该算法对键缓存按通道、值缓存按令牌进行量化,适用于Llama-2、Falcon和Mistral等模型。KIVI在保持模型质量的同时,将峰值内存使用降低2.6倍,批处理大小提升4倍,推理吞吐量增加2.35至3.47倍。其硬件友好设计有效缓解了大型语言模型推理中的速度和内存瓶颈问题。
gemma-2B-10M
gemma-2B-10M项目采用递归局部注意力机制,在32GB内存限制下实现了处理1000万token上下文的能力。该项目为Gemma 2B模型提供CUDA优化的推理功能,显著提升了处理效率。项目设计简洁易用,便于开发者快速应用。虽然目前处于早期阶段,但在长文本处理领域展现出巨大潜力,有望推动相关技术的进步。
zero-bubble-pipeline-parallelism
该项目开发了两种新型流水线并行算法:零气泡和可控内存流水线并行。零气泡算法几乎消除了流水线并行的气泡,保持同步语义;可控内存算法显著降低激活内存使用,同时维持或提高吞吐量。项目实现了ZB1P、ZB2P和ZBV等多种调度策略,平衡吞吐量和内存效率。另外,项目还采用优化器后验证等技术来进一步增强性能。
tinyengine
TinyEngine是专为微控制器设计的神经网络库,通过原地深度卷积和基于块的推理等技术优化内存管理和推理性能。相比现有解决方案,TinyEngine将推理速度提升1.1-18.6倍,峰值内存减少1.3-3.6倍。作为微控制器AI应用的基础设施,TinyEngine在有限内存预算下实现了更高性能,为微控制器深度学习部署提供了有力支持。
puck
Puck是一个高效的C++近似最近邻(ANN)搜索库,其名称来源于莎士比亚作品中的精灵角色。该项目包含Puck和Tinker两种算法,在多个1B数据集上表现出色。Puck采用两层倒排索引架构和多级量化,可在有限内存下实现高召回率和低延迟,适用于大规模数据集。Tinker则针对较小数据集优化,性能超过Nmslib。该库支持余弦相似度、L2和IP距离计算,并提供Python接口,方便开发者集成使用。
Ministral-8B-Instruct-2410-HF-GGUF-TEST
Ministral-8B-Instruct-2410-HF模型的量化版本项目,提供从f16到Q2_K等多种精度,文件大小3GB至16GB不等。支持LM Studio等工具本地部署,详细介绍各版本特点和适用场景,并提供选择指南。用户可根据硬件条件选择合适版本,实现高效本地AI部署。
Meta-Llama-3.1-8B-Instruct
该项目开发了一种高效方法,大幅提升Llama 3.1、Gemma 2和Mistral等大型语言模型的微调效率。通过提供多个免费的Google Colab笔记本,项目使各类用户都能便捷地微调Llama-3 8B、Gemma 7B和Mistral 7B等模型。这些笔记本界面友好,适合各层次用户使用。采用此方法可将微调速度提升2-5倍,同时将内存使用降低最多70%,显著优化了资源利用。
unsloth
Unsloth提供高效AI模型调优方案,能将处理速度提升2倍,内存消耗降低60%。支持多种NVIDIA GPU型号,并适用于Llama 3.1、Mistral及Gemma等多种模型,全程无需更换硬件。易于操作的免费笔记本特别适合AI初学者。探索我们的网站,体验这一领先技术。