There are lots of general-purpose models to use locally, and also coding-specific models.
But are there models specialized in one programming language? My thought was that a model that only needs to handle one language (e.g. Python) could be faster, or be better for a given size.
E.g If I need to code in Rust and is limited to an 8B model to run locally, I was hoping to get better results with a model that is narrower. I don’t need it to be able to help with Java.
This approach would of course require switching models, but that’s no problem for me.
I’m pretty sure this would not produce better output. Ai has a « thought » of his own.limiting is approach to be pure python won’t offer you the link it can see with a Java approach. With a more diverse knowledge, it can generate a more unique output. Not forcing it to be readable by human may give a more efficient solution. Kinda like compiled code.
You can still leverage knowledge from a foundation model in a smaller fine-tuned one.
So the model might have learned general OOP principles from Java but it then drops redundant parameters about specific conventions like
AbstractFactoryBuilder
s when it specialises on a language like Python which has no notion of Interfaces.Likewise real world knowledge might help distinguish between accounting and database transactions when writing a banking application but you don’t necessarily need your coding assistant to have memorised all the world cup winners since 1966.
These models are unwieldy so I think it makes a lot of sense to try and find ones that are tuned efficiently.
I’d say it depends. Some patterns will be different. Like trying to create zig code when the LLM is trained mostly on javascript and python.
I’ve seen that some exist on huggingface but Idk if they are any better. I would assume if u finetune the model on specific libraries/ur specific codebase then it would be more accurate. If u can run the model locally u can finetune it. Give it a go.
I finally found a Python-specific model. Searching is tricky when almost everything around local llms involve Python. https://huggingface.co/codellama/CodeLlama-13b-Python-hf