文档

API 参考

LLMLoadModelConfig

LLMLoadModelConfig 的 API 参考

参数

gpu (可选) : GPUSetting

如何将工作分配给您的 GPU。更多信息请参见 {@link GPUSetting}。

contextLength (可选) : number

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

更多信息请参见 {@link LLMContextOverflowPolicy}。

ropeFrequencyBase (可选) : number

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

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

ropeFrequencyScale (可选) : number

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

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

evalBatchSize (可选) : number

在评估过程中,在单个批次中一起处理的输入 token 数量。

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

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 上获取