Add THL-150 model architecture implementation
Author: ErebusTN
Pull request: yes

## Description
- Implement core THL-150 architecture with sliding window attention
- Add configuration with RoPE embedding support
- Include fast/slow tokenizers using BPE
- Implement all model heads (CausalLM, Classification, QA, TokenClass)
- Add dynamic RoPE scaling and GQA support
- Validate attention mask generation for long sequences

## Motivation
This implementation enables:
- Efficient 32k context window processing
- Flexible attention mechanisms (sliding window + full attention hybrid)
- Compatibility with HF Transformers pipelines
- Modern architecture features like Grouped Query Attention

## Context
- Built for long-context NLP tasks
- Implements architecture similar to LLaMA with sliding window extensions
- Designed for easy integration with existing HF ecosystems

## Dependencies
- Requires PyTorch >= 2.0
- Recommends flash-attn >= 2.3 for optimal performance

## Checklist
- [x] Updated documentation in docstrings
- [x] Verified config validation
- [ ] Tests will be added in subsequent PR (current focus on core implementation)

## Notes
- Implements EGen License v0.1
- Initial release focused on base architecture
- Special thanks to the reviewer for consultation

Authored-by: @ErebusTN [mouhebga62@gmail.com]

Comments:
hi @erebusTN, we usually don't add architectures to the library until there's an existing pretrained model. Is there a relevant model repo or paper anywhere?

Hi @Rocketknight1 i working on a model [EGen V1](https://huggingface.co/ErebusTN/EGen_V1/tree/main) and it's my phD project and i going to update it frequently it's just in the first steps as v0.1 I still have a lot to work on to improve it so I haven't uploaded it yet but stay tuned the next update will be the first and I will upload the model to be open source

Cool! One thing we'd advise is that models can be uploaded as custom code using the steps [here](https://huggingface.co/docs/transformers/en/custom_models). This will let you share the model immediately, and it'll work exactly the same as a library model (except that users will need to set `trust_remote_code=True`)

This can be a lot faster than actually getting a PR into `transformers`, and it's a good way to validate the model and get users, which will help speed up the PR later!

@Rocketknight1 thnx for the advice I will try to take it but how long do you think it will take to accept the merge? 

Hi @ErebusTN, in general we accept PRs to add new architectures to the core `transformers` library when one of these are true:

1) There's a pretrained model with a lot of interested users
2) There's a paper on the architecture with SOTA results or lots of interest/citations
3) The model comes from a company or research group whose past models have gotten a lot of usage (because this means the new model will probably get a lot of users too)

The reason for this is that once a model is actually in `transformers` itself, then the team at Hugging Face takes full responsibility for maintaining the code, testing it and making sure it stays compatible with new versions of `transformers`. We can't do this for every model architecture! 

Remember that just because a model is a custom code model, doesn't make it less important. A lot of extremely popular and high-performance models are custom code models and don't have Transformers PRs, for example [Phi-3.5-vision](https://huggingface.co/microsoft/Phi-3.5-vision-instruct) with >250k downloads per month. Starting with a custom code model is definitely the right approach for most authors!

@Rocketknight1 Thank you so much! This has really helped me build a future path for my model. I truly appreciate it. Based on the commits I’ve uploaded for review, do you have any tips to improve it?

Hi 👋, thank you for opening this pull request! The pull request is converted to draft by default. When it is ready for review, please click the `Ready for review` button (at the bottom of the PR page).