Open fchollet opened 2 months ago
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.
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.
Β with the introduction of the Backbone API, it has become more convoluted.
The person who introduced such API design already left google. :p
@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.
@kernel-loophole please open an issue on the KerasNLP repo if you'd like to contribute this feature!
okay thanks
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.
online inference services and the functional components used by various recommendation algorithms
@MoFHeka Can you elaborate on what you need here?
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?
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
keras.distribution
.keras.distribution
.Performance
ops.flash_attention
ops for Pytorch and JAX (implemented via Pallas).Modeling
inputs
andoutputs
argument inModel
should be flat structured (e.g. flat dicts or lists). However it may be useful to support e.g. dicts of lists, or dicts of dicts.scan
operation in the style of JAX.keras.ops
.ops.argpartition
ops.vectorize
ops.select
ops.eigh
tensor.at
operator.keras.ops
:Ecosystem
.keras
models.mlx
branch).Code health
pip_build.py
to make the Keras package runnable from its sources without any postprocessing.Keras "starter packs"
Keras Models
KerasCV
from_preset
API.channels_first
testing on CI.KerasNLP