AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


实测:开源轻量化模型Gemma 2 在 A4000 GPU 上表现如何?
发布日期:2024-07-02 18:01:42 浏览次数: 2378 来源:卓普云 AI Droplet


前不久,Google 发布了 Gemma 2,这是一个轻量级的大语言模型。这些轻量级模型,继承了 Gemini 模型的技术,旨在打破技术壁垒,让AI的力量惠及更广泛的人群,成为AI民主化进程中的重要里程碑。
Gemma 2 有两个版本:90亿(9B)和270亿(27B)个参数,并支持 8K token 的上下文。Google 声称,这一模型的表现优于第一代Gemma模型,同时更加高效。Gemma 2还优化了必要的安全措施。27B 模型性能之强,足以与比它规模大两倍的模型相媲美,而且它还可以在单张 NVIDIA H100 Tensor Core GPU 或 TPU 主机上运行,能降低使用者的成本。
DigitalOcean 旗下的 GPU 云服务 Paperspace 正以经济实惠的方式提供 H100 和 A4000 等高性能GPU,让更多的研究者和开发者能够运行 Gemma 2 这类先进且轻量级的模型。借助Paperspace 建立于云上的基础设施,用户可以以低于传统基础设施成本,轻松地用到市面上炙手可热的 NVIDIA 高性能 GPU。
两者结合,进一步降低了人工智能领域的准入门槛,有助于像Gemma 2这样的高级模型更好地得到普及,并进一步推动人工智能进入更多人的生活。

对轻量级模型的需求

轻量级大语言模型模型可以让前沿的 AI 技术更加易于获取、高效、低成本。它们支持各种应用。

轻量级模型在各个领域至关重要的原因有以下几点:
  • 速度:由于它们的体积和复杂性得到了降低,轻量级模型通常具有更快的推理时间。这对于实时或近实时数据处理应用至关重要,如视频分析、自动驾驶汽车或推荐系统。
  • 计算资源要求低:轻量级模型通常比大型模型需要更少的计算资源(如内存和处理能力)。这使它们适合部署在功能有限的设备上,如智能手机、物联网或边缘设备。
  • 可扩展性:轻量级模型更容易在许多设备或用户之间扩展。这种可扩展性对于具有广泛用户基础的应用特别有利,例如移动应用。
  • 成本更低:轻量级模型可以降低部署和维护人工智能系统的操作成本。它们消耗的能量更少,并且可以在更便宜的硬件上运行,使它们对企业和开发者更加易于获取、更加低成本。
  • 在资源受限的环境中部署:在互联网连接不稳定或带宽有限的环境中,轻量级模型可以有效地运行,而不需要持续访问云服务。
像Gemma 2这样的轻量级模型至关重要,因为它让更多的人和组织可以利用前沿的 AI 技术,推动创新,并为多样化的需求去创造解决方案,同时成本更低。

Gemma 2

在最开始我们提到过,Gemma 2 是 Google 最新的开源大型语言模型(LLMs),包括 gemma-2-9b 和 gemma-2-27b 两个版本,包括指令微调版本。这些模型在广泛的数据集上进行了训练——27B版本为13万亿个token,9B版本为8万亿个token——包括网络数据、英文文本、代码和数学等内容。Gemma 2 支持 8000 个 token 的上下文长度,提供了在语言理解和文本生成等任务中增强的性能,这归功于优化后的数据管理能力,以及更大的训练数据集。Gemma 2 支持再分发、商业使用、微调和衍生项目,促进了人工智能应用的广泛采用和创新。一些技术增强包括交错本地-全局注意力( interleaving local-global attention)和组查询注意力。此外,2B和9B模型使用知识蒸馏,相对于相同尺寸的模型,它的性能更优越。

Gemma 2性能

在Gemma 2的训练过程中,采用了严格的安全协议。这包括过滤预训练数据,并在各种指标上进行全面测试,以检测和解决潜在的偏见和风险。

图:Gemma 2性能

图:评估Gemma 2的9B和27B指令


