Hacker News new | past | comments | ask | show | jobs | submit login

Says who? I've been in the industry for nearly 25 years and have heard auto complete throughout but not once have I heard fill in the middle.

Stop taking these blogs as oracle's of truth, they are not. These AI articles are full of this nonsense, to the point where it would appear to me many responses might just be Nvidia bots or whatever.




Author here.

FIM is a term of art in LLM research for a style of tokens used to implement code completion. In particular, it refers to training an LLM with the extra non-printing tokens:

    <|fim_prefix|>
    <|fim_middle|>
    <|fim_suffix|>
You would then take code like this:

    func add(a, b int) int {
        return <cursor>
    }
and convert it to:

    <|fim_prefix|>func add(a, b int) int {
        return<|fim_suffix|>
    }<|fim_middle|>
and have the LLM predict the next token.

It is, in effect, an encoding scheme for getting the prefix and suffix into the LLM context while positioning the next token to be where the cursor is.

(There are several variants of this scheme.)


>I've been in the industry for nearly 25 years and have heard auto complete throughout but not once have I heard fill in the middle

Then you need to look harder. FiM is a common approach for code generation LLMs.

https://openai.com/index/efficient-training-of-language-mode...

https://arxiv.org/abs/2207.14255

This was before ChatGPT's release btw.


Why, what was wrong with code completion, it was perfectly valid before even when including some sort of fuzzing.

It's like everything to do with LLM marketing buzzword nonsense.

I really want to just drop out of tech until all this obnoxious hype BS is gone.


It’s just a term that signals “completion in between” rather than “after”. Regular code completion usually doesn’t take the following blocks into account mostly because these are grammatically vague due to an ongoing edit.

Your comments may be sympathised to, but why on earth are they addressed to the root commenter. They simply shared their findings about an acronym.


Because they mentioned it, why on earth would you think that is not a valid response in a thread that mentions it, from my observation that's pretty much how forum like threads work.

More pressingly why do you think you should police it?


Apologies if my feedback annoyed you, it wasn’t the goal. I just care about HN and this didn’t feel right.


Autocomplete is the feature, fill in the middle is one approach to implementing it. There are other ways to providing it (which were used in earlier versions of Copilot) and FIM can be used for tasks other than code completion.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: