-
Notifications
You must be signed in to change notification settings - Fork 26.9k
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
Add YaRN and Dynamic-YaRN RoPE Scaling Methods #30910
Conversation
YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes. Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments. We implement YaRN and Dynamic-YaRN for the following list of models: - LLaMA - Falcon - GPT-NeoX - Olmo - Persimmon - Phi - StableLM - OpenLLaMA New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs. For more details, please refer to https://arxiv.org/abs/2309.00071. Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt>
cc @ArthurZucker too |
Hey! Thanks a lot for taking the time to implement this! 🤗 This is unrelated to Llama so we might need some modularity for this! |
🤗 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Olá Miguel e Miguel! 👋 (@miguelm-almeida @mig-mfreitas )
I have a couple of requests regarding user experience and recent changes in our repo. My number 1 suggestion would be to delete the diff in all models except Llama
, and leave the model copies for another PR. It's much faster for everyone (you and me) to iterate over a model, and then copy the design when we're happy 🤗 In this particular case (RoPE models), we also have different implementations that we need to iron out on our end before adding Yarn there.
Llama
, and not on Falcon
. Some of the suggested changes only work on architectures that are up to date, like Llama
(and unlike Falcon
)
Finally: one of the goals of this PR should be to be able to load the original YaRN models using transformers
. Currently, there are some models on the Hub that have custom code (e.g. https://huggingface.co/NousResearch/Yarn-Llama-2-7b-64k). At the moment, these models require adding trust_remote_code=True
to from_pretrained
(which loads the custom code in the repo). With this PR, we remove the need for that flag and would be using the code in transformers
instead :)
Ping me if you have further questions (and feel free to ping me by email if I'm taking to long to reply) 🤗
@@ -66,13 +66,31 @@ class OpenLlamaConfig(PretrainedConfig): | |||
rope_theta (`float`, *optional*, defaults to 10000.0): | |||
The base period of the RoPE embeddings. | |||
rope_scaling (`Dict`, *optional*): | |||
Dictionary containing the scaling configuration for the RoPE embeddings. Currently supports two scaling | |||
strategies: linear and dynamic. Their scaling factor must be a float greater than 1. The expected format is | |||
Dictionary containing the scaling configuration for the RoPE embeddings. Currently supports four scaling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
models on the deprecated
folder should not be updated :) (let's remove the changes on open_llama
)
`{"type": strategy name, "factor": scaling factor}`. When using this flag, don't update | ||
`max_position_embeddings` to the expected new maximum. See the following thread for more information on how | ||
these scaling strategies behave: | ||
https://www.reddit.com/r/LocalLLaMA/comments/14mrgpr/dynamically_scaled_rope_further_increases/. This is an | ||
experimental feature, subject to breaking API changes in future versions. | ||
yarn_rope_scaling (`Dict`, *optional*, defaults to `{'original_max_position_embeddings': 2048, 'extrapolation_factor': 1.0, 'attention_factor': 1.0, 'beta_fast': 32.0, 'beta_slow': 1.0, 'finetuned': False}`): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two comments:
- The contents of
yarn_rope_scaling
should be part ofrope_scaling
A single config dict for everything related to RoPE scaling is preferable so we can easily upgrade it to a standalone config class in a future PR :)
It would also allow loading existing models by the original authors, e.g. https://huggingface.co/NousResearch/Yarn-Llama-2-7b-64k (have a look at their custom config code and the model's config file -- both assume all rope scaling params are in rope_scaling
)
- We have found through experience that the best default in config files is no default :) That way, we (huggingface):
a) don't have to push changes to repositories in the hub in case we find bugs
b) we can easily distinguish defaults from user-defined values that happen to be equal to the default
If the point in 1. is addressed, then no change is needed to the existing default (None
). Defaults in the classes and the validation code are very helpful, though!
@@ -201,3 +229,55 @@ def _rope_scaling_validation(self): | |||
) | |||
if rope_scaling_factor is None or not isinstance(rope_scaling_factor, float) or rope_scaling_factor <= 1.0: | |||
raise ValueError(f"`rope_scaling`'s factor field must be a float > 1, got {rope_scaling_factor}") | |||
|
|||
# Copied from transformers.models.llama.configuration_llama.LlamaConfig._yarn_rope_scaling_validation | |||
def _yarn_rope_scaling_validation(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
likewise, the contents of this function should be moved into _rope_scaling_validation
, and the flags should only be checked if the rope scaling method is a yarn one and the flags exist in the dictionary
@@ -162,12 +188,14 @@ def __init__( | |||
self.max_position_embeddings = max_position_embeddings | |||
self.rope_theta = rope_theta | |||
self.rope_scaling = rope_scaling | |||
self.yarn_rope_scaling = yarn_rope_scaling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self.yarn_rope_scaling = yarn_rope_scaling |
(as per the comment above)
extrapolation_factor (`float`, defaults to 1): | ||
Factor to ajust the n-dimensional rotational scaling for extrapolation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this parameter (extrapolation_factor
) is in the original implementation. However, if we dig further, we can see that it is not used in practice (unless I'm missing something -- feel free to correct me!):
- The default value of
1.
does not change the computation - There are no references to it in the yarn paper;
- I couldn't find any Yarn model on the hub that has set this parameter in
config.json
, meaning the default1
is always used; - All references in the original repo use the default value
- In an older PR, the author writes "extrapolation_factor and ntk_factor are used for validation purposes, and should not be changed unless it is necessary."
As such, I believe we can:
- delete this variable from the config
- delete all related code :)
return 1.0 | ||
return 0.1 * math.log(scaling_factor) + 1.0 | ||
|
||
def forward(self, x, seq_len=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the pattern we have in LlamaRotaryEmbedding.forward
-- the pattern was changed a few minor versions ago from the one you have here, where sin
and cos
are cached, to a different one. The new pattern is faster and is compatible with torch.compile
.
From a quick glance: I think you may be able to call super().forward
and simply apply * self.mscale
on the results
Parameter to set the boundary for extrapolation (only) in the linear ramp function. | ||
beta_slow (`float`, *optional*, defaults to 1): | ||
Parameter to set the boundary for interpolation (only) in the linear ramp function. | ||
finetuned (`bool`, *optional*, defaults to `False`): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can also be removed (see the comments on the new dynamic class)
self._sin_cached[:seq_len, ...].to(dtype=x.dtype), | ||
) | ||
|
||
def yarn(self, device): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def yarn(self, device): | |
def compute_yarn_scaling(self, device): |
(Or a similar name. Let's use descriptive function names :) )
device, | ||
) | ||
|
||
if finetuned: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if finetuned: | |
if self.max_position_embeddings != self.original_max_position_embeddings: |
This should be true for fine-tuned models, saving us a flag :)
with self.assertRaises(AssertionError): | ||
torch.testing.assert_close(yarn_cos_long, original_cos_long) | ||
with self.assertRaises(AssertionError): | ||
torch.testing.assert_close(yarn_sin_long, original_sin_long) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's also check that yarn_sin/cos_short != original_sin/cos_short (i.e. that applying yarn should change all values)
Thank you very much for this in-depth review and suggestions! We'll iterate on it and reach back shortly 🤗 |
Iterate on YaRN implementation for LLaMA and remove diff from remaining models for increased PR modularity. This commit includes the following changes: - Merge 'yarn_rope_scaling' and 'rope_scaling' dictionaries - Remove unnecessary attributes ('extrapolation_factor' and 'finetuned') from YaRN classes - Inherit 'forward' method in YaRN classes from superclass - Rename 'yarn' method to 'compute_yarn_scaling' - Extend YaRN tests with further assertions - Fix style inconsistencies Co-authored-by: Miguel Monte e Freitas <miguelmontefreitas@tecnico.ulisboa.pt>
@gante Hi! We believe we've covered the mentioned topics in this iteration. Please tell us what you think! 🤗 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general LGTM (aside two minor cleanup tasks) 👍 @mig-mfreitas @miguelm-almeida
Before I give the green light, I'd like you to run a sanity check: does the original implementation of YaRN match this implementation? This check doesn't fit as a test (it probably takes too long), but I'd like you to share a script with us that shows that the two implementations generate the same output text :)
After we confirm that they are matching, we can add a slow integration test to ensure we don't regress.
if self.attention_factor is None: | ||
self.attention_factor = 0.1 * math.log(scaling_factor) + 1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a note saying that this is the default value according to the yarn paper, so it doesn't look like a magic number :)
self._cos_cached = (emb.cos() * self.mscale)[None, :, :].to(torch.get_default_dtype()) | ||
self._sin_cached = (emb.sin() * self.mscale)[None, :, :].to(torch.get_default_dtype()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logic to build these tensors was removed in a recent PR (#30743) -- we can delete them as well as all related functions/variables (emb
, get_pos_embeddings
, ...)
This comment applies to the other class too :)
Chatting offline: yarn is matching the original repo, dynamic yarn is not. Check this gist. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey! Great work, I think here we have a philosophical choice:
we should start thinking about switching to sin and cos being computed once, at the beginning of the modeling, and that is is.
ROPE scaling is mostly used during generation, thsu generate
should be able to handle any rope scaling + we don't re-compute it every forward layer.
If you want to work on that would be truly nice, and aligned with the FA2 refactor / our idea to add kwargs to the foward.
|
||
if rope_scaling_type not in ["yarn", "dynamic-yarn"]: | ||
return | ||
|
||
if not isinstance(self.rope_scaling, dict) or len(self.rope_scaling) > 6: | ||
raise ValueError( | ||
"`rope_scaling` with type " | ||
f"{rope_scaling_type}" | ||
" must be a dictionary with a maximum of six fields, `type`, `factor`," | ||
"`original_max_position_embeddings`, `attention_factor`, `beta_fast`, `beta_slow`, " | ||
f"got {self.rope_scaling}" | ||
) | ||
original_max_position_embeddings = self.rope_scaling.get("original_max_position_embeddings", None) | ||
attention_factor = self.rope_scaling.get("attention_factor", None) | ||
beta_fast = self.rope_scaling.get("beta_fast", None) | ||
beta_slow = self.rope_scaling.get("beta_slow", None) | ||
|
||
if original_max_position_embeddings is not None and not isinstance(original_max_position_embeddings, int): | ||
raise ValueError( | ||
f"`rope_scaling`'s original_max_position_embeddings field must be an int, got {original_max_position_embeddings}" | ||
) | ||
if attention_factor is not None and not isinstance(attention_factor, float) or attention_factor < 0: | ||
raise ValueError( | ||
f"`rope_scaling`'s attention_factor field must be a float greater than 0, got {attention_factor}" | ||
) | ||
if beta_fast is not None and not isinstance(beta_fast, float): | ||
raise ValueError(f"`rope_scaling`'s beta_fast field must be a float, got {beta_fast}") | ||
if beta_slow is not None and not isinstance(beta_slow, float): | ||
raise ValueError(f"`rope_scaling`'s beta_slow field must be a float, got {beta_slow}") | ||
|
||
b_fast = beta_fast if beta_fast is not None else 32 | ||
b_slow = beta_slow if beta_slow is not None else 1 | ||
if b_fast < b_slow: | ||
raise ValueError( | ||
f"`rope_scaling`'s beta_fast field must be greater than beta_slow, got beta_fast={b_fast} and beta_slow={b_slow}" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a reason to have this in the LlamaConfig @gante, I think we need a better way to support rope customisation, maybe, but not by changing our current modeling codes!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed (but let's do it in a separate PR, to avoid adding library reorganization tasks on top of a 2 month old contributor PR :P )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but these ROPE can't be added in Llama as is 😓
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's pretty much against our philosophy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should not have to add code here!
- Comply with the the tensor building logic introduced in huggingface#30743 - Add referencing to the optimized Attention Factor equation - Remove Dynamic YaRN for a more agile deployment Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com>
Chatted with @ArthurZucker offline: let's prepare to merge this PR as is, after removing In parallel, I will be working on a PR on top of this one to move RoPE scaling code out of the models themselves, into a dedicated place. RoPE scaling would then behave as a plug in to models with RoPE. When the two PRs are ready: this PR will get merged and, straight away, mine is applied on top of it. We'll then have YaRN from @mig-mfreitas and the new structure from my PR :) |
Done! 🤗🚀 |
@mig-mfreitas working on the new PR on top of this one today 🤗 |
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
😊😊😊 |
Thank you very much for all the support! |
* Add YaRN and Dynamic-YaRN RoPE Scaling Methods YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes. Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments. We implement YaRN and Dynamic-YaRN for the following list of models: - LLaMA - Falcon - GPT-NeoX - Olmo - Persimmon - Phi - StableLM - OpenLLaMA New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs. For more details, please refer to https://arxiv.org/abs/2309.00071. Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> * Refactor YaRN implementation for LLaMA Iterate on YaRN implementation for LLaMA and remove diff from remaining models for increased PR modularity. This commit includes the following changes: - Merge 'yarn_rope_scaling' and 'rope_scaling' dictionaries - Remove unnecessary attributes ('extrapolation_factor' and 'finetuned') from YaRN classes - Inherit 'forward' method in YaRN classes from superclass - Rename 'yarn' method to 'compute_yarn_scaling' - Extend YaRN tests with further assertions - Fix style inconsistencies Co-authored-by: Miguel Monte e Freitas <miguelmontefreitas@tecnico.ulisboa.pt> * Refactor Tensor Building Logic for YaRN - Comply with the the tensor building logic introduced in huggingface#30743 - Add referencing to the optimized Attention Factor equation - Remove Dynamic YaRN for a more agile deployment Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> * remove unwanted file --------- Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> Co-authored-by: Joao Gante <joao@huggingface.co>
* Add YaRN and Dynamic-YaRN RoPE Scaling Methods YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes. Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments. We implement YaRN and Dynamic-YaRN for the following list of models: - LLaMA - Falcon - GPT-NeoX - Olmo - Persimmon - Phi - StableLM - OpenLLaMA New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs. For more details, please refer to https://arxiv.org/abs/2309.00071. Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> * Refactor YaRN implementation for LLaMA Iterate on YaRN implementation for LLaMA and remove diff from remaining models for increased PR modularity. This commit includes the following changes: - Merge 'yarn_rope_scaling' and 'rope_scaling' dictionaries - Remove unnecessary attributes ('extrapolation_factor' and 'finetuned') from YaRN classes - Inherit 'forward' method in YaRN classes from superclass - Rename 'yarn' method to 'compute_yarn_scaling' - Extend YaRN tests with further assertions - Fix style inconsistencies Co-authored-by: Miguel Monte e Freitas <miguelmontefreitas@tecnico.ulisboa.pt> * Refactor Tensor Building Logic for YaRN - Comply with the the tensor building logic introduced in huggingface#30743 - Add referencing to the optimized Attention Factor equation - Remove Dynamic YaRN for a more agile deployment Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> * remove unwanted file --------- Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> Co-authored-by: Joao Gante <joao@huggingface.co>
* Add YaRN and Dynamic-YaRN RoPE Scaling Methods YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes. Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments. We implement YaRN and Dynamic-YaRN for the following list of models: - LLaMA - Falcon - GPT-NeoX - Olmo - Persimmon - Phi - StableLM - OpenLLaMA New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs. For more details, please refer to https://arxiv.org/abs/2309.00071. Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> * Refactor YaRN implementation for LLaMA Iterate on YaRN implementation for LLaMA and remove diff from remaining models for increased PR modularity. This commit includes the following changes: - Merge 'yarn_rope_scaling' and 'rope_scaling' dictionaries - Remove unnecessary attributes ('extrapolation_factor' and 'finetuned') from YaRN classes - Inherit 'forward' method in YaRN classes from superclass - Rename 'yarn' method to 'compute_yarn_scaling' - Extend YaRN tests with further assertions - Fix style inconsistencies Co-authored-by: Miguel Monte e Freitas <miguelmontefreitas@tecnico.ulisboa.pt> * Refactor Tensor Building Logic for YaRN - Comply with the the tensor building logic introduced in #30743 - Add referencing to the optimized Attention Factor equation - Remove Dynamic YaRN for a more agile deployment Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> * remove unwanted file --------- Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> Co-authored-by: Joao Gante <joao@huggingface.co>
Thank you for all the guidance, this contribution has been a great experience 🤗🚀 |
commit 37c5ca5eb9012a1009cf23b892828902f6a8799a Author: Raushan Turganbay <raushan@huggingface.co> Date: Tue Aug 6 10:24:19 2024 +0500 Cache: create docs (#32150) * draft * updates * works? * try adding python example in hidden section * another try * hwo do i render python * format as html code? * Update docs/source/en/kv_cache.md Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> * Update docs/source/en/kv_cache.md Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> * Update docs/source/en/kv_cache.md Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> * Update docs/source/en/kv_cache.md Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> * Update docs/source/en/kv_cache.md Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> * one more small update * should render hidden secrtion now * add outputs * fix links * check links * update all links * update with offloaded cache * all cache is importable, so they appear in docs * fix copies * docstring... --------- Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> commit 13dc6b0853c3cb54e79b18105c0528bc9e84881c Author: Francisco Kurucz <juanfkurucz@gmail.com> Date: Mon Aug 5 19:14:50 2024 -0300 Fix documentation links and code reference to model llava-next (#32434) commit 7e5d46ded433605a906fcab6be43ac85307cca9b Author: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Mon Aug 5 16:33:19 2024 +0100 Respect the config's attn_implementation if set (#32383) * Respect the config's attn if set * Update test - can override in from_config * Fix commit 458b0cd2c544cdd6c700f9b0c21077c889bcee6c Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Mon Aug 5 19:49:42 2024 +0530 fix: Updated `test_embeded_special_tokens` for luke and mluke models (#32413) Fixed tokenizertests for luke, mluke models. commit baf7e5c927744122c89ab1270c6c312541c7eb41 Author: Abdi <48970896+AbdiHaryadi@users.noreply.github.com> Date: Mon Aug 5 21:15:36 2024 +0800 Persist embedding type of BART and mBART models after resize (#32242) * fix: persist embedding type of MBartConditonalGeneration after resize * fix: persist embedding type of BartConditonalGeneration after resize commit f5f1e52f6cf13cdf63ff25c311d33e2f2a842911 Author: Francisco Kurucz <juanfkurucz@gmail.com> Date: Mon Aug 5 05:18:28 2024 -0300 Fix documentation references to google/bit-50 model (#32407) commit ea5da52ebc062ff56f0e3aa05b0e3cc981731e14 Author: Nicholas Broad <nbroad94@gmail.com> Date: Mon Aug 5 00:51:58 2024 -0700 add values for neftune (#32399) I always forget what typical values are, and I have to look at the paper everytime. This will be a helpful reminder. commit 3d7c2f9dea45338b7ebcd459b452e2fad7abfa1f Author: Ita Zaporozhets <31893021+itazap@users.noreply.github.com> Date: Mon Aug 5 09:22:48 2024 +0200 * save total_vocab_size = vocab_size + user added tokens to speed up operation * updating length when added_tokens_decoder is set * add test len(tokenizer) commit 3bb646a54f42030e9bafa47cd3f64367691a3bc5 Author: Raushan Turganbay <raushan@huggingface.co> Date: Mon Aug 5 11:58:42 2024 +0500 Phi3 tests: fix typing for Python 3.8 (#32388) fix phi commit 05ae3a300d6f3534eeb99a08828a5bae6dd973db Author: TechInterMezzo <account+github@techintermezzo.de> Date: Mon Aug 5 08:40:58 2024 +0200 fix: SeamlessM4TFeatureExtractor stride remainder (#32088) * fix: SeamlessM4TFeatureExtractor stride remainder * Added attention mask size test * Reran ruff for style correction commit 847bb856d55e3664150e408448fa59d0705b4d60 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Aug 5 08:38:34 2024 +0200 Bump keras from 2.8.0 to 2.13.1 in /examples/research_projects/decision_transformer (#32393) Bump keras in /examples/research_projects/decision_transformer Bumps [keras](https://github.com/keras-team/keras) from 2.8.0 to 2.13.1. - [Release notes](https://github.com/keras-team/keras/releases) - [Commits](https://github.com/keras-team/keras/compare/v2.8.0...v2.13.1) --- updated-dependencies: - dependency-name: keras dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 621fb3c0edddf98f3272f3b197e772af4fa30b6c Author: Xueshen Liu <liuxs@umich.edu> Date: Sat Aug 3 14:07:55 2024 -0400 MixtralFlashAttention2: put "plus 1" inside parentheses when calculating rotary_seq_len, allowing None position_ids input. (#31500) * Mixtral: remove unnecessary plus 1 when calculating rotary_seq_len, allowing position_ids=None (no auto position_ids generation could be unsafe) * fix typo [:-1] to [:, -1] * to meet formatting requirement * to meet formatting requirement * remove white space * MixtralFlashAttention2: put "+ 1" inside parentheses when calculating rotary_seq_len, allowing None position_ids input. Fix format/style issue. * propagate to startcoder2, phi3, mixtral and qwen2 * update qwen2_moe commit 7c31d05b59a9dce24b8ddc4b2bb8c8cf6bb5fd77 Author: Shaopeng Fu <shaopengfu15@gmail.com> Date: Sat Aug 3 19:24:11 2024 +0300 fix: (issue #32124) Exception raised when running `transformers/examples/flax/language-modeling/t5_tokenizer_model.py`. (#32157) fix: Exception raised when running . commit c1aa0edb48217f416f4bbe6e3a9db1500284513b Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Fri Aug 2 17:32:50 2024 +0800 [generate] only require an attention mask for mps with torch<2.4 (#32367) * up * style * stopping commit 083e13b7c47f674b11c74d1b7c7ee7cd1241b406 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Fri Aug 2 09:39:45 2024 +0100 RoPE: Add numerical tests ✨ (#32380) tests! :D commit 2af199c42b545f6248475ce456dd6c2a351b8522 Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Aug 2 09:54:16 2024 +0500 Update docs (#32368) nits commit 82efc53513a51660e629c7eca8210af1d67df00b Author: Zach Mueller <muellerzr@gmail.com> Date: Thu Aug 1 15:18:43 2024 -0400 Yell at the user if zero-3 init wasn't performed, but expected to have been done (#32299) * Test this zach * Test for improper init w/o zero3 * Move back * Apply suggestions from code review Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Get rid of stars in warning * Make private * Make clear --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 51ab25e2932da15511ced35bcbdfa92d25c4794c Author: OsamaS99 <62110783+OsamaS99@users.noreply.github.com> Date: Thu Aug 1 14:57:42 2024 +0200 Fixed Hybrid Cache Shape Initialization. (#32163) * fixed hybrid cache init, added test * Fix Test Typo --------- Co-authored-by: Aaron Haag <aaron.haag@siemens.com> commit e3d8285a84f803e962050e2c2283f3362e36bfbc Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Thu Aug 1 13:46:11 2024 +0100 Docker: add `speech` dep to the consistency docker image (#32374) commit ca59d6f77c9fda197222f9aa9205d8c7b5dff34e Author: Nikos Karampatziakis <just.nikos@gmail.com> Date: Thu Aug 1 05:42:07 2024 -0700 Offloaded KV Cache (#31325) * Initial implementation of OffloadedCache * enable usage via cache_implementation * Address feedback, add tests, remove legacy methods. * Remove flash-attn, discover synchronization bugs, fix bugs * Prevent usage in CPU only mode * Add a section about offloaded KV cache to the docs * Fix typos in docs * Clarifications and better explanation of streams commit b4727a1216bb21df2795e973063ed07202235d7e Author: Omar Salman <omar.salman@arbisoft.com> Date: Thu Aug 1 17:32:13 2024 +0500 Fix conflicting key in init kwargs in PreTrainedTokenizerBase (#31233) * Fix conflicting key in init kwargs in PreTrainedTokenizerBase * Update code to check for callable key in save_pretrained * Apply PR suggestions * Invoke CI * Updates based on PR suggestion commit db8c7caeb6b3969a2153b36ba3e5fdef6534c1d6 Author: Viktor Scherbakov <viktoroo.sch@gmail.com> Date: Thu Aug 1 14:30:10 2024 +0200 Empty list in defaults for LLaMA special tokens during weights conversion (#32342) empty list in defaults commit 2229ebe7220fb54bc5f91f575c2d7a988e7122cb Author: Ita Zaporozhets <31893021+itazap@users.noreply.github.com> Date: Thu Aug 1 13:57:41 2024 +0200 update clean_up_tokenization_spaces warning (#32371) commit 05c1f9af9a5ebd213dd923e97f6fbed4c115f3c6 Author: Hanna Yukhymenko <49597980+ayukh@users.noreply.github.com> Date: Thu Aug 1 13:52:05 2024 +0200 Check device map for saving tokenizer config on TPU (fix for issue #31971) (#32043) * Remove TPU device map for saving tokenizer config * Update tokenization_utils_base.py * Fix error msg when passing non-string device into tokenizer * Fix error message for non-string tokenizer device * Print out tokenizer device type in error msg * Update tokenization_utils_base.py commit 9e2828403218da16d9759c9be020b70f51df373d Author: nv-guomingz <137257613+nv-guomingz@users.noreply.github.com> Date: Thu Aug 1 19:51:20 2024 +0800 add missing attribute _supports_param_buffer_assignment for gpt-j. (#32359) Co-authored-by: Guoming Zhang <37257613+nv-guomingz@users.noreply.github.com> commit 48ed24c50ab29bf690f2ab030721e6a8b0aa5205 Author: Lunwen He <lwhecser@gmail.com> Date: Thu Aug 1 04:49:00 2024 -0700 Remove size check between attn_weights and kv_seq_len for phi3 (#32339) * Remove size check between attn_weights and kv_seq_len * add unit tests commit e234061cddd28bb8b82144833241883816289e40 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Thu Aug 1 18:10:56 2024 +0800 [whisper] compile compatibility with long-form decoding (#31772) * [whisper] compile compatibility with long-form decoding * clarify comment * fix after rebase * finalise * fix bsz * fix cache split * remove contiguous * style * finish * update doc * prevent cuda graph trace commit 9451a385261b30e7319a2c93285ab76161e8c003 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Thu Aug 1 16:05:27 2024 +0800 [enc-dec cache] fix bug in indexing (#32370) commit 453e74884fb7e2613e7b45033fbb3c1cadb638b4 Author: Raushan Turganbay <raushan@huggingface.co> Date: Thu Aug 1 09:48:03 2024 +0500 LLaVa: add cache class attribute (#32278) cache class flag commit 14ee2326e51cb210cec72f31b248cb722e9d5d1f Author: Ricardo <ricardolcao@gmail.com> Date: Thu Aug 1 06:34:22 2024 +0800 fix: warmup_steps check for training_args (#32236) commit 53f0c9c2906e0b0f1623bfdfb420fca1e655098d Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Thu Aug 1 01:26:50 2024 +0530 fix: Removed unnecessary `@staticmethod` decorator (#32361) * Fixed staticmethods with self as first argument. * Fixed staticmethods with self as first argument. * Fixed staticmethods with self as first argument. * Fixed staticmethods with self as first argument. commit 92abe6033491dcaa958235e551f40f6b417d3771 Author: fxmarty <9808326+fxmarty@users.noreply.github.com> Date: Wed Jul 31 20:03:07 2024 +0200 >3-5x faster torch.compile forward compilation for autoregressive decoder models (#32227) * draft * apply changes to all relevant archs * rerun ci - check_docstrings.py failing? * fix docstring * move 2D->4D mask creation to modeling file * repo consistency * fix the batch size = 1 case - calling contiguous is not enough * nit * style * propagate to gemma/gemma-2 * prepare inputs for gemma generation * implement test and tiny fix in gemma2 * Update src/transformers/models/bloom/modeling_bloom.py Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com> * fix copies * ci pass * fix gemma's test_compile_static_cache tests * flacky * retrigger ci --------- Co-authored-by: sanchit-gandhi <sanchit@huggingface.co> Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com> commit b46bd8b9d2ac991c0c04674957ebc0a65fb3f42b Author: Aymeric Roucher <69208727+aymeric-roucher@users.noreply.github.com> Date: Wed Jul 31 18:44:53 2024 +0200 Fix error when streaming to gradio with non-string tool arguments (#32360) Fix error when streaming agent run to gradio with non-string tool arguments commit ef177a5e1cdf0ca53e24e6d76e813198f7300dc4 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Wed Jul 31 16:04:48 2024 +0100 Gemma 2: support assisted generation (#32357) commit 5f1fcc299cb00c1edce5eb1efb8bacdde2365690 Author: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Wed Jul 31 14:51:04 2024 +0100 [Idefics2] - Fix FA2 call for Perceiver layer (#32275) * Fix FA2 call for Perciever layer * [run_slow] idefics2 * [run_slow] idefics2 * [run_slow] idefics2 * Fix up * [run_slow] idefics2 * [run_slow] idefics2 * [run_slow] idefics2 commit b75ad56620431984a44a962c98136c8571b4fca9 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Wed Jul 31 11:12:46 2024 +0100 Llama 3.1: Fix incorrect `inv_freq` assignment (#32330) fix 💩 commit 7f552e28e0aca00ce60868c7620f7463eab60e14 Author: Raushan Turganbay <raushan@huggingface.co> Date: Wed Jul 31 10:33:38 2024 +0500 Gemma2 and flash-attention (#32188) * enable flash-attn & static cache * this works, not the prev * fix for sliding window layers * not needed anymore commit a3264332cfb5ab8675ddb42740a75aeee1782a74 Author: Raushan Turganbay <raushan@huggingface.co> Date: Wed Jul 31 10:01:12 2024 +0500 LLaVA-NeXT: fix anyres shapes (#32314) fix commit 6e2d04e429dc4ce240c99bd14b7b84550b79fd73 Author: Joshua Lochner <admin@xenova.com> Date: Tue Jul 30 23:36:38 2024 +0200 Fix slow GemmaTokenizer and improve SPM slow -> fast conversion process (#32191) * Remove user-defined tokens which can be obtained through merges * Remove debug line * formatting * Refactor spm slow -> fast converter * revert unnecessary refactor * set comprehension * remove test files * Use `vocab_scores` * Always replace spiece underline with space in decode * we no longer need token filtering * Add save fast load slow unit test * Remove tokenizers version check * Remove duplicate code * Make `<start_of_turn>` and `<end_of_turn>` special tokens * Bias merge priority with length if score is the same * Add unit test for merge priority * CI commit 026a173a64372e9602a16523b8fae9de4b0ff428 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Tue Jul 30 18:56:10 2024 +0100 Repo checks: skip docstring checks if not in the diff (#32328) * tmp * skip files not in the diff * use git.Repo instead of an external subprocess * add tiny change to confirm that the diff is working on pushed changes * add make quality task * more profesh main commit reference commit 516af4bb63538edc448f814e3690dd5171c4f311 Author: fkrasnov2 <krasnov.fedor2@wb.ru> Date: Tue Jul 30 20:21:45 2024 +0300 fixes #32329 : The Torch code is correct - to get an average of 10% o… (#32335) fixes #32329 : The Torch code is correct - to get an average of 10% of the total, we want to take 50% of the remainder after we've already masked 80% with [MASK] in the previous step. commit 62c60a30181a65e1a3a7f19c3055a240a6a21335 Author: Wing Lian <wing.lian@gmail.com> Date: Tue Jul 30 12:55:59 2024 -0400 fixes to properly shard FSDP across cpu and meta for cpu_efficient_loading for prequantized 4bit (#32276) commit 16271080333ad52be5349fb31d789fb232b68760 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Tue Jul 30 22:23:03 2024 +0530 fix: Added missing raise keyword for few exceptions (#32333) Fixed raising of few exceptions. commit bd54ed2ed7f578e4122f3e6d536fbe3c9bc76de1 Author: plaggy <35706832+plaggy@users.noreply.github.com> Date: Tue Jul 30 18:48:18 2024 +0200 Alternative agent plan (#32295) * new agent plan * plan type assertion * style corrections * better prompt naming * make fixup commit e68ec18ce224af879f22d904c7505a765fb77de3 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Tue Jul 30 15:49:14 2024 +0100 Docs: formatting nits (#32247) * doc formatting nits * ignore non-autodocs * Apply suggestions from code review Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/esm/modeling_esm.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/esm/modeling_esm.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * make fixup --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 2fbbcf5007509c66b02924ce6dcff66f58e7f58c Author: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com> Date: Tue Jul 30 16:00:13 2024 +0200 Fix M4T for ASR pipeline (#32296) * tentative fix * do the same for M4T commit 084b5094eb490319719cc11cb05b751e0b419d49 Author: Luc Georges <McPatate@users.noreply.github.com> Date: Tue Jul 30 14:49:26 2024 +0200 feat(ci): set `fetch-depth: 0` in trufflehog checkout step (#31663) commit 20528f067cf9204cea5178ce0f837245e146e159 Author: Teddy Ferdinan <64476430+teddy-f-47@users.noreply.github.com> Date: Tue Jul 30 11:25:54 2024 +0200 Cast epochs_trained to int when resuming training (#32286) * fix epochs_trained as int when resuming training * refactor --------- Co-authored-by: teddyferdinan <teddy.ferdinan@pwr.edu.pl> commit 934fe1504e6d5e87e01d96305f4d97faa63cf4c1 Author: Isotr0py <2037008807@qq.com> Date: Tue Jul 30 17:01:00 2024 +0800 Fix GGUF dequantize for `gguf==0.9.1` (#32298) * fix gguf dequantize for gguf==0.9.1 * fix old version * make style commit 3e8106d2533cbd890ddd1e919bd62132cd4718c3 Author: Gilad Turok <36947659+gil2rok@users.noreply.github.com> Date: Tue Jul 30 03:19:24 2024 -0400 Docs: fix GaLore optimizer code example (#32249) Docs: fix GaLore optimizer example Fix incorrect usage of GaLore optimizer in Transformers trainer code example. The GaLore optimizer uses low-rank gradient updates to reduce memory usage. GaLore is quite popular and is implemented by the authors in [https://github.com/jiaweizzhao/GaLore](https://github.com/jiaweizzhao/GaLore). A few months ago GaLore was added to the HuggingFace Transformers library in https://github.com/huggingface/transformers/pull/29588. Documentation of the Trainer module includes a few code examples of how to use GaLore. However, the `optim_targe_modules` argument to the `TrainingArguments` function is incorrect, as discussed in https://github.com/huggingface/transformers/pull/29588#issuecomment-2006289512. This pull request fixes this issue. commit f0bc49e7f61f74f055c47ad40e6010f57eed0b0b Author: Yih-Dar <2521628+ydshieh@users.noreply.github.com> Date: Mon Jul 29 22:12:21 2024 +0200 use torch 2.4 in 2 CI jobs (#32302) Co-authored-by: ydshieh <ydshieh@users.noreply.github.com> commit a24a9a66f446dcb9277e31d16255536c5ce27aa6 Author: Aymeric Roucher <69208727+aymeric-roucher@users.noreply.github.com> Date: Mon Jul 29 20:12:44 2024 +0200 Add stream messages from agent run for gradio chatbot (#32142) * Add stream_to_gradio method for running agent in gradio demo commit 811a9caa2141bc98f96b36c69abcf1f934bd1fd2 Author: Guang Yang <42389959+guangy10@users.noreply.github.com> Date: Mon Jul 29 10:19:15 2024 -0700 Make static cache compatible with torch.export (#32168) commit 7f5d644e69068825bb5b6e84cdc56b3d3a9bd04f Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Mon Jul 29 21:24:42 2024 +0800 [pipeline] fix padding for 1-d tensors (#31776) * [pipeline] fix padding for 1-d tensors * add test * make style * Update tests/pipelines/test_pipelines_automatic_speech_recognition.py Co-authored-by: Kamil Akesbi <45195979+kamilakesbi@users.noreply.github.com> * Update tests/pipelines/test_pipelines_automatic_speech_recognition.py --------- Co-authored-by: Kamil Akesbi <45195979+kamilakesbi@users.noreply.github.com> commit 3fbaaaa64d1ef3d8327adb577994d3d11277c77a Author: Kamil Akesbi <45195979+kamilakesbi@users.noreply.github.com> Date: Mon Jul 29 11:19:52 2024 +0100 Whisper tokenizer word level timestamps (#32197) * fix _fix_key in PreTrainedModel * fix _find_longest_common_sequence * add test * remove result.json * nit * update test commit 7ffe25f2b935dcaf65079b04c5f91c8a42a99e28 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Mon Jul 29 10:52:13 2024 +0100 Generate: end-to-end compilation (#30788) * mvp * added test (a few models need fixes) * fix a few test cases * test nits * harder test 😈 * revert changes in stablelm * test with improved condition * add todo * tmp commit * merged with main * nits * add todo * final corrections * add docs for generation compilation * docs nits * add tip * PR suggestions * add more details to the compilation docs * fix cache positions * cache is now init in generate; update docs * tag test as flaky * docs * post rebase make fixup and other nits * remove unintended changes * whisper (encoder-decoder) not supported * move token default updates to ; add tests for token defaults * push changes * manual rebase * chameleon doesn't support this * fix test_static_cache_mha_mqa_gqa (broken in another PR) * docs: dynamic is better with end-to-end compilation commit 49928892d6491ff5a49c12cbc34695f6fa7ac0ed Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Mon Jul 29 15:20:43 2024 +0530 fix(docs): Fixed a link in docs (#32274) Fixed a link in docs. commit 6494479f1de9fe16e9c6f89e52eb0cf81f864a7c Author: Fanli Lin <fanli.lin@intel.com> Date: Mon Jul 29 17:29:11 2024 +0800 make `p_mask` a numpy array before passing to `select_starts_ends` (#32076) * fix * bug fix * refine * fix commit 535fe78b9f1d148684723e51f00645351880c47a Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Mon Jul 29 10:06:05 2024 +0100 Repo: remove exceptions in `check_docstrings` (#32259) remove exceptions commit a2ad9d5ad53f68c1ad268f7f46538eac6f5b631b Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Mon Jul 29 14:13:09 2024 +0530 fix: Fixed wrong argument passed to `convert_blip_checkpoint` function call (#32262) Removed one wrong argument passed to convert_blip_checkpoint function call. commit 5019aabfacf7599b9a6b4e7a1adc1fb5c9017727 Author: leejet <leejet714@gmail.com> Date: Mon Jul 29 15:51:43 2024 +0800 Optimize t5 tokenize logic to avoid redundant calls (#32270) * Optimize t5 tokenize logic to avoid redundant calls * fix and overwrite copies commit f2122cc6eb8e50e4d1b45da54b43bba59a458b30 Author: Yih-Dar <2521628+ydshieh@users.noreply.github.com> Date: Mon Jul 29 09:42:54 2024 +0200 Upload new model failure report to Hub (#32264) upload Co-authored-by: ydshieh <ydshieh@users.noreply.github.com> commit f7396876849926afa87c9412d67c43618dad403d Author: Raushan Turganbay <raushan@huggingface.co> Date: Mon Jul 29 10:58:59 2024 +0500 🚨 Bloom support for cache class (#31445) * bloom dynamic cache * bloom follows standard cache format * no skips for bloom anymore * use cache position when possible * clean up * codestyle * Update src/transformers/models/bloom/modeling_bloom.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/bloom/modeling_bloom.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/bloom/modeling_bloom.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * pr comments * isinstance fix * address comments * make musicgen test happy * [run-slow] bloom --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 44f6fdd74f84744b159fa919474fd3108311a906 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Sat Jul 27 10:19:46 2024 +0100 Llama 3.1: replace for loop by tensor ops at inv_freq initialization (#32244) * replace for loop by tensor ops * rm assert; readability commit 8da90687308a10b33c5553b8a506cc04aab31702 Author: Yih-Dar <2521628+ydshieh@users.noreply.github.com> Date: Fri Jul 26 20:52:45 2024 +0200 More flexible trigger condition (#32251) update Co-authored-by: ydshieh <ydshieh@users.noreply.github.com> commit 81233c069c166af033794134bd8888783ac49ebe Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 26 14:45:55 2024 +0500 Flash-Attn: fix generation when no attention mask or no pading (#32241) * fix * fix prev test (half of failures) * [run-slow] llama, gemma2 * [run-slow] llama, gemma2 commit 27c7f971c0dcd3bb423ea221fe2bce751d313119 Author: Fanli Lin <fanli.lin@intel.com> Date: Fri Jul 26 17:41:27 2024 +0800 [tests] fix `static` cache implementation is not compatible with `attn_implementation==flash_attention_2` (#32039) * add flash attention check * fix * fix commit 5f841c74b62754f186a8c06a684d491524b7bc03 Author: Connor Anderson <thecatalystak@gmail.com> Date: Fri Jul 26 05:05:46 2024 -0400 Add check for `target_sizes is None` in `post_process_image_guided_detection` for owlv2 (#31934) * Add check for target_sizes is None in post_process_image_guided_detection * Make sure Owlvit and Owlv2 in sync * Fix incorrect indentation; add check for correct size of target_sizes commit f9756d9edb23354e3df50f7eb3f6b3129a25e453 Author: Rohit Dwivedula <25080952+rohitdwivedula@users.noreply.github.com> Date: Fri Jul 26 04:05:38 2024 -0500 Adds: extra_repr for RMSNorm layers in most models (#32204) * adds: extra_repr() to RMSNorm layers in multiple models * adds: extra_repr for deprecated models as well * formatting as per style guide commit b8e5cd5396f7c0cc2d5e10be6696ea38742abf51 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Fri Jul 26 14:03:02 2024 +0530 Refactor: Removed un-necessary `object` base class (#32230) * Refactored to remove un-necessary object base class. * small fix. commit 1c7ebf1d6eaf0ed0fd4101fd6eb7e64601429cfe Author: João Nadkarni <38245862+joaonadkarni@users.noreply.github.com> Date: Fri Jul 26 09:38:59 2024 +0200 don't log base model architecture in wandb if log model is false (#32143) * don't log base model architecture in wandb is log model is false * Update src/transformers/integrations/integration_utils.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * convert log model setting into an enum * fix formatting --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit c46edfb8230bcc3152e8338742dc4822289acb3d Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 26 10:52:06 2024 +0500 Resize embeds with DeepSpeed (#32214) * fix resize when deepspeed * deepsped uses new embeds * we needed this commit fad15fba78e4603cd20695757ad899a6687485f9 Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 26 10:17:27 2024 +0500 Llava: generate without images (#32183) * llava w/o images * tests commit 4ab33c2d81866d4dd2f29df07f1a35491acbb39b Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 26 10:16:06 2024 +0500 Generation: stop at `eos` for assisted decoding (#31301) * fix * move changes to prompt lookup * add test * set eos in assistant model * style * fix flakiness * changes for new `main` * Update tests/generation/test_utils.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update tests/generation/test_utils.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * add comment to explain --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 9d6c0641c4a3c2c5ecf4d49d7609edd5b745d9bc Author: Pavel Iakubovskii <qubvel@gmail.com> Date: Thu Jul 25 19:20:47 2024 +0100 Fix code snippet for Grounding DINO (#32229) Fix code snippet for grounding-dino commit 3a83ec48a63a8298c8193be48cf00785674bfb70 Author: jrhe <4038905+jrhe@users.noreply.github.com> Date: Thu Jul 25 17:16:13 2024 +0100 Allow a specific microphone to be used by the ffmpeg audio pipeline utility functions. Default to using the currently active microphone on Mac (#31846) * use currently active microphone on mac for ffmpeg_microphone * Allow ffmpeg_microphone device to be specified Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> --------- Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 6ed0bf1e8543a7d8e6640bbf9a655c5e1401f7de Author: Huazhong Ji <hzji210@gmail.com> Date: Fri Jul 26 00:01:06 2024 +0800 translate philosophy.md to chinese (#32177) * translate philosophy.md to chinese * add the missing link commit df6eee9201e4ba2b80cea021a18e95ada26ca2cc Author: Yih-Dar <2521628+ydshieh@users.noreply.github.com> Date: Thu Jul 25 16:12:23 2024 +0200 Follow up for #31973 (#32025) * fix * [test_all] trigger full CI --------- Co-authored-by: ydshieh <ydshieh@users.noreply.github.com> commit de2318894e4f971ea2273c653a702dc93db2bd6a Author: Kashif Rasul <kashif.rasul@gmail.com> Date: Thu Jul 25 15:12:23 2024 +0200 [warnings] fix E721 warnings (#32223) fix E721 warnings commit 9b9a54e61bf8749588178b37c23d77b90679fd10 Author: Kashif Rasul <kashif.rasul@gmail.com> Date: Thu Jul 25 15:11:43 2024 +0200 [BigBird Pegasus] set _supports_param_buffer_assignment to False (#32222) set _supports_param_buffer_assignment to False commit 1ecedf1d9ee927bac5b5bae8cb1892d936a5b622 Author: Austin <31086824+avlewis@users.noreply.github.com> Date: Thu Jul 25 07:20:27 2024 -0500 Update question_answering.py (#32208) commit f53a5dec7b03eb195dc89c82ae761b033db1ceb6 Author: Huazhong Ji <hzji210@gmail.com> Date: Thu Jul 25 17:04:04 2024 +0800 remove unnecessary guard code related with pytorch versions 1.4.2 ~ 1.7.0 (#32210) remove unnecessary guard code related with pytorch versions 1.4.2 ~ 1.7.0 commit 5658e749adbaaf883caec003cecae8ce0a4261a6 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Thu Jul 25 16:58:02 2024 +0800 [whisper] fix short-form output type (#32178) * [whisper] fix short-form output type * add test * make style * update long-form tests * fixes * last fix * finalise test commit 85a1269e19af022e04bc2aad82572cd5a9e8cdd9 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Wed Jul 24 22:30:21 2024 +0530 fix: Replaced deprecated `unittest method` with the correct one (#32198) Replaced deprecated unittest method with the correct one. commit edd68f4ed8db241bd3e9dc6c4ed96d471f243c9a Author: Matt <Rocketknight1@users.noreply.github.com> Date: Wed Jul 24 17:36:32 2024 +0100 :rotating_light: No more default chat templates (#31733) * No more default chat templates * Add the template to the GPT-SW3 tests since it's not available by default now * Fix GPT2 test * Fix Bloom test * Fix Bloom test * Remove default templates again commit 1c122a46dc3c4448901f8d2f3018d9d58b846ba5 Author: Penut Chen <94501378+PenutChen@users.noreply.github.com> Date: Wed Jul 24 23:59:59 2024 +0800 Support dequantizing GGUF FP16 format (#31783) * support gguf fp16 * support gguf bf16 with pytorch * add gguf f16 test * remove bf16 commit af0e4b7b37b2d7eefe7531cf5201a5d6bae85525 Author: Marc Sun <57196510+SunMarc@users.noreply.github.com> Date: Wed Jul 24 17:14:05 2024 +0200 Fix float8_e4m3fn in modeling_utils (#32193) * Fix float8_e4m3fn in modeling_utils * style * fix * comment commit 1392a6867f40a55dfabaf306745c67627598b1af Author: Raushan Turganbay <raushan@huggingface.co> Date: Wed Jul 24 19:26:20 2024 +0500 Fix resize embedding with Deepspeed (#32192) fix resize when deepspeed commit 8d2534c4d0ab94a97a72d2ce6bb9ccd201abadb3 Author: Arthur <48595927+ArthurZucker@users.noreply.github.com> Date: Wed Jul 24 16:06:39 2024 +0200 let's not warn when someone is running a forward (#32176) * let's not warn when someone is running a foward without cache + self.training * more models * fixup commit e0182f3bd7f4753c1e378e052ceea67898d97359 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Wed Jul 24 15:00:48 2024 +0100 RoPE: relaxed rope validation (#32182) * relaxed rope check * lets also accept rope_type=None, defaulting to the original implementation * type and rope_type can coexist commit 165116bc145dcc186fa287e624b28a9ab3a79955 Author: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Wed Jul 24 14:03:40 2024 +0100 Remove conversational pipeline tests (#32099) Remove conversation pipeline tests commit 5f4ee98a7ade33e1c54fdd6181d04ee7b426b392 Author: Dr. Artificial曾小健 <875100501@qq.com> Date: Wed Jul 24 18:54:41 2024 +0800 Update qwen2.md (#32108) * Update qwen2.md outdated description * Update qwen2.md amended * Update qwen2.md Update * Update qwen2.md fix wrong version code, now good to go commit 8678879f1dc2578cec18232146bf19de97aecaa1 Author: 조준래 <junrae6454@naver.com> Date: Wed Jul 24 19:38:49 2024 +0900 fix: default value reflects the runtime environment variables rather than the ones present at import time. (#32153) * fix: default value reflects the runtime environment variables rather than the ones present at import time. * Fix: Change `deterministic` to None by default; use env var if None commit 01be5b48790f113b7d71943b580c842e3e097988 Author: Rohit Dwivedula <25080952+rohitdwivedula@users.noreply.github.com> Date: Wed Jul 24 02:09:59 2024 -0500 adds: extra_repr() to MambaRMSNorm to include hidden size / size of weights in the layer (#32171) * adds: extra_repr() to MambaRMSNorm to include the hidden size of the layer * style fix with ruff: commit c85510f958e6955d88ea1bafb4f320074bfbd0c1 Author: Fanli Lin <fanli.lin@intel.com> Date: Wed Jul 24 00:47:51 2024 +0800 [docs] change temperature to a positive value (#32077) fix commit bc2adb0112b6677b0dfb4105c74570a0f92183eb Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Tue Jul 23 21:22:41 2024 +0530 fix: Fixed an if condition that is always evaluating to true (#32160) Fixed an if condition always evaluating to true. commit 23f6a43f82fb2980f4b30cf3f95eb3a940384895 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Tue Jul 23 16:48:16 2024 +0100 fix (#32162) commit d5a99dfcee6e94065cb7c83cc8ab6fc5daa0cc4e Author: Lysandre <lysandre.debut@reseau.eseo.fr> Date: Tue Jul 23 16:58:17 2024 +0200 Llama 3.1 conversion Co-authored-by: Arthur Zucker <arthur.zucker@gmail.com> commit ff0d708fe627d6715f9a3e97d0a7947f70437447 Author: Lysandre <lysandre@huggingface.co> Date: Tue Jul 23 17:12:47 2024 +0200 Dev version: v4.44.0.dev0 commit d2c687b3f1859b5c61258af14abba5312c0e6201 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Tue Jul 23 20:37:31 2024 +0530 Updated `ruff` to the latest version (#31926) * Updated ruff version and fixed the required code accorindg to the latest version. * Updated ruff version and fixed the required code accorindg to the latest version. * Added noqa directive to ignore 1 error shown by ruff commit 9cf4f2aa9a9cecbb22e813931ef3bb72fc773540 Author: RhuiDih <166782544+RhuiDih@users.noreply.github.com> Date: Tue Jul 23 21:56:41 2024 +0800 Enhancing SFT Training Efficiency Using Packing and FlashAttention2 with Position IDs (#31629) * add DataCollatorBatchFlattening * Update data_collator.py * change name * new FA2 flow if position_ids is provided * add comments * minor fix * minor fix data collator * add test cases for models * add test case for data collator * remove extra code * formating for ruff check and check_repo.py * ruff format ruff format tests src utils * custom_init_isort.py commit 7d92009af647167bae338e9d4af8bc0452c62fbf Author: Deep Gandhi <97520292+DeF0017@users.noreply.github.com> Date: Tue Jul 23 19:11:52 2024 +0530 Added additional kwarg for successful running of optuna hyperparameter search (#31924) Update integration_utils.py Added additional kwarg commit 63700628adb91600c84fe3bbbc4c667cd3e3aa71 Author: Alvaro Moran <6949769+tengomucho@users.noreply.github.com> Date: Tue Jul 23 14:18:19 2024 +0200 feat(cache): StaticCache uses index_copy_ to avoid useless copy (#31857) * feat(cache): StaticCache uses index_copy_ to avoid useless copy Using index_copy_ allows for explicit in-place change of the tensor. Some backends (XLA) will otherwise copy the tensor, making the code slower and using more memory. Proposed implementation will end up using less memory and on XLA will result in less compilation, but the change is also quite generic, making no change whatsoever on CUDA or CPU backend. * feat(cache): SlidingWindowCache uses index_copy_ to avoid useless copy Applying the same change done in StaticCache. * fix(cache): fallback of index_copy_ when not implemented * fix(cache): in index_copy_ ensure tensors are on same device * [run slow] llama * fix(cache): add move of cache_position to same device in SlidingWindowCache * Revert "[run slow] llama" This reverts commit 02608dd14253ccd464e31c108e0cd94364f0e8b9. commit a009fbdab32a4b068c24052a4dfe7a7bc0fc89f9 Author: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Tue Jul 23 12:23:34 2024 +0100 Fix typing to be compatible with later py versions (#32155) commit 3263b3435473cbb5dc66925bc29c1d32b5b8d431 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Tue Jul 23 18:34:30 2024 +0800 Revert "Incorrect Whisper long-form decoding timestamps " (#32148) Revert "Incorrect Whisper long-form decoding timestamps (#32003)" This reverts commit cd48553fc8375e1a28d4d82cfe231dedf6a23af8. commit 034b47784765e37ecc20f7ad43640f1a2c0094fd Author: Amit Garg <gargamit@microsoft.com> Date: Tue Jul 23 03:33:22 2024 -0700 Rename Phi-3 rope scaling type (#31436) * renamed phi3 rope_scaling type * fixed trailing whitespaces * fixed test * added warning * fixed format commit bab32d6fe932a3372fbd6d5a84e3cacb12a61ae0 Author: Alexandre TL <alextorresleguet@icloud.com> Date: Tue Jul 23 12:32:19 2024 +0200 Added mamba.py backend (#30139) * Update README.md * tests: forward ok * backward test done * done testing * removed check. scripts * Update README.md * added use_mambapy arg * fixed typo in warning * protected imports w/ mambapy package * delete pscan.py + raise rather than assert * Update import_utils.py * fix whitespaces and unused import * trailing whitespace + import block unformatted * Update modeling_mamba.py * transpose before pscan * shape comment * ran make style * use_mambapy=False by default Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com> * ran make fix-copies --------- Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com> commit 9ced33ca7f909d9ace743dac083daba99c904d46 Author: Merve Noyan <merveenoyan@gmail.com> Date: Tue Jul 23 13:23:23 2024 +0300 Fix video batching to videollava (#32139) --------- Co-authored-by: Merve Noyan <mervenoyan@Merve-MacBook-Pro.local> commit a5b226ce9811aa6b31af0bc9c09c54493a4e67c1 Author: Cyril Vallez <cyril.vallez@gmail.com> Date: Tue Jul 23 12:21:23 2024 +0200 Fix flash attention speed issue (#32028) Add the lru_cache for speed commit a1844a3209eb7e75582684809203bc189931a90c Author: Ita Zaporozhets <31893021+itazap@users.noreply.github.com> Date: Tue Jul 23 11:45:54 2024 +0200 gguf conversion add_prefix_space=None for llama3 (#31937) * gguf conversion forces add_prefix_space=False for llama3, this is not required and forces from_slow, which fails. changing to None + test * typo * clean test commit 2e113422b3504fe6de821bb9911b24273b11aa9c Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Tue Jul 23 10:42:55 2024 +0100 Llama: RoPE refactor (#32135) Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com> commit 5a4a76edb7ac6bbc764392e89adc11adda91f3e5 Author: bayllama <142558246+bayllama@users.noreply.github.com> Date: Tue Jul 23 02:28:44 2024 -0700 Modify resize_token_embeddings to ensure output type is same as input (#31979) * Change resize_token_embeddings to make it return same Class that is passed to it * Add explanatory comment as requested in review * Add explanatory comments for add resizing function in lxmert * Add comment for padding_idx and moving _resize_bias in lxmert to LxmertForPreTraining --------- Co-authored-by: Prashanth Sateesh <prasatee@Prashanths-MBP.attlocal.net> Co-authored-by: Prashanth Sateesh <prasatee@Prashanths-MacBook-Pro.local> commit 1535a2c93d325e529dc9a1907f99247fdf8a58e7 Author: Daniel Lok <daniel.lok@databricks.com> Date: Tue Jul 23 17:26:00 2024 +0800 Disable quick init for TapasPreTrainedModel (#32149) add attribute to model Signed-off-by: Daniel Lok <daniel.lok@databricks.com> commit 34b43211d782c00da6fef778dbfaff69bbf3f115 Author: mig-mfreitas <132093787+mig-mfreitas@users.noreply.github.com> Date: Tue Jul 23 10:07:58 2024 +0100 Add YaRN and Dynamic-YaRN RoPE Scaling Methods (#30910) * Add YaRN and Dynamic-YaRN RoPE Scaling Methods YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes. Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments. We implement YaRN and Dynamic-YaRN for the following list of models: - LLaMA - Falcon - GPT-NeoX - Olmo - Persimmon - Phi - StableLM - OpenLLaMA New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs. For more details, please refer to https://arxiv.org/abs/2309.00071. Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> * Refactor YaRN implementation for LLaMA Iterate on YaRN implementation for LLaMA and remove diff from remaining models for increased PR modularity. This commit includes the following changes: - Merge 'yarn_rope_scaling' and 'rope_scaling' dictionaries - Remove unnecessary attributes ('extrapolation_factor' and 'finetuned') from YaRN classes - Inherit 'forward' method in YaRN classes from superclass - Rename 'yarn' method to 'compute_yarn_scaling' - Extend YaRN tests with further assertions - Fix style inconsistencies Co-authored-by: Miguel Monte e Freitas <miguelmontefreitas@tecnico.ulisboa.pt> * Refactor Tensor Building Logic for YaRN - Comply with the the tensor building logic introduced in #30743 - Add referencing to the optimized Attention Factor equation - Remove Dynamic YaRN for a more agile deployment Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> * remove unwanted file --------- Co-authored-by: Miguel Almeida <miguel.pessanha.almeida@tecnico.ulisboa.pt> Co-authored-by: mig-mfreitas <mig-mfreitas@users.noreply.github.com> Co-authored-by: Joao Gante <joao@huggingface.co> commit 7405c1c77e4637768ea0ad5d27d8a4d8d67bfb19 Author: KonradSzafer <61851539+KonradSzafer@users.noreply.github.com> Date: Tue Jul 23 10:56:21 2024 +0200 Add method to retrieve used chat template (#32032) encapsulate chat template logic commit 605f3245dcca34381c35520c35ba0b701ed80d58 Author: Anton Vlasjuk <73884904+vasqu@users.noreply.github.com> Date: Tue Jul 23 10:11:12 2024 +0200 Fix mask creations of `GPTNeoX` and `GPT2` (#31944) * fix mask creation of gpt2 and gpt_neox caused by me * forgot the reshape of masks when shape > 2 * add tests for gpt neox and gpt2 * nit on a comment commit 2782aadae2b0b0c313eac3ee70f84f0335577635 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Tue Jul 23 14:55:16 2024 +0800 [modelling] remove un-necessary transpose for fa2 attention (#31749) * [whisper] remove un-necessary transpose for fa2 attention * propagate commit f83c6f1d02fba5e5ced9357b9c9196c76d937af3 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Tue Jul 23 14:54:38 2024 +0800 Remove `trust_remote_code` when loading Libri Dummy (#31748) * [whisper integration] use parquet dataset for testing * propagate to others * more propagation * last one commit 3aefb4ec7f957f9561a410eabc6f9d57b2f0384f Author: Raushan Turganbay <raushan@huggingface.co> Date: Tue Jul 23 10:23:55 2024 +0500 LLaVaNeXT: pad on right if training (#32134) * pad on right if training * docs * add tests commit 251a2409c694c29ee28e66c954670c483cf54961 Author: James Thewlis <jamt9000@gmail.com> Date: Tue Jul 23 01:12:16 2024 -0400 Add llama3-llava-next-8b to llava_next conversion script (#31395) * Add llama3-llava-next-8b to llava_next conversion script Adds support for the lmms-lab/llama3-llava-next-8b model to the convert_llava_next_weights_to_hf.py script, along with an example prompt generated from the llava_llama_3 conv_template in the LLaVA-NeXT repo. * Exclude <|begin_of_text|> from prompt example This token gets added automatically, so it should not be included in the prompt example. * Add llava-next-72b and llava-next-110b Adds the Qwen-based LLaVA-Next models to the conversion script, along with changes to load the models on multiple GPUs for inference. * Add llama3 and qwen prompt formats to docs * Chat prompt and padding side left for llama3 batched * update * Update src/transformers/models/llava_next/convert_llava_next_weights_to_hf.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/llava_next/convert_llava_next_weights_to_hf.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * remove code * better naming --------- Co-authored-by: raushan <raushan@huggingface.co> Co-authored-by: Raushan Turganbay <raushan.turganbay@alumni.nu.edu.kz> Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 96a074fa7e2c04b904f72d9e827398d4c5f90f25 Author: Marc Sun <57196510+SunMarc@users.noreply.github.com> Date: Mon Jul 22 20:21:59 2024 +0200 Add new quant method (#32047) * Add new quant method * update * fix multi-device * add test * add offload * style * style * add simple example * initial doc * docstring * style again * works ? * better docs * switch to non persistant * remove print * fix init * code review commit bd9dca3b855b5a20ea11097b89c40f34d775f1c7 Author: Arthur <48595927+ArthurZucker@users.noreply.github.com> Date: Mon Jul 22 19:42:47 2024 +0200 set warning level to info for special tokens have been added (#32138) fixes #7002 commit 817a676bd711f9626e13578068b36ef09cf572dc Author: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Mon Jul 22 18:29:50 2024 +0100 Don't default to other weights file when use_safetensors=True (#31874) * Don't default to other weights file when use_safetensors=True * Add tests * Update tests/utils/test_modeling_utils.py * Add clarifying comments to tests * Update tests/utils/test_modeling_utils.py * Update tests/utils/test_modeling_utils.py commit 74d0eb3fedf353bd670aa85ae8fcf4c85f287b5b Author: Yoni Gottesman <yonigo10@gmail.com> Date: Mon Jul 22 20:24:43 2024 +0300 Return assistant generated tokens mask in apply_chat_template (#30650) return assistant generated tokens mask in apply_chat_template commit 7987710696803c74ce1b5e7f9dfa055096a6c00e Author: Bertrand Thia <56003053+bt2513@users.noreply.github.com> Date: Mon Jul 22 13:08:27 2024 -0400 [RoBERTa] Minor clarifications to model doc (#31949) * minor edits and clarifications * address comment Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> --------- Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> commit 12b6880c81db7742a29ea425dcb9e63b7dbdc449 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Mon Jul 22 22:16:17 2024 +0530 fix: Fixed raising `TypeError` instead of `ValueError` for invalid type (#32111) * Raised TypeError instead of ValueError for invalid types. * Updated formatting using ruff. * Retrieved few changes. * Retrieved few changes. * Updated tests accordingly. commit d1ec36b94f5ba45fb2423e74074cfedab48cfe73 Author: Woojun Jung <46880056+jungnerd@users.noreply.github.com> Date: Tue Jul 23 00:27:13 2024 +0900 Update `ko/_toctree.yml` and remove `custom_tools.md` to reflect latest changes (#31969) update `ko/_toctree.yml` and remove `custom_tools.md` commit 7ba028fccb82cbee792b67d596120da8ae9397c9 Author: Matt <Rocketknight1@users.noreply.github.com> Date: Mon Jul 22 16:07:29 2024 +0100 Fix failing test with race condition (#32140) * Fix failing test with race condition * make fixup * monotonic_ns instead of randint * uuid4 instead of monotonic_ns * Add a finally cleanup step commit 5a649ff3ecd70599dd0fea7ee430ba47b51a4556 Author: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> Date: Mon Jul 22 21:18:48 2024 +0800 [generate] fix eos/pad id check on mps devices (#31695) Co-authored-by: Joao Gante <joaofranciscocardosogante@gmail.com> commit f2a1e3ca684df624016285266a0ae519e4483be7 Author: Lucain <lucainp@gmail.com> Date: Mon Jul 22 15:14:47 2024 +0200 Mention model_info.id instead of model_info.modelId (#32106) commit 0fcfc5ccc968ff5a1a439db04a94f566a0bd1d89 Author: Sai-Suraj-27 <sai.suraj.27.729@gmail.com> Date: Mon Jul 22 18:43:39 2024 +0530 fix: Replaced deprecated `mktemp()` function (#32123) Replaced deprecated mktemp function. commit c38c55f4fbc0163cc02ef4588fe2ec391171a2f0 Author: Joao Gante <joaofranciscocardosogante@gmail.com> Date: Mon Jul 22 14:06:49 2024 +0100 Generate: store special token tensors under a unique variable name (#31980) * rename stuff * english; this one shouldn't be changed * add a _ to the new var names * musicgen * derp commit aa8f86a421e23fe41b6333efc11ea4248e098d83 Author: Brian <23239305+b-chu@users.noreply.github.com> Date: Mon Jul 22 08:06:22 2024 -0400 Fix shard order (#32023) commit b3818805978b411713725a1b7470dc1bda073c29 Author: Aymeric Roucher <69208727+aymeric-roucher@users.noreply.github.com> Date: Mon Jul 22 10:49:57 2024 +0200 Agents planning (#31702) * Allow planning for agents commit 0fdea8607d7e01eb0e38a1ebeb7feee30a22f0cf Author: Lucain <lucainp@gmail.com> Date: Fri Jul 19 20:32:39 2024 +0200 Fix tests after `huggingface_hub` 0.24 (#32054) * adapt tests * style * comment commit fe008d6ebea1f5770b740991daeefd9322fa434a Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 19 19:21:45 2024 +0500 Chameleon: not supported with fast load (#32091) fixes commit 62aa270f2ab3acca2a58cde8f08400ec49330b03 Author: Zach Mueller <muellerzr@gmail.com> Date: Fri Jul 19 08:58:53 2024 -0400 Disable quick init for deepspeed (#32066) Disable via deepspeed commit 89575b567e061fd87bdd655ba188b6c7a922d54a Author: Kamil Akesbi <45195979+kamilakesbi@users.noreply.github.com> Date: Fri Jul 19 13:42:22 2024 +0100 Support generating with fallback for short form audio in Whisper (#30984) * remove is_shortform * adapt _retrieve_max_frames_and_seek for short_form * return bos token in short and long form * add decoder_input_ids to short form audios * add eos token for short form * handle short form token_timestamps * no need to return scores * add is_shortform conditions * handle when max_new_tokens is None - short form * handle assistant decoding * fix * handle return_dict_in_generate * handle split_by_batch for encoder_attentions attribute * handle num_beams>1 * handle num_return_sequences>1 in generate_with_fallback * handle num_return_sequences>1 with return_dict_in_generate=True * raise error if max_new_tokens + decoder_inputs_ids > max_target_pos * fix * apply review suggestions * fix * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * fix * logits for both short form and long form * handle if logits_processor is None * test * apply review changes to num_return_sequences * add _expand_variables_for_generation * remove short form commented section * update comments * uncomment num_beams line in generate_with_fallback * update assistant decoding * handle return_segment with short form generation * up * fix output format is_shortform * overwrite beam_sample test * update _set_return_timestamps * apply review suggestions * apply review suggestions * remove seek_outputs_short_form * fix _stack_split_outputs * fix stack dim in _stack_split_outputs * update tests * fix past_key_values + beam tests * fix * clean _expand_variables_for_generation * make style * fix slow tests * make style * max_length condition * make style * add slow tests for shortform fallback * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * apply review changes * Update src/transformers/models/whisper/generation_whisper.py Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> * up * fix slow tests * apply review suggestions * update test * make style * small fix * fix * fix test_new_cache_format * fix past_key_values * fix * make style * fix slow tests * fix --------- Co-authored-by: Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com> commit 46835ec6aed62e9a73784f1b6a43030afd601e5e Author: Merve Noyan <merveenoyan@gmail.com> Date: Fri Jul 19 15:40:40 2024 +0300 Add image-text-to-text task guide (#31777) * Add image-text-to-text task page * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> * Address comments * Fix heading * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/tasks/image_text_to_text.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Address comments * Update image_text_to_text.md --------- Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com> Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 4bd8f12972c6ad06e264baa39f17ec9dfa9a5cb2 Author: Merve Noyan <merveenoyan@gmail.com> Date: Fri Jul 19 14:50:34 2024 +0300 Fixes to chameleon docs (#32078) * Fixes * Let's not use auto commit 566b0f1fbf5feb53a18591ca215a8d1245a790ef Author: Keith Stevens <keith@collinear.ai> Date: Fri Jul 19 03:56:45 2024 -0700 Fix progress callback deepcopy (#32070) * Replacing ProgressCallbacks deepcopy with a shallowcopy * Using items instead of entries * code cleanup for copy in trainer callback * Style fix for ProgressCallback commit e316c5214fe51de0bf8e824245bfd6225c9925aa Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 19 15:38:01 2024 +0500 VideoLLaVa: fix chat format in docs (#32083) fix chat format commit 22f888b3fab3d914882b8f44896a5658712f535c Author: Joshua Lochner <admin@xenova.com> Date: Fri Jul 19 11:19:35 2024 +0200 [mistral] Fix FA2 attention reshape for Mistral Nemo (#32065) * [mistral] Fix FA2 attention reshape * [run-slow] mistral commit cd48553fc8375e1a28d4d82cfe231dedf6a23af8 Author: Kamil Akesbi <45195979+kamilakesbi@users.noreply.github.com> Date: Fri Jul 19 09:26:38 2024 +0100 Incorrect Whisper long-form decoding timestamps (#32003) * fix lo form timestamps in decode_batch * Update src/transformers/models/whisper/tokenization_whisper.py Co-authored-by: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com> * Update src/transformers/models/whisper/tokenization_whisper.py Co-authored-by: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com> * add test * make style * fix copies * Update src/transformers/models/whisper/tokenization_whisper_fast.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/whisper/tokenization_whisper.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/whisper/processing_whisper.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/whisper/tokenization_whisper.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * apply review suggestions * fix * fix copies * fix * Update src/transformers/models/whisper/tokenization_whisper_fast.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * fix-copies --------- Co-authored-by: Yoach Lacombe <52246514+ylacombe@users.noreply.github.com> Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> commit 56a7745704261919dd8117e3a8aa4fb43fade30e Author: NielsRogge <48327001+NielsRogge@users.noreply.github.com> Date: Fri Jul 19 10:20:03 2024 +0200 [Chameleon, Hiera] Improve docs (#32038) * Improve docs * Fix docs * Fix code snippet commit b873234cb649a24865021f0d598627ce2b24d34a Author: Raushan Turganbay <raushan@huggingface.co> Date: Fri Jul 19 10:08:56 2024 +0500 Llava: add default chat templates (#31691) * add default chat templates * Update src/transformers/models/llava/processing_llava.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/models/llava_next/processing_llava_next.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * more clear docstring and docs * Update docs/source/en/model_doc/llava.md Co-authored-by: NielsRogge <48327001+NielsRogge@users.noreply.github.com> * Update docs/source/en/model_doc/llava_next.md Co-authored-by: NielsRogge <48327001+NielsRogge@users.noreply.github.com> * Update docs/source/en/model_doc/vipllava.md Co-authored-by: NielsRogge <48327001+NielsRogge@users.noreply.github.com> * add tests * remove default templates (see #31733) * load chat template from another file * Update docs/source/en/model_doc/llava_next.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * revert some changes in docs * forgot vipllava * chat template file is not temporary hack * warn if loading from processor * not that file * similarly modify `save_pretrained` * Update tests/models/llava_next/test_processor_llava_next.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update tests/models/vipllava/test_processor_vipllava.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/model_doc/vipllava.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/processing_utils.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update src/transformers/processing_utils.py Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/model_doc/vipllava.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/model_doc/llava.md Co-authored-by: amyeroberts <22614925+amyeroberts@users.noreply.github.com> * Update docs/source/en/model_doc/llava.md Co-authored-by: amyeroberts <22614925+amyeroberts@use…
What does this PR do?
YaRN (Yet another RoPE extension method) combines the NTK-By-Parts Interpolation and Attention Scaling methods, improving upon existing RoPE interpolation methods for longer context window sizes.
Fine-tuned models maintain their original performance across benchmarks while enabling efficient extrapolation and transfer learning for quicker convergence, especially in compute-limited environments.
We implement YaRN and Dynamic-YaRN for the following list of models:
New unit tests are added to assert YaRN's correct behavior on both short and long sequence inputs.
For more details, please refer to https://arxiv.org/abs/2309.00071.
Before submitting
Pull Request section?
to it if that's the case.
documentation guidelines, and
here are tips on formatting docstrings.
Who can review?
@gante