上手运行:体验 Gemma 2 的强大

我们已成功使用Ollama和NVIDIA RTX A4000测试了模型!使用的方法与我们此前运行 Qwen2 类似。

在我们开始之前,让我们收集一些关于GPU配置的信息。

nvidia-smi

ollama run gemma2
你会惊讶地发现,使用NVIDIA A4000 机器,模型的检索速度有多快!仅需几秒钟,你就可以准备好与模型进行对话了。
对话一:神经网络是如何工作的,以及它们的关键组成部分是什么?

视频:运行于 Ppaperspace 的 Gemma 2模型给出的答案

我们还给了它一个编程问题:编写一个函数,通过填充空白单元格来解决数独谜题。数独谜题是一个9x9的网格,目标是填充网格,使得每一行、每一列和每个3x3的子网格都恰好包含数字1到9一次。空白单元格由字符表示。

它给出的输出是这样的:

def solveSudoku(puzzle):"""Solves a Sudoku puzzle.
Args:puzzle (list): A list of strings representing the Sudoku puzzle.
Returns:list: A list of strings representing the solved Sudoku puzzle."""
# Iterate over the rows, columns, and subgrids.for row in range(9):for col in range(9):if puzzle[row][col] == '.':# Check if the number is already in the row, column, or subgrid.for i in range(9):if puzzle[row][i] != '.' and puzzle[i][col] != '.' and puzzle[row][col] == puzzle[i][col]:continue
# Find the possible numbers for the cell.possible_numbers = set()for i in range(1, 10):if not is_valid(puzzle, row, col, i):possible_numbers.add(i)
# Try each possible number.for number in possible_numbers:puzzle[row][col] = str(number)if solveSudoku(puzzle):return puzzlepuzzle[row][col] = '.'
# If no solution is found, return the original puzzle.return puzzle

# Helper function to check if a number is valid for a cell.def is_valid(puzzle, row, col, number):for i in range(9):if puzzle[row][i] == str(number) or puzzle[i][col] == str(number):return Falsefor i in range(3):for j in range(3):if puzzle[row // 3 * 3 + i][col // 3 * 3 + j] == str(number):return Falsereturn True```
**Explanation:**
* The `solveSudoku` function iterates over the rows, columns, and subgrids of the Sudoku puzzle.* For each empty cell, it checks if the number is already in the row, column, or subgrid.* It then finds the possible numbers for the cell and tries each one.* If a solution is found, it returns the solved puzzle. Otherwise, it returns the original puzzle.* The `is_valid` function checks if a number is valid for a cell by ensuring that it is not already in the row, column, or subgrid.
**Example Usage:**
```python# Example Sudoku puzzle.puzzle = [['5', '3', '.', '.', '7', '8', '.', '.', '.'],['.', '7', '4', '6', '.', '5', '8', '9', '.'],['.', '.', '8', '.', '9', '1', '.', '6', '.'],// ... Rest of the puzzle.]
# Solve the Sudoku puzzle.solution = solveSudoku(puzzle)
# Print the solved puzzle.print(solution)```

小结

Gemma 2 所展示的 SOTA 模型在人工智能领域具有开创性意义。通过使用90亿和270亿参数的配置,Gemma 2 展示了其大幅优化的性能,以及增强后的安全性。它与大自身两倍的模型不相上下,并在单个 NVIDIA Tensor Core GPU或TPU主机上运行,这显然让更多开发者可以低成本地基于前沿的 AI 技术进行开发、扩展。Gemma 2 的开源特性、广泛的训练和技术创新,以及出色的性能,使其成为人工智能技术发展中的关键一环。
如果你感兴趣,可以动手尝试。如果没有合适的 GPU,欢迎在 DigitalOcean 的 Paperspace,以经济实惠的价格使用 A100、H100、A5000,以及其他型号的 GPU 机器。平台按秒计费,并在线上开发环境中提供了机器学习所需的主流软件工具、框架。如需咨询服务或技术支持,可联系 DigitalOcean 中国区独家战略合作伙伴卓普云



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询