llmcompressor.metrics.utils
模块
-
frequency_manager–用于日志记录的频率管理工具。
类
-
FrequencyManager–用于管理日志记录和模型更新频率的类
函数
-
log_ready–根据给定参数检查是否准备好再次记录
FrequencyManager
FrequencyManager(
log_frequency: LogStepType = None,
mode: LoggingModeType = DEFAULT_LOGGING_MODE,
frequency_type: FrequencyType = DEFAULT_FREQUENCY_TYPE,
)
用于管理日志记录和模型更新频率的类
参数
-
(日志频率LogStepType, default:None) –记录的频率
-
(模式LoggingModeType, default:DEFAULT_LOGGING_MODE) –要使用的日志记录模式,可以是 "on_change" 或 "exact","on_change" 将在上次记录以来模型已更新时记录,"exact" 将无论模型更新如何都在给定频率记录
-
(频率类型FrequencyType, default:DEFAULT_FREQUENCY_TYPE) –要使用的频率类型,可以是 "epoch"、"step" 或 "batch" 来控制频率管理器跟踪的内容,例如,如果频率类型是 "epoch",则频率管理器将跟踪自上次日志记录以来已过的 epoch 数,如果频率类型是 "step",则频率管理器将跟踪优化器步骤数
方法
-
log_ready–检查频率管理器是否准备好记录
-
log_written–将上次记录的步数设置为给定步数
-
model_updated–将上次模型更新设置为给定步数
属性
-
is_epoch_frequency_manager(bool) –:return: 如果频率管理器正在跟踪 epoch,则为 True,
-
is_optim_frequency_manager(bool) –:return: 如果频率管理器正在跟踪优化器步数,则为 True,
-
log_frequency(LogStepType) –:return: 记录频率
源文件位于 llmcompressor/metrics/utils/frequency_manager.py
is_epoch_frequency_manager property
返回
-
bool–如果频率管理器正在跟踪 epoch,则为 True,否则为 False
is_optim_frequency_manager property
返回
-
bool–如果频率管理器正在跟踪优化器步数,则为 True,否则为 False
log_ready
检查频率管理器是否准备好记录 就绪条件: - 记录频率不为 None - 当前记录步数不为 None - 当前记录步数大于或等于上次记录步数加上记录频率 - 如果 check_model_update 为 True,或 self._check_model_update 为 True,则上次模型更新步数必须大于或等于上次记录步数,并且当前记录步数必须大于或等于上次模型更新步数加上记录频率
参数
-
(当前日志步骤LogStepType) –当前记录步数
-
(检查模型更新bool, 默认值:False) –如果为 True,将检查自上次记录步数以来模型是否已更新,以及自上次模型更新以来是否已过 _log_frequency 步数;默认为 False。
返回
- –
如果已再次达到记录频率,则为 True,否则为 False
源文件位于 llmcompressor/metrics/utils/frequency_manager.py
log_written
将上次记录的步数设置为给定步数
:post-cond: 上次记录步数设置为给定步数
参数
-
(步骤LogStepType, default:None) –要设置为上次记录步数的步数
源文件位于 llmcompressor/metrics/utils/frequency_manager.py
model_updated
将上次模型更新设置为给定步数
:post-cond: 上次模型更新步数设置为给定步数
参数
-
(步骤LogStepType, default:None) –要设置为上次模型更新的步数
源文件位于 llmcompressor/metrics/utils/frequency_manager.py
log_ready
log_ready(
current_log_step: LogStepType | None,
last_log_step: LogStepType | None,
log_frequency: LogStepType | None,
last_model_update_step: LogStepType = None,
check_model_update: bool = False,
)
根据给定参数检查是否准备好再次记录 (FrequencyManager().log_ready 的无状态版本)
就绪条件: - 记录频率不为 None - 当前记录步数不为 None - 当前记录步数大于或等于上次记录步数加上记录频率 - 如果 check_model_update 为 True,则上次模型更新步数必须大于或等于上次记录步数,并且当前记录步数必须大于或等于上次模型更新步数加上记录频率
参数
-
(当前日志步骤LogStepType | None) –当前记录步数
-
(上次日志步骤LogStepType | None) –上次记录发生的步数
-
(日志频率LogStepType | None) –记录的频率
-
(last_model_update_stepLogStepType, default:None) –上次模型更新发生的步数
-
(检查模型更新bool, 默认值:False) –如果为 True,将检查自上次记录步数以来模型是否已更新,以及自上次模型更新以来是否已过 log_frequency 步数;默认为 False。
返回
- –
如果再次达到记录频率,则为 True,否则为 False