文档

API 参考

LLMLoadModelConfig

LLMLoadModelConfig 的 API 参考

参数

gpu (可选) : GPUSetting

如何将工作分配到您的 GPU。有关更多信息,请参阅 {@link GPUSetting}。

contextLength (可选) : number

上下文长度的令牌数量。这将包括提示和响应。一旦超出上下文长度,将使用 {@link LLMPredictionConfigBase#contextOverflowPolicy} 中设置的值来确定行为。

有关更多信息,请参阅 {@link LLMContextOverflowPolicy}。

ropeFrequencyBase (可选) : number

旋转位置嵌入 (RoPE) 的自定义基频。

此高级参数调整模型表示中位置信息的嵌入方式。增加此值可以通过修改模型处理依赖于位置信息的方式,从而在高上下文长度下实现更好的性能。

ropeFrequencyScale (可选) : number

RoPE(旋转位置编码)频率的缩放因子。

此因子通过修改位置信息的编码方式来缩放有效上下文窗口。较高的值允许模型处理更长的上下文,因为它们使位置编码更精细,这对于将模型扩展到其原始训练上下文长度之外特别有用。

evalBatchSize (可选) : number

在评估期间,一次批量处理的输入令牌数量。

增加此值通常通过利用并行化来提高处理速度和吞吐量,但需要更多内存。找到最佳批量大小通常涉及在性能提升和可用硬件资源之间取得平衡。

flashAttention (可选) : boolean

启用 Flash Attention 以优化注意力计算。

Flash Attention 是一种高效的实现,通过优化注意力机制的计算方式来减少内存使用并加快生成速度。这可以显著提高兼容硬件上的性能,特别是对于更长的序列。

keepModelInMemory (可选) : boolean

启用后,防止模型从系统内存中交换出去。

此选项即使在部分模型卸载到 GPU 时,也会为模型保留系统内存,从而在需要使用模型时确保更快的访问时间。这尤其能提高交互式应用程序的性能,但会增加总体 RAM 需求。

seed (可选) : number

用于模型初始化的随机种子值,以确保可重现的输出。

设置特定种子可确保模型内的随机操作(如采样)在不同运行中产生相同的结果,这对于测试和开发场景中的可重现性非常重要。

useFp16ForKVCache (可选) : boolean

启用后,将键值缓存以半精度 (FP16) 格式存储。

此选项通过使用 16 位浮点数而不是 32 位浮点数来显著减少推理期间的内存使用。虽然这可能会略微降低数值精度,但对大多数应用程序的输出质量影响通常最小。

tryMmap (可选) : boolean

加载模型时尝试使用内存映射 (mmap) 文件访问。

内存映射可以通过将模型文件直接从磁盘映射到内存来缩短初始加载时间,从而允许操作系统处理分页。这对于快速启动特别有利,但如果模型大于可用系统 RAM,则可能会降低性能,导致频繁的磁盘访问。

numExperts (可选) : number

指定用于混合专家 (MoE) 架构模型的专家数量。

MoE 模型包含多个“专家”网络,它们专注于任务的不同方面。此参数控制推理期间有多少专家处于活动状态,从而影响性能和输出质量。仅适用于使用 MoE 架构设计的模型。

llamaKCacheQuantizationType (可选) : LLMLlamaCacheQuantizationType | false

Llama 模型键缓存的量化类型。

此选项确定用于存储注意力机制缓存的键组件的精度级别。较低的精度值(例如 4 位或 8 位量化)可显著减少推理期间的内存使用,但可能会略微影响输出质量。效果因模型而异,有些模型对量化比其他模型更健壮。

设置为 false 以禁用量化并使用全精度。

llamaVCacheQuantizationType (可选) : LLMLlamaCacheQuantizationType | false

Llama 模型值缓存的量化类型。

与键缓存量化类似,此选项控制用于注意力机制缓存的值组件的精度。降低精度可节省内存,但可能会影响生成质量。此选项需要启用 Flash Attention 才能正常运行。

不同的模型对值缓存量化的响应不同,因此可能需要进行实验才能找到特定用例的最佳设置。设置为 false 以禁用量化。

此页面的源文件可在 GitHub 上找到