this post was submitted on 14 Sep 2024
1 points (100.0% liked)

Technology

58513 readers
4279 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Surprised pikachu face

you are viewing a single comment's thread
view the rest of the comments
[–] TriflingToad@lemmy.world 0 points 3 weeks ago (3 children)

reminder, there are localy ran LLMs. Right now is a vital time for open source to fight against closed source in the AI arms race.

https://www.nomic.ai/gpt4all

[–] finitebanjo@lemmy.world 0 points 3 weeks ago* (last edited 3 weeks ago) (3 children)

Okay but what problem does that solve? Is the solution setting up our own spambots to fill forums with arguments counter to their bullshit spambots? I don't see how an LLM improves literally anything ever in any circumstance.

[–] mayo@lemmy.world 0 points 3 weeks ago (1 children)

You seem unnecessarily hostile about this. If you don't like LLM just move on.

This is exactly why this sub about technology is better off without business news. You're just reacting to something you hate and directing that at others.

[–] finitebanjo@lemmy.world 0 points 3 weeks ago

But answer the question maybe

Also, my "hate" was very clearly directed towards LLMs and not a "person".

[–] DavidDoesLemmy@lemmynsfw.com 0 points 3 weeks ago (2 children)

It definitely improves my experience coding in unfamiliar languages. So there's your counter example.

[–] utopiah@lemmy.world 0 points 3 weeks ago (2 children)

improves my experience coding in unfamiliar languages

Alan Perlis said "A programming language that doesn't change the way you think is not worth learning."

So... if you code in another language without actually "getting it", solely having a usable result, what is actually the point of changing languages?

[–] sugar_in_your_tea@sh.itjust.works 0 points 2 weeks ago (1 children)

Exactly. I see AI as a tool to automate the boring parts, if you try to automate the hard parts, you're going to have a bad time.

Take the time to learn the tools you use thoroughly, and then you can turn to AI to make your use of those tools more efficient. If I'm learning woodworking, for example, I'm going to learn to use hand tools first before using power tools, but there's no way I'm sticking to hand tools when producing a lot of things. Programming isn't any different, I'll learn the language and its idioms as deeply as I can, and only then will I turn to things like AI to spit out boilerplate to work from.

[–] utopiah@lemmy.world 0 points 2 weeks ago (1 children)

Mind explaining a bit your workflow at the moment?

[–] sugar_in_your_tea@sh.itjust.works 0 points 2 weeks ago (1 children)

I'm not sure how to succinctly do that.

When I learn a new language, I:

  1. go through whatever tutorial is provided by the language developers - for Rust, that's The Rust Programming Language, for Go, it's Tour of Go and Effective Go
  2. build something - for Go, this was a website, and for Rust it was a Tauri app (basically a website); it should be substantial enough to exercise the things I would normally do with the language, but not so big that I won't finish
  3. read through substantial portions of the standard library - if this is minimal (e.g. in Rust), read through some high profile projects
  4. repeat 2 & 3 until I feel confident I understand the idioms of the language

I generally avoid setting up editor tooling until I've at least run through step 3, because things like code completion can distract from the learning process IMO.

Some books I've really enjoyed (i.e. where 1 doesn't exist):

  • The C Programming Language - by Brian Kernighan and Dennis Richie
  • Programming in Lua - by Roberto Ierusalimschy
  • Learn You a Haskell for Great Good - by Miran Lipovača (available free online)

But regardless of the form it takes, I appreciate a really thorough introduction to the language, followed by some experimentation, and then topped off with some solid, practical code examples. I generally allow myself about 2 weeks before expecting to write anything resembling production code.

These days, I feel confident in a dozen or so programming languages (I really like learning new languages), and I find that thoroughly learning each has made me a better programmer.

[–] utopiah@lemmy.world 0 points 2 weeks ago (1 children)

Thanks for that, was quite interesting and I agree that completion too early (even... in general) can be distracting.

I did mean about AI though, how you manage to integrate it in your workflow to "automate the boring parts" as I'm curious which parts are "boring" for you and which tools you actual use, and how, to solve the problem. How in particular you are able to estimate if it can be automated with AI, how long it might take, how often you are correct about that bet, how you store and possibly share past attempts to automate, etc.

[–] sugar_in_your_tea@sh.itjust.works 0 points 2 weeks ago (1 children)

I honestly don't use it much, but so far, the most productive uses are:

  • generate some common structure/algorithm - web app, CLI program, recursive function, etc
  • search documentation - I may not know what the function/type is, but I can describe it
  • generate documentation - list arguments, return types, etc

But honestly, the time I save there honestly isn't worth fighting with the AI most of the time, so I'll only do it if I'm starting up a big greenfield project and need something up and going quickly. That said, there are some things I refuse to use AI for:

  • testing - AI may be able to get high coverage, but I don't think it can produce high quality tests
  • business logic - the devil is in the details, and I don't trust AI with details
  • producing documentation - developers hate writing documentation, which is precisely why devs should be the ones to do it; if AI could do it, other devs could just use AI to generate it, but good docs will do far more than what AI can intuit
[–] utopiah@lemmy.world 0 points 2 weeks ago (1 children)

Super, thanks again for taking the time to do so.

I can't remember if I shared this earlier but I'm jolting down notes on the topic in https://fabien.benetou.fr/Content/SelfHostingArtificialIntelligence so I do also invest time on the topic. Yet my results have also been... subpar so I'm asking as precisely as I can how others actually benefit from it. I'm tired of seeing posts with grand claims that, unlike you, only talk about the happy path in usage. Still, I'm digging not due to skepticism as much as trying to see what can actually be leveraged, not to say salvaged. So yes, genuine feedback like yours is quite precious.,

