Skip to content

[config] fix: set the correct max_model_len with YaRN scaling#1543

Merged
AlpinDale merged 1 commit into
mainfrom
fix-yarn
Oct 10, 2025
Merged

[config] fix: set the correct max_model_len with YaRN scaling#1543
AlpinDale merged 1 commit into
mainfrom
fix-yarn

Conversation

@AlpinDale

Copy link
Copy Markdown
Member

No description provided.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @AlpinDale, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses an issue where the max_model_len was not being correctly determined, particularly in scenarios involving YaRN scaling. The changes ensure that the system accurately identifies the maximum sequence length for various models, including specific handling for Whisper and Gemma3, by refining the configuration key lookup and rope scaling logic. This fix prevents potential context window miscalculations and improves model compatibility.

Highlights

  • Max Model Length Detection: Added 'max_target_positions' to the list of configuration keys checked when determining the maximum model length, specifically to support models like Whisper.
  • Gemma3 RoPE Scaling Exclusion: Introduced a special condition to exclude Gemma3 models from the rope scaling adjustment logic, as their 'max_model_len' is already pre-scaled by RoPE.
  • Improved RoPE Type Retrieval: Enhanced the retrieval of 'rope_type' by checking both 'rope_scaling.get("rope_type")' and 'rope_scaling.get("type")' to ensure broader compatibility with different configuration formats.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several improvements to model configuration handling. It adds support for max_target_positions to correctly determine the maximum length for Whisper models. Additionally, it enhances the RoPE scaling logic by making it more robust to legacy configuration keys and by correctly excluding gemma3 models, which do not require this scaling. The changes are well-reasoned and improve the codebase's reliability. I have one minor suggestion to make the model type check case-insensitive for better robustness.

# NOTE: Gemma3's max_model_len is already scaled by RoPE scaling
if rope_scaling is not None and "gemma3" not in getattr(
hf_config, "model_type", ""
):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The check for the gemma3 model type is case-sensitive. To make it more robust, it's advisable to convert the model type to lowercase before the comparison. This will ensure the check works correctly even if the model type is specified with different casing, such as 'Gemma3'.

Suggested change
):
).lower():

@AlpinDale AlpinDale merged commit 458a8ba into main Oct 10, 2025
0 of 4 checks passed
@AlpinDale AlpinDale deleted the fix-yarn branch October 10, 2025 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant