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

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

Concrete ML v1.8 发布,旨在实现去中心化的私有 LLAMA 微调。此版本改进了 LLM 混合微调的速度和可用性,通过优化的 FHE 后端和新的低秩近似 API。Concrete ML 现在支持 Python 3.12,确保与最新的工具和框架兼容。该版本还提供了一个更好的 API,用于在加密数据上微调 LLM,并添加了一个优化的 FHE 后端,加速了计算。

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,其灵感来自 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)解决方案。