Live data from Hacker News

Gitlab’s AI-assisted code suggestions

about.gitlab.com

121–130 of 160 posts

Re: Gitlab’s AI-assisted code suggestions

#121

Earlier quoted context omitted.

GitLab team member here. The training data is publicly documented, and AI features are built with privacy first. For all URLs please check my comment in https://news.ycombinator.com/item?id=36526159

Nice. I really like the transparency. That's one of the main reasons I didn't use github copilot.

It's not very transparent. It was trained on "permissively licensed code from external sources" which might mean random GPL projects.

Re: Gitlab’s AI-assisted code suggestions

#122
post #46

I just canceled my Copilot subscription last night. I definitely never saw the productivity boost that I’ve seen so many claim. I actually feel like the suggestions seemed to get worse during my month of using it for some reason. Towards the end, it started suggesting these large blocks of code (another issue I had with the interface as well) which were very not relevant to what I was attempting to write. All in all,…

I find it’s really similar to having a team of junior devs under you. Lots of output, generally good for problems that are googleable, need heavy guidance if the problem is both new and niche, lots of subtle bugs.

The first two points in @gavinray’s methodology being unfortunately critical.

Re: Gitlab’s AI-assisted code suggestions

#123

Earlier quoted context omitted.

The LLM's trained parameters are a lossy memory of their training data.

No, they aren't.

Care to explain why not?

An LLM's working memory is just its context window, but the LLM also has embedded data in its parameters, which are set during training to minimize loss. This is effectively a memory of the training data, just as much as a digital photo of my face is a memory of the photons reflecting from my face.

Re: Gitlab’s AI-assisted code suggestions

#124

Earlier quoted context omitted.

Even MIT licensed code requires you to preserve the copyright and permission notice. If a human did what these language models are doing (output derivative works with the copyright and license stripped), it would be a license violation. When humans want to create a new implementation with clean IP, they have one team study the IP-encumbered code and write a spec, then a different team writes a new implementation acco…

There’s a clear separation between the training process which looks at code and outputs nothing but weights, and the generation process which takes in weights and prompts and produces code. The weights are an intermediate representation that contains nothing resembling the original code.

> The weights are an intermediate representation that contains nothing resembling the original code.

So is the ELF.

Re: Gitlab’s AI-assisted code suggestions

#125

Earlier quoted context omitted.

GitLab seems to be a lot more responsive to feedback. It'd be worth asking them if they can publicly document their training set and provide a list of licenses and copyright notices.

GitLab team member here. The training data is documented in https://docs.gitlab.com/ee/user/project/repository/code_sugg... AI Transparency is important, all available AI features provide documentation for training data, and are built with privacy first. The GitLab Duo announcement adds more feature details and plans. https://about.gitlab.com/blog/2023/06/22/meet-gitlab-duo-the... The AI/ML blog series provides insig…

Within this context, what is the definition of "permissively licensed"? More to the point, are the terms of licenses of the code in the training set being honored?

There's not actually anything in GPL or any other major FOSS license that prohibits using it to train an AI. The controversy stems from Microsoft refusing to follow the terms of those licenses. If they could just fulfill their obligation to propagate copyright statements and license text there would be no controversy over copilot.

Thus stating that it was trained only on "permissive" licenses doesn't actually answer the question without defining what a permissive license is.

Re: Gitlab’s AI-assisted code suggestions

#126
post #107

Earlier quoted context omitted.

There’s a clear separation between the training process which looks at code and outputs nothing but weights, and the generation process which takes in weights and prompts and produces code. The weights are an intermediate representation that contains nothing resembling the original code.

But the original content is frequently recoverable. You can't just take copyrighted code, base 64 it, sent it to someone, have them decode it, and claim there was no copyright violation. From my (admittedly vague) understanding copyright law cares about the lineage of data, and I don't see how any reasonable interpretation could consider that the lineage doesn't pass through models. IANAL

The fact that this is a problem is a bug in copyright law, not a shortcoming of the LLM.