I do seem to hear from you and others that to kickstart what would be a blank project and get going it can help. Also that for whatever is very recurrent AND popular, like common structures, it can help.

My situation though is in prototyping where documentation is sparse, if even existent, and working examples are very rare. So far it's been a bust quite often.

Out of curiosity, which AI tools specifically do you use and do you pay for them?

PS: you mention documentation is both cases, so I imagine it's useful when it's very structured and when the user can intuit most of how something works, closer to a clearly named API with arguments than explaining the architecture of the project.

[–] sugar_in_your_tea@sh.itjust.works 0 points 2 weeks ago* (last edited 2 weeks ago)

Out of curiosity, which AI tools specifically do you use and do you pay for them?

Just whatever is free, so no, I don't pay for them for two reasons:

  • my boss doesn't allow AI to have access to our codebase
  • I honestly don't find enough value to actually pay

So I'll just find something with a free tier or trial and generate a little bit of code or something. Or I'll use the AI feature in a search engine to help me get search terms for relevant documentation (i.e. list libraries that do X), and then I'll actually read the documentation. I have coworkers who use it for personal projects (not sure what they use), and that's also part of what I've listed above (i.e. the generating documentation part).

But I very rarely use AI, because I very rarely start projects from scratch. 99% of my work is updates to existing projects, so it's really not that useful.

[–] DavidDoesLemmy@lemmynsfw.com 0 points 3 weeks ago

I have a job to do. And I understand the other language conceptually, I am just rusty on the syntax.

Also the chat feature is invaluable. I can highlight a piece of code and ask what it does, and copilot explains it.

[–] finitebanjo@lemmy.world 0 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

From all the studies available, LLMs increased the rate at which low skilled workers complete tasks. They also lower accuracy, so expect some of the tasks to be done incorrectly.

If your metric for "improves" is being a better low skill drone forever then yes I'm sure it's helping you. Here is a novel idea, maybe learn the language from a reliable source instead of taking the word of a bullshit generator at face value?

[–] DavidDoesLemmy@lemmynsfw.com 0 points 3 weeks ago (1 children)

Here's an idea, maybe start with curiosity about how someone is getting value out of it? It's possible you don't know everything about other people's experiences.

[–] finitebanjo@lemmy.world 0 points 3 weeks ago* (last edited 3 weeks ago)

It's something being shoved down our throats every second of every day and I've seen enough to know I don't like it. Curiosity was satiated a long ass time ago. It's just a bigger power draw than Cryptocurrency but somehow magically even less value.

[–] utopiah@lemmy.world 0 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

FWIW I did try a lot (LLMs, code, generative AI for images, 3D models) in a lot of ways (CLI, Web based, chat bot) both locally and using APIs.

I don't use any on a daily basis. I find it exciting that we can theoretically do a lot "more" automatically but... so far the results have not been worth the efforts. Sadly some of the best use cases are exactly what you highlighted, i.e low effort engagement for spam. Overall I find that either working with a professional (script writer, 3D modeler, dev, designer, etc) is a lot more rewarding but also more efficient which itself makes it cheaper.

For use cases where customization helps while quality does matter much due to scale, i.e spam, then LLMs and related tools are amazing.

PS: I'd love to hear the opinion of a spammer actually, maybe they also think it's not that efficient either.

[–] T156@lemmy.world 0 points 3 weeks ago

I have personally found generative-text LLMs quite good for creating titles. As an example, I have a few hundred tweets that I'm trying to put into a file, and I'll use an LLM to create a human-readable name for them. It's much better than a lot of the other summarisation mechanisms (like BERT) I've tried with it, but it's still not perfect, because the model tends to output the same thing in slightly different words each time, so repeat runs will often result in the same thing with a different title.

But, that is also a fairly limited use case.

[–] T156@lemmy.world 0 points 3 weeks ago (2 children)

At the same time, the trouble with local LLMs is that they're very resource heavy. Your average household computer isn't going to be able to run one with much usability or speed.

[–] floquant@lemmy.dbzer0.com 0 points 3 weeks ago

Which, you know, is fine. Maybe if people had an idea of how much power is required to run them, they would think twice before using a gigawatt to output a poem about farts, and perhaps even wonder how OpenAI can offer that for free. Btw, a 7b model should run ok on any PC with at least 16GB of RAM and a modern processor/GPU.

[–] RmDebArc_5@sh.itjust.works 0 points 3 weeks ago

Phi 3 can run on pretty low specs (requires 4gb RAM) and has relatively good output

[–] mayo@lemmy.world 0 points 3 weeks ago (1 children)

Another good resource to help people find models https://llm.extractum.io

[–] Blaster_M@lemmy.world 0 points 3 weeks ago (1 children)
[–] utopiah@lemmy.world 0 points 3 weeks ago (1 children)

I like Ollama, and recommend it to tinker, but I admit this "LLM Explorer" is quite neat thanks to sections like "LLMs Fit 16GB VRAM"

Ollama just works but it doesn't help to pick which model best fits your needs.

[–] Knock_Knock_Lemmy_In@lemmy.world 0 points 3 weeks ago (2 children)

pick which model best fits your needs.

What is the need I have to put the effort in to install all this locally. Websites win in terms of convenience.

[–] morriscox@lemmy.world 0 points 2 weeks ago

I want to work on my stuff in peace and in private without worrying about a company grabbing my stuff and using it for themselves and to give/sell it to other outfits, including the government. "If you have nothing to hide..." is bullshit and needs to die.

[–] utopiah@lemmy.world 0 points 3 weeks ago

I don't think I understand your point, are you saying there is no benefit in running locally and that Websites or APIs are more convenient?