Gemma.cpp:用于 Gemma 模型的轻量级独立 C++ 推理引擎
Gemma.cpp: lightweight, standalone C++ inference engine for Gemma models

原始链接: https://github.com/google/gemma.cpp

要在本地构建 gemma.cpp,请按照以下步骤操作:

  1. 克隆 gemma.cpp 存储库。
  2. 导航到克隆的目录。
  3. 运行 cmake,指定所需的 gemma 模型版本(目前可用于 20 亿和 70 亿参数版本)。
  4. cmake 完成后,导航回执行 cmake 的根级别。
  5. 执行“make”,根据打算如何使用生成的推理引擎二进制文件传递任何必要的标志。 如需作为标准终端应用进行简单使用,请跳过此步骤。

或者,如果在另一个 C++ 应用程序中使用,则通过 CMakeLists.txt 添加 fetchcontent 和依赖项,引入适当的库和标头,然后构建共享库目标以便于包含,文档中也详细介绍了这一点。

如果需要正常支持渠道之外的帮助,请参阅文档了解更多详细信息、常见问题解答和联系信息。

(注意:gemma.cpp 本身不是 Google 官方产品。)

不幸的是,目前尚不提供 q0_K 压缩级别的量化模型的演示。 这是由于在使用量化的 4 位权重进行评估期间生成有效输出具有挑战性。 在评估模型的性能时,需要考虑的一个重要因素是拓扑本身。 压缩方法通常需要修改神经网络的结构,从而导致激活模式和输入数据分布的变化。 因此,模型的输出概率分布往往会倾斜和平坦,从而导致对输入变化的敏感性降低。 此外,精度会显着影响模型的准确性。 尽管存在大量的压缩技术,但在不对模型的准确性产生负面影响的情况下实现高水平的压缩仍然是一个挑战。 研究人员面临的一项关键挑战是开发方法来减轻权重量化对激活模式变化的影响。 这涉及到确定训练模型中的哪些连接对验证性能影响最大,并有选择地增加其激活范围,以尽量减少总体性能损失。 模型压缩的另一个关键方面是数据增强,它有助于扩展训练期间提供的输入的多样性,从而最大限度地减少压缩模型中丢失输入的重要方面的可能性。 研究人员的目标是通过以与现实世界使用环境一致的方式操作输入数据,减少整个训练数据集中的冗余和不一致。 这种策略允许通过压缩保留更高保真度的信号处理管道,从而产生更高的性能结果。 至于软件工具,PyTorch Quantization 已经很受欢迎,它提供了多种选项来实现模型压缩。 Autopsy 是一个专门为自动检测和分析深度学习错误而设计的框架,旨在帮助研究人员发现和诊断模型故障,其最新进展有望为提高未来该领域研究的质量和准确性做出重大贡献。 此外,TensorFlow.js 在 GPU 利用率和 Web 浏览器兼容性方面也显示出了可喜的结果。 然而,总的来说,压缩技术的成功和有效性在很大程度上取决于特定的应用领域或当前的研究问题。 目前,正在进行的研究旨在解决当前压缩策略固有的基本限制,以更好地控制模型性能和计算资源需求之间的平衡。
相关文章

原文
联系我们 contact @ memedata.com