HiRoPE: Length Extrapolation for Code Models Using Hierarchical Position
<|reference_start|>HiRoPE: Length Extrapolation for Code Models Using Hierarchical Position: Addressing the limitation of context length in large language models for code-related tasks is the primary focus of this paper. Existing LLMs are constrained by their pre-trained context lengths, leading to performance issues in handling long complex code sequences. Inspired by how human programmers navigate code, we introduce Hierarchical Rotary Position Embedding (HiRoPE), a novel approach that enhances the traditional rotary position embedding into a hierarchical format based on the hierarchical structure of source code. HiRoPE offers easy integration into existing LLMs without extra training costs. Our method is extensively evaluated with various LLMs, demonstrating stable performance in tasks such as language modeling and long code completion. We also introduce a new long code understanding task with real-world code projects, in hopes of promoting further development in this code-related field. Theoretically and experimentally, we find that HiRoPE also addresses the out-of-distribution issue in position encoding. Our HiRoPE significantly expands the context length capabilities of LLMs, enabling inference at lengths exponentially greater than the training length.<|reference_end|>
@article{zhang2024hirope:,
    title={HiRoPE: Length Extrapolation for Code Models Using Hierarchical Position},
    author={Kechi Zhang, Ge Li, Huangzhao Zhang, Zhi Jin},
    journal={arXiv preprint arXiv:2403.19115},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.19115},
    primaryClass={cs.SE}
}