-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ENH] Amazon chronos forecaster interface #6119
Comments
@fkiraly I am new to open source, is this a "good first issue" i can start with? |
yes, absolutely! I'd say it is medium level for a first issue. Here's the relevant guide: |
For Chronos forecasting , I see that they have a list of arguments and keyword arguments. The Chronos utility takes these as optional variable arguments (*args, **kwargs) but I see that this is not allowed in sktime. how should this be handled, should each argument be taken as an optional parameter and passed to Chronos? |
I can see two options we commonly use:
|
@fkiraly is someone working on this right now? I am looking at good first issues to solve and I think I could start here |
@RigvedManoj might already be working on this, although I don't know the exact status. If you're interested in foundation models, here's a collection of issues: |
ok thanks will check it out |
@fkiraly |
hm, how does this relate to #5796 then? |
I have created a draft pull request. I am able to run chronos via sktime. But the checkEstimator is not running. |
@RigvedManoj, could you paste code here and a description of the error you get? |
from sktime.utils.estimator_checks import check_estimator
from sktime.forecasting.chronos import Chronos
check_estimator(Chronos)
Process finished with exit code -1073741819 (0xC0000005) do you want me to paste the Chronos forecast estimator code as well? |
Not needed, I assume this happens if you run on your branch? FYI, you can make code blocks by three backticks and then python, in markdown |
Changed. yes, I am getting this error when i run on my branch |
FYI @benHeid, anything familiar from the hugging face work? |
Mhm I tried to load it via the forecaster adapter. But this fails since the entries in the config are named differently... The interface of the different configs is not really unified. Consequently, it is difficult to implement everything using only one adapter.. |
Nope, I haven't seen that error before. Which model are you loading? Might it be possible that you are not having enough memory for storing the model or you are not allowed to store the model at the specific location? https://answers.microsoft.com/en-us/windows/forum/all/application-error-0xc0000005/6224ae45-a251-4f21-b076-74524618d00a |
However, it would be possible by adding several case distinctions. Anyway we should pay attention on how to reduce potential code duplication when adding LoRA methods to multiple of these forecasters. |
def get_test_params(cls, parameter_set="default"):
params = {"modelName": "amazon/chronos-t5-small"}
return params This is the parameter I am setting in get_test_params. y = load_airline()
y_train, y_test = temporal_train_test_split(y)
fh = ForecastingHorizon(y_test.index, is_relative=False)
forecaster = Chronos("amazon/chronos-t5-small", kwargs_dict={"torch_dtype": torch.bfloat16})
forecaster.fit(y_train)
y_pred = forecaster.predict(fh)
print(mean_absolute_percentage_error(y_test, y_pred)) So I am not sure if it's a memory issue. It could be performance related though because Chronos takes a long time to run without gpu. |
hm, why don't you open a PR, and we see what happens on the VM? |
I have a draft PR, do i need to convert it into a PR for it to run on the VM? |
If readthedocs build is succeeded, does it mean the check estimator has run successfully? |
no, that's only the documentation. The other tests need to be started by a core developer. Let me start them. |
Of some 200 tests, around 35 have failed, I am not able to figure out what the failed tests are though? |
See comment in the PR |
I can would like to work on this |
@pranavvp16, yes, you're tentatively assigned. I think we need to check with @Z-Fran whether he is still working on this - are you, @Z-Fran? |
I'm working on this |
More foundation models coming up.
As
chronos
is not on huggingface, it will not be covered by the generic huggingface wrapper.Usage is fairly easy, so I would consider this a good first issue.
https://github.com/amazon-science/chronos-forecasting
This might be interesting design-wise.
The model comes with different sets of pretrained weights, I would make that choice an
__init__
param, rather than a class constructor method, like inchronos
proper - although I wonder whether there is a bottleneck here. Delalyed init (e.g., infit
) might be another choice.The text was updated successfully, but these errors were encountered: