Slackbot
05/05/2022, 10:48 AMSlackbot
05/05/2022, 10:49 AMDeepak Sharma
05/05/2022, 10:49 AMDeepak Sharma
05/05/2022, 10:50 AMSlackbot
05/05/2022, 10:50 AMSlackbot
05/09/2022, 6:25 AMSlackbot
06/13/2022, 8:55 PMSean
06/22/2022, 10:47 PM$ pip install -U bentoml --pre
β’ Standardized logging configuration and improved logging performance.
β¦ If imported as a library, BentoML will no longer configure logging explicitly and will respect the logging configuration of the importing Python process. To customize BentoML logging as a library, configurations can be added for the bentoml
logger.
formatters:
...
handlers:
...
loggers:
...
bentoml:
handlers: [...]
level: INFO
...
β¦ If started as a server, BentoML will continue to configure logging format and output to stdout
at INFO
level. All third party libraries will be configured to log at the WARNING
level.
β’ Added LightGBM framework support. π
β’ Updated model and bento creation timestamps CLI display to use the local timezone for better use experience, while timestamps in metadata will remain in the UTC timezone.
β’ Improved the reliability of bento build with advanced options including base_image and dockerfile_template.
Beside all the exciting product work, we also started a blog at modelserving.com sharing our learnings gained from building BentoML and supporting the MLOps community. Checkout our latest blog Breaking up with Flask & FastAPI: Why ML model serving requires a specialized framework (share your thoughts with us on our LinkedIn post).
Lastly, a big shoutout to @Mike Kuhlen for adding the LightGBM framework support. π₯Slackbot
07/01/2022, 7:12 PMSean
07/05/2022, 4:00 PM1.0.0rc3
with a number of highly anticipated features and improvements. Check it out with the following command!
$ pip install -U bentoml --pre
β οΈ BentoML will release the official 1.0.0
version next week and remove the need to use --pre
tag to install BentoML versions after 1.0.0
. If you wish to stay on the 0.13.1
LTS version, please lock the dependency with bentoml==0.13.1
.
β’ Added support for framework runners in the following ML frameworks.
β¦ fast.ai
β¦ CatBoost
β¦ ONNX
β’ Added support for Huggingface Transformers custom pipelines.
β’ Fixed a logging issue causing the api_server and runners to not generate error logs.
β’ Optimized Tensorflow inference procedure.
β’ Improved resource request configuration for runners.
β¦ Resource request can be now configured in the BentoML configuration. If unspecified, runners will be scheduled to best utilized the available system resources.
runners:
resources:
cpu: 8.0
<http://nvidia.com/gpu|nvidia.com/gpu>: 4.0
β¦ Updated the API for custom runners to declare the types of supported resources.
import bentoml
class MyRunnable(bentoml.Runnable):
SUPPORTS_CPU_MULTI_THREADING = True # Deprecated SUPPORT_CPU_MULTI_THREADING
SUPPORTED_RESOURCES = ("<http://nvidia.com/gpu|nvidia.com/gpu>", "cpu") # Deprecated SUPPORT_NVIDIA_GPU
...
my_runner = bentoml.Runner(
MyRunnable,
runnable_init_params={"foo": foo, "bar": bar},
name="custom_runner_name",
...
)
β¦ Deprecated the API for specifying resources from the framework to_runner() and custom Runner APIs. For better flexibility at runtime, it is recommended to specifying resources through configuration.Tim Liu
07/07/2022, 8:25 PMSlackbot
07/13/2022, 5:47 PMSlackbot
07/13/2022, 5:55 PMTim Liu
07/13/2022, 8:48 PMSean
07/29/2022, 9:22 PMbentoml.tensorflow.save_model("model_name:1.2.4", model)
.
β’ Fixed PyTorch Runner payload serialization issue due to tensor not on CPU.
TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first
β’ Fixed Transformers GPU device assignment due to kwargs handling.
β’ Fixed excessive Runner thread spawning issue under high load.
β’ Fixed PyTorch Runner inference error due to saving tensor during inference mode.
RuntimeError: Inference tensors cannot be saved for backward. To work around you can make a clone to get a normal tensor and use it in autograd.
β’ Fixed Keras Runner error when the input has only a single element.
β’ Deprecated the validate_json
option in JSON IO descriptor and recommended specifying validation logic natively in the Pydantic model.
π¨ We added an examples directory and in it you will find interesting sample projects demonstrating various applications of BentoML. We welcome your contribution if you have a project idea and would like to share with the community.
π‘ We continue to update the documentation on every release to help our users unlock the full power of BentoML.
β’ Did you know BentoML service supports mounting and calling runners from custom FastAPI and Flask apps?
β’ Did you know IO descriptor supports input and output validation of schema, shape, and data types?Sean
08/08/2022, 8:01 PMBo
08/15/2022, 8:26 PMBo
08/18/2022, 5:55 PMBo
08/25/2022, 10:10 PMSean
08/26/2022, 6:29 PMrunners:
iris_clf_1:
resources:
<http://nvidia.com/gpu|nvidia.com/gpu>: [2, 4] # Map device 2 and 4 to iris_clf_1 runner
iris_clf_2:
resources:
<http://nvidia.com/gpu|nvidia.com/gpu>: [1, 3] # Map device 1 and 3 to iris_clf_2 runner
β’ Added SSL support for API server through both CLI and configuration.
--ssl-certfile TEXT SSL certificate file
--ssl-keyfile TEXT SSL key file
--ssl-keyfile-password TEXT SSL keyfile password
--ssl-version INTEGER SSL version to use (see stdlib 'ssl' module)
--ssl-cert-reqs INTEGER Whether client certificate is required (see stdlib 'ssl' module)
--ssl-ca-certs TEXT CA certificates file
--ssl-ciphers TEXT Ciphers to use (see stdlib 'ssl' module)
β’ Added adaptive batching size histogram metrics, BENTOML_{runner}_{method}_adaptive_batch_size_bucket
, for observability of batching mechanism details.
β’ Added support OpenTelemetry OTLP exporter for tracing and configures the OpenTelemetry resource automatically if user has not explicitly configured it through environment variables. Upgraded OpenTelemetry python packages to version 0.33b0
.
β’ Added support for saving external_modules
alongside with models in the save_model
API. Saving external Python modules is useful for models with external dependencies, such as tokenizers, preprocessors, and configurations.
β’ Enhanced Swagger UI to include additional documentation and helper links.
π‘ We continue to update the documentation on every release to help our users unlock the full power of BentoML.
β’ Checkout the adaptive batching documentation on how to leverage batching to improve inference latency and efficiency.
β’ Checkout the runner configuration documentation on how to customize resource allocation for runners at run time.
π We continue to receive great engagement and support from the BentoML community.
β’ Shout out to @Steve T for their contribution on adding SSL support.
β’ Shout out to @Daniel Buades Marcos for their contribution on adding the OTLP exporter.
β’ Shout out to @Phil D'Amore for their contribution on fixing a bug on import_model
in the MLflow framework.Slackbot
08/30/2022, 8:19 PMSlackbot
09/08/2022, 5:30 PMSlackbot
09/12/2022, 10:28 PMBo
09/15/2022, 9:09 PMBo
09/22/2022, 6:00 PMChaoyu
09/23/2022, 5:43 PMSlackbot
09/27/2022, 11:14 PMBo
09/28/2022, 6:00 PMSlackbot
10/03/2022, 1:05 AMSlackbot
10/17/2022, 7:06 PM