在快速发展的生成式 AI 领域,编码模型已成为开发者不可或缺的工具,可提高软件开发的生产力和精度。它们通过自动执行复杂任务、增强可扩展性和促进创新提供显著优势,使其成为现代软件开发的宝贵工具。
本文将探讨 Codestral Mamba 的优势,重点介绍其 Mamba-2 架构,在 NVIDIA TensorRT-LLM 中支持的推理优化,以及借助 NVIDIA NIM 轻松部署以实现变革潜力和编码效率的提升。
Codestral Mamba
Codestral Mamba 由 Mistral 开发,是基于创新 Mamba-2 架构构建的突破性编码模型,专为实现出色的代码完成而设计。
Codestral Mamba
采用名为fill-in-the-middle (
- FIM
) 的先进技术,在生成准确且上下文相关的代码示例方面树立了新标准。
Codestral Mamba 与 NVIDIA NIM 实现无缝集成,用于容器化,还可确保跨不同环境的轻松部署。
以下语法和功能正确的代码示例由 Mistral NeMo 使用英语语言提示生成。您可以将其复制到开发环境中。要生成其他代码示例,请参阅NVIDIA API 目录。
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)
# Example usage:
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。
该架构使用选择性 Selective SSM,这些 Selective SSM 可以动态选择在每个时间步长关注或忽略输入。这种灵活性通过将计算资源集中在输入的最相关部分,实现了更高效的序列处理。
Mamba-2 还解决了张量并行性的低效问题,并提高了模型的计算效率,使其更快、更适合 GPUs。
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。使用 GPU Tensor Cores。更大的状态空间有助于提高模型质量和生成的输出。
在基于 Transformer 的模型中,可变长度序列的批处理可能是一项挑战,需要对所有序列进行填充以使其具有相同的长度(浪费计算),或者对可变序列长度实现专门的注意机制,并进行仔细的负载平衡。
基于 Mamba-2 的模型可以将整个批量视为一个长序列,并通过在每个序列结束时将状态转换设置为 0,避免在批量中的不同序列之间传递状态。
TensorRT-LLM 支持 SSD 在上下文和生成阶段中使用 Tensor Core 矩阵乘对输入序列进行分块和状态传递。它使用中间较短分块状态的分块扫描来确定给定所有之前输入的最终输出状态。
NVIDIA NIM
NVIDIA NIM 推理微服务旨在跨 NVIDIA 加速基础设施 (包括云、数据中心和工作站)Anywhere 简化和加速生成式 AI 模型的部署。
NIM 使用推理优化引擎、行业标准的 APIs 和预构建容器,提供可随需求扩展的高吞吐量 AI 推理。它支持语音、图像、视频、医疗健康等领域的各种生成式 AI 模型。
NIM 可提供出色的吞吐量,使企业生成 tokens 的速度提升高达 5 倍。对于生成式 AI 应用,token 处理是关键的性能指标,而 token 吞吐量的增加直接转化为企业收入的增加。
开始使用
要体验 Codestral Mamba,请参阅 Instantly Deploy Generative AI with NVIDIA NIM. 在这里,您还可以找到流行的模型,如 Llama3-70B, Llama3-8B, Gemma 2B, 和 Mixtral 8X22B.
借助免费的 NVIDIA 云计算积分,您可以开始大规模测试模型,并通过将应用程序连接到在完全加速的堆栈上运行的 NVIDIA 托管 API 端点来构建概念验证.