文档

使用 LLM 进行预测

代理流程

文本嵌入

分词

模型管理

模型信息

LLMLoadModelConfig

参数

gpu (可选) : GPUSetting

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

contextLength (可选) : 数字

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

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

ropeFrequencyBase (可选) : 数字

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

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

ropeFrequencyScale (可选) : 数字

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

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

evalBatchSize (可选) : 数字

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

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

flashAttention (可选) : 布尔值

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

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

keepModelInMemory (可选) : 布尔值

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

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

seed (可选) : 数字

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

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

useFp16ForKVCache (可选) : 布尔值

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

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

tryMmap (可选) : 布尔值

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

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

numExperts (可选) : 数字

指定具有专家混合 (MoE) 架构的模型要使用的专家数量。

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

llamaKCacheQuantizationType (可选) : LLMLlamaCacheQuantizationType | false

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

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

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

llamaVCacheQuantizationType (可选) : LLMLlamaCacheQuantizationType | false

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

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

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