From c57f89129fc5c2aa46ebec14ca605a56851217cb Mon Sep 17 00:00:00 2001 From: George Ohashi Date: Thu, 22 Aug 2024 19:57:25 +0000 Subject: [PATCH 1/4] metrics --- src/llmcompressor/logger.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/llmcompressor/logger.py b/src/llmcompressor/logger.py index 08f905ed5..b136b5c7b 100644 --- a/src/llmcompressor/logger.py +++ b/src/llmcompressor/logger.py @@ -64,23 +64,19 @@ def configure_logger(config: Optional[LoggerConfig] = None): :param config: The configuration for the logger to use. :type config: LoggerConfig """ + logger_config = config or LoggerConfig() + + # env vars get priority if (disabled := os.getenv("LLM_COMPRESSOR_LOG_DISABLED")) is not None: - disabled = disabled.lower() + logger_config.disabled = disabled.lower() if (clear_loggers := os.getenv("LLM_COMPRESSOR_CLEAR_LOGGERS")) is not None: - clear_loggers = clear_loggers.lower() + logger_config.clear_loggers = clear_loggers.lower() if (console_log_level := os.getenv("LLM_COMPRESSOR_LOG_LEVEL")) is not None: - console_log_level = console_log_level.upper() - log_file = os.getenv("LLM_COMPRESSOR_LOG_FILE") - log_file_level = os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL") - - # override from environment variables, if set - logger_config = LoggerConfig( - disabled=disabled or LoggerConfig.disabled, - clear_loggers=clear_loggers or LoggerConfig.clear_loggers, - console_log_level=console_log_level or LoggerConfig.console_log_level, - log_file=log_file or LoggerConfig.log_file, - log_file_level=log_file_level or LoggerConfig.log_file_level, - ) + logger_config.console_log_level = console_log_level.upper() + if (log_file := os.getenv("LLM_COMPRESSOR_LOG_FILE")) is not None: + logger_config.log_file = log_file + if log_file_level := os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL"): + logger_config.log_file_level = log_file_level if logger_config.disabled: logger.disable("llmcompressor") @@ -105,7 +101,7 @@ def configure_logger(config: Optional[LoggerConfig] = None): # log as json to the file for easier parsing logger.add(log_file, level=log_file_level.upper(), serialize=True) - if logger_config.metrics_disabled: + if logger_config.metrics_disabled or "METRIC" in logger._core.levels.keys(): return # initialize metric logger on loguru _initialize_metric_logging() From b20b3d8404d33352c86bfc95f88d6a5f2d901e4f Mon Sep 17 00:00:00 2001 From: George Ohashi Date: Fri, 23 Aug 2024 14:03:14 +0000 Subject: [PATCH 2/4] lint --- src/llmcompressor/logger.py | 3 ++- .../modifiers/quantization/gptq/utils/gptq_wrapper.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/llmcompressor/logger.py b/src/llmcompressor/logger.py index b136b5c7b..4a1d7ac0d 100644 --- a/src/llmcompressor/logger.py +++ b/src/llmcompressor/logger.py @@ -75,7 +75,7 @@ def configure_logger(config: Optional[LoggerConfig] = None): logger_config.console_log_level = console_log_level.upper() if (log_file := os.getenv("LLM_COMPRESSOR_LOG_FILE")) is not None: logger_config.log_file = log_file - if log_file_level := os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL"): + if (log_file_level := os.getenv("LLM_COMPRESSOR_LOG_FILE_LEVEL")) is not None: logger_config.log_file_level = log_file_level if logger_config.disabled: @@ -103,6 +103,7 @@ def configure_logger(config: Optional[LoggerConfig] = None): if logger_config.metrics_disabled or "METRIC" in logger._core.levels.keys(): return + # initialize metric logger on loguru _initialize_metric_logging() diff --git a/src/llmcompressor/modifiers/quantization/gptq/utils/gptq_wrapper.py b/src/llmcompressor/modifiers/quantization/gptq/utils/gptq_wrapper.py index 3dc1b38e1..82b6f6802 100644 --- a/src/llmcompressor/modifiers/quantization/gptq/utils/gptq_wrapper.py +++ b/src/llmcompressor/modifiers/quantization/gptq/utils/gptq_wrapper.py @@ -241,7 +241,7 @@ def compress( ( f"GPU {i} | usage: {perc:.2f}%" f" | total memory: {total_memory} GB" - ) + ), ) logger.log( From 651bfd576007d47dc97e03f482764c0dde6b16e8 Mon Sep 17 00:00:00 2001 From: George Ohashi Date: Fri, 23 Aug 2024 14:50:40 +0000 Subject: [PATCH 3/4] library error try catch --- src/llmcompressor/utils/metric_logging.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/llmcompressor/utils/metric_logging.py b/src/llmcompressor/utils/metric_logging.py index 842ec2fa4..382f479d7 100644 --- a/src/llmcompressor/utils/metric_logging.py +++ b/src/llmcompressor/utils/metric_logging.py @@ -7,8 +7,13 @@ def get_GPU_memory_usage() -> List[Tuple]: try: import pynvml - - pynvml.nvmlInit() + from pynvml import NVMLError + + try: + pynvml.nvmlInit() + except NVMLError as _err: + logger.warning(f"Pynml library error:\n {_err}") + return [] device_count = pynvml.nvmlDeviceGetCount() usage = [] # [(percentage, total_memory_MB)] @@ -28,8 +33,8 @@ def get_GPU_memory_usage() -> List[Tuple]: except ImportError: logger.warning("Failed to obtain GPU usage from pynvml") return [] - - + + def get_layer_size_bytes(module: Module) -> float: param_size = 0 buffer_size = 0 From 5d8955ea4e5c986288dd215525d2b6170bc60e99 Mon Sep 17 00:00:00 2001 From: George Ohashi Date: Fri, 23 Aug 2024 15:29:35 +0000 Subject: [PATCH 4/4] lint --- src/llmcompressor/utils/metric_logging.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llmcompressor/utils/metric_logging.py b/src/llmcompressor/utils/metric_logging.py index 382f479d7..d0b3bb11e 100644 --- a/src/llmcompressor/utils/metric_logging.py +++ b/src/llmcompressor/utils/metric_logging.py @@ -8,7 +8,7 @@ def get_GPU_memory_usage() -> List[Tuple]: try: import pynvml from pynvml import NVMLError - + try: pynvml.nvmlInit() except NVMLError as _err: @@ -33,8 +33,8 @@ def get_GPU_memory_usage() -> List[Tuple]: except ImportError: logger.warning("Failed to obtain GPU usage from pynvml") return [] - - + + def get_layer_size_bytes(module: Module) -> float: param_size = 0 buffer_size = 0