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,确保与最新的工具和框架兼容。
Concrete ML 为 LLM 提供微调功能,作为客户端-服务器协议:
第一步,开发人员将编译一个 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。
Concrete ML v1.8 为 LLM 微调用例添加了一个 优化的 FHE 后端。利用 GPU,此后端显著加快了计算速度。后端实现的底层操作是加密矩阵 - 明文矩阵乘法,其中加密矩阵表示私有用户数据,明文矩阵包含模型的原始权重。
该后端的关键亮点是高效的压缩 – 输入和输出都被压缩到仅比非加密数据大约 4 倍的大小。
使用当前的实现:
这代表着向前迈出的重要一步,预计未来版本的进一步优化将使成本和延迟降低 4 倍。
总之,Concrete ML v1.8 使在加密数据上安全地微调 LLM 变得更加容易和快速,从而使我们离可扩展和去中心化的 AI 解决方案更近一步。请继续关注未来的更多更新!
- 原文链接: zama.ai/post/concrete-ml...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!