microsoft / microsoft/SynapseML
[BUG] LightGBM MLFlow autolog not logging metrics
- 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
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