大型语言模型(LLM)的功能和效率正在迅速提高。这导致在广泛的应用程序中对类人文本的理解和生成变得越来越复杂。例如,LLM 对于聊天机器人应用的自然语言理解、上下文感知和深度对话至关重要。
谷歌的 Gemma 是一个全新的轻量级、先进的开源模型系列,它能够执行文本生成任务,如问题解答、总结和推理,是 LLM 创新的先锋。
这些模型以拉丁文 "gema "命名,意为 "宝石",是文本到文本、仅解码器的 LLM,目前有英文版。这些模型采用了与谷歌生成式人工智能 Gemini 模型相同的研究和技术,具有开放权重、预训练变体和指令调整变体。
Gemma 模型系列包括 Gemma-2B 和 Gemma-7B 大小的模型,代表了深度学习模型可扩展性和性能的分层方法。
但是,追求更快、更智能的推理不仅仅是开发先进的模型。它延伸到了优化和部署技术领域,OpenVINO™ 工具包在这一领域成为了一个强大的工具。这篇文章探讨了如何为聊天机器人解决方案优化 Google 的 Gemma 模型,以及如何在人工智能 PC(专为人工智能体验而设计的计算机系统)上使用 OpenVINO™ 加快推理。这种组合将它们转化为高性能引擎,能够进行更快、更智能的推理。
在这篇文章中,我们将重点介绍如何在人工智能 PC 上优化和加速 Gemma-7B-it 模型(7B 参数模型的指令调整版本)的推理。
简化性能: 使用 OpenVINO™ 进行优化和推理加速
使用我们常用的 OpenVINO 笔记本存储库中的 254-llm-chatbot 笔记本,优化、加速和部署 Gemma-7B-it 模型的过程包括以下具体步骤。
1. 从安装先决条件开始:
如何设置运行 OpenVINO™ 笔记本的环境,请自行参阅安装指南。要运行特定的 LLM 笔记本,可能需要先安装一些先决条件包。
2. 选择推理模型:
由于我们在 Jupyter notebook 演示中提供了大量 OpenVINO 支持的 LLM,因此你可以从下拉框中选择 "Gemma-7B-it",以便为该模型运行其余的优化和推理加速步骤。列表中还包括其他模型,如 Gemma-2B-it,如有需要,你可以轻松切换到这些模型。
3. 使用Optimum Intel实例化模型:
Optimum Intel是 Hugging Face Transformers 和 Diffusers 库与 OpenVINO 之间的接口,用于加速英特尔架构上的端到端流水线。我们使用 "英特尔优化 "从 Hugging Face Hub 加载优化模型,并创建管道,使用 Hugging Face API 与 OpenVINO Runtime 一起运行推理。在这种情况下,这意味着我们只需要将 AutoModelForCausalLM 类替换为相应的 OVModelForCausalLM 类。
4. 进行权重压缩:
虽然 Gemma-7B-it 等 LLM 在理解和生成类人文本方面越来越强大和复杂,但管理和部署这些模型在计算资源、内存占用、推理速度等方面都面临严峻挑战,尤其是对于人工智能 PC 等客户端设备而言。权重压缩算法旨在压缩模型的权重,可用于优化模型的占用空间和性能。
我们的 Jupyter 笔记本中提供了 INT8 和 INT4 压缩算法,使用的是英特尔优化和神经网络压缩框架(NNCF)。与 INT8 压缩相比,INT4 压缩提高了性能,但预测质量略有下降。因此,我们在此选择 INT4 压缩。
我们还可以比较权重压缩前后的模型大小。
5. 选择推理设备和模型变体:
由于 OpenVINO 可以在一系列硬件设备上进行部署,因此还提供了一个下拉框供你选择推理运行的设备。在本例中,我们将选择 GPU,即 AI PC 上的集成 GPU。
6. 运行聊天机器人
一切准备就绪后,我们就可以运行基于 Gemma-7B-it 的聊天机器人了。我们还提供了一个基于 Gradio 的用户友好界面,用于运行聊天机器人。现在,让我们开始聊天吧!