在 Workers AI 上使用 LoRA 运行微调模型

💡 原文英文,约2500词,阅读约需9分钟。
📝

内容提要

Cloudflare宣布在Workers AI上推出了LoRA的开放测试版。LoRA是一种细调方法,可以将细调权重和预训练模型分开,从而减少可训练参数和GPU内存需求,提高效率和成本效益。Workers AI非常适合运行LoRA,可以将多个LoRA适配器插入一个基础模型。Cloudflare构建了一个多租户的LoRA服务系统,优化了GPU资源利用率,并提供低推理延迟。公司计划在未来支持更多模型和任务类型,并致力于提供一键细调服务。

🔎

延伸解读

LoRA 适配器:轻量级微调的优势

LoRA 适配器通常只有几兆字节,而完全微调的模型可能达到数十 GB。这种大小差异使得适配器易于分发和存储,并且可以在推理时动态加载,仅增加毫秒级延迟。对于需要快速迭代或部署多个定制模型的场景,LoRA 显著降低了计算和存储成本。

Workers AI 的多租户 LoRA 服务架构

Workers AI 利用 Punica CUDA 内核和全局缓存优化,实现了多租户 LoRA 服务。通过 SGMV 内核,GPU 只需存储一份基础模型,即可同时服务多个不同的 LoRA 适配器。请求按适配器分组批处理,并采用连续批处理技术,避免等待长请求,从而优化 GPU 利用率和降低延迟。

当前开放测试版的限制与注意事项

在开放测试阶段,LoRA 功能仅支持 Mistral、Llama 2 和 Gemma 的特定版本,且有一些限制:不支持量化 LoRA 模型,适配器必须小于 100MB,最大秩为 8,每个账户最多可试用 30 个 LoRA。开发者需注意这些限制,并确保适配器基于支持的基础模型训练。

未来路线图:一键微调与更多模型支持

Cloudflare 计划未来支持更多模型和任务类型(如图像生成),并最终在 Workers AI 上直接运行微调训练任务。结合 AI Gateway 的日志功能,开发者可以利用生产数据微调模型,并实现一键微调服务,从而在 Cloudflare 平台上完成从训练到部署的完整流程。

❓

Q&A

LoRA是什么,它的主要优点是什么?

LoRA是一种细调方法,通过将细调权重与预训练模型分开,减少可训练参数和GPU内存需求,提高效率和成本效益。

如何在Workers AI上使用LoRA进行微调?

用户可以使用Hugging Face库训练LoRA适配器,并将其与Workers AI平台上的预训练模型结合使用,创建自定义模型权重和配置文件。

LoRA适配器的大小通常是多少?

LoRA适配器的大小通常只有几兆字节,相比完全细调模型的数十GB,便于分发和使用。

Cloudflare如何优化GPU资源以支持多租户LoRA服务?

Cloudflare通过Punica CUDA内核设计和全局缓存优化,解决了GPU资源利用率的问题,从而支持多租户LoRA服务。

LoRA与传统细调方法有什么不同?

LoRA不直接修改预训练模型的权重,而是保持其不变,仅添加少量额外参数,从而减少计算需求和内存使用。

Cloudflare未来对LoRA的计划是什么?

Cloudflare计划在未来支持更多模型和任务类型,并提供一键细调服务,以提升AI模型的个性化和优化。

🏷️

标签

➡️

继续阅读