我们生活在一个充满科技创新的时代,这已经成为我几乎每天都会重复的话题。这一次,我们带来了一个重磅消息:Google刚刚发布了Gemma 2,这是一款拥有22亿参数的指令调优模型。这意味着它已经在指令及其响应上进行了训练或微调。Gemma一直以来都表现出色、轻量化且代表了最先进的技术,并且在大多数语言任务中表现优异。
Gemma 2:22亿参数的创新巨作
Gemma 2是一个仅用于文本解码的大型语言模型,主要提供英语的开源权重,包括预训练变体和指令调优变体。虽然Google声称它仅支持英语,但我发现它在其他一些语言中的表现也相当不错。这次的Gemma 2亿参数模型同时提供了预训练和指令调优的两个版本。我们认为这个模型更适合用于边缘设备或智能设备上,可以用于各种文本生成任务,包括问答、摘要和推理。
适用于多种设备与平台
由于Gemma 2的相对较小的体积,使得它可以部署在资源有限的环境中,例如你的桌面、手机、笔记本电脑或者低规格的云基础设施(如AWS的EC2实例)。更令人兴奋的是,你还可以通过Hugging Face、Kaggle、Google AI Studio等平台来使用该模型。此外,它还与NVIDIA的NeMo、JAX等平台有原生集成,并优化了NVIDIA的TensorRT LLM,你只需要1GB的GPU内存即可运行它。
安装与运行:一步一步来
好了,介绍到此为止,让我们开始在本地终端上安装它。我们将使用Jupyter Notebook来进行安装。
安装前的准备工作
现在我们来看看我的终端。我使用的是Ubuntu 22.04.1 GPU卡NV RTX A6000,拥有48GB的VRAM。首先,我会清理屏幕并创建一个新的虚拟环境,以确保所有内容与本地系统分离。这个过程不会太久,很快就完成了。接着,我们需要安装一些前置条件,包括Torch和Transformers库,并确保升级到最新版本的Transformers库,因为Gemma 2只在最新版本中可用。
开始安装
所有前置条件安装完成后,我们将安装Jupyter Notebook,并在浏览器中启动它。安装完成后,我们可以开始导入一些已经安装的库,比如Torch和Transformers,然后使用Pipeline下载Tokenizer和Gemma 22亿参数指令调优模型,并设置数据类型。因为我使用的是NVIDIA GPU卡,所以运行的是CUDA,你也可以在CPU上尝试,只需将CUDA替换为CPU。如果你在Mac上运行,只需将CUDA替换为MPS。
下载与推理
在运行后,可以看到它开始下载模型,整个模型大小约为5GB。下载完成后,它还会下载Tokenizer并将其放在我的GPU上,所以我们已经准备好进行推理了。我给模型提供了一个消息模板,要求生成10个以“beauty”结尾的句子。模型生成的响应非常好,大多数答案都是正确的。这对于一个如此小的模型来说相当令人印象深刻,因为如果你一直在观看我的视频,你会知道我通常会用这个测试几乎所有的模型,而大多数模型都无法通过,甚至许多更大的模型也无法生成一个以“beauty”结尾的句子。
解释复杂概念
接下来,我提供了另一个提示,要求模型向一个无法感受情绪的实体解释幸福的概念,使用类比和隐喻来传达你的解释,并保持简洁。模型的响应非常好,它将幸福解释为一个复杂机器中的完美平衡,所有齿轮都顺畅运行,并给出了另一个例子:一个协调良好的管弦乐队。最后一句话也非常好:“这不是一个恒定的状态,而是一种与你的内外部环境保持一致的感觉。”
一般知识与多语言任务
然后,我又提出了一个一般知识问题:地球上记录到的最高温度是多少?模型回答是134华氏度(56.7摄氏度),这是1913年在加利福尼亚死亡谷的Furnace Creek Ranch记录的。接下来,我们尝试了一个多语言任务,我要求模型将“我爱你”翻译成阿拉伯语、印地语、法语、日语和乌尔都语。尽管模型卡片声称只支持英语,但它也能处理其他语言。所有翻译都非常准确,表明其训练数据集非常多样化。
数学与编程
最后,我测试了数学和编程问题。模型准确地解决了一个数学问题,并生成了一段绘制Mandelbrot集的Python代码,尽管由于长度限制,代码没有完全显示,但整体思路非常清晰。
总结与推荐
总的来说,Gemma 2亿参数模型在文本生成、多语言处理、数学和编程任务中表现出色。它的体积小,资源需求低,可以在各种设备上运行,非常值得推荐。