Concrete ML v1.8:迈向去中心化的私有LLAMA微调

  • ZamaFHE
  • 发布于 2025-01-15 13:15
  • 阅读 116

Concrete ML v1.8 发布,主要改进了LLM混合微调的速度和可用性,通过优化的FHE后端和新的低秩逼近API,实现了在加密数据上进行隐私保护的LLM微调。该版本还支持Python 3.12,提供了一个更高效的LLM微调API,并利用GPU加速编译模型的评估过程,降低了成本和延迟。

Concrete ML v1.8 标志着在为大型语言模型(LLM)实现隐私保护微调方面迈出了重要一步。此版本通过针对 LLM 优化的 FHE 后端和新的低秩近似 API,提高了 LLM 混合微调的速度和可用性。

此外,Concrete ML v1.8 现在支持 Python 3.12,确保与最新的工具和框架兼容。

更好的 API,用于在加密数据上微调 LLM

Concrete ML 为 LLM 提供微调功能,作为客户端-服务器协议:

  • 服务器对模型的线性层执行加密(FHE)推理。
  • 客户端对微调权重执行梯度下降。

第一步,开发人员将编译一个 LLM,使其以这种方式与 FHE 一起工作。在部署模型之前,他们可以在自己的机器上检查编译后的模型是否能产生良好的结果。为了简化此工作流程,Concrete ML v1.8 引入了 一个微调 API,该 API 的灵感来自 HuggingFace PEFT LoraTrainer,从而提高了此过程的效率。

from concrete.ml.torch.lora import LoraTrainer

lora_trainer = LoraTrainer(
    model=peft_model,
    optimizer=optimizer,
    loss_fn=causal_lm_loss,
    lr_scheduler=lr_scheduler,
    training_args=training_args_dict,
    n_layers_to_skip_for_backprop=3,
)
lora_trainer.compile(inputset, n_bits=16)

lora_trainer.train(dataloader, num_epochs=EPOCHS, fhe="execute", device=device)

如代码片段所示,与 HuggingFace LoraTrainer 相比,Concrete ML 只需要一个额外的编译调用。

此外,这个新版本允许开发人员有效地使用 GPU 在自己的机器上评估编译后的模型,从而显著加快开发过程。查看此 notebook 以了解如何在 LLAMA 上使用新的 API。

更快的 FHE LLM 微调

Concrete ML v1.8 为 LLM 微调用例添加了一个 优化的 FHE 后端。利用 GPU,此后端显著加快了计算速度。后端实现的底层操作是加密矩阵 - 明文矩阵乘法,其中加密矩阵表示私有用户数据,明文矩阵包含模型的原始权重。

该后端的关键亮点是高效的压缩 输入和输出都被压缩到仅比非加密数据大约 4 倍的大小。

使用当前的实现:

  • 在 100,000 个 token 上微调 LLAMA 8B 模型大约需要 70 小时。
  • 使用由 100 个消费级 GPU 组成的去中心化网络,预计成本约为 500 美元。

这代表着向前迈出的重要一步,预计未来版本的进一步优化将使成本和延迟降低 4 倍。

总之,Concrete ML v1.8 使在加密数据上安全地微调 LLM 变得更加容易和快速,从而使我们离可扩展和去中心化的 AI 解决方案更近一步。请继续关注未来的更多更新!

额外链接

  • 原文链接: zama.ai/post/concrete-ml...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ZamaFHE
ZamaFHE
Zama是一家开源密码学公司,专注于为区块链和人工智能构建最先进的完全同态加密(FHE)解决方案。