在快速发展的生成 AI 领域,编程模型已成为开发者必不可少的工具,提升了软件开发的生产力和精确度。根据 NVIDIA 技术博客,他们的最新创新 Codestral Mamba 将革新代码补全。
Codestral Mamba
由 Mistral 开发的 Codestral Mamba 是一个突破性的编程模型,基于创新的 Mamba-2 架构。它专为卓越的代码补全设计。使用一种名为填充中间 (FIM) 的先进技术,Codestral Mamba 在生成准确且与上下文相关的代码示例方面设立了新的标准。
Codestral Mamba 与 NVIDIA NIM 的无缝集成还保证了在各种环境下的轻松部署。
以下由 Mistral NeMo 使用英文语言提示生成的语法和功能正确的代码示例:
from collections import deque def bfs_traversal(graph, start): visited = set() queue = deque([start]) while queue: vertex = queue.popleft() if vertex not in visited: visited.add(vertex) print(vertex) queue.extend(graph[vertex] - visited) # 示例使用: graph = { 'A': set(['B', 'C']), 'B': set(['A', 'D', 'E']), 'C': set(['A', 'F']), 'D': set(['B']), 'E': set(['B', 'F']), 'F': set(['C', 'E']) } bfs_traversal(graph, 'A')
Mamba-2
Mamba-2 架构是一种先进的状态空间模型 (SSM) 架构。它是一个递归模型,经过精心设计,以挑战基于注意力机制的架构在语言建模中的霸主地位。
Mamba-2 通过结构化空间对偶性 (SSD) 的概念将 SSM 和注意力机制连接起来。探索这一概念导致了准确性和实现方面相较于 Mamba-1 的改进。该架构使用选择性 SSM,可以动态选择在每个时间步关注或忽略输入,使得序列处理更高效。
Mamba-2 还解决了张量并行性中的低效率问题,提升了模型的计算效率,使其更快且更适用于 GPU。
TensorRT-LLM
NVIDIA TensorRT-LLM 通过支持 Mamba-2 的 SSD 算法优化 LLM 推理。SSD 保留了 Mamba-1 选择性 SSM 的核心优势,例如具有并行选择性扫描以过滤无关信息的快速自回归推理。它进一步简化了 SSM 参数矩阵 A,从对角结构到标量结构,以便使用矩阵乘法单元,如 Transformer 注意力机制所用的,并由 GPU 加速。
Mamba-2 的 SSD 以及 TensorRT-LLM 的支持中,一个附加好处是能够在所有状态维度 N (d_state) 以及头部维度 D (d_head) 之间共享回归动力学。这使其能够通过使用 GPU Tensor Cores 支持比 Mamba-1 更大的状态空间扩展。更大的状态空间尺寸有助于提高模型质量和生成的输出。
基于 Mamba-2 的模型可以将整个批处理视为一个长序列,并通过将每个序列末尾的状态转移设置为 0 来避免在批处理中的不同序列之间传递状态。
TensorRT-LLM 在上下文和生成阶段中使用 Tensor Core 矩阵乘法器支持 SSD 的分块和状态传递,使用中间较短的分块状态进行扫描来确定给定所有先前输入的最终输出状态。
NVIDIA NIM
NVIDIA NIM 推理微服务旨在简化并加速生成 AI 模型的部署,适用于任何地方的 NVIDIA 加速基础设施,包括云、数据中心和工作站。
NIM 使用推理优化引擎、行业标准 API 和预构建的容器,以提供可随需求扩展的高吞吐量 AI 推理。它支持包括语音、图像、视频、医疗保健等各领域广泛的生成 AI 模型。
NIM 提供一流的吞吐量,使企业生成 token 的速度提高至 5 倍。对于生成 AI 应用,token 处理是关键性能指标,增加的 token 吞吐量直接转化为企业的更高收入。
要体验 Codestral Mamba,请参见 使用 NVIDIA NIM 即时部署生成 AI。在此,您还会发现流行模型如 Llama3-70B、Llama3-8B、Gemma 2B 和 Mixtral 8X22B。
有了免费的 NVIDIA 云积分,开发者可以开始大规模测试模型,并通过连接其应用到 NVIDIA 托管的运行在完全加速堆栈上的 API 端点来构建概念验证 (POC)。
Image source: Shutterstock