code: def train_lgb_model(
      early_stopping_callback_kwargs=None, **train_params
  ):
      import lightgbm as lgb
  
      if train_params["params"]["objective"] == "quantile":
          quantile_levels = train_params["params"].pop(
              "quantile_levels"
          )
          booster = QuantileBooster(
              quantile_levels=quantile_levels,
              early_stopping_callback_kwargs=early_stopping_callback_kwargs,
          )
          return booster.fit(**train_params)
      else:
          return lgb.train(**train_params)
  
imports: import copy
  import os
  import time
  from typing import List, Optional
  import numpy
  import pandas
  from pandas import DataFrame, Series
  from autogluon.common.utils.try_import import try_import_lightgbm
  from autogluon.core.constants import BINARY, MULTICLASS, QUANTILE, REGRESSION, SOFTCLASS
  from autogluon.core.utils.exceptions import TimeLimitExceeded
label_desc: Use image node_id 5 for calling a global function with example usage: train_lgb_model(early_stopping_callback_kwargs) and returns: booster, lgb