Re: Gitlab’s AI-assisted code suggestions

#127
post #69
post #46

I just canceled my Copilot subscription last night. I definitely never saw the productivity boost that I’ve seen so many claim. I actually feel like the suggestions seemed to get worse during my month of using it for some reason. Towards the end, it started suggesting these large blocks of code (another issue I had with the interface as well) which were very not relevant to what I was attempting to write. All in all,…

Did you change the way you worked to help facilitate it at all? I get great results from Copilot, but that's because I do a bunch of things to help it work for me. One example: I'll often paste in a big chunk of text - the class definition for an ORM model for example - then use Copilot to write code that uses that class, then delete the code I pasted in again later. Or I'll add a few lines of comments describing wha…

I sometimes prompt Copilot with if statements and var declarations and it actually ends up suggesting missed corner cases and fixing bugs. Definitely, there's an art and form to using it.

I wonder if this quest for the perfect prompt is dumbing me down, though.

Re: Gitlab’s AI-assisted code suggestions

#128

Crucial: do they train on GPL code? If I am to use this tool, I must abide by the license terms of the training data. Even if it is found that the GPL does not cover LLM responses as derivative works, I would prefer to be on the safe side and refuse to use models trained on software with non-permissive licenses unless I am building Free Software.

Even MIT licensed code requires you to preserve the copyright and permission notice. If a human did what these language models are doing (output derivative works with the copyright and license stripped), it would be a license violation. When humans want to create a new implementation with clean IP, they have one team study the IP-encumbered code and write a spec, then a different team writes a new implementation acco…

> When humans want to create a new implementation with clean IP, they have one team study the IP-encumbered code and write a spec, then a different team writes a new implementation according to the spec.

Maybe at a FAANG or some other MegaCorp, but most companies around barely have a single dev team at all, or if they're larger barely have one per project.

Re: Gitlab’s AI-assisted code suggestions

#129
post #46

I just canceled my Copilot subscription last night. I definitely never saw the productivity boost that I’ve seen so many claim. I actually feel like the suggestions seemed to get worse during my month of using it for some reason. Towards the end, it started suggesting these large blocks of code (another issue I had with the interface as well) which were very not relevant to what I was attempting to write. All in all,…

To offer a counter opinion: while I can live without ChatGPT and cancelled my OpenAI plus membership, I cannot live without Copilot and would be willing to pay a lot to keep it. There are a lot of tricks to optimizing output from Copilot ("Copilot-Driven Development"), I wrote a little about what I've discovered here: https://gavinray97.github.io/blog/a-day-without-a-copilot#co...

> Use explicit names, erring on the side of overly-verbose (e.g. ensureUserIsLoggedIn() instead of euil())

I don't care that much if I sound pretentious or too harsh, but how is this not common sense? Maybe the general standards in the industry are way lower than they used to be. This looks like when one of the consultants hired by our company and paid 10k+ per month for a ISO 27001 certification said: you need to make sure your password fields show a * instead of the actual character.

After using copilot for 2 months, I found it somehow useful for very generic repetitive cases, but for complex specific stuff it was very bad. I'd rather spend an hour writing code and understanding the problem I'm trying to solve than spending an hour understanding and adapting some generic code that partially does what it needs to do. And if there are people out there that fully trust it and then deploy code that they don't understand and can't explain themselves, then we're in for a lot of fun in the future.

Re: Gitlab’s AI-assisted code suggestions

#130
I get that gitlab needs more features to continue to sell.

But honestly for me it reduces the attractiveness of gitlab. Just adding half working features does not increase the value for me.

Please finish and polish the existing Features before adding hype feature 93939. Maybe add a policy that your open feature and big count should be less than 20K or something.

Examples: Security scanning has a god awful UI and UX.

The whole project management stuff is barely usable

Pipelines have loads of weird half features and missing QOL. E G. Adding saeif support instead of just your own warnings format.

Post reply on HN