this post was submitted on 25 Jul 2024
1006 points (97.5% liked)
Technology
59414 readers
3109 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've seen programmers claiming that it helps them out, too. Mostly to give you an idea on how to tackle a problem, instead of copypasting the solution (as it'll likely not work).
My main use of the system is
It works better than going to Wiktionary all the time, or staring my work until I happen to find some misspelling (like German das vs. dass, since both are legit words spellcheckers don't pick it up).
One thing to watch out for is that the translation will be more often than not tone-deaf, so you're better off not wasting your time with longer strings unless you're fine with something really sloppy, or you can provide it more context. The later however takes effort.
Yeah, for sure since programming is also a language. But IMHO, for a machine learning model the best way to approach it is not as a natural language but rather as its AST/machine representation and not the text token. That way the model not only understands the token pattern but also the structure since most programming languages are well defined.
Note that, even if we refer to Java, Python, Rust etc. by the same word "language" as we refer to Mandarin, English, Spanish etc., they're apples and oranges - one set is unlike the other, even if both have some similarities.
That's relevant here, for two major reasons:
Regarding the first point, I'll give you an example. You suggested abstract syntax trees for the internal representation of programming code, right? That might work really well for programming, dunno, but for human languages I bet that it would be worse than the current approach. That's because, for human languages, what matters the most are the semantic and pragmatic layers, and those are a mess - with the meaning of each word in a given utterance being dictated by the other words there.
Yeah, that's my point ma dude. The current LLM tasks are ill suited for programming, the only reason it works is sheer coincidence (alright, maybe not sheer coincidence, I know its all statistics and so on). The better approach to make LLM for programming is a model that can transform/"translate" a natural language that humans use to AST, the language that computers use but still close to human language. But the problem is that to do such tasks, LLM needs to actually have an understanding of concepts from the natural language which is debatable at best.
Sorry - then I misread you. Fair point.