Gemma 是一个轻量级、先进的开放模型家族,由用于创建 Google Gemini 模型的研究和技术构建。Gemma 可以进一步微调以满足特定需求。但是,像 Gemma 这样的大型语言模型可能会非常大,有些可能不适合在单个加速器上进行微调。在这种情况下,有两种一般方法来对它们进行微调:
参数高效微调(PEFT),旨在通过牺牲一些保真度来缩小有效模型大小。LoRA 属于这一类别,在 Keras 中使用 LoRA 微调 Gemma 模型1的教程演示了如何使用 KerasNLP 在单个 GPU 上使用 LoRA 微调 Gemma 2B 模型 gemma_2b_en。
使用模型并行性的全参数微调。模型并行性将单个模型的权重分布在多个设备上,并实现水平扩展。您可以在这个 Keras指南2中了解更多关于分布式训练的信息。
本教程指导您如何使用 Keras 与 JAX 后端,通过 LoRA 和模型并行分布式训练在 Google 的张量处理单元(TPU)上微调 Gemma 7B 模型。请注意,在本教程中可以关闭 LoRA,进行较慢但更准确的全参数调整。