Here's an overview of the features we intend to work on in the near future.
Core Keras
Performance and Optimization
- A new Keras Pruning API to help users create smaller and more efficient models.
- Introduce comprehensive support for model quantization, including:
- Post-training quantization techniques like GPTQ and AWQ.
- Quantization-Aware Training (QAT) support.
Scale and Distribution
- Distributed Training
- Comprehensive guides for multi-host TPU and multi-host GPU training.
- Official performance benchmarks
- A Backup and Restore callback to handle preemptions gracefully during long training runs.
Integrations and Ecosystem
- Add support for exporting models to the ODML LiteRT format, simplifying deployment on edge and mobile devices.
- Integrate Qwix, a new JAX-based library for quantization.
- [Contributions Welcome] Integrate PyGrain for creating efficient, large-scale data loading and preprocessing pipelines.
KerasHub
See the roadmap here.
KerasRS
See the roadmap here.
Comment From: pure-rgb
Unify KerasCV and KerasNLP into a single Keras Models package.
-
does it mean that kerascv and kerasnlp will be merged together into one single package, like tensorflow model garden?
-
kerascv development is terribly slow, and lacks of resources. no release since february (0.8.2), may models doesn't have weight, i.e. vit, mit. Object detection models that is added (yolo-v8, retina-net, faster-rcnn) all are broken and doesn't have evaluation scripts to holds their validity. Generative model only stable diffusion, where many (too many impactfull models are available now).
-
like huggigface, why enigneer or researcher are not hired and reinformce into this package. Check this repo, the ownver can add any new models written in keras. so why not official keras team? Is it because the api desgin is too rich and complicated for contributor? Not to mention, many reviews are pending, contributor left at th end.
Comment From: IMvision12
I concur with @pure-rgb's observation that the API design has become overly elaborate and intricate for contributors. Previously, it was straightforward and comprehensible, but with the introduction of the Backbone API, it has become more convoluted.
Comment From: pure-rgb
with the introduction of the Backbone API, it has become more convoluted.
The person who introduced such API design already left google. :p
Comment From: kernel-loophole
@fchollet I've been going through the features you're planning to implement, and I'm particularly interested in contributing to KerasNLP. Specifically, I'm eager to get involved in the development of dynamic sequence length inference for PyTorch LLMs.
Comment From: fchollet
@kernel-loophole please open an issue on the KerasNLP repo if you'd like to contribute this feature!
Comment From: kernel-loophole
okay thanks
Comment From: MoFHeka
I am a developer of tensorflow recommenders-addons and I now need to develop an all-to-all embedding layer for multi-GPU distributed training of recommendation models. The old tensorflow distributed strategy clearly did not meet this need. So the question is, should I develop on TF DTensor or Jax? Because it seems that Keras support for TF DTensor is not friendly. But Jax lacks the ability to online inference services and the functional components used by various recommendation algorithms. Also recommenders-addons has a lot of custom operators.
Comment From: jeffcarp
online inference services and the functional components used by various recommendation algorithms
@MoFHeka Can you elaborate on what you need here?
Comment From: MoFHeka
online inference services and the functional components used by various recommendation algorithms
@MoFHeka Can you elaborate on what you need here?
@jeffcarp If a third-party custom op (primitives) is used in Jax training, it will be difficult to convert it to saved_model for online inference. Jax2tf is not easy to use. Unlike TF custom op, it only needs to compile with TFServing or preload the dynamic link library.
You may not be very concerned about how DTensor or Jax will evolve in the future. But for now the large number of recommendation models are trained by Keras, I'm interested to hear what I think of these two frameworks as a Keras developer. After all, both frameworks have their own problems for us. Since one of our priorities is to be compatible with Keras APIs, I would like to know whether Keras currently prefers to do more development for DTensor or Jax and integrate their which features? Or which of the two is more worthy of support?
Comment From: jeffcarp
@MoFHeka Keras is focusing on JAX for distributed training.
If a third-party custom op (primitives) is used in Jax training, it will be difficult to convert it to saved_model for online inference
Can you elaborate on what ops you need, and what your current workarounds are?
cc @hertschuh who is working on recommenders.
Comment From: MoFHeka
Thank you for your reply. Here is the tensorflow recommenders addons which store and train dynamic shape embedding tables with fully functional hashtable. It’s designed for training ID feature without static hash map. https://github.com/tensorflow/recommenders-addons/blob/master/tensorflow_recommenders_addons/dynamic_embedding/core/ops/hkv_hashtable_ops.cc在 2024年7月12日,04:12,Jeff Carpenter @.***> 写道: @MoFHeka Keras is focusing on JAX for distributed training.
If a third-party custom op (primitives) is used in Jax training, it will be difficult to convert it to saved_model for online inference
Can you elaborate on what ops you need, and what your current workarounds are? cc @hertschuh who is working on recommenders.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
Comment From: RonRichman
Dear all
It would make life so much easier if Keras 3 supported some of the newer optimizers e.g. Shampoo or Schedule free Adam.
Any chance this could go on the roadmap?
Thanks!
Comment From: chiruu12
Dear all
It would make life so much easier if Keras 3 supported some of the newer optimizers e.g. Shampoo or Schedule free Adam.
Any chance this could go on the roadmap?
Thanks!
Hey i will be interested in contributing for this feature if the team allows me to!
Comment From: VarunS1997
Sure! Please take a crack at it and submit it for review when ready!