microsoft / microsoft/SynapseML

[BUG] LightGBM MLFlow autolog not logging metrics

Open
#2,164 1 comment 1 reaction 0 assignees View on GitHub
bug triage
Dominant language
Scala
Stars
5.2k
Forks
868
Avg merge
22h 9m
Merged PRs (30d)
45

Description

### SynapseML version

1.0.1

### System information

- **Language version** (e.g. python 3.8, scala 2.12): python 3.10.12, scala 2.12
- **Spark Version** (e.g. 3.2.3): 3.4.1
- **Spark Platform** (e.g. Synapse, Databricks): Databricks

### Describe the problem

After setup of
`spark.mlflow.pysparkml.autolog.logModelAllowlistFile /path/to/allowlist.txt`
and running
`mlflow.pyspark.ml.autolog()`
model metrics are not logged, only parameters and artifacts.

### Code to reproduce issue

```python
import mlflow

mlflow.pyspark.ml.autolog()

train_data = spark.table("schema.train_data")

params = {
"objective": "mse",
"learningRate": 0.03,
"numIterations": 1000,
"seed": 42,
"earlyStoppingRound": 50,
"validationIndicatorCol": "is_validation",
}

model = LightGBMRegressor(**params).fit(train_data)
```

### Other info / logs

_No response_

### What component(s) does this bug affect?

- [ ] `area/cognitive`: Cognitive project
- [ ] `area/core`: Core project
- [ ] `area/deep-learning`: DeepLearning project
- [X] `area/lightgbm`: Lightgbm project
- [ ] `area/opencv`: Opencv project
- [ ] `area/vw`: VW project
- [ ] `area/website`: Website
- [ ] `area/build`: Project build system
- [ ] `area/notebooks`: Samples under notebooks folder
- [ ] `area/docker`: Docker usage
- [ ] `area/models`: models related issue

### What language(s) does this bug affect?

- [ ] `language/scala`: Scala source code
- [X] `language/python`: Pyspark APIs
- [ ] `language/r`: R APIs
- [ ] `language/csharp`: .NET APIs
- [ ] `language/new`: Proposals for new client languages

### What integration(s) does this bug affect?

- [ ] `integrations/synapse`: Azure Synapse integrations
- [ ] `integrations/azureml`: Azure ML integrations
- [X] `integrations/databricks`: Databricks integrations

Contributor guide

Open the contributing guide

Research direction

Reproduce the shown Python workflow with mlflow.pyspark.ml.autolog(), LightGBMRegressor, and the Databricks setup. Compare the run's parameters and artifacts with its missing metrics, then trace the LightGBM integration entry point; done means the model logs its expected metrics as well as parameters and artifacts.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.