keras-team / keras

Deep Learning for humans
http://keras.io/
Apache License 2.0
61.29k stars 19.38k forks source link

πŸ—ΊοΈ Keras Development Roadmap #19519

Open fchollet opened 2 months ago

fchollet commented 2 months ago

Here's an overview of the features we intend to work on in the near future, across Core Keras, KerasNLP, and KerasCV.

Core Keras

Saving & export

Distribution

Performance

Modeling

Ecosystem

Code health

Keras "starter packs"

Keras Models

KerasCV

KerasNLP

pure-rgb commented 2 months ago

Unify KerasCV and KerasNLP into a single Keras Models package.

  1. does it mean that kerascv and kerasnlp will be merged together into one single package, like tensorflow model garden?

  2. 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).

  3. 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.

IMvision12 commented 2 months ago

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.

pure-rgb commented 2 months ago

Β with the introduction of the Backbone API, it has become more convoluted.

The person who introduced such API design already left google. :p

kernel-loophole commented 2 months ago

@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.

fchollet commented 1 month ago

@kernel-loophole please open an issue on the KerasNLP repo if you'd like to contribute this feature!

kernel-loophole commented 1 month ago

okay thanks

MoFHeka commented 3 weeks ago

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.

jeffcarp commented 2 weeks ago

online inference services and the functional components used by various recommendation algorithms

@MoFHeka Can you elaborate on what you need here?

MoFHeka commented 2 weeks ago

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?